{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/admin/admin.component.css","webpack:///./src/app/admin/admin.component.html","webpack:///./src/app/admin/admin.component.ts","webpack:///./src/app/advisors/advisors.component.css","webpack:///./src/app/advisors/advisors.component.html","webpack:///./src/app/advisors/advisors.component.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routing.module.ts","webpack:///./src/app/applications/applications.component.css","webpack:///./src/app/applications/applications.component.html","webpack:///./src/app/applications/applications.component.ts","webpack:///./src/app/auth-wrapper/auth-wrapper.component.css","webpack:///./src/app/auth-wrapper/auth-wrapper.component.html","webpack:///./src/app/auth-wrapper/auth-wrapper.component.ts","webpack:///./src/app/auth/auth.guard.ts","webpack:///./src/app/auth/auth.service.ts","webpack:///./src/app/clients/clients.component.css","webpack:///./src/app/clients/clients.component.html","webpack:///./src/app/clients/clients.component.ts","webpack:///./src/app/create-report-selection/create-report-selection.component.css","webpack:///./src/app/create-report-selection/create-report-selection.component.html","webpack:///./src/app/create-report-selection/create-report-selection.component.ts","webpack:///./src/app/create-report/create-report.component.css","webpack:///./src/app/create-report/create-report.component.html","webpack:///./src/app/create-report/create-report.component.ts","webpack:///./src/app/forgot-password/forgotpassword.component.css","webpack:///./src/app/forgot-password/forgotpassword.component.html","webpack:///./src/app/forgot-password/forgotpassword.component.ts","webpack:///./src/app/healthcare/healthcare.component.css","webpack:///./src/app/healthcare/healthcare.component.html","webpack:///./src/app/healthcare/healthcare.component.ts","webpack:///./src/app/home/home.component.css","webpack:///./src/app/home/home.component.html","webpack:///./src/app/home/home.component.ts","webpack:///./src/app/info-center/info-center.component.css","webpack:///./src/app/info-center/info-center.component.html","webpack:///./src/app/info-center/info-center.component.ts","webpack:///./src/app/leads/leads.component.css","webpack:///./src/app/leads/leads.component.html","webpack:///./src/app/leads/leads.component.ts","webpack:///./src/app/legacy-reports/legacy-reports.component.css","webpack:///./src/app/legacy-reports/legacy-reports.component.html","webpack:///./src/app/legacy-reports/legacy-reports.component.ts","webpack:///./src/app/login/login.component.css","webpack:///./src/app/login/login.component.html","webpack:///./src/app/login/login.component.ts","webpack:///./src/app/long-term-care/long-term-care.component.css","webpack:///./src/app/long-term-care/long-term-care.component.html","webpack:///./src/app/long-term-care/long-term-care.component.ts","webpack:///./src/app/marketing-material/marketing-material.component.css","webpack:///./src/app/marketing-material/marketing-material.component.html","webpack:///./src/app/marketing-material/marketing-material.component.ts","webpack:///./src/app/medicare-means-testing-v2/medicare-means-testing-v2.component.css","webpack:///./src/app/medicare-means-testing-v2/medicare-means-testing-v2.component.html","webpack:///./src/app/medicare-means-testing-v2/medicare-means-testing-v2.component.ts","webpack:///./src/app/medicare-means-testing/medicare-means-testing.component.css","webpack:///./src/app/medicare-means-testing/medicare-means-testing.component.html","webpack:///./src/app/medicare-means-testing/medicare-means-testing.component.ts","webpack:///./src/app/metrics-v2/metrics-v2.component.css","webpack:///./src/app/metrics-v2/metrics-v2.component.html","webpack:///./src/app/metrics-v2/metrics-v2.component.ts","webpack:///./src/app/models/reports.ts","webpack:///./src/app/models/user.ts","webpack:///./src/app/organizations/organizations.component.css","webpack:///./src/app/organizations/organizations.component.html","webpack:///./src/app/organizations/organizations.component.ts","webpack:///./src/app/portfolio-recommendation/portfolio-recommendation.component.css","webpack:///./src/app/portfolio-recommendation/portfolio-recommendation.component.html","webpack:///./src/app/portfolio-recommendation/portfolio-recommendation.component.ts","webpack:///./src/app/register/register.component.css","webpack:///./src/app/register/register.component.html","webpack:///./src/app/register/register.component.ts","webpack:///./src/app/reports/reports.component.css","webpack:///./src/app/reports/reports.component.html","webpack:///./src/app/reports/reports.component.ts","webpack:///./src/app/reset-password/resetpassword.component.css","webpack:///./src/app/reset-password/resetpassword.component.html","webpack:///./src/app/reset-password/resetpassword.component.ts","webpack:///./src/app/services/global.service.ts","webpack:///./src/app/services/menu.service.ts","webpack:///./src/app/services/organization.service.ts","webpack:///./src/app/services/pager.service.ts","webpack:///./src/app/services/sidebar.service.ts","webpack:///./src/app/services/user.service.ts","webpack:///./src/app/settings/settings.component.css","webpack:///./src/app/settings/settings.component.html","webpack:///./src/app/settings/settings.component.ts","webpack:///./src/app/shared/advisor-bar/advisor-bar.component.css","webpack:///./src/app/shared/advisor-bar/advisor-bar.component.html","webpack:///./src/app/shared/advisor-bar/advisor-bar.component.ts","webpack:///./src/app/shared/advisor-bar/advisor-bar.service.ts","webpack:///./src/app/shared/breadcrumbs/breadcrumbs.component.css","webpack:///./src/app/shared/breadcrumbs/breadcrumbs.component.html","webpack:///./src/app/shared/breadcrumbs/breadcrumbs.component.ts","webpack:///./src/app/shared/info-icon/info-icon.component.css","webpack:///./src/app/shared/info-icon/info-icon.component.html","webpack:///./src/app/shared/info-icon/info-icon.component.ts","webpack:///./src/app/shared/loading/loading.component.css","webpack:///./src/app/shared/loading/loading.component.html","webpack:///./src/app/shared/loading/loading.component.ts","webpack:///./src/app/shared/loading/loading.service.ts","webpack:///./src/app/shared/metric-rectangle/metric-rectangle.component.css","webpack:///./src/app/shared/metric-rectangle/metric-rectangle.component.html","webpack:///./src/app/shared/metric-rectangle/metric-rectangle.component.ts","webpack:///./src/app/shared/modal/modal.component.css","webpack:///./src/app/shared/modal/modal.component.html","webpack:///./src/app/shared/modal/modal.component.ts","webpack:///./src/app/shared/modal/modal.service.ts","webpack:///./src/app/shared/sidebar/sidebar.component.css","webpack:///./src/app/shared/sidebar/sidebar.component.html","webpack:///./src/app/shared/sidebar/sidebar.component.ts","webpack:///./src/app/shared/snackbar/snackbar.component.css","webpack:///./src/app/shared/snackbar/snackbar.component.html","webpack:///./src/app/shared/snackbar/snackbar.component.ts","webpack:///./src/app/shared/snackbar/snackbar.service.ts","webpack:///./src/app/shared/timeout/timeout.component.css","webpack:///./src/app/shared/timeout/timeout.component.html","webpack:///./src/app/shared/timeout/timeout.component.ts","webpack:///./src/app/shared/topnav/topnav.component.css","webpack:///./src/app/shared/topnav/topnav.component.html","webpack:///./src/app/shared/topnav/topnav.component.ts","webpack:///./src/app/shared/utility.ts","webpack:///./src/app/sign-up/sign-up.component.css","webpack:///./src/app/sign-up/sign-up.component.html","webpack:///./src/app/sign-up/sign-up.component.ts","webpack:///./src/app/social-security/social-security.component.css","webpack:///./src/app/social-security/social-security.component.html","webpack:///./src/app/social-security/social-security.component.ts","webpack:///./src/app/support/support.component.css","webpack:///./src/app/support/support.component.html","webpack:///./src/app/support/support.component.ts","webpack:///./src/app/view-organizations/view-organizations.component.css","webpack:///./src/app/view-organizations/view-organizations.component.html","webpack:///./src/app/view-organizations/view-organizations.component.ts","webpack:///./src/app/view-reports/view-reports.component.css","webpack:///./src/app/view-reports/view-reports.component.html","webpack:///./src/app/view-reports/view-reports.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"main.0b868b57e336fbaa915a.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \":host {\\r\\n /* width: 100%; */\\r\\n height: 100%;\\r\\n /* margin: 10px 10px 10px 10px; */\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.section {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n margin: 15px 0 15px 0;\\r\\n}\\r\\n\\r\\n/* .section-label {\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.section input[type='text'] {\\r\\n max-width: 300px;\\r\\n flex: 3;\\r\\n}\\r\\n\\r\\n.section textarea {\\r\\n max-width: 600px;\\r\\n flex: 3;\\r\\n} */\\r\\n\\r\\nhr{\\r\\n opacity: .25;\\r\\n}\\r\\n\\r\\n.logoDescInfo{\\r\\n font-size: 10px;\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\ninput, textarea {\\r\\n padding: 5px;\\r\\n}\\r\\n\\r\\n.section-label-sub {\\r\\n font-size: 10px;\\r\\n /* padding: 5px; */\\r\\n color: #555;\\r\\n /* padding-left: 10px; */\\r\\n width: 250px;\\r\\n /* padding-left: 10px; */\\r\\n}\\r\\n\\r\\n.title-section {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.section-label {\\r\\n font-size: 14px;\\r\\n font-weight: bold;\\r\\n padding: 10px;\\r\\n color: #555;\\r\\n min-width: 200px;\\r\\n}\\r\\n\\r\\ntextarea{\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.section textarea {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n border: none;\\r\\n font-size: 12px;\\r\\n }\\r\\n\\r\\n.section-disc textarea {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n border: none;\\r\\n font-size: 12px;\\r\\n margin: 10px;\\r\\n font-family: 'Roboto', sans-serif;\\r\\n line-height: 1.3rem;\\r\\n }\\r\\n\\r\\n.section input[type='text'] {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n border: none;\\r\\n font-size: 12px;\\r\\n width: 160px;\\r\\n height: 35px;\\r\\n min-width: 355px;\\r\\n }\\r\\n\\r\\n.disclosure {\\r\\n /* max-width: 600px; */\\r\\n height: 200px;\\r\\n min-width: 355px;\\r\\n width: 90%;\\r\\n }\\r\\n\\r\\n.disclosure-al {\\r\\n height: 50px;\\r\\n min-width: 355px;\\r\\n width: 90%;\\r\\n }\\r\\n\\r\\n.org-signature {\\r\\n margin: 5px 0 5px 10px;\\r\\n min-width: 500px;\\r\\n background-color: #d3d3d3;\\r\\n border-style: none;\\r\\n color: #555;\\r\\n }\\r\\n\\r\\n.options {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n margin-bottom: 100px;\\r\\n /* float: right;\\r\\n padding: 10px; */\\r\\n}\\r\\n\\r\\n.btn {\\r\\n background-color: #E58929;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 25px 0 25px;\\r\\n cursor: pointer;\\r\\n margin: 10px;\\r\\n}\\r\\n\\r\\n.btn button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #555;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.btn i {\\r\\n color: #555;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.company-logo img {\\r\\n width: 210px;\\r\\n }\\r\\n\\r\\n.company-logo {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.file-select {\\r\\n padding-left: 8px;\\r\\n}\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n /* width: 200px; */\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.file-select {\\r\\n cursor: pointer;\\r\\n display: block;\\r\\n filter: alpha(opacity=0);\\r\\n min-height: 100%;\\r\\n min-width: 100%;\\r\\n opacity: 0;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n}\\r\\n\\r\\n.upload-button {\\r\\n position: relative;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n display: flex;\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n width: 175px;\\r\\n}\\r\\n\\r\\n.upload-button i {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.organizations-dd select {\\r\\n height: 42px;\\r\\n width: 235px;\\r\\n margin-top: 6px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n border: none;\\r\\n flex: 1;\\r\\n margin-right: 10px;\\r\\n padding-left: 17px;\\r\\n }\\r\\n\\r\\n.org-warning {\\r\\n font-weight: 500;\\r\\n font-size: 13px;\\r\\n color: #555;\\r\\n padding: 7px;\\r\\n width: 100%;\\r\\n background-color: #fff;\\r\\n font-size: 12px;\\r\\n border-top: 2px #f5f5f5 solid;\\r\\n top: 0;\\r\\n left: 0;\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2FkbWluL2FkbWluLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGlDQUFpQztJQUNqQyxrQkFBa0I7SUFDbEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLE9BQU87SUFDUCxxQkFBcUI7QUFDekI7O0FBRUE7Ozs7Ozs7Ozs7OztHQVlHOztBQUNIO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksZUFBZTtFQUNqQixvQkFBb0I7SUFDbEIsV0FBVztJQUNYLHdCQUF3QjtJQUN4QixZQUFZO0dBQ2IseUJBQXlCO0FBQzVCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0Qix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixXQUFXO0lBQ1gsZ0JBQWdCO0FBQ3BCOztBQUNBO0lBQ0ksYUFBYTtBQUNqQjs7QUFDQTtJQUNJLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsYUFBYTtJQUNiLFlBQVk7SUFDWixlQUFlO0VBQ2pCOztBQUVBO0lBQ0UseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxhQUFhO0lBQ2IsWUFBWTtJQUNaLGVBQWU7SUFDZixZQUFZO0lBQ1osaUNBQWlDO0lBQ2pDLG1CQUFtQjtFQUNyQjs7QUFFRjtJQUNJLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsYUFBYTtJQUNiLFlBQVk7SUFDWixlQUFlO0lBQ2YsWUFBWTtJQUNaLFlBQVk7SUFDWixnQkFBZ0I7RUFDbEI7O0FBRUE7SUFDRSx3QkFBd0I7TUFDdEIsYUFBYTtNQUNiLGdCQUFnQjtNQUNoQixVQUFVO0VBQ2Q7O0FBRUE7SUFDRSxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLFVBQVU7RUFDWjs7QUFFQTtNQUNJLHNCQUFzQjtNQUN0QixnQkFBZ0I7TUFDaEIseUJBQXlCO01BQ3pCLGtCQUFrQjtNQUNsQixXQUFXO0VBQ2Y7O0FBRUY7SUFDSSxhQUFhO0lBQ2IsT0FBTztJQUNQLG9CQUFvQjtJQUNwQjtvQkFDZ0I7QUFDcEI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsYUFBYTtJQUNiLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsc0JBQXNCO0lBQ3RCLGVBQWU7SUFDZixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsWUFBWTtJQUNaLGVBQWU7SUFDZixlQUFlO0lBQ2YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFlBQVk7RUFDZDs7QUFFRjtFQUNFLGFBQWE7RUFDYixzQkFBc0I7QUFDeEI7O0FBRUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYiw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsY0FBYztJQUNkLHdCQUF3QjtJQUN4QixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLFVBQVU7SUFDVixrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLE1BQU07QUFDVjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsZUFBZTtJQUNmLGFBQWE7SUFDYixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFDQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsWUFBWTtJQUNaLE9BQU87SUFDUCxrQkFBa0I7SUFDbEIsa0JBQWtCO0VBQ3BCOztBQUVBO0lBQ0UsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixXQUFXO0lBQ1gsWUFBWTtJQUNaLFdBQVc7SUFDWCxzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLDZCQUE2QjtJQUM3QixNQUFNO0lBQ04sT0FBTztFQUNUIiwiZmlsZSI6Ii4uL2FkbWluL2FkbWluLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICAvKiB3aWR0aDogMTAwJTsgKi9cclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIC8qIG1hcmdpbjogMTBweCAxMHB4IDEwcHggMTBweDsgKi9cclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuLnNlY3Rpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtYXJnaW46IDE1cHggMCAxNXB4IDA7XHJcbn1cclxuXHJcbi8qIC5zZWN0aW9uLWxhYmVsIHtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5zZWN0aW9uIGlucHV0W3R5cGU9J3RleHQnXSB7XHJcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgZmxleDogMztcclxufVxyXG5cclxuLnNlY3Rpb24gdGV4dGFyZWEge1xyXG4gICAgbWF4LXdpZHRoOiA2MDBweDtcclxuICAgIGZsZXg6IDM7XHJcbn0gKi9cclxuaHJ7XHJcbiAgICBvcGFjaXR5OiAuMjU7XHJcbn1cclxuXHJcbi5sb2dvRGVzY0luZm97XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG5pbnB1dCwgdGV4dGFyZWEge1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG59XHJcblxyXG4uc2VjdGlvbi1sYWJlbC1zdWIge1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gIC8qICAgcGFkZGluZzogNXB4OyAqL1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICAvKiBwYWRkaW5nLWxlZnQ6IDEwcHg7ICovXHJcbiAgICB3aWR0aDogMjUwcHg7XHJcbiAgIC8qICBwYWRkaW5nLWxlZnQ6IDEwcHg7ICovXHJcbn1cclxuXHJcbi50aXRsZS1zZWN0aW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5zZWN0aW9uLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgbWluLXdpZHRoOiAyMDBweDtcclxufVxyXG50ZXh0YXJlYXtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbn1cclxuLnNlY3Rpb24gdGV4dGFyZWEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICB9XHJcblxyXG4gIC5zZWN0aW9uLWRpc2MgdGV4dGFyZWEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjNyZW07XHJcbiAgfVxyXG5cclxuLnNlY3Rpb24gaW5wdXRbdHlwZT0ndGV4dCddIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBtaW4td2lkdGg6IDM1NXB4O1xyXG4gIH1cclxuXHJcbiAgLmRpc2Nsb3N1cmUge1xyXG4gICAgLyogICBtYXgtd2lkdGg6IDYwMHB4OyAqL1xyXG4gICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICBtaW4td2lkdGg6IDM1NXB4O1xyXG4gICAgICB3aWR0aDogOTAlO1xyXG4gIH1cclxuXHJcbiAgLmRpc2Nsb3N1cmUtYWwge1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgbWluLXdpZHRoOiAzNTVweDtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgfVxyXG5cclxuICAub3JnLXNpZ25hdHVyZSB7XHJcbiAgICAgIG1hcmdpbjogNXB4IDAgNXB4IDEwcHg7XHJcbiAgICAgIG1pbi13aWR0aDogNTAwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICAgICAgY29sb3I6ICM1NTU7XHJcbiAgfVxyXG5cclxuLm9wdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuICAgIC8qIGZsb2F0OiByaWdodDtcclxuICAgIHBhZGRpbmc6IDEwcHg7ICovXHJcbn1cclxuXHJcbi5idG4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwIDI1cHggMCAyNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG59XHJcblxyXG4uYnRuIGJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uYnRuIGkge1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jb21wYW55LWxvZ28gaW1nIHtcclxuICAgIHdpZHRoOiAyMTBweDtcclxuICB9XHJcbiAgXHJcbi5jb21wYW55LWxvZ28ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmZpbGUtc2VsZWN0IHtcclxuICAgIHBhZGRpbmctbGVmdDogOHB4O1xyXG59XHJcblxyXG4uY3JlYXRlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICAvKiB3aWR0aDogMjAwcHg7ICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4uY3JlYXRlIGJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICAvKiBoZWlnaHQ6IDM1cHg7ICovXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uY3JlYXRlIGkge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLmZpbGUtc2VsZWN0IHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xyXG4gICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxufVxyXG5cclxuLnVwbG9hZC1idXR0b24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB3aWR0aDogMTc1cHg7XHJcbn1cclxuXHJcbi51cGxvYWQtYnV0dG9uIGkge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5vcmdhbml6YXRpb25zLWRkIHNlbGVjdCB7XHJcbiAgICBoZWlnaHQ6IDQycHg7XHJcbiAgICB3aWR0aDogMjM1cHg7XHJcbiAgICBtYXJnaW4tdG9wOiA2cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxN3B4O1xyXG4gIH1cclxuXHJcbiAgLm9yZy13YXJuaW5nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIHBhZGRpbmc6IDdweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGJvcmRlci10b3A6IDJweCAjZjVmNWY1IHNvbGlkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n Viewing admin settings for organization:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Company Logo\\r\\n \\r\\n \\r\\n Formats: .gif, .png or .jpg
\\r\\n For the best user experience, we recommend using a logo\\r\\n that does not exceed 400 pixels in height.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Company Name\\r\\n {{organization.Name}}\\r\\n
\\r\\n\\r\\n
\\r\\n Company Address\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Support Number\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Support Email\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n Additional Report Language (appears on last page of PDF)\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n Social Security Disclosure Language\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Medicare Means Testing Disclosure Language\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Healthcare Disclosure Language\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Long-Term Care Disclosure Language\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { GlobalService } from '../services/global.service';\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\n\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.css']\r\n})\r\n\r\nexport class AdminComponent implements OnInit {\r\n\r\n public logoImage = localStorage.getItem('logoPhotoPath') && localStorage.getItem('logoPhotoPath').length > 1 ? 'https://web234.hvsfinancial.com/portal-shared/' + localStorage.getItem('logoPhotoPath') : 'https://web234.hvsfinancial.com/assets/images/temp/logo.png';\r\n public advisor: any;\r\n public organization: any = {\r\n Name: '',\r\n Address: '',\r\n Number: '',\r\n Email: '',\r\n DisclosureSS: '',\r\n DisclosureHC: '',\r\n DisclosureMMT: '',\r\n DisclosureLTC: ''\r\n };\r\n\r\n public error: any;\r\n private selectedOrganization: number;\r\n\r\n constructor(private globalService: GlobalService, private router: Router, private snackbarService: SnackBarService) {\r\n\r\n }\r\n\r\n public isAxa: boolean;\r\n public isOAUser: boolean;\r\n public isOAAdmin: boolean;\r\n\r\n private organizations: any[];\r\n\r\n ngOnInit() {\r\n if (localStorage.getItem('roleId') != '2' && localStorage.getItem('roleId') != '1') {\r\n this.router.navigate(['/home']);\r\n } else {\r\n this.isAxa = (Number(localStorage.getItem('orgID')) === 421 || Number(localStorage.getItem('parentID')) === 421) ? true : false;\r\n this.isOAUser = (Number(localStorage.getItem('orgID')) === 2 || Number(localStorage.getItem('parentID')) === 2) ? true : false;\r\n this.isOAAdmin = (Number(localStorage.getItem('orgID')) === 2 && (Number(localStorage.getItem('roleId')) === 2)) ? true : false;\r\n this.selectedOrganization = Number(localStorage.getItem(\"orgID\"));\r\n this.getOrganizationsData();\r\n this.getData();\r\n }\r\n }\r\n\r\n getData() {\r\n this.globalService.getAdvisorData(Number(localStorage.getItem(\"userId\")))\r\n .subscribe(\r\n advisor => {\r\n this.advisor = advisor;\r\n \r\n this.globalService.getOrganizationData(this.selectedOrganization)\r\n .subscribe(\r\n organization => {\r\n this.organization = organization;\r\n\r\n if (organization) {\r\n this.organization.DisclosureSS = this.organization.DisclosureSS ? this.organization.DisclosureSS.replace(new RegExp('
', 'g'), '\\n') : '';\r\n this.organization.DisclosureMMT = this.organization.DisclosureMMT ? this.organization.DisclosureMMT.replace(new RegExp('
', 'g'), '\\n') : '';\r\n this.organization.DisclosureHC = this.organization.DisclosureHC ? this.organization.DisclosureHC.replace(new RegExp('
', 'g'), '\\n') : '';\r\n this.organization.DisclosureLTC = this.organization.DisclosureLTC ? this.organization.DisclosureLTC.replace(new RegExp('
', 'g'), '\\n') : '';\r\n\r\n if (typeof this.organization.LogoPath != 'object')\r\n this.logoImage = \"https://web234.hvsfinancial.com/portal-shared/\" + this.organization.LogoPath;\r\n else\r\n this.logoImage = \"https://web234.hvsfinancial.com/portal-shared/\" + localStorage.getItem('logoPhotoPath');\r\n }\r\n },\r\n error => this.error = error);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n displayPreparedLogo(e) {\r\n const reader = new FileReader();\r\n this.file = e.target.files[0];\r\n reader.readAsDataURL(this.file);\r\n\r\n reader.onload = (test: any) => {\r\n this.logoImage = test.target.result;\r\n }\r\n }\r\n\r\n public file: File;\r\n\r\n uploadOrgLogo() {\r\n //this.file = e.target.files[0];\r\n let formData: FormData = new FormData();\r\n var date = new Date().getTime() / 1000;\r\n\r\n formData.append('uploadFile', this.file, this.advisor.OrganizationID + '_' + date + '_logo' + this.file.name.substring(this.file.name.lastIndexOf('.'), this.file.name.length));\r\n formData.append('Email', this.advisor.Email);\r\n formData.append('UserID', this.advisor.ID.toString());\r\n\r\n this.globalService.uploadOrgLogo(formData)\r\n .subscribe(\r\n data => {\r\n localStorage.setItem('logoPhotoPath', data._body);\r\n this.logoImage = \"https://web234.hvsfinancial.com/portal-shared/\" + localStorage.getItem('logoPhotoPath');\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n save() {\r\n if (this.file)\r\n this.uploadOrgLogo();\r\n\r\n this.globalService.updateOrgInfo(this.organization)\r\n .subscribe(\r\n data => {\r\n\r\n this.snackbarService.add('Your organization has been updated.', 0);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n getOrganizationsData() {\r\n this.globalService.getOrganizationsData()\r\n .subscribe(organizations => {\r\n var temp = [];\r\n\r\n organizations.forEach((org) => {\r\n if (org.Name.length > 0) {\r\n org.Name = org.Name.toLowerCase().replace(/\\b\\w/g, l => l.toUpperCase());\r\n temp.push(org);\r\n }\r\n });\r\n\r\n temp = temp.sort((a, b) => {\r\n if (a.Name.toLowerCase() < b.Name.toLowerCase()) return -1;\r\n if (a.Name.toLowerCase() > b.Name.toLowerCase()) return 1;\r\n return 0;\r\n });\r\n\r\n this.organizations = temp;\r\n\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n cancel() {\r\n\r\n }\r\n\r\n handleOrgSelected() {\r\n this.getData();\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.row {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n padding: 25px 25px 0 25px;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 1.2rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.btn {\\r\\n background-color: #7fa57f;\\r\\n border-radius: 4px;\\r\\n color: #fff;\\r\\n border: none;\\r\\n margin: 0 10px 0 0;\\r\\n padding: 5px 10px 5px 10px;\\r\\n cursor: pointer;\\r\\n width: 175px;\\r\\n text-decoration: none;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.advisor-list {\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\n.btn span {\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.pagination {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.pagination div {\\r\\n margin: 10px;\\r\\n background-color: #d3d3d3;\\r\\n cursor: pointer;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.pagination span {\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.pagination .active {\\r\\n background-color: #E58929;\\r\\n}\\r\\n\\r\\n.action-item {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.search {\\r\\n background-color: #d3d3d3;\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n height: 45px;\\r\\n width: 220px;\\r\\n margin-top: 15px;\\r\\n}\\r\\n\\r\\n.search input {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n text-indent: 2rem;\\r\\n border: none;\\r\\n font-size: 1rem;\\r\\n width: 160px;\\r\\n}\\r\\n\\r\\n.search input::-moz-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input::placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input:focus::-moz-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search input:focus:-ms-input-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search input:focus::placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search i {\\r\\n font-size: 1.25rem;\\r\\n position: absolute;\\r\\n left: 20px;\\r\\n color: #777;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.filter {\\r\\n background-color: #d3d3d3;\\r\\n height: 35px;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n color: #fff;\\r\\n width: 160px;\\r\\n padding-right: 25px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.filter i {\\r\\n\\r\\n}\\r\\n\\r\\n.filter span {\\r\\n\\r\\n}\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 5px 0 5px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.header {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-between;\\r\\n max-width: 700px;\\r\\n flex: 1 1 600px;\\r\\n}\\r\\n\\r\\n.client-list-row {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n flex-direction: column;\\r\\n align-items: baseline;\\r\\n}\\r\\n\\r\\n.row-container {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.cursor {\\r\\n cursor: pointer;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2Fkdmlzb3JzL2Fkdmlzb3JzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixXQUFXO0lBQ1gseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsMEJBQTBCO0lBQzFCLGVBQWU7SUFDZixZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtJQUN6QixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsV0FBVztJQUNYLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsZUFBZTtJQUNmLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTtJQUNiLHVCQUF1QjtJQUN2QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsMEJBQTBCO0lBQzFCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWixZQUFZO0lBQ1osZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixlQUFlO0lBQ2YsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFGQTtJQUNJLFdBQVc7QUFDZjs7QUFGQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFGQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFGQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLFdBQVc7SUFDWCxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLFlBQVk7SUFDWixhQUFhO0lBQ2IsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixlQUFlO0FBQ25COztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixhQUFhO0lBQ2IsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLFlBQVk7SUFDWixlQUFlO0lBQ2YsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLDhCQUE4QjtJQUM5QixnQkFBZ0I7SUFDaEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsc0JBQXNCO0lBQ3RCLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixXQUFXO0lBQ1gsOEJBQThCO0FBQ2xDOztBQUVBO0lBQ0ksZUFBZTtBQUNuQiIsImZpbGUiOiIuLi9hZHZpc29ycy9hZHZpc29ycy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMjVweCAyNXB4IDAgMjVweDtcclxufVxyXG5cclxuLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5idG4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdmYTU3ZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgcGFkZGluZzogNXB4IDEwcHggNXB4IDEwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB3aWR0aDogMTc1cHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hZHZpc29yLWxpc3Qge1xyXG4gICAgcGFkZGluZzogMjVweDtcclxufVxyXG5cclxuLmJ0biBzcGFuIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG50ZCwgdGgge1xyXG4gICAgYm9yZGVyOiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLnBhZ2luYXRpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uIGRpdiB7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uIHNwYW4ge1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ucGFnaW5hdGlvbiAuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbn1cclxuXHJcbi5hY3Rpb24taXRlbSB7XHJcbiAgICBjb2xvcjogI0U1ODkyOTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uc2VhcmNoIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxufVxyXG5cclxuLnNlYXJjaCBpbnB1dCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgdGV4dC1pbmRlbnQ6IDJyZW07XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbn1cclxuXHJcbi5zZWFyY2ggaW5wdXQ6OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uc2VhcmNoIGlucHV0OmZvY3VzOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5zZWFyY2ggaSB7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAyMHB4O1xyXG4gICAgY29sb3I6ICM3Nzc7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uZmlsdGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZmlsdGVyIGkge1xyXG5cclxufVxyXG5cclxuLmZpbHRlciBzcGFuIHtcclxuXHJcbn1cclxuXHJcbi5jcmVhdGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwIDVweCAwIDVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNyZWF0ZSBidXR0b24ge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLmNyZWF0ZSBpIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xyXG4gICAgZmxleDogMSAxIDYwMHB4O1xyXG59XHJcblxyXG4uY2xpZW50LWxpc3Qtcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG59XHJcblxyXG4ucm93LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi5jdXJzb3Ige1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59Il19 */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Advisors\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n {{page}}\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Name \\r\\n \\r\\n 600\\\">\\r\\n Organization \\r\\n \\r\\n 800\\\">Number 900\\\">\\r\\n Email \\r\\n \\r\\n Actions
{{advisor.FirstName + \\\" \\\" + advisor.LastName}} 600\\\">{{advisor.OrganizationName}} 800\\\">{{advisor.Phone}} 900\\\">{{advisor.Email}}\\r\\n Create Client | \\r\\n Edit Advisor\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, NgZone } from '@angular/core';\r\n\r\nimport { Advisor } from '../models/advisor';\r\n\r\nimport { GlobalService } from '../services/global.service';\r\nimport { ModalService } from '../shared/modal/modal.service';\r\nimport { PagerService } from '../services/pager.service';\r\n\r\nimport { LoadingService } from '../shared/loading/loading.service';\r\n\r\n@Component({\r\n selector: 'app-advisors',\r\n templateUrl: './advisors.component.html',\r\n styleUrls: ['./advisors.component.css']\r\n})\r\nexport class AdvisorsComponent implements OnInit {\r\n public advisors: any[] = [];\r\n public error: string;\r\n\r\n public screenWidth: number = window.innerWidth;\r\n\r\n private allItems: any[];\r\n private filteredAdvisors: any;\r\n pager: any = {};\r\n pagedItems: any[];\r\n\r\n activeFirstNameArrow: boolean;\r\n activeOrgNameArrow: boolean;\r\n activeEmailArrow: boolean;\r\n\r\n public modalSubscription;\r\n\r\n constructor(private globalService:GlobalService, private modalService: ModalService, private pagerService: PagerService, private ngZone: NgZone, private loadingService: LoadingService) {\r\n this.getAdvisors();\r\n this.modalSubscription = modalService.modal$.subscribe((modal) => {\r\n console.log(modal.modalName);\r\n if (modal.modalName == 'create-advisorClosed') { // TODO: Fix this hack -- naming it hidden.. modals in general need to be refactored\r\n this.getAdvisors();\r\n modal.data = {};\r\n }\r\n });\r\n\r\n this.globalService.featHomeOffice = JSON.parse(localStorage.getItem('featHomeOffice'));\r\n // window.onresize = () => { // Detect screen size and resizing\r\n // ngZone.run(() => {\r\n // this.screenWidth = window.innerWidth;\r\n // })\r\n // }\r\n }\r\n\r\n getAdvisors() {\r\n this.loadingService.isLoading(true);\r\n\r\n this.globalService.getAdvisorsData(1)\r\n .subscribe(\r\n advisors => {\r\n this.allItems = advisors;\r\n \r\n // this.allItems = this.allItems.reduce((arr, item) => {\r\n // if (!!item.FirstName && item.FirstName != 'undefined')\r\n // arr.push(item);\r\n // return arr;\r\n // }, []);\r\n\r\n this.allItems = advisors.map((item) => { \r\n item.c.OrganizationName = item.o.Name; \r\n return item.c;\r\n });\r\n\r\n this.filteredAdvisors = this.allItems.sort(function (a, b) {\r\n return parseInt(b.ID) - parseInt(a.ID);\r\n });\r\n\r\n this.setPage(1);\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n setPage(page: number) {\r\n if (page < 1 || page > this.pager.totalPages) {\r\n return;\r\n }\r\n\r\n // get pager object from service\r\n this.pager = this.pagerService.getPager(this.filteredAdvisors.length, page);\r\n\r\n // get current page of items\r\n this.pagedItems = this.filteredAdvisors.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n // unsubscribe to ensure no memory leaks\r\n // this.subscription.unsubscribe();\r\n }\r\n\r\n handleCreateAdvisorModal() {\r\n this.modalService.add('create-advisor', { ID: 0 });\r\n }\r\n\r\n handleEditAdvisorModal(e, advisor) {\r\n this.modalService.add('create-advisor', { ID: advisor.ID });\r\n }\r\n\r\n handleCreateClientModal(e, advisor) {\r\n this.modalService.add('add-edit-client', { ID: 0, Advisor: advisor });\r\n }\r\n\r\n assignCopy(){\r\n this.filteredAdvisors = Object.assign([], this.allItems);\r\n }\r\n\r\n filterItem(value) {\r\n this.filteredAdvisors = Object.assign([], this.allItems).filter(\r\n advisor => {\r\n return (advisor.FirstName + \" \" + advisor.LastName).toLowerCase().includes(value.toLowerCase()) || (advisor.OrganizationName).toLowerCase().includes(value.toLowerCase()) || (advisor.Phone).toLowerCase().includes(value.toLowerCase()) || (advisor.Email).toLowerCase().includes(value.toLowerCase())\r\n }\r\n );\r\n\r\n if (!this.filteredAdvisors.length) {\r\n this.pagedItems = [];\r\n } else {\r\n this.setPage(1);\r\n }\r\n }\r\n\r\n disableAllSortArrow() {\r\n this.activeFirstNameArrow = false;\r\n this.activeOrgNameArrow = false;\r\n this.activeEmailArrow = false;\r\n }\r\n\r\n private isColSortedAsc: any = {\r\n FirstName: false,\r\n OrganizationName: false,\r\n Email: false,\r\n }\r\n\r\n sort(colName) {\r\n this.disableAllSortArrow();\r\n if (colName == 'FirstName') {\r\n this.filteredAdvisors.sort((a, b) => this.isColSortedAsc[colName] ? (a.FirstName + a.LastName).localeCompare(b.FirstName + b.LastName) : (b.FirstName + b.LastName).localeCompare(a.FirstName + a.LastName));\r\n this.setPage(this.pager.currentPage);\r\n this.activeFirstNameArrow = this.isColSortedAsc[colName];\r\n }\r\n if (colName == 'OrganizationName') {\r\n this.filteredAdvisors.sort((a, b) => this.isColSortedAsc[colName] ? a.OrganizationName.localeCompare(b.OrganizationName ) : b.OrganizationName.localeCompare(a.OrganizationName ));\r\n this.setPage(this.pager.currentPage);\r\n this.activeOrgNameArrow = this.isColSortedAsc[colName];\r\n }\r\n if (colName == 'Email') {\r\n this.filteredAdvisors.sort((a, b) => this.isColSortedAsc[colName] ? a.Email.localeCompare(b.Email) : b.Email.localeCompare(a.Email));\r\n this.setPage(this.pager.currentPage);\r\n this.activeEmailArrow = this.isColSortedAsc[colName];\r\n }\r\n\r\n this.isColSortedAsc[colName] = !this.isColSortedAsc[colName];\r\n }\r\n\r\n}\r\n","module.exports = \".example-button-row button,\\r\\n.example-button-row a {\\r\\n margin-right: 8px;\\r\\n}\\r\\n\\r\\n.speed-dial-container {\\r\\n /* position: absolute;\\r\\n right: 15px; */\\r\\n position: absolute;\\r\\n right: 0%;\\r\\n bottom: 15px;\\r\\n /* left: 15px; */\\r\\n /* left: 200px; */\\r\\n z-index: 99;\\r\\n /* padding: 50px; */\\r\\n margin-right: 50px;\\r\\n margin-bottom: 50px;\\r\\n \\r\\n }\\r\\n\\r\\n.speed-dial-container.top {\\r\\n top: 15px;\\r\\n }\\r\\n\\r\\n.speed-dial-container.bottom {\\r\\n bottom: 15px;\\r\\n }\\r\\n\\r\\n.tool-tip-modal {\\r\\n position: absolute;\\r\\n background-color: #fff;\\r\\n padding: 10px;\\r\\n /* top: 0;\\r\\n left: 0; */\\r\\n bottom: 15%;\\r\\n right: 0;\\r\\n margin-top: -10px;\\r\\n border: 1px #d5d5d5 solid;\\r\\n z-index: 100;\\r\\n width: 200px;\\r\\n margin-left: -150px;\\r\\n font-size: 0.9rem!important;\\r\\n color: #555!important;\\r\\n font-weight: unset !important;\\r\\n}\\r\\n\\r\\n.offsetLeft {\\r\\n margin-left: -300px;\\r\\n}\\r\\n\\r\\n.offsetRight {\\r\\n margin-left: 0px;\\r\\n}\\r\\n\\r\\n.chart-legend .legend-labels{\\r\\n background: unset !important;\\r\\n line-height: unset !important;\\r\\n\\r\\n}\\r\\n\\r\\n.chart-legend li, .chart-legend ul{\\r\\n padding: unset !important;\\r\\n margin: -10px !important;\\r\\n color: unset !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2FwcC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFLGlCQUFpQjtBQUNuQjs7QUFFQTtHQUNHO2tCQUNlO0lBQ2Qsa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixXQUFXO0NBQ2QsdUJBQXVCO0lBQ3BCLGtCQUFrQjtJQUNsQixtQkFBbUI7O0VBRXJCOztBQUVBO0lBQ0UsU0FBUztFQUNYOztBQUVBO0lBQ0UsWUFBWTtFQUNkOztBQUdBO0lBQ0Usa0JBQWtCO0lBQ2xCLHNCQUFzQjtJQUN0QixhQUFhO0VBQ2Y7Y0FDWTtJQUNWLFdBQVc7SUFDWCxRQUFRO0lBQ1IsaUJBQWlCO0lBQ2pCLHlCQUF5QjtJQUN6QixZQUFZO0lBQ1osWUFBWTtJQUNaLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0IscUJBQXFCO0lBQ3JCLDZCQUE2QjtBQUNqQzs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtFQUNFLDRCQUE0QjtFQUM1Qiw2QkFBNkI7O0FBRS9COztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLHdCQUF3QjtFQUN4Qix1QkFBdUI7QUFDekIiLCJmaWxlIjoiLi4vYXBwLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1idXR0b24tcm93IGJ1dHRvbixcclxuLmV4YW1wbGUtYnV0dG9uLXJvdyBhIHtcclxuICBtYXJnaW4tcmlnaHQ6IDhweDtcclxufVxyXG5cclxuLnNwZWVkLWRpYWwtY29udGFpbmVyIHtcclxuICAgLyogIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAxNXB4OyAqL1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDAlO1xyXG4gICAgYm90dG9tOiAxNXB4O1xyXG4gICAgLyogbGVmdDogMTVweDsgKi9cclxuICAgIC8qIGxlZnQ6IDIwMHB4OyAqL1xyXG4gICAgei1pbmRleDogOTk7XHJcbiAvKiAgICBwYWRkaW5nOiA1MHB4OyAgKi9cclxuICAgIG1hcmdpbi1yaWdodDogNTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiBcclxuICB9XHJcbiAgXHJcbiAgLnNwZWVkLWRpYWwtY29udGFpbmVyLnRvcCB7XHJcbiAgICB0b3A6IDE1cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5zcGVlZC1kaWFsLWNvbnRhaW5lci5ib3R0b20ge1xyXG4gICAgYm90dG9tOiAxNXB4O1xyXG4gIH1cclxuICBcclxuXHJcbiAgLnRvb2wtdGlwLW1vZGFsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gIC8qICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDsgKi9cclxuICAgIGJvdHRvbTogMTUlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgIGJvcmRlcjogMXB4ICNkNWQ1ZDUgc29saWQ7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogLTE1MHB4O1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW0haW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICM1NTUhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5vZmZzZXRMZWZ0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMzAwcHg7XHJcbn1cclxuXHJcbi5vZmZzZXRSaWdodCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG59XHJcblxyXG4uY2hhcnQtbGVnZW5kIC5sZWdlbmQtbGFiZWxze1xyXG4gIGJhY2tncm91bmQ6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgbGluZS1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcblxyXG59XHJcblxyXG4uY2hhcnQtbGVnZW5kIGxpLCAuY2hhcnQtbGVnZW5kIHVse1xyXG4gIHBhZGRpbmc6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOiAtMTBweCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiB1bnNldCAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n Click here to contact Support! \\r\\n
\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { MenuService } from './services/menu.service';\r\nimport { GlobalService } from './services/global.service';\r\n\r\nimport { ModalService } from './shared/modal/modal.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\n\r\nexport class AppComponent implements OnInit {\r\n name: string;\r\n menu: Array = [];\r\n breadcrumbList: Array = [];\r\n changeText: boolean;\r\n displayFAB: boolean = false;\r\n\r\n constructor(private _router: Router, private menuService: MenuService, private global: GlobalService,private modalService: ModalService) {\r\n this.changeText = false;\r\n }\r\n\r\n\r\n ngOnInit() {\r\n // 取得MenuService裡的menu\r\n this.menu = this.menuService.getMenu();\r\n this.listenRouting();\r\n //console.log('go hit from app comp');\r\n }\r\n\r\n ngDoCheck(){\r\n if(!this._router.url.includes('login') \r\n && !this._router.url.includes('register') \r\n && !this._router.url.includes('sign-up') \r\n && !this._router.url.includes('forgotPassword') \r\n && !this._router.url.includes('resetPassword')\r\n && this.global.displayFAB){\r\n //if on a public page, dont display FAB support button\r\n this.displayFAB = true;\r\n }else{\r\n this.displayFAB = false;\r\n }\r\n }\r\n\r\n listenRouting() {\r\n let routerUrl: string, routerList: Array, target: any;\r\n this._router.events.subscribe((router: any) => {\r\n routerUrl = router.urlAfterRedirects;\r\n \r\n if (routerUrl && typeof routerUrl === 'string' && !routerUrl.includes('resetPassword')) { //this removes the resetpassword link from the routing check\r\n \r\n target = this.menu;\r\n this.global.breadcrumbList.length = 0;\r\n \r\n routerList = routerUrl.slice(1).split('/');\r\n routerList.forEach((router, index) => {\r\n \r\n target = target.find(page => page.path.slice(2) === router);\r\n //console.log('go here:', target);\r\n \r\n if (target) {\r\n this.global.breadcrumbList.push({\r\n name: target.name,//(target.name === undefined) ? '/' : target.name,\r\n path: (index === 0) ? target.path : `${this.global.breadcrumbList[index-1].path}/${target.path.slice(2)}`\r\n });\r\n }\r\n \r\n if (index+1 !== routerList.length) {\r\n target = target.children;\r\n }\r\n });\r\n this.global.breadcrumbList = this.breadcrumbList;\r\n //console.log('breadcrumb',this.breadcrumbList);\r\n }\r\n });\r\n }\r\n\r\n handleContactUsModal(e) {\r\n this.modalService.add('contact-support', { ID: Number(localStorage.getItem(\"userId\"))});\r\n }\r\n}\r\n\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { HttpModule } from '@angular/http';\r\nimport { HttpClientModule, HttpClient, HttpHeaders, HttpResponse, HttpHandler } from '@angular/common/http';\r\nimport { AppRoutingModule } from './app.routing.module';\r\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\r\nimport { NgxTwitterTimelineModule } from 'ngx-twitter-timeline';\r\n\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\n\r\nimport { AuthService } from './auth/auth.service';\r\nimport { AuthGuard } from './auth/auth.guard';\r\n\r\nimport { ModalService } from './shared/modal/modal.service';\r\nimport { SnackBarService } from './shared/snackbar/snackbar.service';\r\nimport { AdvisorBarService } from './shared/advisor-bar/advisor-bar.service';\r\nimport { UserService } from './services/user.service';\r\nimport { SidebarService } from './services/sidebar.service';\r\nimport { GlobalService } from './services/global.service';\r\nimport { OrganizationService } from './services/organization.service';\r\nimport { PagerService } from './services/pager.service';\r\nimport { MenuService } from './services/menu.service';\r\nimport { LoadingService } from './shared/loading/loading.service';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { SidebarComponent } from './shared/sidebar/sidebar.component';\r\nimport { TopnavComponent } from './shared/topnav/topnav.component';\r\nimport { ModalComponent } from './shared/modal/modal.component';\r\nimport { SnackBarComponent } from './shared/snackbar/snackbar.component';\r\nimport { TimeoutComponent } from './shared/timeout/timeout.component';\r\nimport { InfoIconComponent } from './shared/info-icon/info-icon.component';\r\nimport { LoadingComponent } from './shared/loading/loading.component';\r\nimport { AdvisorBarComponent } from './shared/advisor-bar/advisor-bar.component';\r\nimport { BreadCrumbComponent } from './shared/breadcrumbs/breadcrumbs.component';\r\n\r\nimport { AdminComponent } from './admin/admin.component';\r\nimport { MetricRectangleComponent } from './shared/metric-rectangle/metric-rectangle.component';\r\nimport { AdvisorsComponent } from './advisors/advisors.component';\r\nimport { ClientsComponent } from './clients/clients.component';\r\nimport { ViewOrganizationsComponent } from './view-organizations/view-organizations.component';\r\nimport { SettingsComponent } from './settings/settings.component';\r\nimport { AuthWrapperComponent } from './auth-wrapper/auth-wrapper.component';\r\nimport { PortfolioRecommendationComponent } from './portfolio-recommendation/portfolio-recommendation.component';\r\nimport { ApplicationsComponent } from './applications/applications.component';\r\nimport { OrganizationsComponent } from './organizations/organizations.component';\r\nimport { InfoCenterComponent } from './info-center/info-center.component';\r\nimport { SupportComponent } from './support/support.component';\r\nimport { ReportsComponent } from './reports/reports.component';\r\nimport { LegacyReportsComponent } from './legacy-reports/legacy-reports.component';\r\nimport { CreateReportComponent } from './create-report/create-report.component';\r\nimport { ViewReportsComponent } from './view-reports/view-reports.component';\r\nimport { SocialSecurityComponent } from './social-security/social-security.component';\r\nimport { MedicareMeansTestingComponent } from './medicare-means-testing/medicare-means-testing.component';\r\nimport { MedicareMeansTestingComponentV2 } from './medicare-means-testing-v2/medicare-means-testing-v2.component';\r\nimport { HealthCareComponent } from './healthcare/healthcare.component';\r\nimport { LongTermCareComponent } from './long-term-care/long-term-care.component';\r\nimport { LeadsComponent } from './leads/leads.component';\r\n//import { MetricsComponent } from './metrics/metrics.component';\r\nimport { MetricsComponentV2 } from './metrics-v2/metrics-v2.component';\r\nimport { CreateReportSelectionComponent } from './create-report-selection/create-report-selection.component';\r\nimport { MarketingMaterialComponent } from './marketing-material/marketing-material.component';\r\n\r\nimport { ForgotPasswordComponent } from './forgot-password/forgotpassword.component';\r\nimport { ResetPasswordComponent } from './reset-password/resetpassword.component';\r\nimport { RegisterComponent } from './register/register.component';\r\nimport { SignUpComponent } from './sign-up/sign-up.component';\r\n//import { ComboChartComponent, ComboSeriesVerticalComponent } from './combo-chart';\r\n\r\n//recaptcha\r\nimport {RecaptchaModule, RECAPTCHA_SETTINGS, RecaptchaSettings} from 'ng-recaptcha';\r\nimport {RecaptchaFormsModule} from 'ng-recaptcha/forms';\r\n\r\nimport { DragAndDropModule } from 'angular-draggable-droppable';\r\n\r\n//material\r\nimport { MatButtonModule, MatButtonToggleModule, MatTooltipModule } from '@angular/material';\r\n\r\nimport { Ng5SliderModule } from 'ng5-slider';\r\nimport { DecimalPipe } from '@angular/common';\r\nimport { CurrencyMaskModule } from \"ng2-currency-mask\";\r\nimport { CommonModule, CurrencyPipe} from '@angular/common';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n RegisterComponent,\r\n SignUpComponent,\r\n ForgotPasswordComponent,\r\n ResetPasswordComponent,\r\n HomeComponent,\r\n SidebarComponent,\r\n TopnavComponent,\r\n ModalComponent,\r\n SnackBarComponent,\r\n TimeoutComponent,\r\n MetricRectangleComponent,\r\n AdvisorsComponent,\r\n ClientsComponent,\r\n SettingsComponent,\r\n AuthWrapperComponent,\r\n PortfolioRecommendationComponent,\r\n ApplicationsComponent,\r\n OrganizationsComponent,\r\n InfoCenterComponent,\r\n SupportComponent,\r\n ReportsComponent,\r\n LegacyReportsComponent,\r\n CreateReportComponent,\r\n ViewReportsComponent,\r\n SocialSecurityComponent,\r\n MedicareMeansTestingComponent,\r\n MedicareMeansTestingComponentV2,\r\n HealthCareComponent,\r\n LongTermCareComponent,\r\n CreateReportSelectionComponent,\r\n MarketingMaterialComponent,\r\n ViewOrganizationsComponent,\r\n InfoIconComponent,\r\n LoadingComponent,\r\n AdvisorBarComponent,\r\n BreadCrumbComponent,\r\n LeadsComponent,\r\n MetricsComponentV2,\r\n AdminComponent,\r\n /* ComboChartComponent,\r\n ComboSeriesVerticalComponent */\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpModule,\r\n NgxTwitterTimelineModule,\r\n HttpClientModule,\r\n AppRoutingModule,\r\n NgxChartsModule,\r\n BrowserAnimationsModule,\r\n MatButtonModule, MatButtonToggleModule, MatTooltipModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RecaptchaModule.forRoot(),\r\n RecaptchaFormsModule,\r\n MyDatePickerModule,\r\n DragAndDropModule,\r\n Ng5SliderModule,\r\n CurrencyMaskModule,\r\n CommonModule,\r\n ],\r\n providers: [\r\n AuthService,\r\n AuthGuard,\r\n ModalService,\r\n SnackBarService,\r\n AdvisorBarService,\r\n UserService,\r\n SidebarService,\r\n GlobalService,\r\n OrganizationService,\r\n PagerService,\r\n MenuService,\r\n LoadingService,\r\n HttpClient,\r\n //GlobalService,\r\n DecimalPipe,\r\n CurrencyPipe,\r\n {\r\n provide: RECAPTCHA_SETTINGS,\r\n useValue: { \r\n siteKey: '6LeOczsUAAAAAOaCRf0YOQ8l7oIemk08k8ccmYBe', //same key used for hvsfinancial.com, bamria.com and healthycapital.com\r\n //secret key: 6LeOczsUAAAAAGQFLjoZAYWF4KadtsDOE-NXM3fW\r\n } as RecaptchaSettings,\r\n }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule, CanActivate } from '@angular/router';\r\n\r\nimport { AuthGuard } from './auth/auth.guard';\r\n\r\nimport { LoginComponent } from './login/login.component';\r\nimport { AuthWrapperComponent } from './auth-wrapper/auth-wrapper.component';\r\n\r\nimport { HomeComponent } from './home/home.component';\r\nimport { AdvisorsComponent } from './advisors/advisors.component';\r\nimport { ClientsComponent } from './clients/clients.component';\r\nimport { ApplicationsComponent } from './applications/applications.component';\r\nimport { OrganizationsComponent } from './organizations/organizations.component';\r\nimport { InfoCenterComponent } from './info-center/info-center.component';\r\nimport { ReportsComponent } from './reports/reports.component';\r\nimport { LegacyReportsComponent } from './legacy-reports/legacy-reports.component';\r\nimport { LeadsComponent } from './leads/leads.component';\r\nimport { CreateReportComponent } from './create-report/create-report.component';\r\nimport { ViewReportsComponent } from './view-reports/view-reports.component';\r\nimport { MarketingMaterialComponent } from './marketing-material/marketing-material.component';\r\n\r\nimport { CreateReportSelectionComponent } from './create-report-selection/create-report-selection.component';\r\nimport { SocialSecurityComponent } from './social-security/social-security.component';\r\nimport { MedicareMeansTestingComponent } from './medicare-means-testing/medicare-means-testing.component';\r\nimport { MedicareMeansTestingComponentV2 } from './medicare-means-testing-v2/medicare-means-testing-v2.component';\r\nimport { HealthCareComponent } from './healthcare/healthcare.component';\r\nimport { LongTermCareComponent } from './long-term-care/long-term-care.component';\r\nimport { AdminComponent } from './admin/admin.component';\r\n//import { MetricsComponent } from './metrics/metrics.component';\r\nimport { MetricsComponentV2 } from './metrics-v2/metrics-v2.component';\r\n\r\nimport { ForgotPasswordComponent } from './forgot-password/forgotpassword.component';\r\nimport { RegisterComponent } from './register/register.component';\r\nimport { SignUpComponent } from './sign-up/sign-up.component';\r\nimport { ResetPasswordComponent } from './reset-password/resetpassword.component';\r\n\r\nimport { APP_BASE_HREF, HashLocationStrategy, LocationStrategy } from '@angular/common';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '', component: AuthWrapperComponent, canActivate: [AuthGuard],\r\n children: [\r\n { path: '', redirectTo: 'home', pathMatch: 'full' },\r\n { path: 'home', component: HomeComponent },\r\n { path: 'advisors', component: AdvisorsComponent },\r\n { path: 'clients', component: ClientsComponent },\r\n { path: 'leads', component: LeadsComponent },\r\n { path: 'admin', component: AdminComponent },\r\n { path: 'metrics', component: MetricsComponentV2 },\r\n //{ path: 'metricsv2', component: MetricsComponentV2 },\r\n { path: 'applications', component: ApplicationsComponent },\r\n { path: 'organizations', component: OrganizationsComponent },\r\n { path: 'info-center', component: InfoCenterComponent },\r\n { path: 'reports', component: ReportsComponent },\r\n { path: 'reports/create', component: CreateReportSelectionComponent },\r\n { path: 'reports/create/ss', component: SocialSecurityComponent, pathMatch: 'full' },\r\n { path: 'reports/create/mmt', component: MedicareMeansTestingComponent, pathMatch: 'full' },\r\n { path: 'reports/create/mmtv2', component: MedicareMeansTestingComponentV2, pathMatch: 'full' },\r\n { path: 'reports/create/ltc', component: LongTermCareComponent, pathMatch: 'full' },\r\n { path: 'reports/create/hc', component: HealthCareComponent, pathMatch: 'full' },\r\n { path: 'legacy-reports', component: LegacyReportsComponent, pathMatch: 'full' },\r\n { path: 'marketing-material', component: MarketingMaterialComponent }\r\n ]\r\n },\r\n { path: 'login', component: LoginComponent, pathMatch: 'full' },\r\n { path: 'register', component: RegisterComponent, pathMatch: 'full' },\r\n { path: 'sign-up', component: SignUpComponent, pathMatch: 'full' },\r\n { path: 'forgotPassword', component: ForgotPasswordComponent, pathMatch: 'full' },\r\n { path: 'resetPassword/:id', component: ResetPasswordComponent, pathMatch: 'full' },\r\n //{ path: '**', redirectTo: '' }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n providers: [ {provide: LocationStrategy, useClass: HashLocationStrategy} ]\r\n})\r\nexport class AppRoutingModule { }\r\n","module.exports = \":host {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.header {\\r\\n height: 200px;\\r\\n background-image: url('marketing-materials.460fcf84ad462e7b1911.jpg');\\r\\n display: flex;\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: left;\\r\\n color: #555;\\r\\n margin: 25px;\\r\\n padding: 25px;\\r\\n\\r\\n}\\r\\n\\r\\n.content {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex-wrap: wrap;\\r\\n padding: 0 0 200px 0;\\r\\n /* justify-content: space-between; */\\r\\n}\\r\\n\\r\\n.content-area {\\r\\n /* overflow-y: scroll; */\\r\\n}\\r\\n\\r\\n.content-item {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n /* margin: 25px; */\\r\\n width: 100%;\\r\\n max-width: 400px;\\r\\n\\r\\n border: 1px solid #d5d5d5;\\r\\n padding: 10px;\\r\\n background: #fff;\\r\\n margin-left: 20px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 2rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.sub-title {\\r\\n font-size: 0.8rem;\\r\\n color: #555;\\r\\n width: 70%;\\r\\n line-height: 1.5rem;\\r\\n}\\r\\n\\r\\n.seperator {\\r\\n height: 1px;\\r\\n /* width: 30%; */\\r\\n background-color: #d5d5d5;\\r\\n}\\r\\n\\r\\n.content-title {\\r\\n color: #555;\\r\\n font-size: 1.2rem;\\r\\n margin-top: 5px;\\r\\n}\\r\\n\\r\\n.content-sub-title {\\r\\n color: #555;\\r\\n font-size: 0.8rem;\\r\\n margin: 10px 0 10px 0;\\r\\n}\\r\\n\\r\\n.content {\\r\\n height: unset !important;\\r\\n}\\r\\n\\r\\n/* .btn {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 5px 0 5px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.btn button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #000;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.btn i {\\r\\n color: #000;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n} */\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n /* width: 200px; */\\r\\n width: 50%;\\r\\n display: flex;\\r\\n /* justify-content: space-around; */\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2FwcGxpY2F0aW9ucy9hcHBsaWNhdGlvbnMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGtCQUFrQjtJQUNsQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IscUVBQXlFO0lBQ3pFLGFBQWE7SUFDYiw0QkFBNEI7SUFDNUIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTs7QUFFakI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixvQkFBb0I7SUFDcEIsb0NBQW9DO0FBQ3hDOztBQUVBO0lBQ0ksd0JBQXdCO0FBQzVCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtHQUN2QixtQkFBbUI7SUFDbEIsV0FBVztJQUNYLGdCQUFnQjs7SUFFaEIseUJBQXlCO0lBQ3pCLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsV0FBVztJQUNYLFVBQVU7SUFDVixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxXQUFXO0NBQ2QsbUJBQW1CO0lBQ2hCLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksd0JBQXdCO0FBQzVCOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7O0FBRUg7SUFDSSx5QkFBeUI7R0FDMUIsbUJBQW1CO0dBQ25CLFVBQVU7SUFDVCxhQUFhO0dBQ2Qsb0NBQW9DO0lBQ25DLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixpQkFBaUI7QUFDckIiLCJmaWxlIjoiLi4vYXBwbGljYXRpb25zL2FwcGxpY2F0aW9ucy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4uaGVhZGVyIHtcclxuICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9pbWFnZXMvdGVtcC9tYXJrZXRpbmctbWF0ZXJpYWxzLmpwZycpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGxlZnQ7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIG1hcmdpbjogMjVweDtcclxuICAgIHBhZGRpbmc6IDI1cHg7XHJcblxyXG59XHJcblxyXG4uY29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIHBhZGRpbmc6IDAgMCAyMDBweCAwO1xyXG4gICAgLyoganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAqL1xyXG59XHJcblxyXG4uY29udGVudC1hcmVhIHtcclxuICAgIC8qIG92ZXJmbG93LXk6IHNjcm9sbDsgKi9cclxufVxyXG5cclxuLmNvbnRlbnQtaXRlbSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgLyogIG1hcmdpbjogMjVweDsgKi9cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuXHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDVkNWQ1O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLnN1Yi10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgd2lkdGg6IDcwJTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcbn1cclxuXHJcbi5zZXBlcmF0b3Ige1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAvKiAgICB3aWR0aDogMzAlOyAqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxufVxyXG5cclxuLmNvbnRlbnQtdGl0bGUge1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxufVxyXG5cclxuLmNvbnRlbnQtc3ViLXRpdGxlIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICBtYXJnaW46IDEwcHggMCAxMHB4IDA7XHJcbn1cclxuXHJcbi5jb250ZW50IHtcclxuICAgIGhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogLmJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgNXB4IDAgNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uYnRuIGJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uYnRuIGkge1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn0gKi9cclxuXHJcbi5jcmVhdGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgLyogIHdpZHRoOiAyMDBweDsgKi9cclxuICAgd2lkdGg6IDUwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgIC8qICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgKi9cclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4uY3JlYXRlIGJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICAvKiBoZWlnaHQ6IDM1cHg7ICovXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uY3JlYXRlIGkge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufSJdfQ== */\"","module.exports = \"
\\r\\n Applications\\r\\n
\\r\\n HealthView's applications are designed to serve as a quick and easy financial planning platform with minimal inputs and\\r\\n easy-to-understand outputs. The reports can help advisors initiate conversations with clients about their specific retirement\\r\\n needs and possible long-term solutions.\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n HealthView Explorer\\r\\n Explorer is a simple and easy-to-use interactive map that displays the impact of state of residence on retirement health\\r\\n care costs. The variances in costs of Medicare Part D and Supplemental Insurance from state-to-state may impact financial\\r\\n well-being in retirement.\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Income Replacement Ratio (IRR)\\r\\n Want to know how much annual income you'll need in retirement? An Income Replacement Ratio (IRR) can reveal what is required\\r\\n to maintain your standard of living after you're done working. Toggle between different IRRs to view projected retirement\\r\\n income needs.\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Snapshot\\r\\n Snapshot is the fastest way to utilize HealthView's actuarial health care cost projections on clients and prospects.\\r\\n With six simple inputs, the app outputs life expectancy, total retirement premiums, and an immediate investment value\\r\\n based on a selected rate of return.\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n LTC Map\\r\\n Compare Long-term Care costs from state to state. Adjust the region, length of stay, and/or type of care to view differences in costs.\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { GlobalService } from '../services/global.service';\r\n\r\n@Component({\r\n selector: 'app-applications',\r\n templateUrl: './applications.component.html',\r\n styleUrls: ['./applications.component.css']\r\n})\r\nexport class ApplicationsComponent implements OnInit {\r\n\r\n public isS: boolean;\r\n public isA: boolean;\r\n public isNW: boolean;\r\n\r\n constructor(private globalService:GlobalService) {}\r\n\r\n ngOnInit() {\r\n this.isS = (Number(localStorage.getItem('orgID')) === 371 || Number(localStorage.getItem('parentID')) === 371) ? true : false;\r\n this.isA = (Number(localStorage.getItem('orgID')) === 421 || Number(localStorage.getItem('parentID')) === 421) ? true : false;\r\n \r\n this.isNW = (Number(localStorage.getItem('orgID')) === 239 || Number(localStorage.getItem('parentID')) === 239) ? true : false;\r\n\r\n this.globalService.featMeansTesting = JSON.parse(localStorage.getItem('featMeansTesting'));\r\n this.globalService.featLongTermCare = JSON.parse(localStorage.getItem('featLongTermCare'));\r\n this.globalService.featSocialSecurity = JSON.parse(localStorage.getItem('featSocialSecurity'));\r\n this.globalService.featHealthCare = JSON.parse(localStorage.getItem('featHealthCare'));\r\n }\r\n\r\n handlePopup(app, w, h) {\r\n var winFeature =\r\n 'location=no,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,' + 'width=' + w + ', height=' + h;\r\n\r\n if (app == 'HVSLTCMap') {\r\n window.open('https://la.hvsfinancial.com/Applications/' + app, 'window', winFeature);\r\n } else {\r\n window.open('https://la.hvsfinancial.com/tools/' + app, 'window', winFeature);\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \":host {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.content-wrapper {\\r\\n display: flex;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.content-area {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n position: relative;\\r\\n /* overflow-y: scroll; */\\r\\n background-color: #f5f5f5;\\r\\n flex-direction: column;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2F1dGgtd3JhcHBlci9hdXRoLXdyYXBwZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIsc0JBQXNCO0FBQzFCIiwiZmlsZSI6Ii4uL2F1dGgtd3JhcHBlci9hdXRoLXdyYXBwZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uY29udGVudC13cmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5jb250ZW50LWFyZWEge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLyogb3ZlcmZsb3cteTogc2Nyb2xsOyAqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn0iXX0= */\"","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n@Component({\r\n selector: 'app-auth-wrapper',\r\n templateUrl: './auth-wrapper.component.html',\r\n styleUrls: ['./auth-wrapper.component.css']\r\n})\r\nexport class AuthWrapperComponent implements OnInit {\r\n mobHeight: number;\r\n constructor() { \r\n this.mobHeight = document.body.clientHeight - 70;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(private router: Router) { }\r\n\r\n canActivate() {\r\n if (localStorage.getItem('bearer') && localStorage.getItem('userId') != \"0\") {\r\n // logged in so return true\r\n return true;\r\n }\r\n\r\n this.router.navigate(['/login']);\r\n\r\n // console.log(this.router.url);\r\n // if (!this.router.url.includes('/resetPassword') || !this.router.url.includes('/forgotPassword') || !this.router.url.includes('/register')) {\r\n\r\n // } else {\r\n // this.router.navigate(['/login']);\r\n // }\r\n\r\n // not logged in so redirect to login page with the return url\r\n // this.router.navigate(['/login']);\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Headers, RequestOptions, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { GlobalService } from '../services/global.service';\r\n\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/mergeMap'\r\n\r\nimport { UserService } from '../services/user.service';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n constructor(private http: Http, private userService: UserService, private globalService: GlobalService) { }\r\n\r\n login(username: string, password: string) {\r\n let body = `username=${username}&password=${password}&grant_type=password`;\r\n let test = { UserID: '0' };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Accept': 'application/json' });\r\n \r\n let options;\r\n\r\n let user;\r\n\r\n //var authUrl = 'https://authpentest.hvsfinancial.com/Token';\r\n var authUrl = 'https://auth.hvsfinancial.com/Token';\r\n\r\n //var apiUrl = 'http://api.hvsfinancial.com.loc/api/';\r\n // var apiUrl = 'https://hvsportalpentestsvc.hvsfinancial.com/api/';\r\n var apiUrl = 'https://apidev3.hvsfinancial.com/api/';\r\n\r\n return this.http.post(authUrl, body)\r\n .map((response: Response) => {\r\n let resp = response.json(), bearer;\r\n\r\n if (resp && resp.access_token) {\r\n bearer = resp.access_token;\r\n\r\n headers.append('Authorization', `bearer ${bearer}`);\r\n options = new RequestOptions({headers})\r\n\r\n test.UserID = resp.userID;\r\n\r\n this.userService.setAuthentication(resp);\r\n // console.log(resp);\r\n \r\n return bearer;\r\n }\r\n\r\n return;\r\n })\r\n .flatMap(() => this.http.post(apiUrl + 'CoreOrganization/GetUser', JSON.stringify(test), options).map((response: Response) => {\r\n let resp = response.json();\r\n user = resp;\r\n this.userService.setUserInformation(resp);\r\n }))\r\n .flatMap(() => this.http.post(apiUrl + 'CoreOrganization/GetOrganization', JSON.stringify({ ID: user.OrganizationID}), options).map((response: Response) => {\r\n let resp = response.json();\r\n \r\n localStorage.setItem('logoPhotoPath', resp.LogoPath);\r\n localStorage.setItem('parentID', resp.ParentID);\r\n localStorage.setItem('orgID', resp.ID);\r\n }))\r\n .flatMap(() => this.http.post(apiUrl + 'CoreOrganization/GetOrgFeatures', JSON.stringify({ ID: (localStorage.getItem('parentID') != '0') ? localStorage.getItem('parentID') : localStorage.getItem('orgID')}), options).map((response: Response) => {\r\n let resp = response.json();\r\n //if array is empty; allow all\r\n this.globalService.orgAccess = resp;\r\n if(resp.length > 0){\r\n for(let value of resp){\r\n\r\n if(value.FeatureTypeID == 1){\r\n this.globalService.featRiskTolerance = true;\r\n }else if(value.FeatureTypeID === 2){\r\n this.globalService.featHealthCare = true;\r\n }else if(value.FeatureTypeID == 3){\r\n this.globalService.featSocialSecurity = true;\r\n }else if(value.FeatureTypeID == 4){\r\n this.globalService.featLongTermCare = true;\r\n }else if(value.FeatureTypeID == 5){\r\n this.globalService.featTitan = true;\r\n }else if(value.FeatureTypeID == 6){\r\n this.globalService.featHomeOffice = true;\r\n }else if(value.FeatureTypeID == 7){\r\n this.globalService.featMeansTesting = true;\r\n }\r\n\r\n }\r\n \r\n }else{\r\n //not in table => lets preset the basic tool/default\r\n this.globalService.featHealthCare = true;\r\n this.globalService.featLongTermCare = true;\r\n this.globalService.featSocialSecurity = true;\r\n this.globalService.featTitan = true; \r\n this.globalService.featMeansTesting = true; \r\n \r\n //these are not part of the basics\r\n this.globalService.featRiskTolerance = false;\r\n this.globalService.featHomeOffice = false; \r\n }\r\n\r\n this.globalService.hasSetFeatures = true; \r\n\r\n localStorage.setItem('featRiskTolerance', JSON.stringify(this.globalService.featRiskTolerance || false));\r\n localStorage.setItem('featHomeOffice', JSON.stringify(this.globalService.featHomeOffice || false));\r\n localStorage.setItem('featMeansTesting', JSON.stringify(this.globalService.featMeansTesting || false));\r\n localStorage.setItem('featLongTermCare', JSON.stringify(this.globalService.featLongTermCare || false));\r\n localStorage.setItem('featSocialSecurity', JSON.stringify(this.globalService.featSocialSecurity || false));\r\n localStorage.setItem('featHealthCare', JSON.stringify(this.globalService.featHealthCare || false));\r\n }))\r\n .flatMap(() => this.http.post(apiUrl + 'CoreOrganization/GetOrganization', JSON.stringify({ ID: localStorage.getItem('parentID')}), options).map((response: Response) => {\r\n let resp = response.json();\r\n \r\n if (resp && localStorage.getItem('logoPhotoPath') == 'null') {\r\n localStorage.setItem('logoPhotoPath', resp.LogoPath);\r\n }\r\n }))\r\n .flatMap(() => this.http.post(apiUrl + 'CoreOrganization/GetYearlyValues', '', options).map((response: Response) => {\r\n let resp = response.json();\r\n localStorage.setItem('yearlyValues', JSON.stringify(resp));\r\n }));\r\n }\r\n\r\n public logout() {\r\n //localStorage.clear();\r\n\r\n // localStorage.removeItem('bearer');\r\n // localStorage.removeItem('expiresIn');\r\n // localStorage.removeItem('firstName');\r\n // localStorage.removeItem('lastName');\r\n // localStorage.removeItem('logoPhotoPath');\r\n // localStorage.removeItem('profilePhotoPath');\r\n // localStorage.removeItem('roleId');\r\n // localStorage.removeItem('parentID');\r\n // localStorage.removeItem('orgID');\r\n \r\n localStorage.clear();\r\n\r\n //window.location.href = \"portal.hvsfinancial.com\";\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.row {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n padding: 25px 25px 0 25px;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 1.2rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.btn {\\r\\n background-color: #7fa57f;\\r\\n border-radius: 4px;\\r\\n color: #fff;\\r\\n border: none;\\r\\n margin: 0 10px 0 0;\\r\\n padding: 5px 10px 5px 10px;\\r\\n cursor: pointer;\\r\\n width: 175px;\\r\\n text-decoration: none;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.client-list {\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\n.btn span {\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.pagination {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.pagination div {\\r\\n margin: 10px;\\r\\n background-color: #d3d3d3;\\r\\n cursor: pointer;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.pagination span {\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.pagination .active {\\r\\n background-color: #E58929;\\r\\n}\\r\\n\\r\\n.action-item {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.search {\\r\\n background-color: #d3d3d3;\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n height: 45px;\\r\\n width: 230px;\\r\\n margin-top: 15px;\\r\\n}\\r\\n\\r\\n.row-container {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.search input {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n text-indent: 2rem;\\r\\n border: none;\\r\\n font-size: 1rem;\\r\\n width: 160px;\\r\\n}\\r\\n\\r\\n.search input::-moz-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input::placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input:focus::-moz-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search input:focus:-ms-input-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search input:focus::placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search i {\\r\\n font-size: 1.25rem;\\r\\n position: absolute;\\r\\n left: 20px;\\r\\n color: #777;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.filter {\\r\\n background-color: #d3d3d3;\\r\\n height: 35px;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n color: #000;\\r\\n width: 160px;\\r\\n padding-right: 25px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.filter i {\\r\\n\\r\\n}\\r\\n\\r\\n.filter span {\\r\\n\\r\\n}\\r\\n\\r\\n.header {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n /* justify-content: space-between; */\\r\\n max-width: 700px;\\r\\n flex: 1 1 600px;\\r\\n}\\r\\n\\r\\n.cursor {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/* :host {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.advisor-list {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.list-header {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.list-content {\\r\\n background-color: #f5f5f5;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.content-item:first-child div span {\\r\\n font-weight: bold;\\r\\n color: #555;\\r\\n \\r\\n}\\r\\n\\r\\n.content-item {\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n padding: 15px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.content-item div {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n text-align: left;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.content-item div i {\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.content-item:nth-child(odd) {\\r\\n background-color: #edeff3;\\r\\n}\\r\\n\\r\\n.btn {\\r\\n background-color: #7fa57f;\\r\\n border-radius: 4px;\\r\\n color: #fff;\\r\\n border: none;\\r\\n margin: 0 10px 0 0;\\r\\n padding: 5px 10px 5px 10px;\\r\\n cursor: pointer;\\r\\n width: 175px;\\r\\n text-decoration: none;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.btn span {\\r\\n margin-left: 5px;\\r\\n}\\r\\n */\\r\\n\\r\\n.client-list-row {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n flex-direction: column;\\r\\n align-items: baseline;\\r\\n }\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2NsaWVudHMvY2xpZW50cy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFdBQVc7SUFDWCx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsV0FBVztBQUNmOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQiwwQkFBMEI7SUFDMUIsZUFBZTtJQUNmLFlBQVk7SUFDWixxQkFBcUI7SUFDckIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIseUJBQXlCO0lBQ3pCLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBR0E7SUFDSSxhQUFhO0lBQ2IseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLHlCQUF5QjtJQUN6QixlQUFlO0lBQ2YsV0FBVztBQUNmOztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGNBQWM7SUFDZCwwQkFBMEI7SUFDMUIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLFlBQVk7SUFDWixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsV0FBVztJQUNYLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osZUFBZTtJQUNmLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRkE7SUFDSSxXQUFXO0FBQ2Y7O0FBRkE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRkE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRkE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixXQUFXO0lBQ1gsVUFBVTtBQUNkOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixZQUFZO0lBQ1osYUFBYTtJQUNiLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsV0FBVztJQUNYLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsZUFBZTtBQUNuQjs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtJQUNJLGFBQWE7SUFDYixlQUFlO0lBQ2Ysb0NBQW9DO0lBQ3BDLGdCQUFnQjtJQUNoQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFPQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpRUU7O0FBR0Q7S0FDSSxhQUFhO0tBQ2IsOEJBQThCO0tBQzlCLHNCQUFzQjtLQUN0QixxQkFBcUI7Q0FDekI7O0FBSUE7SUFDRyx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGFBQWE7SUFDYiw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixlQUFlO0lBQ2YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGlCQUFpQjtBQUNyQiIsImZpbGUiOiIuLi9jbGllbnRzL2NsaWVudHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4ucm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDI1cHggMjVweCAwIDI1cHg7XHJcbn1cclxuXHJcbi50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uYnRuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZmE1N2Y7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAxMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uY2xpZW50LWxpc3Qge1xyXG4gICAgcGFkZGluZzogMjVweDtcclxufVxyXG5cclxuLmJ0biBzcGFuIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG50ZCwgdGgge1xyXG4gICAgYm9yZGVyOiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuXHJcbi5wYWdpbmF0aW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4ucGFnaW5hdGlvbiBkaXYge1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4ucGFnaW5hdGlvbiBzcGFuIHtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnBhZ2luYXRpb24gLmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG59XHJcblxyXG4uYWN0aW9uLWl0ZW0ge1xyXG4gICAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnNlYXJjaCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGhlaWdodDogNDVweDtcclxuICAgIHdpZHRoOiAyMzBweDtcclxuICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5yb3ctY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLnNlYXJjaCBpbnB1dCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgdGV4dC1pbmRlbnQ6IDJyZW07XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbn1cclxuXHJcbi5zZWFyY2ggaW5wdXQ6OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uc2VhcmNoIGlucHV0OmZvY3VzOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5zZWFyY2ggaSB7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAyMHB4O1xyXG4gICAgY29sb3I6ICM3Nzc7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uZmlsdGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZmlsdGVyIGkge1xyXG5cclxufVxyXG5cclxuLmZpbHRlciBzcGFuIHtcclxuXHJcbn1cclxuXHJcbi5oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8qIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgKi9cclxuICAgIG1heC13aWR0aDogNzAwcHg7XHJcbiAgICBmbGV4OiAxIDEgNjAwcHg7XHJcbn1cclxuXHJcbi5jdXJzb3Ige1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qIDpob3N0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uYWR2aXNvci1saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5saXN0LWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmxpc3QtY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW06Zmlyc3QtY2hpbGQgZGl2IHNwYW4ge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIFxyXG59XHJcblxyXG4uY29udGVudC1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW0gZGl2IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW0gZGl2IGkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW06bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWZmMztcclxufVxyXG5cclxuLmJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2ZhNTdmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHdpZHRoOiAxNzVweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmJ0biBzcGFuIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbn1cclxuICovXHJcblxyXG5cclxuIC5jbGllbnQtbGlzdC1yb3cge1xyXG4gICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gfVxyXG5cclxuXHJcblxyXG4gLmNyZWF0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbn1cclxuXHJcbi5jcmVhdGUgYnV0dG9uIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIC8qIGhlaWdodDogMzVweDsgKi9cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi5jcmVhdGUgaSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Clients\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n {{page}}\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Client  \\r\\n \\r\\n 600 && (role == 2 || role == 1)\\\">\\r\\n Organization  \\r\\n \\r\\n 600 && (role == 2 || role == 1)\\\">\\r\\n Advisor   \\r\\n \\r\\n StateCity\\r\\n Date  \\r\\n \\r\\n Actions
{{client.FirstName + \\\" \\\" + client.LastName + \\\" and \\\" + \\\" \\\" + client.spouseName}}{{client.FirstName + \\\" \\\" + client.LastName}} 600 && (role == 2 || role == 1)\\\">{{client.OrganizationName}} 600 && (role == 2 || role == 1)\\\">{{client.AdvisorName}}{{client.State}}{{client.City}}{{formatDate(client.CreatedDate)}}\\r\\n Create Report |\\r\\n Edit Client\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ModalService } from '../shared/modal/modal.service';\r\nimport { GlobalService } from '../services/global.service';\r\nimport { PagerService } from '../services/pager.service';\r\nimport { LoadingService } from '../shared/loading/loading.service';\r\n\r\nimport { Client } from '../models/client';\r\n\r\nimport Utility from '../shared/utility';\r\n\r\n@Component({\r\n selector: 'app-client',\r\n templateUrl: './clients.component.html',\r\n styleUrls: ['./clients.component.css']\r\n})\r\nexport class ClientsComponent implements OnInit {\r\n public clients: any[] = [];\r\n public error: string;\r\n public role: number;\r\n\r\n public screenWidth: number = window.innerWidth;\r\n\r\n private allItems: any[];\r\n pager: any = {};\r\n pagedItems: any[];\r\n\r\n private filteredClients: any;\r\n public modalSubscription;\r\n\r\n activeFirstNameArrow: boolean;\r\n activeOrgNameArrow: boolean;\r\n activeAdvisorNameArrow: boolean;\r\n activeDateArrow: boolean;\r\n\r\n constructor(private modalService: ModalService, private globalService: GlobalService, private pagerService: PagerService, private loadingService: LoadingService, private router: Router) {\r\n this.modalSubscription = modalService.modal$.subscribe((modal) => {\r\n // console.log(\"Ran in subscription\");\r\n if (modal.modalName == 'add-edit-clientClosed') { // TODO: Fix this hack -- naming it hidden.. modals in general need to be refactored\r\n // console.log('modal closed woo!');\r\n this.getClients();\r\n modal.data = {};\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.modalSubscription.unsubscribe();\r\n }\r\n\r\n ngOnInit() {\r\n // console.log(\"Ran onInit\");\r\n this.role = Number(localStorage.getItem('roleId'));\r\n this.getClients();\r\n \r\n }\r\n\r\n getClients() {\r\n this.loadingService.isLoading(true);\r\n this.globalService.getClientsData()\r\n .subscribe(\r\n clients => {\r\n var spouses;\r\n // console.log(clients);\r\n\r\n this.allItems = clients.map((item) => { \r\n spouses = JSON.parse(item.cp.Spouses) || [];\r\n\r\n if (item.c) {\r\n item.c.OrganizationName = item.o ? item.o.Name : '';\r\n \r\n spouses.map((spouse) => {\r\n if (spouse && spouse.maritalStatus == 'Married') {\r\n item.c.spouseName = spouse.firstName + \" \" + spouse.lastName;\r\n }\r\n });\r\n\r\n if (item.a) {\r\n item.c.AdvisorName = item.a.FirstName + \" \" + item.a.LastName;\r\n item.c.AdvisorID = item.a.ID;\r\n item.c.AdvisorOrgID = item.a.OrganizationID;\r\n }\r\n \r\n return item.c;\r\n } else {\r\n return item\r\n } \r\n });\r\n\r\n // console.log(this.allItems);\r\n\r\n\r\n // console.log(this.allItems);\r\n this.filteredClients = this.allItems;\r\n\r\n this.filteredClients = this.allItems.sort(function(a, b) {\r\n return parseInt(b.ID) - parseInt(a.ID);\r\n });\r\n this.setPage(1);\r\n this.loadingService.isLoading(false);\r\n\r\n // console.log(clients);\r\n // console.log(this.allItems);\r\n // console.log(this.filteredClients);\r\n // console.log(this.pagedItems);\r\n\r\n },\r\n error => {\r\n this.error = error\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n \r\n\r\n setPage(page: number) {\r\n // this.disableAllSortArrow();\r\n if (this.filteredClients.length === 1) {\r\n this.pagedItems = this.filteredClients;\r\n this.pager = this.pagerService.getPager(this.filteredClients.length, page);\r\n return;\r\n }\r\n\r\n if (page < 1 || page > this.pager.totalPages) {\r\n return;\r\n }\r\n\r\n // get pager object from service\r\n // this.pager = this.pagerService.getPager(this.allItems.length, page);\r\n this.pager = this.pagerService.getPager(this.filteredClients.length, page);\r\n\r\n // get current page of items\r\n this.pagedItems = this.filteredClients.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n\r\n handleCreateClientModal(e) {\r\n this.modalService.add('add-edit-client', { ID: 0 });\r\n }\r\n\r\n handleEditClientModal(e, client) {\r\n if ((Number(localStorage.getItem('roleId')) == 1 || Number(localStorage.getItem('roleId')) == 2))\r\n this.modalService.add('add-edit-client', { ID: client.ID, AdvisorID: client.AdvisorID, AdvisorOrgID: client.AdvisorOrgID });\r\n else\r\n this.modalService.add('add-edit-client', { ID: client.ID });\r\n }\r\n\r\n handleCreateReport(e, client) {\r\n localStorage.setItem('selectedClient', client.ID);\r\n localStorage.setItem('selectedAdvisor', client.AdvisorName);\r\n localStorage.setItem('selectedAdvisorID', client.AdvisorID);\r\n localStorage.setItem('selectedAdvisorOrgID', client.AdvisorOrgID);\r\n this.router.navigate(['reports/create']);\r\n }\r\n\r\n assignCopy(){\r\n this.filteredClients = Object.assign([], this.allItems);\r\n }\r\n\r\n filterItem(value){\r\n this.filteredClients = Object.assign([], this.allItems).filter(\r\n advisor => {\r\n return (advisor.FirstName + \" \" + advisor.LastName + \" \" + advisor.spouseName).toLowerCase().includes(value.toLowerCase()) || (advisor.AdvisorName).toLowerCase().includes(value.toLowerCase()) || (advisor.OrganizationName).toLowerCase().includes(value.toLowerCase())\r\n }\r\n );\r\n \r\n if (!this.filteredClients.length) {\r\n this.pagedItems = [];\r\n } else {\r\n this.setPage(1);\r\n }\r\n }\r\n\r\n formatDate(date) {\r\n date = new Date(date);\r\n return date > 1/1/1900 ? (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear() + ' ' + Utility.parseDateTime(date) : '--';\r\n }\r\n\r\n disableAllSortArrow() {\r\n this.activeFirstNameArrow = false;\r\n this.activeOrgNameArrow = false;\r\n this.activeAdvisorNameArrow = false;\r\n this.activeDateArrow = false;\r\n }\r\n\r\n private isColSortedAsc: any = {\r\n FirstName: false,\r\n OrganizationName: false,\r\n AdvisorName: false,\r\n }\r\n \r\n sort(colName) {\r\n this.disableAllSortArrow();\r\n if (colName == 'FirstName') {\r\n this.filteredClients.sort((a, b) => this.isColSortedAsc[colName] ? (a.FirstName.trim() + a.LastName).localeCompare(b.FirstName.trim() + b.LastName) : (b.FirstName + b.LastName).localeCompare(a.FirstName.trim() + a.LastName));\r\n this.setPage(this.pager.currentPage);\r\n this.activeFirstNameArrow = this.isColSortedAsc[colName];\r\n }\r\n if (colName == 'OrganizationName') {\r\n this.filteredClients.sort((a, b) => this.isColSortedAsc[colName] ? a.OrganizationName.localeCompare(b.OrganizationName ) : b.OrganizationName.localeCompare(a.OrganizationName ));\r\n this.setPage(this.pager.currentPage);\r\n this.activeOrgNameArrow = this.isColSortedAsc[colName];\r\n }\r\n if (colName == 'AdvisorName') {\r\n this.filteredClients.sort((a, b) => this.isColSortedAsc[colName] ? a.AdvisorName.trim().localeCompare(b.AdvisorName.trim()) : b.AdvisorName.trim().localeCompare(a.AdvisorName.trim()));\r\n this.setPage(this.pager.currentPage);\r\n this.activeAdvisorNameArrow = this.isColSortedAsc[colName];\r\n }\r\n if (colName == 'Date') {\r\n this.filteredClients.sort((a, b) => this.isColSortedAsc[colName] ? Date.parse(a.CreatedDate) - Date.parse(b.CreatedDate) : Date.parse(b.CreatedDate) - Date.parse(a.CreatedDate));\r\n this.setPage(this.pager.currentPage);\r\n this.activeDateArrow = this.isColSortedAsc[colName];\r\n }\r\n\r\n this.isColSortedAsc[colName] = !this.isColSortedAsc[colName];\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n /* padding: 25px; */\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n color: #555;\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.section {\\r\\n display: flex;\\r\\n /* width: 100%; */\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\n.error-section {\\r\\n margin: 10px 0px 10px 25px\\r\\n}\\r\\n\\r\\n.left-col {\\r\\n flex: 1;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 100%;\\r\\n max-width: 400px;\\r\\n padding-right: 25px;\\r\\n font-size: 0.9rem;\\r\\n}\\r\\n\\r\\n.input-area {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin-bottom: 20px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.input-area input {\\r\\n background-color: #d5d5d5;\\r\\n border: none;\\r\\n color: #555;\\r\\n padding: 10px 20px 10px 20px;\\r\\n font-size: 0.9rem;\\r\\n margin: 10px 10px 0 0;\\r\\n flex: 1;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.report-type select{\\r\\n -webkit-appearance: none;\\r\\n -moz-appearance: none;\\r\\n appearance: none;\\r\\n}\\r\\n\\r\\n.disabled {\\r\\n cursor: not-allowed!important;\\r\\n}\\r\\n\\r\\n.profile-sub {\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n\\r\\n.top-spacing {\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.input-area input::-moz-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.input-area input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.input-area input::placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.client-address {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.client-subtitle {\\r\\n font-size: 0.8rem;\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.left-col .text-link {\\r\\n max-width: 80px;\\r\\n}\\r\\n\\r\\n.profile-label {\\r\\n font-weight: bold;\\r\\n font-size: 0.9rem;\\r\\n}\\r\\n\\r\\n.input-area select {\\r\\n height: 37px;\\r\\n margin-top: 6px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n border: none;\\r\\n flex: 1;\\r\\n margin-right: 10px;\\r\\n /* padding-left: 17px; */\\r\\n padding: 10px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.create-button {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 5px 0 5px;\\r\\n cursor: pointer;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.create-button button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #000;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.create-button i {\\r\\n color: #000;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.text-link {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.right-col {\\r\\n flex: 2;\\r\\n}\\r\\n\\r\\n.profile-inputs {\\r\\n flex: 1;\\r\\n max-width: 250px;\\r\\n}\\r\\n\\r\\n.client-profile .client-name-edit {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.client-name {\\r\\n font-size: 1.2rem;\\r\\n}\\r\\n\\r\\n.client-profile img {\\r\\n border-radius: 100%;\\r\\n width: 55px;\\r\\n height: 55px;\\r\\n border: 2px #E58929 solid;\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.client-profile {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n justify-content: left;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.right-col-container {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.financial-inputs {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.input-text {\\r\\n font-size: 0.9rem;\\r\\n}\\r\\n\\r\\n.report-label {\\r\\n display: flex;\\r\\n font-size: 0.9rem;\\r\\n font-weight: bold;\\r\\n margin: 5px 0 5px 0;\\r\\n}\\r\\n\\r\\n.financial-inputs div {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.input-group div {\\r\\n padding-top: 10px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.metric {\\r\\n color: #E58929;\\r\\n font-size: 1.5rem;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.reports {\\r\\n margin-top: 25px;\\r\\n}\\r\\n\\r\\n.client-search-results {\\r\\n position: absolute;\\r\\n top: 100%;\\r\\n background-color: #e5e5e5;\\r\\n z-index: 1;\\r\\n width: calc(100% - 10px);\\r\\n max-height: 100px;\\r\\n /* overflow-y: scroll; */\\r\\n}\\r\\n\\r\\n.client-search-results div {\\r\\n padding: 10px;\\r\\n font-size: 0.8rem;\\r\\n color: #555;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.client-search-results div:hover {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.search-result-enabled {\\r\\n overflow-y: scroll;\\r\\n}\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.pagination {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.pagination div {\\r\\n margin: 10px;\\r\\n background-color: #d3d3d3;\\r\\n cursor: pointer;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.pagination span {\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.pagination .active {\\r\\n background-color: #E58929;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2NyZWF0ZS1yZXBvcnQtc2VsZWN0aW9uL2NyZWF0ZS1yZXBvcnQtc2VsZWN0aW9uLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLFdBQVc7RUFDWCxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2Isc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGlCQUFpQjtFQUNqQixhQUFhO0FBQ2Y7O0FBRUE7RUFDRTtBQUNGOztBQUVBO0VBQ0UsT0FBTztFQUNQLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixXQUFXO0VBQ1gsNEJBQTRCO0VBQzVCLGlCQUFpQjtFQUNqQixxQkFBcUI7RUFDckIsT0FBTztFQUNQLGVBQWU7QUFDakI7O0FBRUE7RUFDRSx3QkFBd0I7RUFDeEIscUJBQXFCO0VBQ3JCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIseUJBQXlCO0VBQ3pCLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixXQUFXO0VBQ1gsZUFBZTtFQUNmLGFBQWE7QUFDZjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFGQTtFQUNFLFdBQVc7QUFDYjs7QUFGQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsY0FBYztFQUNkLDBCQUEwQjtFQUMxQixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxZQUFZO0VBQ1osZUFBZTtFQUNmLHlCQUF5QjtFQUN6QixXQUFXO0VBQ1gsWUFBWTtFQUNaLE9BQU87RUFDUCxrQkFBa0I7Q0FDbkIseUJBQXlCO0NBQ3pCLGFBQWE7RUFDWixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixhQUFhO0VBQ2IsNkJBQTZCO0VBQzdCLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsWUFBWTtFQUNaLHlCQUF5QjtFQUN6QixXQUFXO0VBQ1gsWUFBWTtFQUNaLGVBQWU7RUFDZixlQUFlO0VBQ2YsYUFBYTtBQUNmOztBQUVBO0VBQ0UsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsU0FBUztBQUNYOztBQUVBO0VBQ0UsY0FBYztFQUNkLDBCQUEwQjtFQUMxQixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsT0FBTztBQUNUOztBQUVBO0VBQ0UsT0FBTztFQUNQLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIsV0FBVztFQUNYLFlBQVk7RUFDWix5QkFBeUI7RUFDekIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsYUFBYTtFQUNiLE9BQU87RUFDUCxxQkFBcUI7RUFDckIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixPQUFPO0FBQ1Q7O0FBRUE7RUFDRSxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsT0FBTztBQUNUOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULHlCQUF5QjtFQUN6QixVQUFVO0VBQ1Ysd0JBQXdCO0VBQ3hCLGlCQUFpQjtFQUNqQix3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxlQUFlO0FBQ2pCOztBQUVBO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixhQUFhO0VBQ2IsNkJBQTZCO0VBQzdCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsYUFBYTtBQUNmOztBQUVBO0VBQ0UsWUFBWTtFQUNaLHlCQUF5QjtFQUN6QixXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixlQUFlO0VBQ2YsYUFBYTtBQUNmOztBQUVBO0VBQ0UsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsYUFBYTtFQUNiLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLFlBQVk7RUFDWix5QkFBeUI7RUFDekIsZUFBZTtFQUNmLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0IiLCJmaWxlIjoiLi4vY3JlYXRlLXJlcG9ydC1zZWxlY3Rpb24vY3JlYXRlLXJlcG9ydC1zZWxlY3Rpb24uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAvKiBwYWRkaW5nOiAyNXB4OyAqL1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBjb2xvcjogIzU1NTtcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnNlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLyogd2lkdGg6IDEwMCU7ICovXHJcbiAgcGFkZGluZzogMjVweDtcclxufVxyXG5cclxuLmVycm9yLXNlY3Rpb24ge1xyXG4gIG1hcmdpbjogMTBweCAwcHggMTBweCAyNXB4XHJcbn1cclxuXHJcbi5sZWZ0LWNvbCB7XHJcbiAgZmxleDogMTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiA0MDBweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gIGZvbnQtc2l6ZTogMC45cmVtO1xyXG59XHJcblxyXG4uaW5wdXQtYXJlYSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uaW5wdXQtYXJlYSBpbnB1dCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgcGFkZGluZzogMTBweCAyMHB4IDEwcHggMjBweDtcclxuICBmb250LXNpemU6IDAuOXJlbTtcclxuICBtYXJnaW46IDEwcHggMTBweCAwIDA7XHJcbiAgZmxleDogMTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5yZXBvcnQtdHlwZSBzZWxlY3R7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICBhcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4uZGlzYWJsZWQge1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucHJvZmlsZS1zdWIge1xyXG4gIGZvbnQtc2l6ZTogMC44cmVtO1xyXG59XHJcblxyXG4udG9wLXNwYWNpbmcge1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICB3aWR0aDogMTAwJTtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxudGQsIHRoIHtcclxuICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4uaW5wdXQtYXJlYSBpbnB1dDo6cGxhY2Vob2xkZXIge1xyXG4gIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uY2xpZW50LWFkZHJlc3Mge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmNsaWVudC1zdWJ0aXRsZSB7XHJcbiAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubGVmdC1jb2wgLnRleHQtbGluayB7XHJcbiAgbWF4LXdpZHRoOiA4MHB4O1xyXG59XHJcblxyXG4ucHJvZmlsZS1sYWJlbCB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zaXplOiAwLjlyZW07XHJcbn1cclxuXHJcbi5pbnB1dC1hcmVhIHNlbGVjdCB7XHJcbiAgaGVpZ2h0OiAzN3B4O1xyXG4gIG1hcmdpbi10b3A6IDZweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBmbGV4OiAxO1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxuIC8qICBwYWRkaW5nLWxlZnQ6IDE3cHg7ICovXHJcbiBwYWRkaW5nOiAxMHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNyZWF0ZS1idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgd2lkdGg6IDIwMHB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAwIDVweCAwIDVweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uY3JlYXRlLWJ1dHRvbiBidXR0b24ge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gIGNvbG9yOiAjMDAwO1xyXG4gIGhlaWdodDogMzVweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi5jcmVhdGUtYnV0dG9uIGkge1xyXG4gIGNvbG9yOiAjMDAwO1xyXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4udGV4dC1saW5rIHtcclxuICBjb2xvcjogI0U1ODkyOTtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5yaWdodC1jb2wge1xyXG4gIGZsZXg6IDI7XHJcbn1cclxuXHJcbi5wcm9maWxlLWlucHV0cyB7XHJcbiAgZmxleDogMTtcclxuICBtYXgtd2lkdGg6IDI1MHB4O1xyXG59XHJcblxyXG4uY2xpZW50LXByb2ZpbGUgLmNsaWVudC1uYW1lLWVkaXQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmNsaWVudC1uYW1lIHtcclxuICBmb250LXNpemU6IDEuMnJlbTtcclxufVxyXG5cclxuLmNsaWVudC1wcm9maWxlIGltZyB7XHJcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICB3aWR0aDogNTVweDtcclxuICBoZWlnaHQ6IDU1cHg7XHJcbiAgYm9yZGVyOiAycHggI0U1ODkyOSBzb2xpZDtcclxuICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLmNsaWVudC1wcm9maWxlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXg6IDE7XHJcbiAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5yaWdodC1jb2wtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uZmluYW5jaWFsLWlucHV0cyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5pbnB1dC10ZXh0IHtcclxuICBmb250LXNpemU6IDAuOXJlbTtcclxufVxyXG5cclxuLnJlcG9ydC1sYWJlbCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmb250LXNpemU6IDAuOXJlbTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBtYXJnaW46IDVweCAwIDVweCAwO1xyXG59XHJcblxyXG4uZmluYW5jaWFsLWlucHV0cyBkaXYge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleDogMTtcclxufVxyXG5cclxuLmlucHV0LWdyb3VwIGRpdiB7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5tZXRyaWMge1xyXG4gIGNvbG9yOiAjRTU4OTI5O1xyXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4ucmVwb3J0cyB7XHJcbiAgbWFyZ2luLXRvcDogMjVweDtcclxufVxyXG5cclxuLmNsaWVudC1zZWFyY2gtcmVzdWx0cyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpO1xyXG4gIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG4gIC8qIG92ZXJmbG93LXk6IHNjcm9sbDsgKi9cclxufVxyXG5cclxuLmNsaWVudC1zZWFyY2gtcmVzdWx0cyBkaXYge1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY2xpZW50LXNlYXJjaC1yZXN1bHRzIGRpdjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnNlYXJjaC1yZXN1bHQtZW5hYmxlZCB7XHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcblxyXG4uY3JlYXRlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gIHdpZHRoOiAyMDBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbn1cclxuXHJcbi5jcmVhdGUgYnV0dG9uIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICBjb2xvcjogI2ZmZjtcclxuICAvKiBoZWlnaHQ6IDM1cHg7ICovXHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uY3JlYXRlIGkge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uIGRpdiB7XHJcbiAgbWFyZ2luOiAxMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4ucGFnaW5hdGlvbiBzcGFuIHtcclxuICB3aWR0aDogMjVweDtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ucGFnaW5hdGlvbiAuYWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG59Il19 */\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
selectedClient.clientProfile.LifeExpectancy\\\">\\r\\n NOTE: Your projected life expectancy is less than your expected Retirement Age. Please click “Edit Client” to adjust one or both of these inputs before proceeding to run an illustration.\\r\\n
\\r\\n
\\r\\n
selectedClient.clientProfile.spouseLifeExpectancy\\\">\\r\\n NOTE: Your spouse projected life expectancy is less than your spouse expected Retirement Age. Please click “Edit Client” to adjust one or both of these inputs before proceeding to run an illustration.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Currently Viewing: \\r\\n {{selectedClient.client ? selectedClient.client && selectedClient.client.spouseName ? selectedClient.client.FirstName + \\\" \\\" + selectedClient.client.LastName + \\\" and \\\" + selectedClient.client.spouseName : selectedClient.client.FirstName + \\\" \\\" + selectedClient.client.LastName : '--'}}\\r\\n \\r\\n
\\r\\n Edit Client\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Or search for different client instead.\\r\\n Please search for a client.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{client.spouseName ? client.FirstName + \\\" \\\" + client.LastName + \\\" and \\\" + client.spouseName : client.FirstName + \\\" \\\" + client.LastName }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Please select the type of illustration you wish to generate from the dropdown menu.\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n CANCEL\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Current Age:\\r\\n {{selectedClient.client ? calculateAge(selectedClient.client.DOB) : \\\"- -\\\" }} / {{ calculateAge(selectedClient.client.spouseDOB) }}\\r\\n
\\r\\n
\\r\\n Retirement Age:\\r\\n {{selectedClient.clientProfile ? selectedClient.clientProfile.RetirementAge : \\\"- -\\\"}}\\r\\n / {{ selectedClient.clientProfile.spouseRetirementAge }}\\r\\n
\\r\\n
\\r\\n Income Replacement Ratio:\\r\\n {{selectedClient.clientProfile ? selectedClient.clientProfile.IRR : \\\"- -\\\"}}%\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Annual Income:\\r\\n {{selectedClient.clientProfile ? selectedClient.clientProfile.CurrentIncome : \\\"- -\\\"}}\\r\\n / {{ selectedClient.clientProfile.spouseCurrentIncome }}\\r\\n
\\r\\n
\\r\\n Pension:\\r\\n {{selectedClient.clientProfile ? selectedClient.clientProfile.Pension : \\\"- -\\\"}} / {{ selectedClient.clientProfile.spousePension }}\\r\\n
\\r\\n
\\r\\n Retirement State:\\r\\n {{selectedClient.clientProfile ? selectedClient.clientProfile.RetirementState : \\\"- -\\\"}}\\r\\n / {{ selectedClient.clientProfile.spouseRetirementState }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n {{page}}\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
\\r\\n \\r\\n 0\\\" style=\\\"overflow-y: scroll;\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Date CreatedIllustration TypeActions
{{formatDate(report.createdDate)}}{{formatReportTypeID(report.reportTypeID)}}\\r\\n Download\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, ViewChild, ElementRef, Renderer } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { trigger, state, animate, transition, style } from '@angular/animations';\r\n\r\nimport Utils from '../shared/utility';\r\nimport { GlobalService } from '../services/global.service';\r\nimport { ModalService } from '../shared/modal/modal.service';\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\nimport { AdvisorBarService } from '../shared/advisor-bar/advisor-bar.service';\r\nimport { LoadingService } from '../shared/loading/loading.service';\r\n\r\nimport { PagerService } from '../services/pager.service';\r\n\r\n@Component({\r\n selector: 'app-create-report-selection',\r\n templateUrl: './create-report-selection.component.html',\r\n styleUrls: ['./create-report-selection.component.css']\r\n})\r\nexport class CreateReportSelectionComponent implements OnInit {\r\n public clients: any[];\r\n public filteredClients: any[];\r\n public selectedClient: any = {};\r\n public reports: any[] = [];\r\n\r\n public error: string;\r\n\r\n public modalSubscription;\r\n public loadingSubscription;\r\n public previousUrl: string;\r\n\r\n public pager: any = {};\r\n public pagedItems: any[];\r\n\r\n constructor(private advisorBarService: AdvisorBarService, private globalService: GlobalService, private modalService: ModalService, private pagerService: PagerService, private router: Router, private snackBarService: SnackBarService, private loadingService: LoadingService, private route: ActivatedRoute) {\r\n this.getClients();\r\n\r\n this.modalSubscription = modalService.modal$.subscribe((modal) => {\r\n if (modal.modalName == 'add-edit-clientClosed') { // TODO: Fix this hack -- naming it hidden.. modals in general need to be refactored\r\n this.getClient(localStorage.getItem('selectedClient'));\r\n }\r\n });\r\n }\r\n\r\n\r\n public isOA: boolean;\r\n public isS: boolean;\r\n public isA: boolean;\r\n public isHVS: boolean;\r\n \r\n public riskToleranceEnabled: boolean;\r\n\r\n ngOnDestroy() {\r\n this.modalSubscription.unsubscribe();\r\n }\r\n\r\n public role: Number;\r\n\r\n ngOnInit() {\r\n this.role = Number(localStorage.getItem('roleId'));\r\n this.isOA = (Number(localStorage.getItem('orgID')) === 2 || Number(localStorage.getItem('parentID')) === 2) ? true : false;\r\n this.isS = (Number(localStorage.getItem('orgID')) === 371 || Number(localStorage.getItem('parentID')) === 371) ? true : false;\r\n this.isA = (Number(localStorage.getItem('orgID')) === 421 || Number(localStorage.getItem('parentID')) === 421) ? true : false;\r\n this.isHVS = Number(localStorage.getItem('orgID')) === 1 ? true : false;\r\n this.dropDownReportTypeShowHide();\r\n\r\n if (localStorage.getItem('selectedClient')) {\r\n this.getClient(Number(localStorage.getItem('selectedClient')));\r\n this.getClientReports(Number(localStorage.getItem('selectedClient')));\r\n }\r\n\r\n this.dropDownReportTypeShowHide();\r\n }\r\n\r\n dropDownReportTypeShowHide() {\r\n this.globalService.featRiskTolerance = JSON.parse(localStorage.getItem('featRiskTolerance'));\r\n this.globalService.featMeansTesting = JSON.parse(localStorage.getItem('featMeansTesting'));\r\n this.globalService.featLongTermCare = JSON.parse(localStorage.getItem('featLongTermCare'));\r\n this.globalService.featSocialSecurity = JSON.parse(localStorage.getItem('featSocialSecurity'));\r\n this.globalService.featHealthCare = JSON.parse(localStorage.getItem('featHealthCare'));\r\n }\r\n\r\n getClients() {\r\n if (window.location.search.split('?')[1] != 'd=t')\r\n this.loadingService.isLoading(true);\r\n\r\n var spouses;\r\n\r\n this.globalService.getClientsData()\r\n .subscribe(\r\n clients => {\r\n this.clients = clients.map((item) => {\r\n if (item.c) {\r\n spouses = JSON.parse(item.cp.Spouses) || [];\r\n\r\n spouses.map((spouse) => {\r\n if (spouse.maritalStatus == 'Married') {\r\n item.c.spouseName = spouse.firstName + \" \" + spouse.lastName;\r\n }\r\n });\r\n\r\n return item.c;\r\n } else {\r\n return item;\r\n }\r\n });\r\n\r\n if (window.location.search.split('?')[1] != 'd=t')\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error;\r\n \r\n if (window.location.search.split('?')[1] != 'd=t')\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n getClientReports(userID: number) {\r\n\r\n this.globalService.getClientReportsData(userID)\r\n .subscribe(\r\n reports => {\r\n var allReports = [];\r\n\r\n for (var type in reports) {\r\n reports[type].forEach((report) => {\r\n allReports.push({\r\n reportID: report.r.ReportID,\r\n ID: report.r.ID,\r\n reportTypeID: report.r.ReportTypeID,\r\n createdDate: report.r.Created_Date,\r\n advisorID: report.r.AdvisorID,\r\n });\r\n });\r\n }\r\n\r\n allReports = allReports.sort(function(a, b) {\r\n return b.ID - a.ID;\r\n });\r\n\r\n this.reports = allReports;\r\n this.setPage(allReports.length ? 1 : 0);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n filterItem(value) {\r\n this.filteredClients = Object.assign([], this.clients).filter(\r\n client => ((client.FirstName + \" \" + client.LastName + \" \" + client.spouseName).toLowerCase().includes(value.toLowerCase()))\r\n );\r\n }\r\n\r\n isClientMarried: boolean = false;\r\n getClient(userID) {\r\n this.isClientMarried = false;\r\n this.globalService.getClientData(userID, 4)\r\n .subscribe(\r\n client => {\r\n this.selectedClient = client;\r\n this.selectedClient.clientProfile.CurrentIncome = Utils.formatToCurrency(this.selectedClient.clientProfile.CurrentIncome);\r\n this.selectedClient.clientProfile.Pension = Utils.formatToCurrency(this.selectedClient.clientProfile.Pension);\r\n\r\n var spouses = JSON.parse(this.selectedClient.clientProfile.Spouses) || [];\r\n spouses.map((spouse) => {\r\n if (spouse.maritalStatus == 'Married') {\r\n this.isClientMarried = true;\r\n this.selectedClient.client.spouseName = spouse.firstName + \" \" + spouse.lastName;\r\n this.selectedClient.client.spouseDOB = spouse.dob;\r\n this.selectedClient.clientProfile.spouseRetirementAge = spouse.retirementAge;\r\n this.selectedClient.clientProfile.spouseCurrentIncome = Utils.formatToCurrency(spouse.currentIncome);\r\n this.selectedClient.clientProfile.spousePension = Utils.formatToCurrency(spouse.pension);\r\n if (this.selectedClient.clientProfile.spousePension.includes('$$')) { \r\n //if has two, handle; this is an issue with older clients created on the tool\r\n this.selectedClient.clientProfile.spousePension = spouse.pension;\r\n }\r\n\r\n this.riskToleranceEnabled = JSON.parse(localStorage.getItem('featRiskTolerance'));\r\n \r\n this.selectedClient.clientProfile.spouseRetirementState = spouse.state;\r\n this.selectedClient.clientProfile.spouseLifeExpectancy = spouse.LifeExpectancy;\r\n }\r\n });\r\n \r\n\r\n localStorage.setItem('selectedClient', userID.toString())\r\n\r\n if (this.role == 1 || this.role == 2) {\r\n localStorage.setItem('selectedAdvisor', client.advisor.FirstName + \" \" + client.advisor.LastName);\r\n localStorage.setItem('selectedAdvisorID', client.advisor.ID);\r\n localStorage.setItem('selectedAdvisorOrgID', client.advisor.OrganizationID);\r\n this.advisorBarService.refresh();\r\n }\r\n\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n createReport(reportUrl) {\r\n if (reportUrl == 'hcam' || reportUrl == 'ltcam') {\r\n this.router.navigate(['../reports/create/', reportUrl.replace('am','')], { queryParams: { am: 1 } });\r\n } else {\r\n this.router.navigate(['../reports/create/', reportUrl]);\r\n }\r\n }\r\n\r\n selectClient(client, clientSearch) {\r\n clientSearch.value = client.spouseName ? client.FirstName + \" \" + client.LastName + \" and \" + client.spouseName : client.FirstName + \" \" + client.LastName;\r\n this.getClient(client.ID);\r\n this.getClientReports(client.ID);\r\n this.filteredClients = [];\r\n }\r\n\r\n handleEditClientModal(e, client) {\r\n this.modalService.add('add-edit-client', { ID: localStorage.getItem('selectedClient') });\r\n }\r\n\r\n downloadReport(e, report, client) {\r\n this.loadingService.isLoading(true);\r\n\r\n var reportID = report.reportID;\r\n var advisorID = report.advisorID;\r\n var clientID = client.ID;\r\n var orgID = client.OrganizationID;\r\n\r\n // var clientID = client.ID;\r\n // var orgID = client.OrganizationID;\r\n\r\n var reportTypeID = report.reportTypeID;\r\n\r\n var spouse = JSON.parse(this.selectedClient.clientProfile.Spouses)[0];\r\n\r\n var ReportFields = { reportID, advisorID, clientID, orgID, reportTypeID, token: localStorage.getItem(\"bearer\"), retirementAge: this.selectedClient.clientProfile.RetirementAge, spouseRetirementAge: Number(spouse.retirementAge) || 0 };\r\n\r\n this.globalService.generateReport(ReportFields, client, report)\r\n .subscribe(\r\n resp => {\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error;\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n calculateAge(birthday) {\r\n birthday = new Date(birthday);\r\n var ageDifMs = Date.now() - birthday;\r\n var ageDate = new Date(ageDifMs);\r\n return Math.abs(ageDate.getUTCFullYear() - 1970);\r\n }\r\n\r\n formatReportTypeID(ReportTypeID: number) {\r\n return Utils.formatReportTypeID(ReportTypeID, this.globalService.featRiskTolerance);\r\n }\r\n\r\n // convertMaritalStatus() {\r\n // var maritalStatusID = this.selectedClient.clientProfile.maritalStatus;\r\n // return maritalStatusID === 1 ? \"Single\" : maritalStatusID === 2 ? \"Married\"\r\n // }\r\n\r\n formatDate(date) {\r\n date = new Date(date);\r\n return date > 1/1/1900 ? (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear() + ' ' + Utils.parseDateTime(date) : '--';\r\n }\r\n\r\n setPage(page: number) {\r\n if (!this.reports.length) {\r\n this.pager = [];\r\n this.pagedItems = [];\r\n return;\r\n }\r\n\r\n if (page < 1 || page > this.pager.totalPages) {\r\n return;\r\n }\r\n\r\n // get pager object from service\r\n this.pager = this.pagerService.getPager(this.reports.length, page);\r\n\r\n // get current page of items\r\n this.pagedItems = this.reports.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n}\r\n\r\n\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiIuLi9jcmVhdGUtcmVwb3J0L2NyZWF0ZS1yZXBvcnQuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\r\\n\"","import { Component, OnInit, ViewChild, ElementRef, Renderer } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-create-report',\r\n templateUrl: './create-report.component.html',\r\n styleUrls: ['./create-report.component.css']\r\n})\r\nexport class CreateReportComponent implements OnInit {\r\n @ViewChild('searchIconContainer') searchIconContainer: ElementRef;\r\n @ViewChild('clientSearch') clientSearch: ElementRef;\r\n @ViewChild('clientSearchBackButton') clientSearchBackButton: ElementRef;\r\n \r\n\r\n constructor(private renderer: Renderer) { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n background-size: cover;\\r\\n /* background-color: #666; */\\r\\n background-image: url('login-background.7baf1a11ab3f3abf8f21.jpg');\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n:host:before {\\r\\n content: '';\\r\\n position:absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background-color: #000;\\r\\n opacity: 0.6;\\r\\n}\\r\\n\\r\\n.container {\\r\\n display: flex;\\r\\n position: relative;\\r\\n z-index: 1;\\r\\n height: 700px;\\r\\n flex: 0.75;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.left-container {\\r\\n display: flex;\\r\\n background-image: url('register-image.f88050f5e97aa08d996d.jpg');\\r\\n background-size: cover;\\r\\n flex: 1 0 400px;\\r\\n}\\r\\n\\r\\n.right-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n\\r\\n background-color: #f5f5f5;\\r\\n background-image: url('HVS_watermark.a936ad513142f7517d5a.png');\\r\\n background-repeat: no-repeat;\\r\\n background-attachment: fixed;\\r\\n background-position: right; \\r\\n\\r\\n align-items: left;\\r\\n justify-content: center;\\r\\n flex: 1 0 600px;\\r\\n padding-left: 25px;\\r\\n}\\r\\n\\r\\n.header-text {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n /* text-align: center; */\\r\\n \\r\\n}\\r\\n\\r\\n.header-text span:first-child {\\r\\n font-size: 24px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.header-text span:nth-child(2) {\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.login-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 25em;\\r\\n}\\r\\n\\r\\n.login-container label {\\r\\n font-size: 12px;\\r\\n color: #777;\\r\\n}\\r\\n\\r\\n.login-container input {\\r\\n cursor: pointer;\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n padding: 0.5em;\\r\\n margin: 0.5em 0 0.5em 0;\\r\\n}\\r\\n\\r\\n.login-container .forgot-password {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\na {\\r\\n color: #E58929;\\r\\n}\\r\\n\\r\\nbutton {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 5px 0 5px;\\r\\n cursor: pointer;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n border: none;\\r\\n padding: 10px 20px 10px 20px;\\r\\n color: #000;\\r\\n font-size: 1rem;\\r\\n}\\r\\n\\r\\n.login-container .sign-up {\\r\\n text-align: center;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.form-input input {\\r\\n /* background-color: #d5d5d5;\\r\\n border: none;\\r\\n color: #000;\\r\\n padding: 10px 20px 10px 20px;\\r\\n font-size: 12px;\\r\\n margin: 10px 10px 0 0;\\r\\n flex: 1; */\\r\\n\\r\\n background-color: #d5d5d5;\\r\\n border: none;\\r\\n color: #555;\\r\\n padding: 10px 20px 10px 20px;\\r\\n font-size: 1rem;\\r\\n margin: 10px 10px 0 0;\\r\\n flex: 1;\\r\\n width: 80%;\\r\\n }\\r\\n\\r\\n.form-input input::-moz-placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 12px;\\r\\n }\\r\\n\\r\\n.form-input input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 12px;\\r\\n }\\r\\n\\r\\n.form-input input::placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 12px;\\r\\n }\\r\\n\\r\\n.cube-wrapper1 {\\r\\n width: 100px*2;\\r\\n height: 100px*2;\\r\\n text-align: center;\\r\\n margin: 0 0 50px 50px;\\r\\n opacity: 0.5;\\r\\n }\\r\\n\\r\\n.cube-items1 {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n display: inline-block;\\r\\n transform: rotate(45deg);\\r\\n font-size: 0;\\r\\n }\\r\\n\\r\\n.cube-items1 span {\\r\\n position: relative;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n transform: scale(1.1);\\r\\n display: inline-block;\\r\\n }\\r\\n\\r\\n.cube-items1 span::before {\\r\\n content: '';\\r\\n background-color: #3a87c7;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n display: block;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n transform-origin: 100% 100%;\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-2 {\\r\\n transform: rotateZ(90deg) scale(1.1);\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-2::before {\\r\\n background-color: #0b4c8e;\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-3 {\\r\\n transform: rotateZ(270deg) scale(1.1);\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-3::before {\\r\\n background-color: #e58929;\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-4 {\\r\\n transform: rotateZ(180deg) scale(1.1);\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-4::before {\\r\\n background-color: #E58929;\\r\\n }\\r\\n\\r\\n/* .contact {\\r\\n margin: 0 auto;\\r\\n font-size: 12px;\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n padding-bottom: 20px;\\r\\n }\\r\\n\\r\\n .contact span {\\r\\n padding: 0 15px 0 15px;\\r\\n display: block;\\r\\n font-size: 12px;\\r\\n }\\r\\n\\r\\n .contact a {\\r\\n color: #000!important;\\r\\n }\\r\\n\\r\\n .contact i {\\r\\n margin-right: 10px;\\r\\n }\\r\\n */\\r\\n\\r\\n.contact {\\r\\n margin: 0 auto;\\r\\n margin-top: 50px;\\r\\n /* font-size: 0.87rem; */\\r\\n font-size: 12px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin-left: 0;\\r\\n}\\r\\n\\r\\n.contact span {\\r\\n margin: 10px 0 10px 0;\\r\\n}\\r\\n\\r\\n@media (max-width:641px) {\\r\\n .container {\\r\\n height: 100%!important;\\r\\n width: 100%!important;\\r\\n flex: 1!important;\\r\\n }\\r\\n\\r\\n .right-container {\\r\\n padding-left: 0px!important;\\r\\n flex: 1!important;\\r\\n \\r\\n }\\r\\n\\r\\n .login-container {\\r\\n margin: 0 auto!important;\\r\\n height: 100%;\\r\\n }\\r\\n\\r\\n .header-text {\\r\\n text-align: center;\\r\\n margin: 25px 0 25px 0;\\r\\n }\\r\\n\\r\\n .login-container form {\\r\\n margin: 0 auto;\\r\\n }\\r\\n\\r\\n button {\\r\\n width: 300px;\\r\\n }\\r\\n\\r\\n .form-input input {\\r\\n width: 260px;\\r\\n }\\r\\n\\r\\n .contact span {\\r\\n padding: 10px 0 10px 0;\\r\\n }\\r\\n\\r\\n .contact {\\r\\n margin-left: 30px;\\r\\n }\\r\\n\\r\\n .options {\\r\\n padding: 0 30px 0 30px;\\r\\n }\\r\\n }\\r\\n\\r\\n.contact a{\\r\\n color: #E58929;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3RwYXNzd29yZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLGtFQUFpRTtJQUNqRSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksV0FBVztJQUNYLGlCQUFpQjtJQUNqQixXQUFXO0lBQ1gsWUFBWTtJQUNaLHNCQUFzQjtJQUN0QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsYUFBYTtJQUNiLFVBQVU7SUFDVixlQUFlO0FBQ25COztBQUVBO0lBQ0ksYUFBYTtJQUNiLGdFQUErRDtJQUMvRCxzQkFBc0I7SUFDdEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7O0lBRXRCLHlCQUF5QjtJQUN6QiwrREFBOEQ7SUFDOUQsNEJBQTRCO0lBQzVCLDRCQUE0QjtJQUM1QiwwQkFBMEI7O0lBRTFCLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7R0FDdkIseUJBQXlCOztBQUU1Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsV0FBVztBQUNmOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsV0FBVztBQUNmOztBQUVBO0lBQ0ksZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsY0FBYztJQUNkLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGFBQWE7SUFDYiw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixlQUFlO0lBQ2YsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLDRCQUE0QjtJQUM1QixXQUFXO0lBQ1gsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixXQUFXO0FBQ2Y7O0FBSUE7SUFDSTs7Ozs7O2NBTVU7O0lBRVYseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixXQUFXO0lBQ1gsNEJBQTRCO0lBQzVCLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsT0FBTztJQUNQLFVBQVU7RUFDWjs7QUFHQTtJQUNFLFdBQVc7SUFDWCxZQUFZO0lBQ1osZUFBZTtFQUNqQjs7QUFKQTtJQUNFLFdBQVc7SUFDWCxZQUFZO0lBQ1osZUFBZTtFQUNqQjs7QUFKQTtJQUNFLFdBQVc7SUFDWCxZQUFZO0lBQ1osZUFBZTtFQUNqQjs7QUFJQTtJQUNFLGNBQWM7SUFDZCxlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQixZQUFZO0VBQ2Q7O0FBRUE7SUFDRSxZQUFZO0lBQ1osYUFBYTtJQUNiLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIsWUFBWTtFQUNkOztBQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLHFCQUFxQjtFQUN2Qjs7QUFFQTtJQUNFLFdBQVc7SUFDWCx5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLE9BQU87SUFDUCxNQUFNO0lBQ04sY0FBYztJQUNkLFdBQVc7SUFDWCxZQUFZO0lBSVosMkJBQTJCO0VBQzdCOztBQUVBO0lBQ0Usb0NBQW9DO0VBQ3RDOztBQUVBO0lBQ0UseUJBQXlCO0VBQzNCOztBQUVBO0lBQ0UscUNBQXFDO0VBQ3ZDOztBQUVBO0lBQ0UseUJBQXlCO0VBQzNCOztBQUVBO0lBQ0UscUNBQXFDO0VBQ3ZDOztBQUVBO0lBQ0UseUJBQXlCO0VBQzNCOztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFxQkU7O0FBRUQ7SUFDRyxjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4QixlQUFlO0lBQ2YsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixjQUFjO0FBQ2xCOztBQUVBO0lBQ0kscUJBQXFCO0FBQ3pCOztBQUNFO0lBQ0U7UUFDSSxzQkFBc0I7UUFDdEIscUJBQXFCO1FBQ3JCLGlCQUFpQjtJQUNyQjs7SUFFQTtRQUNJLDJCQUEyQjtRQUMzQixpQkFBaUI7O0lBRXJCOztJQUVBO1FBQ0ksd0JBQXdCO1FBQ3hCLFlBQVk7SUFDaEI7O0lBRUE7UUFDSSxrQkFBa0I7UUFDbEIscUJBQXFCO0lBQ3pCOztJQUVBO1FBQ0ksY0FBYztJQUNsQjs7SUFFQTtRQUNJLFlBQVk7SUFDaEI7O0lBRUE7UUFDSSxZQUFZO0lBQ2hCOztJQUVBO1FBQ0ksc0JBQXNCO0lBQzFCOztJQUVBO1FBQ0ksaUJBQWlCO0lBQ3JCOztJQUVBO1FBQ0ksc0JBQXNCO0lBQzFCO0VBQ0Y7O0FBQ0E7SUFDRSxjQUFjO0VBQ2hCIiwiZmlsZSI6Ii4uL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3RwYXNzd29yZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIC8qIGJhY2tncm91bmQtY29sb3I6ICM2NjY7ICovXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9pbWFnZXMvbG9naW4tYmFja2dyb3VuZC5qcGcnKTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxufVxyXG5cclxuOmhvc3Q6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbn1cclxuXHJcbi5jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBoZWlnaHQ6IDcwMHB4O1xyXG4gICAgZmxleDogMC43NTtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLmxlZnQtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9pbWFnZXMvcmVnaXN0ZXItaW1hZ2UuanBnJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgZmxleDogMSAwIDQwMHB4O1xyXG59XHJcblxyXG4ucmlnaHQtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9pbWFnZXMvSFZTX3dhdGVybWFyay5wbmcnKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7IFxyXG5cclxuICAgIGFsaWduLWl0ZW1zOiBsZWZ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4OiAxIDAgNjAwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbn1cclxuXHJcbi5oZWFkZXItdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgLyogIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cclxuICAgIFxyXG59XHJcblxyXG4uaGVhZGVyLXRleHQgc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLmhlYWRlci10ZXh0IHNwYW46bnRoLWNoaWxkKDIpIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4ubG9naW4tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDI1ZW07XHJcbn1cclxuXHJcbi5sb2dpbi1jb250YWluZXIgbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgY29sb3I6ICM3Nzc7XHJcbn1cclxuXHJcbi5sb2dpbi1jb250YWluZXIgaW5wdXQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyOiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgcGFkZGluZzogMC41ZW07XHJcbiAgICBtYXJnaW46IDAuNWVtIDAgMC41ZW0gMDtcclxufVxyXG5cclxuLmxvZ2luLWNvbnRhaW5lciAuZm9yZ290LXBhc3N3b3JkIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG59XHJcblxyXG5idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwIDVweCAwIDVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweCAyMHB4O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbi5sb2dpbi1jb250YWluZXIgLnNpZ24tdXAge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcblxyXG5cclxuLmZvcm0taW5wdXQgaW5wdXQge1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHggMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIG1hcmdpbjogMTBweCAxMHB4IDAgMDtcclxuICAgIGZsZXg6IDE7ICovXHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHggMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG1hcmdpbjogMTBweCAxMHB4IDAgMDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICB3aWR0aDogODAlO1xyXG4gIH1cclxuICBcclxuICAgXHJcbiAgLmZvcm0taW5wdXQgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgbWFyZ2luOiAxNXB4O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gIH1cclxuXHJcbiAgXHJcblxyXG4gIC5jdWJlLXdyYXBwZXIxIHtcclxuICAgIHdpZHRoOiAxMDBweCoyO1xyXG4gICAgaGVpZ2h0OiAxMDBweCoyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIDAgNTBweCA1MHB4O1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gIH1cclxuICBcclxuICAuY3ViZS1pdGVtczEge1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICB9XHJcbiAgXHJcbiAgLmN1YmUtaXRlbXMxIHNwYW4ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgfVxyXG4gIFxyXG4gIC5jdWJlLWl0ZW1zMSBzcGFuOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2E4N2M3O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcclxuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcclxuICB9XHJcbiAgXHJcbiAgLmN1YmUtaXRlbXMxIC5jdWJlLTIge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDkwZGVnKSBzY2FsZSgxLjEpO1xyXG4gIH1cclxuICBcclxuICAuY3ViZS1pdGVtczEgLmN1YmUtMjo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYjRjOGU7XHJcbiAgfVxyXG4gIFxyXG4gIC5jdWJlLWl0ZW1zMSAuY3ViZS0zIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWigyNzBkZWcpIHNjYWxlKDEuMSk7XHJcbiAgfVxyXG4gIFxyXG4gIC5jdWJlLWl0ZW1zMSAuY3ViZS0zOjpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ODkyOTtcclxuICB9XHJcbiAgXHJcbiAgLmN1YmUtaXRlbXMxIC5jdWJlLTQge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZykgc2NhbGUoMS4xKTtcclxuICB9XHJcbiAgXHJcbiAgLmN1YmUtaXRlbXMxIC5jdWJlLTQ6OmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gIH1cclxuXHJcbi8qICAgLmNvbnRhY3Qge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICB9XHJcblxyXG4gIC5jb250YWN0IHNwYW4ge1xyXG4gICAgICBwYWRkaW5nOiAwIDE1cHggMCAxNXB4O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gIH1cclxuXHJcbiAgLmNvbnRhY3QgYSB7XHJcbiAgICAgIGNvbG9yOiAjMDAwIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5jb250YWN0IGkge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgfVxyXG4gKi9cclxuXHJcbiAuY29udGFjdCB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAvKiBmb250LXNpemU6IDAuODdyZW07ICovXHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG4uY29udGFjdCBzcGFuIHtcclxuICAgIG1hcmdpbjogMTBweCAwIDEwcHggMDtcclxufVxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOjY0MXB4KSB7XHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCUhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICAgICAgICBmbGV4OiAxIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAucmlnaHQtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZmxleDogMSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8haW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLXRleHQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDI1cHggMCAyNXB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luLWNvbnRhaW5lciBmb3JtIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1pbnB1dCBpbnB1dCB7XHJcbiAgICAgICAgd2lkdGg6IDI2MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250YWN0IHNwYW4ge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRhY3Qge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5vcHRpb25zIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDMwcHggMCAzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuY29udGFjdCBhe1xyXG4gICAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgfSJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Forgot Your Password?\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{this.error}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{message}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
No wait, I remember my password!
\\r\\n \\r\\n
\\r\\n
Don't have an account yet?
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n 800-969-6518\\r\\n \\r\\n \\r\\n \\r\\n support@hvs.supportsystem.com\\r\\n \\r\\n \\r\\n \\r\\n www.hvsfinancial.com\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormControl, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms';\r\nimport { AuthService } from '../auth/auth.service';\r\nimport {Observable} from 'rxjs/Observable';\r\nimport { GlobalService } from '../services/global.service';\r\n\r\n@Component({\r\n selector: 'app-forgotpassword',\r\n templateUrl: './forgotpassword.component.html',\r\n styleUrls: ['./forgotpassword.component.css']\r\n})\r\nexport class ForgotPasswordComponent implements OnInit {\r\n model: any = {};\r\n loading = false;\r\n returnUrl: string;\r\n error: string;\r\n //BASE_REG_ENDPOINT = \"http://api.hvsfinancial.com.loc/api/CoreRegistration/\";\r\n sentForgotPasswordLink: boolean = false;\r\n public waitingOnData: boolean = false;\r\n message;\r\n myForm: FormGroup;\r\n loaded: Boolean = false;\r\n\r\n public sitePath: string = '';\r\n public isHVAM: boolean;\r\n\r\n constructor(private fb: FormBuilder,private route: ActivatedRoute, private router: Router, private authService: AuthService, public Global: GlobalService) { \r\n this.sitePath = window.location.hostname;\r\n this.sitePath = this.sitePath.substring(0, this.sitePath.indexOf('.'));\r\n \r\n this.isHVAM = (this.sitePath == 'hvam' || this.sitePath == 'hwh') ? true : false;\r\n }\r\n\r\n ngAfterViewInit() {\r\n if(this.isHVAM){\r\n\r\n console.log('should not be here');\r\n let head = document.getElementsByTagName('head')[0];\r\n let style = document.createElement('link');\r\n style.rel = 'stylesheet';\r\n style.href = 'assets/css/hvam/hvam-styling.css';\r\n head.appendChild(style);\r\n console.log('style', head);\r\n\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n // reset login status\r\n //this.authService.logout();\r\n\r\n // get return url from route parameters or default to '/'\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\r\n\r\n this.myForm = this.fb.group({\r\n username: ['', [Validators.required,Validators.pattern('^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$')]], \r\n recaptchaReactive: new FormControl(null, Validators.required)\r\n });\r\n\r\n this.loaded = true;\r\n }\r\n\r\n onSubmit(form: FormGroup) {\r\n //console.log(\"clicked\");\r\n /* if(form.value.username == null){\r\n return this.message = \"Please enter a valid email address so we can process this request.\";\r\n } */\r\n \r\n var body = \"{\";\r\n //body += '\"Username\":' + form.value.UserID + ',';\r\n body += '\"Username\":\"' + form.value.username + '\"';\r\n body += \"}\";\r\n\r\n this.Global.post(\"CoreRegistration/ForgotPassword\", body)\r\n .subscribe(response => { \r\n if(response){ \r\n this.message = \"An email was sent to the email address on your account. Please follow the instructions in the email to reset your password.\"; \r\n }else if(!response){\r\n this.message = \"There seemed to be an issue; For security reasons, we did not proceed with the password reset.\";\r\n }else{\r\n this.message = response; //message from server\r\n }\r\n });\r\n\r\n}\r\n\r\n/* handleEnter(e) {\r\n if (e.keyCode == 13) {\r\n console.log('enter');\r\n this.onSubmit();\r\n }\r\n } */\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.top-row {\\r\\n /* display: flex; */\\r\\n /* padding: 25px; */\\r\\n}\\r\\n\\r\\ntable, text, span, ngx-charts-outer ng-trigger ng-trigger-animationState{\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.section-title {\\r\\n padding: 10px 10px 10px 0;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.client-profile {\\r\\n /* display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n margin-right: 25px; */\\r\\n}\\r\\n\\r\\n.partner-section .client-profile {\\r\\n justify-content: left;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.include-spouse {\\r\\n padding: 5px 0 0 0;\\r\\n}\\r\\n\\r\\n.ps-content {\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\n.client-profile div {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.client-profile img {\\r\\n border-radius: 100%;\\r\\n width: 55px;\\r\\n height: 55px;\\r\\n border: 2px #E58929 solid;\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.client-name {\\r\\n font-size: 1rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.metrics {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: left;\\r\\n padding: 25px;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.metric-item {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: space-around;\\r\\n align-items: left;\\r\\n /* max-width: 200px; */\\r\\n}\\r\\n\\r\\n.metric-title {\\r\\n color: #555;\\r\\n font-size: 1rem;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.saving {\\r\\n color: limegreen!important;\\r\\n}\\r\\n\\r\\n.metric-val {\\r\\n color: #E58929;\\r\\n font-weight: bold;\\r\\n font-size: 2.5rem;\\r\\n /* font-family: 'Maven Pro', sans-serif; */\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.client-subtitle {\\r\\n font-size: 0.75rem;\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.health-coverage {\\r\\n width: 100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.coverage-container {\\r\\n width: 100%;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n background-color: #fff;\\r\\n flex-wrap: wrap;\\r\\n border: 1px #e5e5e5 solid;\\r\\n}\\r\\n\\r\\n.checkbox-section {\\r\\n flex: 1 0 400px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.checkbox-section table {\\r\\n text-align: left;\\r\\n /* border-left: 1px #e5e5e5 solid; */\\r\\n flex: 1;\\r\\n border-collapse: collapse;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.checkbox-section table td {\\r\\n border-right: 1px #e5e5e5 solid;\\r\\n border-top: 1px #e5e5e5 solid;\\r\\n border-bottom: 1px #e5e5e5 solid;\\r\\n padding: 10px;\\r\\n font-size: 0.75rem;\\r\\n}\\r\\n\\r\\n.checkbox-section table th {\\r\\n border-right: 1px #e5e5e5 solid;\\r\\n padding: 10px;\\r\\n font-size: 0.9rem;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.checkbox-section table td i {\\r\\n font-size: 0.9rem;\\r\\n color: #E58929;\\r\\n}\\r\\n\\r\\n.coverage-result {\\r\\n font-size: 1.2rem;\\r\\n padding: 20px;\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.coverage-total {\\r\\n color: #E58929;\\r\\n padding-left: 10px;\\r\\n font-weight: 800;\\r\\n}\\r\\n\\r\\n.totals-row {\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.table-value {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.means-testing-row {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n flex-wrap: wrap;\\r\\n margin-top: 25px;\\r\\n}\\r\\n\\r\\n.mmt-brackets {\\r\\n flex: 1 0 450px;\\r\\n}\\r\\n\\r\\n.mmt-brackets table {\\r\\n text-align: left;\\r\\n border-left: 1px #e5e5e5 solid;\\r\\n flex: 1;\\r\\n border-collapse: collapse;\\r\\n width: 100%;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.mmt-brackets table td {\\r\\n border: 1px #e5e5e5 solid;\\r\\n padding: 10px;\\r\\n font-size: 0.75rem;\\r\\n}\\r\\n\\r\\n.mmt-brackets table th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n padding: 10px;\\r\\n font-size: 1rem;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.projected-hcc {\\r\\n flex: 1 0 600px;\\r\\n margin-left: 15px;\\r\\n}\\r\\n\\r\\n.line-chart {\\r\\n background-color: #fff;\\r\\n border: 1px #e5e5e5 solid;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 235px;\\r\\n\\r\\n padding-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n}\\r\\n\\r\\n.chart-container {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.funding-sources {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.funding-sources table {\\r\\n text-align: left;\\r\\n border-left: 1px #e5e5e5 solid;\\r\\n flex: 1;\\r\\n border-collapse: collapse;\\r\\n width: 100%;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.funding-sources table td {\\r\\n border: 1px #e5e5e5 solid;\\r\\n padding: 10px;\\r\\n font-size: 0.75rem;\\r\\n}\\r\\n\\r\\n.funding-sources table th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n padding: 10px;\\r\\n font-size: 1rem;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.funding-sources table input:focus .new-funding-source {\\r\\n background-color: #666;\\r\\n}\\r\\n\\r\\n.new-funding-source input {\\r\\n text-align: left!important;\\r\\n}\\r\\n\\r\\n.action-item {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n /* cursor: pointer; */\\r\\n}\\r\\n\\r\\n.funding-sources table input {\\r\\n border: none;\\r\\n outline: none;\\r\\n /* cursor: pointer; */\\r\\n height: 25px;\\r\\n padding: 3px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.funding-sources table input:hover {\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n/* .funding-sources table input:invalid {\\r\\n border: 2px #ff7f7f solid!important;\\r\\n } */\\r\\n\\r\\n/* .invalid input:invalid {\\r\\n border: 2px #ff7f7f solid!important;\\r\\n } */\\r\\n\\r\\n.scroll {\\r\\n height: 100%;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.funding-sources table input:focus {\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n.current-bracket {\\r\\n background-color: #d6e39b;\\r\\n}\\r\\n\\r\\n.partner-section {\\r\\n padding: 0 25px 0 25px\\r\\n}\\r\\n\\r\\n.last-row {\\r\\n display: flex;\\r\\n margin-top: 25px;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.rate-assumptions {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.rate-item {\\r\\n padding: 10px 0 10px 0;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n\\r\\n.rate-selection {\\r\\n font-size: 0.8rem;\\r\\n border-top: 1px #d5d5d5 solid;\\r\\n}\\r\\n\\r\\n.selection-item {\\r\\n padding: 5px 5px 5px 5px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.rate-item input {\\r\\n border: none;\\r\\n background-color: #d5d5d5;\\r\\n height: 25px;\\r\\n text-align: center;\\r\\n color: #555;\\r\\n width: 40px; \\r\\n margin-left: 10px;\\r\\n -webkit-appearance: none;\\r\\n -moz-appearance: textfield;\\r\\n}\\r\\n\\r\\n.rate-item input[type=number]::-website-inner-spin-button,\\r\\n.rate-item input[type=number]::-website-outer-spin-button {\\r\\n -webkit-appearance: none;\\r\\n -moz-appearance: textfield;\\r\\n}\\r\\n\\r\\n.buttons-row {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n margin-bottom: 150px;\\r\\n}\\r\\n\\r\\n.funding-chart {\\r\\n height: 235px;\\r\\n width: 200px;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.funding-container {\\r\\n background-color: #fff;\\r\\n display: flex;\\r\\n border: 1px #e5e5e5 solid;\\r\\n flex: 1;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.funding-breakdown {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n flex: 1 0 200px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n/* .funding-breakdown .chart-legend {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 0;\\r\\n} */\\r\\n\\r\\n.investment-solutions {\\r\\n flex: 2 0 300px;\\r\\n margin-left: 20px;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.investment-container {\\r\\n background-color: #fff;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n border: 1px #e5e5e5 solid;\\r\\n padding: 10px;\\r\\n padding-bottom: 38px; /* might need to remove */\\r\\n}\\r\\n\\r\\n.cost-of-waiting {\\r\\n display: flex;\\r\\n flex: 1 0 200px;\\r\\n flex-direction: column;\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n.cow-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n background-color: #fff;\\r\\n border: 1px #e5e5e5 solid;\\r\\n flex: 1;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.cow-chart {\\r\\n height: 235px;\\r\\n width: 400px;\\r\\n flex: 1;\\r\\n position: relative;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.buttons-row {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n/* .btn {\\r\\n background-color: #E58929;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 25px 0 25px;\\r\\n cursor: pointer;\\r\\n margin: 10px;\\r\\n}\\r\\n\\r\\n.btn button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.btn i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n} */\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n /* width: 200px; */\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n padding: 15px;\\r\\n margin: 10px 0 0 0;\\r\\n}\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.legend {\\r\\n background-color: #fff;\\r\\n display: flex;\\r\\n flex: 1;\\r\\n flex-direction: column;\\r\\n width: 200px;\\r\\n align-items: left;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.legend-item {\\r\\n font-size: 0.65rem;\\r\\n padding: 5px;\\r\\n display: flex;\\r\\n /* justify-content: center; */\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.legend-item .legend-block {\\r\\n display: block;\\r\\n width: 17px;\\r\\n height: 10px;\\r\\n margin: 5px;\\r\\n background-color: #555;\\r\\n}\\r\\n\\r\\n.ps-content {\\r\\n padding-bottom: 100px;\\r\\n}\\r\\n\\r\\n.disabled {\\r\\n border: 1x red solid;\\r\\n cursor: not-allowed!important;\\r\\n}\\r\\n\\r\\n.no-event {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.client-spouse {\\r\\n float: left;\\r\\n margin-left: 25px;\\r\\n}\\r\\n\\r\\n.cow-values {\\r\\n width: 400px;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n margin: 10px 0 0 0;\\r\\n justify-content: space-around;\\r\\n /* position: absolute;\\r\\n width: 100%; */\\r\\n}\\r\\n\\r\\n.new-funding-source input:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/* .new-funding-source input:invalid {\\r\\n border: 2px #ff7f7f solid!important;\\r\\n } */\\r\\n\\r\\n.section-note {\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n font-style: italic;\\r\\n}\\r\\n\\r\\n.na-bar {\\r\\n color: #555;\\r\\n background-color: #bcdff1;\\r\\n font-size: 13px;\\r\\n padding: 10px;\\r\\n padding-left: 20px;\\r\\n width: 100%;\\r\\n font-size: 12px;\\r\\n border-top: 2px #f5f5f5 solid;\\r\\n}\\r\\n\\r\\n.fv-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 150px;\\r\\n margin: 0 0 0 10px;\\r\\n}\\r\\n\\r\\n.fv-container select {\\r\\n height: 37px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n border: none;\\r\\n padding-left: 5px;\\r\\n}\\r\\n\\r\\n.hvs-radio {\\r\\n position: relative;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.hvs-radio::before {\\r\\n content: '';\\r\\n position: absolute;\\r\\n background-color: #b7b7b7;\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n border-radius: 15px;\\r\\n}\\r\\n\\r\\n.hvs-radio:checked::before {\\r\\n content: '';\\r\\n position: absolute;\\r\\n background-color: #555;\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n border-radius: 15px;\\r\\n}\\r\\n\\r\\n.hvs-radio:checked::after {\\r\\n content: '';\\r\\n position: absolute;\\r\\n background-color: #fff;\\r\\n width: 5px;\\r\\n height: 5px;\\r\\n border-radius: 5px;\\r\\n}\\r\\n\\r\\n.rate-selection select {\\r\\n height: 37px;\\r\\n width: 50px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n border: none;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.isDisabled {\\r\\n color: currentColor;\\r\\n cursor: not-allowed;\\r\\n opacity: 0.5;\\r\\n text-decoration: none;\\r\\n }\\r\\n\\r\\n \\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2hlYWx0aGNhcmUvaGVhbHRoY2FyZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7Ozt5QkFHcUI7QUFDekI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsV0FBVztJQUNYLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixPQUFPO0FBQ1g7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLDZCQUE2QjtJQUM3QixpQkFBaUI7R0FDbEIsdUJBQXVCO0FBQzFCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGlCQUFpQjtFQUNuQiw0Q0FBNEM7SUFDMUMsT0FBTztBQUNYOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCwwQkFBMEI7SUFDMUIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0lBQ2Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksV0FB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QUN6QixXQUFXO0VBQ1gsWUFBWTtFQUNaLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxZQUFZO0VBQ1osbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixzQkFBc0I7RUFDdEIsVUFBVTtFQUNWLFdBQVc7RUFDWCxrQkFBa0I7QUFDcEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osV0FBVztJQUNYLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsWUFBWTtJQUNaLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixxQkFBcUI7RUFDdkIiLCJmaWxlIjoiLi4vaGVhbHRoY2FyZS9oZWFsdGhjYXJlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4udG9wLXJvdyB7XHJcbiAgICAvKiBkaXNwbGF5OiBmbGV4OyAqL1xyXG4gICAgLyogcGFkZGluZzogMjVweDsgKi9cclxufVxyXG5cclxudGFibGUsIHRleHQsIHNwYW4sIG5neC1jaGFydHMtb3V0ZXIgbmctdHJpZ2dlciBuZy10cmlnZ2VyLWFuaW1hdGlvblN0YXRle1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5zZWN0aW9uLXRpdGxlIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uY2xpZW50LXByb2ZpbGUge1xyXG4gICAgLyogZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1yaWdodDogMjVweDsgKi9cclxufVxyXG5cclxuLnBhcnRuZXItc2VjdGlvbiAuY2xpZW50LXByb2ZpbGUge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmluY2x1ZGUtc3BvdXNlIHtcclxuICAgIHBhZGRpbmc6IDVweCAwIDAgMDtcclxufVxyXG5cclxuLnBzLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMjVweDtcclxufVxyXG5cclxuLmNsaWVudC1wcm9maWxlIGRpdiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmNsaWVudC1wcm9maWxlIGltZyB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgd2lkdGg6IDU1cHg7XHJcbiAgICBoZWlnaHQ6IDU1cHg7XHJcbiAgICBib3JkZXI6IDJweCAjRTU4OTI5IHNvbGlkO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5jbGllbnQtbmFtZSB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLm1ldHJpY3Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBsZWZ0O1xyXG4gICAgcGFkZGluZzogMjVweDtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5tZXRyaWMtaXRlbSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGxlZnQ7XHJcbiAgIC8qICBtYXgtd2lkdGg6IDIwMHB4OyAqL1xyXG59XHJcblxyXG4ubWV0cmljLXRpdGxlIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLnNhdmluZyB7XHJcbiAgICBjb2xvcjogbGltZWdyZWVuIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1ldHJpYy12YWwge1xyXG4gICAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xyXG4gIC8qICAgZm9udC1mYW1pbHk6ICdNYXZlbiBQcm8nLCBzYW5zLXNlcmlmOyAqL1xyXG4gICAgZmxleDogMTtcclxufVxyXG5cclxuLmNsaWVudC1zdWJ0aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICBjb2xvcjogI0U1ODkyOTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uaGVhbHRoLWNvdmVyYWdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5jb3ZlcmFnZS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG59XHJcblxyXG4uY2hlY2tib3gtc2VjdGlvbiB7XHJcbiAgICBmbGV4OiAxIDAgNDAwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmNoZWNrYm94LXNlY3Rpb24gdGFibGUge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIC8qIGJvcmRlci1sZWZ0OiAxcHggI2U1ZTVlNSBzb2xpZDsgKi9cclxuICAgIGZsZXg6IDE7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jaGVja2JveC1zZWN0aW9uIHRhYmxlIHRkIHtcclxuICAgIGJvcmRlci1yaWdodDogMXB4ICNlNWU1ZTUgc29saWQ7XHJcbiAgICBib3JkZXItdG9wOiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxufVxyXG5cclxuLmNoZWNrYm94LXNlY3Rpb24gdGFibGUgdGgge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5jaGVja2JveC1zZWN0aW9uIHRhYmxlIHRkIGkge1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBjb2xvcjogI0U1ODkyOTtcclxufVxyXG5cclxuLmNvdmVyYWdlLXJlc3VsdCB7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLmNvdmVyYWdlLXRvdGFsIHtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcclxufVxyXG5cclxuLnRvdGFscy1yb3cge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi50YWJsZS12YWx1ZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5tZWFucy10ZXN0aW5nLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgbWFyZ2luLXRvcDogMjVweDtcclxufVxyXG5cclxuLm1tdC1icmFja2V0cyB7XHJcbiAgICBmbGV4OiAxIDAgNDUwcHg7XHJcbn1cclxuXHJcbi5tbXQtYnJhY2tldHMgdGFibGUge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4ubW10LWJyYWNrZXRzIHRhYmxlIHRkIHtcclxuICAgIGJvcmRlcjogMXB4ICNlNWU1ZTUgc29saWQ7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG59XHJcblxyXG4ubW10LWJyYWNrZXRzIHRhYmxlIHRoIHtcclxuICAgIGJvcmRlcjogMXB4ICNlNWU1ZTUgc29saWQ7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLnByb2plY3RlZC1oY2Mge1xyXG4gICAgZmxleDogMSAwIDYwMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbn1cclxuXHJcbi5saW5lLWNoYXJ0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMjM1cHg7XHJcblxyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG59XHJcblxyXG4uY2hhcnQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uZnVuZGluZy1zb3VyY2VzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uZnVuZGluZy1zb3VyY2VzIHRhYmxlIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBib3JkZXItbGVmdDogMXB4ICNlNWU1ZTUgc29saWQ7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmZ1bmRpbmctc291cmNlcyB0YWJsZSB0ZCB7XHJcbiAgICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxufVxyXG5cclxuLmZ1bmRpbmctc291cmNlcyB0YWJsZSB0aCB7XHJcbiAgICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5mdW5kaW5nLXNvdXJjZXMgdGFibGUgaW5wdXQ6Zm9jdXMgLm5ldy1mdW5kaW5nLXNvdXJjZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xyXG59XHJcblxyXG4ubmV3LWZ1bmRpbmctc291cmNlIGlucHV0IHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWN0aW9uLWl0ZW0ge1xyXG4gICAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIC8qIGN1cnNvcjogcG9pbnRlcjsgKi9cclxufVxyXG5cclxuLmZ1bmRpbmctc291cmNlcyB0YWJsZSBpbnB1dCB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgLyogY3Vyc29yOiBwb2ludGVyOyAqL1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgcGFkZGluZzogM3B4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mdW5kaW5nLXNvdXJjZXMgdGFibGUgaW5wdXQ6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxufVxyXG5cclxuLyogLmZ1bmRpbmctc291cmNlcyB0YWJsZSBpbnB1dDppbnZhbGlkIHtcclxuICAgIGJvcmRlcjogMnB4ICNmZjdmN2Ygc29saWQhaW1wb3J0YW50O1xyXG4gIH0gKi9cclxuXHJcbi8qIC5pbnZhbGlkIGlucHV0OmludmFsaWQge1xyXG4gICAgYm9yZGVyOiAycHggI2ZmN2Y3ZiBzb2xpZCFpbXBvcnRhbnQ7XHJcbiAgfSAqL1xyXG5cclxuLnNjcm9sbCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4uZnVuZGluZy1zb3VyY2VzIHRhYmxlIGlucHV0OmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbn1cclxuXHJcbi5jdXJyZW50LWJyYWNrZXQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZTM5YjtcclxufVxyXG5cclxuLnBhcnRuZXItc2VjdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAwIDI1cHggMCAyNXB4XHJcbn1cclxuXHJcbi5sYXN0LXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLnJhdGUtYXNzdW1wdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5yYXRlLWl0ZW0ge1xyXG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggMDtcclxuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG59XHJcblxyXG4ucmF0ZS1zZWxlY3Rpb24ge1xyXG4gICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICBib3JkZXItdG9wOiAxcHggI2Q1ZDVkNSBzb2xpZDtcclxufVxyXG5cclxuLnNlbGVjdGlvbi1pdGVtIHtcclxuICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDVweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ucmF0ZS1pdGVtIGlucHV0IHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIHdpZHRoOiA0MHB4OyBcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbn1cclxuXHJcbi5yYXRlLWl0ZW0gaW5wdXRbdHlwZT1udW1iZXJdOjotd2Vic2l0ZS1pbm5lci1zcGluLWJ1dHRvbixcclxuLnJhdGUtaXRlbSBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJzaXRlLW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG59XHJcblxyXG4uYnV0dG9ucy1yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcclxufVxyXG5cclxuLmZ1bmRpbmctY2hhcnQge1xyXG4gICAgaGVpZ2h0OiAyMzVweDtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5mdW5kaW5nLWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGJvcmRlcjogMXB4ICNlNWU1ZTUgc29saWQ7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uZnVuZGluZy1icmVha2Rvd24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4OiAxIDAgMjAwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi8qICAgLmZ1bmRpbmctYnJlYWtkb3duIC5jaGFydC1sZWdlbmQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbn0gKi9cclxuXHJcbi5pbnZlc3RtZW50LXNvbHV0aW9ucyB7XHJcbiAgICBmbGV4OiAyIDAgMzAwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5pbnZlc3RtZW50LWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAzOHB4OyAvKiBtaWdodCBuZWVkIHRvIHJlbW92ZSAqL1xyXG59XHJcblxyXG4uY29zdC1vZi13YWl0aW5nIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAxIDAgMjAwcHg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5jb3ctY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlcjogMXB4ICNlNWU1ZTUgc29saWQ7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uY293LWNoYXJ0IHtcclxuICAgIGhlaWdodDogMjM1cHg7XHJcbiAgICB3aWR0aDogNDAwcHg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5idXR0b25zLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMTtcclxufVxyXG5cclxuLyogLmJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgMjVweCAwIDI1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbn1cclxuXHJcbi5idG4gYnV0dG9uIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi5idG4gaSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufSAqL1xyXG5cclxuLmNyZWF0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgLyogd2lkdGg6IDIwMHB4OyAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBtYXJnaW46IDEwcHggMCAwIDA7XHJcbn1cclxuXHJcbi5jcmVhdGUgYnV0dG9uIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIC8qIGhlaWdodDogMzVweDsgKi9cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi5jcmVhdGUgaSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4ubGVnZW5kIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBhbGlnbi1pdGVtczogbGVmdDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ubGVnZW5kLWl0ZW0ge1xyXG4gICAgZm9udC1zaXplOiAwLjY1cmVtO1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC8qIGp1c3RpZnktY29udGVudDogY2VudGVyOyAqL1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmxlZ2VuZC1pdGVtIC5sZWdlbmQtYmxvY2sge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTdweDtcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIG1hcmdpbjogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcclxufVxyXG5cclxuLnBzLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG59XHJcblxyXG4uZGlzYWJsZWQge1xyXG4gICAgYm9yZGVyOiAxeCByZWQgc29saWQ7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkIWltcG9ydGFudDtcclxufVxyXG5cclxuLm5vLWV2ZW50IHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uY2xpZW50LXNwb3VzZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG59XHJcblxyXG4uY293LXZhbHVlcyB7XHJcbiAgICB3aWR0aDogNDAwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICAvKiBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTsgKi9cclxufVxyXG5cclxuLm5ldy1mdW5kaW5nLXNvdXJjZSBpbnB1dDpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIC5uZXctZnVuZGluZy1zb3VyY2UgaW5wdXQ6aW52YWxpZCB7XHJcbiAgICBib3JkZXI6IDJweCAjZmY3ZjdmIHNvbGlkIWltcG9ydGFudDtcclxuICB9ICovXHJcblxyXG5cclxuXHJcbi5zZWN0aW9uLW5vdGUge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuLm5hLWJhciB7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiY2RmZjE7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBib3JkZXItdG9wOiAycHggI2Y1ZjVmNSBzb2xpZDtcclxufVxyXG5cclxuLmZ2LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIG1hcmdpbjogMCAwIDAgMTBweDtcclxufVxyXG5cclxuLmZ2LWNvbnRhaW5lciBzZWxlY3Qge1xyXG4gICAgaGVpZ2h0OiAzN3B4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbn1cclxuXHJcbi5odnMtcmFkaW8ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5odnMtcmFkaW86OmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNiN2I3Yjc7XHJcbiAgd2lkdGg6IDE1cHg7XHJcbiAgaGVpZ2h0OiAxNXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbn1cclxuXHJcbi5odnMtcmFkaW86Y2hlY2tlZDo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxufVxyXG5cclxuLmh2cy1yYWRpbzpjaGVja2VkOjphZnRlciB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgd2lkdGg6IDVweDtcclxuICBoZWlnaHQ6IDVweDtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi5yYXRlLXNlbGVjdGlvbiBzZWxlY3Qge1xyXG4gICAgaGVpZ2h0OiAzN3B4O1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5pc0Rpc2FibGVkIHtcclxuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgIl19 */\"","module.exports = \"\\r\\n\\r\\n
\\r\\n This client is currently configured to use National Averages.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{this.client.client.FirstName + ' ' + this.client.client.LastName}}\\r\\n {{this.client.clientProfile.Spouses[0].firstName + ' ' + this.client.clientProfile.Spouses[0].lastName}}\\r\\n Edit Client Profile\\r\\n
\\r\\n
\\r\\n
\\r\\n Estimated Lifetime Costs In Today's Dollars\\r\\n {{ projectedFutureLifetimeCosts | currency:'USD':true:'1.0-0' }}\\r\\n $0\\r\\n
\\r\\n
\\r\\n Estimated Lifetime Costs In Future Dollars\\r\\n {{ futureTotalCost | currency:'USD':true:'1.0-0' }}\\r\\n $0\\r\\n
\\r\\n
\\r\\n Investment to Fund Costs\\r\\n {{ totalRemainingGap | currency:'USD':true:'1.0-0' }}\\r\\n $0\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Show Costs In\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n Choose Healthcare Coverage\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Premiums\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{formatNumber2( !includePartnerInCalculation ? p1CostsV2[0].Premiums[0] : p1CostsV2[0].Premiums[0] + p2CostsV2[0].Premiums[0])}}$0
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{formatNumber2( !includePartnerInCalculation ? p1CostsV2[0].Premiums[1] : p1CostsV2[0].Premiums[1] + p2CostsV2[0].Premiums[1])}}$0
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{formatNumber2(!includePartnerInCalculation ? p1CostsV2[0].Premiums[2] : p1CostsV2[0].Premiums[2] + p2CostsV2[0].Premiums[2])}}$0
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{formatNumber2(!includePartnerInCalculation ? p1CostsV2[0].Premiums[3] : p1CostsV2[0].Premiums[3] + p2CostsV2[0].Premiums[3])}}$0
Total in {{hcDataV2.RetirementYear}}{{hcDataV2.TotalYear1Premiums}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Additional out-of-pocket expenses\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{formatNumber2(!includePartnerInCalculation ? p1CostsV2[0].AdditionalOOP[0] : p1CostsV2[0].AdditionalOOP[0] + p2CostsV2[0].AdditionalOOP[0])}}$0
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{formatNumber2(!includePartnerInCalculation ? p1CostsV2[0].AdditionalOOP[1] : p1CostsV2[0].AdditionalOOP[1] + p2CostsV2[0].AdditionalOOP[1])}}$0
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{formatNumber2(!includePartnerInCalculation ? p1CostsV2[0].AdditionalOOP[2] : p1CostsV2[0].AdditionalOOP[2] + p2CostsV2[0].AdditionalOOP[2])}}$0
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{formatNumber2(!includePartnerInCalculation ? p1CostsV2[0].AdditionalOOP[3] : p1CostsV2[0].AdditionalOOP[3] + p2CostsV2[0].AdditionalOOP[3])}}$0
Total in {{hcDataV2.RetirementYear}} {{hcDataV2.TotalYear1OOP}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Total in {{hcDataV2.RetirementYear}} ({{ (client.clientProfile.Spouses[0].maritalStatus == 'Married' && ((client.clientProfile.Spouses[0].retirementAge - calculateAge(this.client.clientProfile.Spouses[0].dob) + currentYear == hcDataV2.RetirementYear)) ? client.client.FirstName + ' Age ' + client.clientProfile.RetirementAge + ', ' + client.clientProfile.Spouses[0].firstName + ' Age ' + client.clientProfile.Spouses[0].retirementAge : client.client.FirstName + ' Age ' + client.clientProfile.RetirementAge) }}):\\r\\n {{hcDataV2.YearOneTotal || $0}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Medicare Means Testing Brackets\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Income Level at Retirement AgeTotal Retirement Healthcare CostsMarginal IncreaseTotal Increase
{{income.incomeCompareCells[0]}}{{income.incomeCompareCells[1] || '--'}}{{income.incomeCompareCells[2] || '--'}}{{income.incomeCompareCells[3] || '--'}}
\\r\\n
\\r\\n
\\r\\n Projected Retirement Health Care Costs by Year\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n Note: All projections below are shown\\r\\n in the future value, and account for healthcare cost inflation, so as to show the proper funding need.\\r\\n\\r\\n
\\r\\n Funding Solutions\\r\\n \\r\\n \\r\\n \\r\\n Does not impact IRR or Medicare Means Testing surcharges\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
Funding SourceAnnual AmountStart YearEnd YearInflation RateTotal AmountUnfunded HealthcareActions
Medicare Deduction from Social Security\\r\\n \\r\\n --------{{hcDataV2.FundingOptions.PartB}}{{currentRemainingTotal}}--
{{item.fundingSource}}{{formatCurrency(item.annContribution)}}{{item.startAge}}{{item.endAge}}{{item.inflationRate}}%{{formatCurrency(item.contributionAmount)}}{{formatCurrency(item.remainingUnfunded)}}\\r\\n \\r\\n DELETE\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n ----\\r\\n ADD\\r\\n\\r\\n ADD\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Funding Breakdown\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{entry.name}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Investment Solutions\\r\\n \\r\\n \\r\\n
\\r\\n Rate Assumptions\\r\\n
\\r\\n
\\r\\n Phase 1:\\r\\n \\r\\n %      Through Age:\\r\\n \\r\\n
\\r\\n
\\r\\n Phase 2:\\r\\n \\r\\n %      Through Age:\\r\\n \\r\\n
\\r\\n
\\r\\n Phase 3:\\r\\n \\r\\n %      Through Age:\\r\\n {{this.client.clientProfile.LifeExpectancy}}\\r\\n (life expectancy)\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Cost of Waiting\\r\\n
\\r\\n
\\r\\n \\r\\n {{ cowValues.one }}\\r\\n {{ cowValues.three }}\\r\\n {{ cowValues.five }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n This is vertical line tooltip template\\r\\n
{{model|json}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { ViewChild, Input, Component, OnInit, ElementRef } from '@angular/core';\r\n\r\nimport { GlobalService } from '../services/global.service';\r\nimport { ModalService } from '../shared/modal/modal.service';\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\nimport { LoadingService } from '../shared/loading/loading.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport Utils from '../shared/utility';\r\n\r\nimport { trigger, state, animate, transition, style } from '@angular/animations';\r\nimport { start } from 'repl';\r\n\r\nimport { DecimalPipe } from '@angular/common';\r\nimport { CommonModule, CurrencyPipe} from '@angular/common';\r\nimport * as internal from 'assert';\r\n\r\n@Component({\r\n selector: 'app-healthcare',\r\n templateUrl: './healthcare.component.html',\r\n styleUrls: ['./healthcare.component.css'],\r\n host: {\r\n\t\t'[@fadeInAnimation]': ''\r\n },\r\n animations:[\r\n \t\ttrigger('fadeInAnimation', [ \r\n \ttransition(':enter', [\r\n\t style({\r\n\t opacity: 0,\r\n\t }),\r\n\t animate('1000ms', style({\r\n opacity: 1,\r\n\t }))\r\n \t]),\r\n \t])\r\n ]\r\n})\r\nexport class HealthCareComponent implements OnInit {\r\n public pHospMessage: string = \"There is no premium cost for Medicare Part A, which covers hospitalization. The premium for Medicare Part B covers doctor visits and test costs.\";\r\n public pDrug: string = \"The premium for Medicare Part D covers prescription drug costs.\";\r\n public pSupp: string = \"The premium for MediGap covers coinsurance, co-payment and deductible out-of-pocket costs which are not covered by Medicare Parts A and B. MediGap coverage can no longer be purchased to cover Part D prescription drug costs. This coverage is provided through private insurers.\";\r\n public pDental: string = \"The premium for dental insurance will cover the standard dental care coverage. Medicare does not cover any routine dental or denture costs.\";\r\n\r\n public oopHosp: string = \"This represents the annual out-of-pocket costs for doctor visits, tests, etc. which are not covered by the Medicare Part B premium. These costs will be higher if you do not buy MediGap insurance.\";\r\n public oopDrug: string = \"This represents the annual out-of-pocket costs which will not be covered by the Medicare Part D premium. This can include the costs which must be paid by an individual if their annual drug costs are between $2750 and $4750 (the 2013 “donut hole” amounts.)\";\r\n public oopHearing: string = \"This represents the annual out-of-pocket costs for hearing and vision tests, eyeglasses, etc. which are not covered by Medicare Part B.\";\r\n public oopDental: string = \"This represents the annual out-of-pocket costs for dental care, dentures, etc. which are not covered by the standard Dental Insurance policy.\";\r\n public fsMessage: string = \"Add any expected income which is earmarked to healthcare cost funding in the inputs below. Contributions will diminish remaining unfunded costs.\";\r\n public investmentSolnMessage: string = \"Select up to three unique rates of return throughout the client’s lifetime to produce multiple savings solutions for unfounded future health expenses: a one time investment, annual payments, or weekly payments.\";\r\n public ssMMessage: string = \"By law, Medicare deducts the cost of Medicare Part B, as well as potential means testing surcharges on Parts B and D, from Social Security checks.\";\r\n\r\n public premiumsInfo: string = \"Standard, baseline costs for health coverage, paid either to the government, or the insurance provider.\";\r\n public additionalOOPInfo: string = \"Costs not covered by premiums. May include copays, deductibles, and more.\";\r\n\r\n public investmentToFundInfo: string = 'Based on rates of return indicated at bottom-center of this page, the one-time lumpsum investment required today to cover projected retirement health costs, after additional funding sources are accounted for.';\r\n public estimatedFutureInfo: string = 'Projected retirement health care costs, based on checkboxes below, shown in future dollars (otherwise known as \"future value\")';\r\n public estimatedTodayInfo: string = 'Projected retirement health care costs, based on checkboxes below, shown in today`s dollars (otherwise known as \"net present value\")';\r\n \r\n public futureCostMessage: string = `Selecting \"Today's Dollars\" will show costs in the net present value, assuming an annual inflation rate of 3%. Selecting \"Future Dollars\" will show projected future costs in the given year.`;\r\n\r\n public hcData: any;\r\n public hcDataV2: any;\r\n public p1CostsV2: any = [{Premiums:[0,0,0,0,0,0], AdditionalOOP:[0,0,0,0,0,0]}];\r\n public p2CostsV2: any = [{Premiums:[0,0,0,0,0,0], AdditionalOOP:[0,0,0,0,0,0]}];\r\n public tempCostsV2: any;\r\n\r\n public beginningBalance: 0;\r\n\r\n public riskToleranceEnabled: boolean = false;\r\n \r\n // for existing user who has the access to Risk Tolerane but still hasn't anu Risk Tolerance data\r\n public portfolioRecommendationVisible: boolean;\r\n\r\n public tempHCData: any;\r\n public error: string;\r\n\r\n public client: any;\r\n public inRetirement: boolean = false;\r\n\r\n public projectedFutureLifetimeCosts: number;\r\n public totalSocialSecurity: number = 0;\r\n public totalRemainingGap: number = 0;\r\n public ssRemaining: number = 0;\r\n\r\n\r\n public currentRemainingTotal: number = 0;\r\n public currentRemainingTotalForRiskTolPort: number = 0;\r\n\r\n public fundingItems: any[] = [];\r\n public partnerActive: boolean = false;\r\n\r\n public coverageTotal: number = 0;\r\n public premiumCoverageTotal: number = 0;\r\n public outOfPocketCoverageTotal: number = 0;\r\n public FrmPV: number = 1;\r\n\r\n public lineChartData: any[];\r\n public pieChartData: any[];\r\n public barChartData: any[];\r\n\r\n public fundingSource: any;\r\n public startAge: any;\r\n public endAge: any;\r\n public inflationRate: any;\r\n public annContribution: any;\r\n showFundingBorder: boolean;\r\n showStartAgeBorder: boolean;\r\n showEndAgeBorder: boolean;\r\n showInflationBorder: boolean;\r\n showAnnContrBorder: boolean;\r\n mmtVisible: boolean;\r\n isAlreadyRetired: boolean;\r\n displayFiveYearChart: boolean;\r\n isClientRetiringThisYear: boolean;\r\n isSpouseRetiringThisYear: boolean;\r\n annuallyWeeklyTtlYear: number;\r\n isAssetManagement: boolean = false;\r\n HCReport: any;\r\n user:any;\r\n \r\n \r\n\r\n @ViewChild('FundingSource') fundingSourceInput:any;\r\n @ViewChild('AnnContribution') annContributionInput:any;\r\n @ViewChild('StartAge') startAgeInput:any;\r\n @ViewChild('EndAge') endAgeInput:any;\r\n @ViewChild('InflationRate') inflationRateInput:any;\r\n\r\n @ViewChild('rate2') rate2:any; \r\n\r\n @ViewChild('totalRemainingGapEl') totalRemainingGapEl: ElementRef;\r\n @ViewChild('totalFutureEstimatedCostsEl') totalFutureEstimatedCostsEl: ElementRef;\r\n @ViewChild('totalEstimatedCostsEl') totalEstimatedCostsEl: ElementRef;\r\n\r\n @ViewChild('p1Percent') p1Percent: ElementRef;\r\n @ViewChild('p1EndAge') p1EndAge: ElementRef;\r\n @ViewChild('p2Percent') p2Percent: ElementRef;\r\n @ViewChild('p2EndAge') p2EndAge: ElementRef;\r\n @ViewChild('p3Percent') p3Percent: ElementRef;\r\n\r\n @ViewChild('annualEl') annualEl: ElementRef;\r\n @ViewChild('weeklyEl') weeklyEl: ElementRef;\r\n\r\n \r\n @ViewChild('pcheck') pcheck: ElementRef;\r\n @ViewChild('oopcheck') oopcheck: ElementRef;\r\n\r\n @ViewChild('hdt') hdt: ElementRef;\r\n @ViewChild('pd') pd: ElementRef;\r\n @ViewChild('si') si: ElementRef;\r\n @ViewChild('di') di: ElementRef;\r\n @ViewChild('hd') hd: ElementRef;\r\n @ViewChild('pdrg') pdrg: ElementRef;\r\n @ViewChild('hvc') hvc: ElementRef;\r\n @ViewChild('dins') dins: ElementRef;\r\n @Input() percentageFormatting: (value: number) => any;\r\n\r\n public premiumExpenses: any = {\r\n partB: true,\r\n partD: true,\r\n medigap: true,\r\n dental: true\r\n };\r\n\r\n public outOfPocketExpenses: any = {\r\n hospitalization: true,\r\n docsTests: true,\r\n rx: true,\r\n dental: true,\r\n hearingServices: true,\r\n vision: true,\r\n commercial: true\r\n };\r\n \r\n public lineChartOptions = {\r\n showXAxis: true,\r\n showYAxis: true,\r\n gradient: false,\r\n showLegend: true,\r\n xAxisLabel: '',\r\n yAxisLabel: '',\r\n roundDomains: false,\r\n timeline: false,\r\n curve: false,\r\n tooltipDisabled: false,\r\n colorScheme: {\r\n domain: ['#bad052', '#bad052', '#bad052']\r\n },\r\n autoScale: true\r\n }\r\n\r\n public pieChartOptions = {\r\n showLegend: false,\r\n colorScheme: { domain: ['#bad054','#eaf0cb', '#e3ecba', '#dce7a9', '#d5e298', '#cede87', '#c7d976', '#c0d465'] },\r\n showLabels: false,\r\n explodeSlices: false,\r\n doughnut: false,\r\n view: [500, 250],\r\n autoScale: true\r\n }\r\n\r\n public barChartOptions = {\r\n showXAxis: true,\r\n showYAxis: true,\r\n gradient: false,\r\n showLegend: false,\r\n showXAxisLabel: false,\r\n xAxisLabel: 'Country',\r\n showYAxisLabel: false,\r\n yAxisLabel: 'Population',\r\n roundEdges: false,\r\n colorScheme: {\r\n domain: ['#e8f0c7', '#d3e08e', '#bad054']\r\n }\r\n }\r\n\r\n public portfolioRecommendationObject = {\r\n year: '',\r\n phase1Portfolio:'',\r\n phase2Portfolio:'',\r\n phase1Val: '',\r\n phase2Val: '',\r\n clientAge: '',\r\n spouseAge: '',\r\n clientRetirementAge: '',\r\n spouseRetirementAge: '',\r\n singleInvestment: '',\r\n unfundedAmount: '', \r\n isMarried: false,\r\n clientRealAge:'',\r\n clientRealRetirementAge: '',\r\n spouseFirstName: '',\r\n spouseLastName: '',\r\n hcReport: '',\r\n user: ''\r\n\r\n }\r\n\r\n generateLineChartData(data: any) {\r\n\r\n \r\n\r\n if (this.hcDataV2) {\r\n let currentYear = new Date().getFullYear();\r\n let retirementYear = this.hcDataV2.RetirementYear < currentYear ? currentYear : this.hcDataV2.RetirementYear;\r\n\r\n this.lineChartData = [\r\n this.hcDataV2.Expenses.slice(Math.abs(currentYear - retirementYear)).reduce((acc, expense, i) => {\r\n acc.series.push({'name': (retirementYear + i).toString(), 'value': this.formatNumber(expense)});\r\n return acc;\r\n }, { name: 'Cost', series: []})];\r\n \r\n }\r\n }\r\n\r\n generatePieChartData() {\r\n var tempTotal = this.futureTotalCost - (this.hcDataV2.FundingOptions.PartB.replace(/,/g,\"\").replace(\"$\",\"\"));\r\n\r\n if (this.fundingItems.length) {\r\n tempTotal = this.fundingItems[this.fundingItems.length - 1].remainingUnfunded;\r\n }\r\n\r\n \r\n if (this.hcDataV2.Illustrations[0].BeginningBalance.toFixed(0) < 1) {\r\n this.pieChartData = [\r\n { \"name\": \"Medicare Deduction from Social Security\", \"value\": this.totalSocialSecurity }\r\n ]\r\n } else {\r\n this.pieChartData = [\r\n { \"name\": \"Unfunded\", \"value\": tempTotal }, \r\n { \"name\": \"Medicare Deduction from Social Security\", \"value\": this.totalSocialSecurity }\r\n ]\r\n }\r\n\r\n this.fundingItems.forEach((item) => { this.pieChartData.push({ \"name\": item.fundingSource, \"value\": item.contributionAmount })});\r\n }\r\n\r\n public yAxisTickFormattingFn = this.yAxisTickFormatting.bind(this);\r\n\r\n yAxisTickFormatting(value) {\r\n return Utils.formatToCurrency(value);\r\n }\r\n \r\n generateBarChartData() {\r\n\r\n this.cowValues.one = this.hcDataV2.Illustrations[0].BeginningBalance ? Utils.formatToCurrency(this.hcDataV2.Illustrations[0].BeginningBalance.toFixed(0)) : 0;\r\n this.cowValues.three = this.hcDataV2.Illustrations[0].BeginningBalance ? Utils.formatToCurrency(this.hcDataV2.Illustrations[2].BeginningBalance.toFixed(0)) : 0;\r\n this.cowValues.five = this.hcDataV2.Illustrations[0].BeginningBalance ? Utils.formatToCurrency(this.hcDataV2.Illustrations[4].BeginningBalance.toFixed(0)) : 0;\r\n\r\n this.barChartData = [\r\n {\r\n \"name\": \"Today\",\r\n \"value\": this.hcDataV2.Illustrations[0].BeginningBalance.toFixed(0)\r\n },\r\n {\r\n \"name\": \"3 Years\",\r\n \"value\": this.hcDataV2.Illustrations[0].BeginningBalance.toFixed(0) < 1 ? 0 : this.hcDataV2.Illustrations[2].BeginningBalance.toFixed(0)\r\n },\r\n {\r\n \"name\": \"5 Years\",\r\n \"value\": this.hcDataV2.Illustrations[0].BeginningBalance.toFixed(0) < 1 ? 0 : this.hcDataV2.Illustrations[4].BeginningBalance.toFixed(0)\r\n }\r\n ]\r\n }\r\n\r\n constructor(private route: ActivatedRoute, private currencyPipe : CurrencyPipe, private decimalPipe: DecimalPipe, private globalService: GlobalService, private modalService: ModalService, private snackBarService: SnackBarService, private router: Router, private loadingService: LoadingService) {\r\n modalService.modal$.subscribe((modal) => {\r\n if (modal.modalName == 'add-edit-clientClosed') { // TODO: Fix this hack -- naming it hidden.. modals in general need to be refactored\r\n this.hasRiskTolBeenRan = false;\r\n this.getClient();\r\n }\r\n });\r\n }\r\n\r\n onBlur(event){\r\n if(event.target.value !== '')\r\n event.target.value = parseFloat(event.target.value).toFixed(2)\r\n }\r\n\r\n ngOnInit() {\r\n if(localStorage.getItem('featRiskTolerance') != 'undefined'){\r\n this.riskToleranceEnabled = JSON.parse(localStorage.getItem('featRiskTolerance'));\r\n this.globalService.featRiskTolerance = this.riskToleranceEnabled;\r\n }\r\n\r\n if (this.route.snapshot.queryParams['am'] == 1) {\r\n this.isAssetManagement = true;\r\n }\r\n\r\n this.getClient();\r\n }\r\n\r\n removeFundingItem(item) {\r\n this.fundingItems.splice(this.fundingItems.indexOf(item), 1);\r\n this.onRateChange(0);\r\n }\r\n\r\n editFundingItem(item){\r\n\r\n }\r\n\r\n public futureTotalCost: number;\r\n\r\n public sample: any = {\r\n ExpenseProjectionBody: \"\",\r\n FrmIncome: \"\",\r\n FullHorizonYears: \"\",\r\n FundingOptions: {},\r\n Illustrations: [],\r\n IncomeCompareAnalysis: {},\r\n P1Age: \"\",\r\n P1FullHorizonYears: \"\",\r\n P1Gender: \"\",\r\n P1HealthCareExpenses: \"\",\r\n P1HealthCareExpensesDiscounted: \"\",\r\n P1LifeTimeTotalsForComparison: \"\",\r\n P2Age: \"\",\r\n P2FullHorizonYears: \"\",\r\n P2Gender: \"\",\r\n P2HealthCareExpenses: \"\",\r\n P2HealthCareExpensesDiscounted: \"\",\r\n P2LifeTimeTotalsForComparison: \"\",\r\n PlanUntil1: \"\",\r\n PlanUntilYear: \"\",\r\n RetireYear: null,\r\n RetirementYear: 0,\r\n State: \"\",\r\n TotalProjectedCost: \"\",\r\n TotalProjectedCostPv: \"\",\r\n TotalYear1Cost: \"\",\r\n TotalYear1OOP: \"\",\r\n TotalYear1Premiums: \"\",\r\n YearOneTotal: \"\",\r\n YearsInRetirement: \"\",\r\n YearsToRetirement: \"\",\r\n hq: null,\r\n partners: null\r\n }\r\n\r\n public cowValues: any = {\r\n one: 0,\r\n three: 0,\r\n five: 0,\r\n };\r\n\r\n public investmentOption: number = 1;\r\n currentYear = new Date().getFullYear();\r\n getHCData(client: any, includeSpouse?: any, includeSingleInvestment?: any) {\r\n var currentAge = this.calculateAge(client.client.DOB);\r\n var currentYear = new Date().getFullYear();\r\n \r\n var spouse = {};\r\n\r\n var investmentItems = [];\r\n\r\n for (var item in this.fundingItems) {\r\n \r\n var contribution = {\r\n Description: this.fundingItems[item].fundingSource,\r\n //this is now set to years\r\n Begins: this.fundingItems[item].startAge,// + currentYear,\r\n Ends: this.fundingItems[item].endAge,// - currentAge) + currentYear,\r\n\r\n StartAmount: this.fundingItems[item].annContribution,\r\n //Ends: (this.fundingItems[item].endAge - currentAge) + currentYear,\r\n Cola: this.fundingItems[item].inflationRate,\r\n }\r\n\r\n investmentItems.push(contribution);\r\n }\r\n\r\n if (this.client.clientProfile.Spouses \r\n && this.client.clientProfile.Spouses.length > 0 \r\n && this.client.clientProfile.Spouses[0].maritalStatus == 'Married') {\r\n this.partnerActive = true;\r\n } else {\r\n this.partnerActive = false;\r\n }\r\n\r\n var HCReport = {\r\n InvestmentItems: JSON.stringify({ investmentItems }),\r\n P_Part_A_And_B: this.hdt ? this.hdt.nativeElement.checked ? 1 : 0 : 1,\r\n P_Part_D: this.pd ? this.pd.nativeElement.checked ? 1 : 0 : 1,\r\n P_MediGap: this.si ? this.si.nativeElement.checked ? 1 : 0 : 0,\r\n P_Dental: this.di ? this.di.nativeElement.checked ? 1 : 0 : 0,\r\n OOP_Hosp_Docs: this.hd ? this.hd.nativeElement.checked ? 1 : 0 : 0,\r\n OOP_Presc_Drug: this.pdrg ? this.pdrg.nativeElement.checked ? 1 : 0 : 0,\r\n OOP_Hearing_Vision: this.hvc ? this.hvc.nativeElement.checked ? 1 : 0 : 0,\r\n OOP_Dental: this.dins ? this.dins.nativeElement.checked ? 1 : 0 : 0,\r\n FrmName0: this.client.client.FirstName + \" \" + this.client.client.LastName,\r\n FrmName1: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].firstName + \" \" + this.client.clientProfile.Spouses[0].lastName : \"\",\r\n FrmHasPartner: this.partnerActive,\r\n FrmQType: 1,\r\n FrmQExcercise: 1,\r\n FrmGender: this.client.client.GenderID,\r\n FrmQTypeII: this.client.clientProfile.HCT2D,\r\n FrmQTobacco: this.client.clientProfile.HCT,\r\n FrmQCancer: this.client.clientProfile.HCC,\r\n FrmQHistory: 0,\r\n FrmQCardio: this.client.clientProfile.HCCD,\r\n FrmQPhysical: 1,\r\n FrmQHighColesterol: this.client.clientProfile.HCHC,\r\n FrmQDiet: 1,\r\n FrmQHBP: this.client.clientProfile.HCHBP,\r\n FrmCurrentAge: this.calculateAge(this.client.client.DOB),\r\n\r\n selfConditions: JSON.stringify({\r\n HCHBP: this.client.clientProfile.HCHBP,\r\n HCHC: this.client.clientProfile.HCHC,\r\n HCT2D: this.client.clientProfile.HCT2D,\r\n HCCD: this.client.clientProfile.HCCD,\r\n HCC: this.client.clientProfile.HCC,\r\n HCT: this.client.clientProfile.HCT,\r\n }),\r\n\r\n spouseConditions: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.partnerActive ? JSON.stringify({\r\n HCHBP: this.client.clientProfile.Spouses[0].HCHBP,\r\n HCHC: this.client.clientProfile.Spouses[0].HCHC,\r\n HCT2D: this.client.clientProfile.Spouses[0].HCT2D,\r\n HCCD: this.client.clientProfile.Spouses[0].HCCD,\r\n HCC: this.client.clientProfile.Spouses[0].HCC,\r\n HCT: this.client.clientProfile.Spouses[0].HCT,\r\n }) : \"\",\r\n\r\n SelfLifeExpectancy: this.client.clientProfile.LifeExpectancy || 0,\r\n SpouseLifeExpectancy: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].LifeExpectancy || 0 : 0,\r\n\r\n SpouseFrmQTobacco: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCT ? 1 : 0 : 0,\r\n SpouseFrmQCancer: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCC ? 1 : 0 : 0,\r\n SpouseFrmQDiet: 1,\r\n SpouseFrmQCardio: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCCD ? 1 : 0 : 0,\r\n SpouseFrmQPhysical: 1,\r\n SpouseFrmGender: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].gender : 0,\r\n SpouseFrmQHBP: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCHBP ? 1 : 0 : 0,\r\n SpouseCurrentAge: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.calculateAge(this.client.clientProfile.Spouses[0].dob) : 0,\r\n SpouseFrmQHighColesterol: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCHC ? 1 : 0 : 0,\r\n SpouseFrmQTypeII: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCT2D ? 1 : 0 : 0,\r\n SpouseQExcercise: 1,\r\n SpouseQHistory: 0,\r\n\r\n PaymentTotal: 0,\r\n PaymentYears: this.annualEl && this.annualEl.nativeElement ? this.annualEl.nativeElement.value : (this.annuallyWeeklyTtlYear < 10 ? 1 : 10),\r\n\r\n FrmPhase1Rate: (this.p1Percent ? (Number(this.p1Percent.nativeElement.value)) : 6),\r\n FrmPhase1Periods: (this.p1EndAge ? Number(this.p1EndAge.nativeElement.value) - this.calculateAge(this.client.client.DOB) : Math.max(65 - Number(this.calculateAge(this.client.client.DOB)))),\r\n // FrmPhase1Periods: includeSingleInvestment ? (this.portfolioRecommendationObject.clientAge ? (Number(this.portfolioRecommendationObject.clientAge) - this.calculateAge(this.client.client.DOB)):0): (this.p1EndAge ? Number(this.p1EndAge.nativeElement.value) - this.calculateAge(this.client.client.DOB) : Math.max(65 - Number(this.calculateAge(this.client.client.DOB)))),\r\n FrmPhase2Rate: (this.p2Percent ? (Number(this.p2Percent.nativeElement.value)) : 6),\r\n // FrmPhase2Periods: includeSingleInvestment ? (this.client.clientProfile.RetirementAge ? (Number(this.client.clientProfile.RetirementAge) - Number(this.portfolioRecommendationObject.clientAge)):0): (this.p2EndAge ? (Number(this.p2EndAge.nativeElement.value) - (Number(this.p1EndAge.nativeElement.value))) : 10),\r\n FrmPhase2Periods: (this.p2EndAge ? (Number(this.p2EndAge.nativeElement.value) - (Number(this.p1EndAge.nativeElement.value))) : 10),\r\n FrmPhase3Rate: (this.p3Percent ? (Number(this.p3Percent.nativeElement.value)) : 6),\r\n\r\n // FrmPhase1Rate: includeSingleInvestment ? (this.portfolioRecommendationObject.phase1Val ? Number(this.portfolioRecommendationObject.phase1Val):0): (this.p1Percent ? (Number(this.p1Percent.nativeElement.value)) : 6),\r\n // FrmPhase1Periods: includeSingleInvestment ? this.getPhaseAgeDiff(1) : (this.p1EndAge ? Number(this.p1EndAge.nativeElement.value) - this.calculateAge(this.client.client.DOB) : Math.max(65 - Number(this.calculateAge(this.client.client.DOB)))),\r\n // FrmPhase2Rate: includeSingleInvestment ? (this.portfolioRecommendationObject.phase2Val ? Number(this.portfolioRecommendationObject.phase2Val):0): (this.p2Percent ? (Number(this.p2Percent.nativeElement.value)) : 6),\r\n // FrmPhase2Periods: includeSingleInvestment ? this.getPhaseAgeDiff(2) : (this.p2EndAge ? (Number(this.p2EndAge.nativeElement.value) - (Number(this.p1EndAge.nativeElement.value))) : 10),\r\n // FrmPhase3Rate: includeSingleInvestment ? (this.portfolioRecommendationObject.phase2Val ? Number(this.portfolioRecommendationObject.phase2Val):0):(this.p3Percent ? (Number(this.p3Percent.nativeElement.value)) : 6),\r\n\r\n FrmRetireYear1: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.getRetirementYear(this.client.clientProfile.Spouses[0].retirementAge, this.client.clientProfile.Spouses[0].dob) : 0,\r\n FrmPV: this.FrmPV,\r\n FrmRetireYear0: Math.max(currentYear, this.getRetirementYear(this.client.clientProfile.RetirementAge, this.client.client.DOB)),\r\n FrmState: this.client.clientProfile.UseNationalAverage ? '' : this.client.clientProfile.RetirementState,\r\n FrmState1: this.client.clientProfile.UseNationalAverage ? '' : this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].state : '',\r\n FrmSpouseState: this.client.clientProfile.UseNationalAverage ? '' : this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].state : '',\r\n SpouseCurrentIncome: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? Number(this.client.clientProfile.Spouses[0].currentIncome) || 0 : 0,\r\n SelfCurrentIncome: this.client.clientProfile.CurrentIncome,\r\n SelfIRR: this.client.clientProfile.IRR,\r\n InvestmentOption: this.investmentOption || 1,\r\n ClientPIA: this.client.clientProfile.PIA,\r\n SpousePIA: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? Number(this.client.clientProfile.Spouses[0].pia) || 0 : 0,\r\n }\r\n\r\n if (includeSingleInvestment && this.isAlreadyRetired) {\r\n HCReport.FrmPhase2Rate = HCReport.FrmPhase1Rate;\r\n HCReport.FrmPhase2Periods = Number(this.client.clientProfile.LifeExpectancy) - Number(this.client.clientProfile.RetirementAge);\r\n HCReport.FrmPhase3Rate = HCReport.FrmPhase1Rate;\r\n }\r\n\r\n if (includeSpouse)\r\n spouse = client.clientProfile.Spouses[0];\r\n\r\n this.client.retirementState = this.client.state;\r\n\r\n var user = {\r\n UserID: Number(localStorage.getItem('roleId')) <= 2 ? localStorage.getItem('selectedAdvisorID') : localStorage.getItem('userId'),\r\n CompanyCode: Number(localStorage.getItem('roleId')) <= 2 ? localStorage.getItem('selectedAdvisorOrgID') : localStorage.getItem('orgID'),\r\n ClientID: localStorage.getItem('selectedClient')\r\n }\r\n this.HCReport = HCReport;\r\n this.user = user;\r\n var RiskTolerance = null;\r\n this.globalService.getHCDataV2(HCReport, user)\r\n .subscribe(\r\n data => {\r\n this.hcDataV2 = data;\r\n this.hcDataV2.IllustrationEntriesWithFunding = JSON.parse(this.hcDataV2.IllustrationEntriesWithFunding);\r\n this.p1CostsV2 = JSON.parse(this.FrmPV == 0 ? data.P1HealthCareExpensesDiscounted : data.P1HealthCareExpenses);\r\n this.p2CostsV2 = this.partnerActive ? JSON.parse(this.FrmPV == 0 ? data.P2HealthCareExpensesDiscounted : data.P2HealthCareExpenses) : {};\r\n this.tempCostsV2 = this.p1CostsV2;\r\n\r\n if (this.p1CostsV2[0].Total == 0) {\r\n var tempCosts = [];\r\n\r\n for (var item in this.p2CostsV2) {\r\n if (this.p2CostsV2[item].Total != 0) {\r\n tempCosts.push(this.p2CostsV2[item]);\r\n }\r\n }\r\n\r\n this.p1CostsV2 = tempCosts;\r\n }\r\n\r\n if (!this.partnerActive) {\r\n this.p2CostsV2 = [{Premiums:[0,0,0,0,0,0], AdditionalOOP:[0,0,0,0,0,0]}];\r\n }\r\n\r\n this.hcDataV2.RetirementYear = Math.max(currentYear, this.getRetirementYear(this.client.clientProfile.RetirementAge, this.client.client.DOB));\r\n if (this.client.clientProfile.Spouses && this.client.clientProfile.Spouses[0].maritalStatus == 'Married') {\r\n\r\n this.hcDataV2.RetirementYear = Math.min(this.hcDataV2.RetirementYear, this.getRetirementYear(this.client.clientProfile.Spouses[0].retirementAge, this.client.clientProfile.Spouses[0].dob));\r\n this.hcDataV2.RetirementYear = Math.max(currentYear, this.hcDataV2.RetirementYear);\r\n\r\n }\r\n\r\n this.hcDataV2.TotalYear1OOP = Utils.formatToCurrency((this.p1CostsV2[0].AdditionalOOP[0] + this.p1CostsV2[0].AdditionalOOP[1] + this.p1CostsV2[0].AdditionalOOP[2] + this.p1CostsV2[0].AdditionalOOP[3]).toFixed(0));\r\n this.hcDataV2.TotalYear1Premiums = Utils.formatToCurrency((this.p1CostsV2[0].Premiums[0] + this.p1CostsV2[0].Premiums[1] + this.p1CostsV2[0].Premiums[2] + this.p1CostsV2[0].Premiums[3]).toFixed(0));\r\n \r\n if (this.includePartnerInCalculation) {\r\n this.hcDataV2.TotalYear1OOP = Utils.formatToCurrency((this.p1CostsV2[0].AdditionalOOP[0] + this.p1CostsV2[0].AdditionalOOP[1] + this.p1CostsV2[0].AdditionalOOP[2] + this.p1CostsV2[0].AdditionalOOP[3] + this.p2CostsV2[0].AdditionalOOP[0] + this.p2CostsV2[0].AdditionalOOP[1] + this.p2CostsV2[0].AdditionalOOP[2] + this.p2CostsV2[0].AdditionalOOP[3]).toFixed(0));\r\n this.hcDataV2.TotalYear1Premiums = Utils.formatToCurrency((this.p1CostsV2[0].Premiums[0] + this.p1CostsV2[0].Premiums[1] + this.p1CostsV2[0].Premiums[2] + this.p1CostsV2[0].Premiums[3] + this.p2CostsV2[0].Premiums[0] + this.p2CostsV2[0].Premiums[1] + this.p2CostsV2[0].Premiums[2] + this.p2CostsV2[0].Premiums[3]).toFixed(0));\r\n this.hcDataV2.YearOneTotal = Utils.formatToCurrency(Number(this.hcDataV2.YearOneTotal.toString().replace(/,/g, \"\").replace(\"$\", \"\")) * 2);\r\n }\r\n\r\n this.hcDataV2.IncomeCompareAnalysis = JSON.parse(this.hcDataV2.IncomeCompareAnalysis);\r\n this.hcDataV2.IncomeCompareAnalysis.incomeCompareRows.shift();\r\n\r\n this.futureTotalCost = Number(this.hcDataV2.TotalProjectedCost.toString().replace(/,/g, \"\").replace(\"$\", \"\"));\r\n this.projectedFutureLifetimeCosts = Number(this.hcDataV2.TotalProjectedCostPv.toString().replace(/,/g, \"\").replace(\"$\", \"\"));\r\n\r\n\r\n this.totalSocialSecurity = Number(this.hcDataV2.FundingOptions.PartB.toString().replace(/,/g, \"\").replace(\"$\", \"\"));\r\n\r\n this.hcDataV2.Illustrations = JSON.parse(this.hcDataV2.Illustrations);\r\n\r\n\r\n this.totalRemainingGap = Number(this.hcDataV2.Illustrations[0].BeginningBalance);\r\n\r\n this.currentRemainingTotalForRiskTolPort = this.futureTotalCost - this.totalSocialSecurity;\r\n\r\n this.currentRemainingTotal = Utils.formatToCurrency(this.futureTotalCost - this.totalSocialSecurity);\r\n\r\n if (this.fundingItems.length > 0) {\r\n var tempTotal = this.futureTotalCost - this.totalSocialSecurity;\r\n\r\n for (var i = 0; i < this.fundingItems.length; i++) {\r\n this.fundingItems[i].remainingUnfunded = this.fundingItems[i - 1] ? this.fundingItems[i - 1].remainingUnfunded - this.fundingItems[i].contributionAmount : tempTotal - this.fundingItems[i].contributionAmount;\r\n }\r\n\r\n }\r\n\r\n this.futureYearlyCost = this.annualEl ? this.hcDataV2.FundingOptions.CalcPayments.AnnualPaymentAmount.toString().replace(/,/g, \"\").replace(\"$\", \"\") * this.annualEl.nativeElement.value : this.hcDataV2.FundingOptions.CalcPayments.AnnualPaymentAmount.toString().replace(/,/g, \"\").replace(\"$\", \"\") * (this.annuallyWeeklyTtlYear < 10 ? 1 : 10);\r\n\r\n this.weeklyCost = this.hcDataV2.Illustrations[0].BeginningBalance.toFixed(0) < 1 ? 0 : this.hcDataV2.FundingOptions.CalcPayments.WeeklyPaymentAmount;\r\n this.futureWeeklyCost = Utils.formatToCurrency(this.hcDataV2.Illustrations[0].BeginningBalance.toFixed(0) < 1 ? Utils.formatToCurrency(0) :Utils.removeCurrencyFormatting(this.hcDataV2.FundingOptions.CalcPayments.WeeklyPaymentAmount) * 52 * (this.annualEl ? this.annualEl.nativeElement.value : (this.annuallyWeeklyTtlYear < 10 ? 1 : 10)));\r\n\r\n \r\n\r\n this.yearlyCost = this.hcDataV2.Illustrations[0].BeginningBalance.toFixed(0) < 1 ? Utils.formatToCurrency(0): this.hcDataV2.FundingOptions.CalcPayments.AnnualPaymentAmount;\r\n this.futureYearlyCost = Utils.formatToCurrency(this.hcDataV2.Illustrations[0].BeginningBalance.toFixed(0) < 1 ? 0 : this.futureYearlyCost);\r\n this.beginningBalance = Utils.formatToCurrency(this.hcDataV2.Illustrations[0].BeginningBalance.toFixed(0));\r\n this.portfolioRecommendationObject.singleInvestment = this.hcDataV2.Illustrations[0] && this.hcDataV2.Illustrations[0].BeginningBalance ? Utils.formatToCurrency(this.hcDataV2.Illustrations[0].BeginningBalance.toFixed(0)) : '$0'\r\n // SMALLA 012822: Commented this section becaase we need to pass the single investment in RiskTolerance even the user is single\r\n // if (includeSingleInvestment) {\r\n // this.portfolioRecommendationObject.singleInvestment = this.hcDataV2.Illustrations[0] && this.hcDataV2.Illustrations[0].BeginningBalance ? Utils.formatToCurrency(this.hcDataV2.Illustrations[0].BeginningBalance.toFixed(0)) : '$0'\r\n // console.log('this.portfolioRecommendationObject.singleInvestment', this.portfolioRecommendationObject.singleInvestment)\r\n // }\r\n\r\n // this.displayFiveYearChart = !this.inRetirement;\r\n\r\n // If client is dying before or same year as retirement\r\n // Adjust the full horizon years\r\n if (currentYear + Math.max(0, Number(this.client.clientProfile.LifeExpectancy) - Number(this.calculateAge(this.client.client.DOB))) <= currentYear + Math.max(0, Number(this.client.clientProfile.RetirementAge) - Number(this.calculateAge(this.client.client.DOB)))) {\r\n this.hcDataV2.P1FullHorizonYears = this.hcDataV2.P1FullHorizonYears - 1;\r\n }\r\n\r\n this.generateLineChartData({});\r\n this.generatePieChartData();\r\n this.generateBarChartData();\r\n this.getPortfolioRecommendation();\r\n\r\n \r\n },\r\n error => this.error = error);\r\n }\r\n\r\n getPhaseDiff(phase) {\r\n const clientAge = Number(this.calculateAge(this.client.client.DOB));\r\n const clientRetirementAge = Number(this.client.clientProfile.RetirementAge);\r\n const clientLE = Number(this.client.clientProfile.LifeExpectancy);\r\n const spouseAge = Number(this.calculateAge(this.client.clientProfile.Spouses[0].dob)) || 0;\r\n const spouseRetirementAge = Number(this.client.clientProfile.Spouses[0].retirementAge) || 0;\r\n const spouseLE = Number(this.client.clientProfile.Spouses[0].LifeExpectancy) || 0;\r\n\r\n // console.log(\r\n // clientAge,\r\n // clientRetirementAge,\r\n // clientLE,\r\n // spouseAge,\r\n // spouseRetirementAge,\r\n // spouseLE\r\n // );\r\n\r\n if (spouseAge && spouseRetirementAge) {\r\n if (phase == 1)\r\n return Math.min(Math.max(0, clientRetirementAge - clientAge), Math.max(0, spouseRetirementAge - spouseAge));\r\n if (phase == 2)\r\n return Math.min(Math.max(0, clientLE - clientRetirementAge), Math.max(0, spouseLE - spouseRetirementAge));\r\n } else {\r\n if (phase == 1)\r\n return Math.max(0, clientRetirementAge - clientAge);\r\n if (phase == 2)\r\n return Math.max(0, clientLE - clientRetirementAge);\r\n }\r\n }\r\n\r\n getPhaseAgeDiff(phase) {\r\n let clientYearsToRetire = 0;\r\n let spouseYearsToRetire = 0;\r\n let clientRetirementYears = 0;\r\n let spouseRetirementYears = 0;\r\n \r\n if (phase === 1) {\r\n clientYearsToRetire = Math.max(0, Number(this.portfolioRecommendationObject.clientRetirementAge)) - Number(this.portfolioRecommendationObject.clientAge);\r\n spouseYearsToRetire = Math.max(0, Number(this.portfolioRecommendationObject.spouseRetirementAge)) - Number(this.portfolioRecommendationObject.spouseAge);\r\n return Number(this.portfolioRecommendationObject.spouseAge) > 0 ? Math.min(clientYearsToRetire, spouseYearsToRetire) : Math.max(0, clientYearsToRetire)\r\n } else {\r\n clientRetirementYears = Math.max(0, Number(this.client.clientProfile.LifeExpectancy)) - Number(this.portfolioRecommendationObject.clientRetirementAge);\r\n spouseRetirementYears = Math.max(0, Number(this.client.clientProfile.Spouses[0].LifeExpectancy)) - Number(this.portfolioRecommendationObject.spouseRetirementAge);\r\n return Number(this.portfolioRecommendationObject.spouseAge) > 0 ? Math.min(clientRetirementYears, spouseRetirementYears) : Math.max(0, clientYearsToRetire)\r\n } \r\n }\r\n\r\n // TODO: Make utility file\r\n calculateAge(birthday) {\r\n birthday = new Date(birthday);\r\n var ageDifMs = Date.now() - birthday;\r\n var ageDate = new Date(ageDifMs);\r\n return Math.abs(ageDate.getUTCFullYear() - 1970);\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.client) {\r\n let rateAssumptionYears = Utils.calculateRateAssumptionYears( this.calculateAge(this.client.client.DOB), this.client.clientProfile.LifeExpectancy);\r\n \r\n if (!this.riskToleranceEnabled) {\r\n this.p1EndAge.nativeElement.value = rateAssumptionYears.p1EndAge;\r\n }\r\n this.p2EndAge.nativeElement.value = rateAssumptionYears.p2EndAge;\r\n \r\n }\r\n }\r\n\r\n public includePartnerInCalculation: boolean = false;\r\n\r\n getClient() { \r\n this.globalService.getClientData(Number(localStorage.getItem(\"selectedClient\")), 4)\r\n .subscribe(\r\n client => { \r\n this.client = client;\r\n let dOB = new Date(this.client.client.DOB);\r\n let timeDiff = Math.abs(Date.now() - dOB.getTime());\r\n let clientAge = Math.floor((timeDiff / (1000 * 3600 * 24))/365.25);\r\n this.annuallyWeeklyTtlYear = this.client.clientProfile.RetirementAge - clientAge;\r\n this.client.clientProfile.Spouses = JSON.parse(this.client.clientProfile.Spouses);\r\n\r\n if (this.client.clientProfile.Spouses.length > 1) {\r\n this.client.clientProfile.Spouses = Utils.calculateMostProfitableSpouse(this.client, this.client.clientProfile.Spouses);\r\n }\r\n\r\n this.inRetirement = this.calculateAge(this.client.client.DOB) >= this.client.clientProfile.RetirementAge;\r\n\r\n if (this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'Married') {\r\n this.partnerActive = true;\r\n\r\n // this.inRetirement = this.inRetirement && this.calculateAge(this.client.clientProfile.Spouses[0].dob) >= this.client.clientProfile.Spouses[0].retirementAge;\r\n\r\n if (Math.abs((this.client.clientProfile.Spouses[0].retirementAge - this.calculateAge(this.client.clientProfile.Spouses[0].dob)) - (this.client.clientProfile.RetirementAge - this.calculateAge(this.client.client.DOB))) == 0 ||\r\n Math.abs((this.client.clientProfile.Spouses[0].retirementAge - this.calculateAge(this.client.clientProfile.Spouses[0].dob)) - (this.client.clientProfile.RetirementAge - this.calculateAge(this.client.client.DOB))) == 1 ) {\r\n this.client.client.DOB = new Date(new Date(this.client.client.DOB).getFullYear(), 0, 1).toLocaleDateString('en-US');\r\n this.client.clientProfile.Spouses[0].dob = new Date(new Date(this.client.clientProfile.Spouses[0].dob).getFullYear(), 0, 1).toLocaleDateString('en-US');\r\n this.includePartnerInCalculation = true;\r\n } else {\r\n this.includePartnerInCalculation = false;\r\n }\r\n } else {\r\n this.partnerActive = false;\r\n }\r\n\r\n this.displayFiveYearChart = !this.inRetirement;\r\n\r\n if(localStorage.getItem('featRiskTolerance') != 'undefined'){\r\n this.riskToleranceEnabled = JSON.parse(localStorage.getItem('featRiskTolerance'));\r\n }\r\n\r\n this.client.clientProfile.Children = JSON.parse(this.client.clientProfile.Children);\r\n \r\n this.getHCData(client);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n \r\n formatNumber(amount) {\r\n return Math.round(amount);\r\n }\r\n\r\n formatNumber2(amount) {\r\n amount = amount.toFixed(0);\r\n return Utils.formatToCurrency(amount);\r\n }\r\n\r\n handleSavingRiskToleranceHC() {\r\n let HCValues = this.getHealthcarePDfValues();\r\n HCValues.Report.ReportTypeID = 5;\r\n\r\n this.globalService.createReportHC(HCValues.Report, HCValues.ReportHC)\r\n .subscribe(\r\n resp => {\r\n this.snackBarService.add(\"Please wait while your risk tolerance healthcare report is being generated.\", 0);\r\n \r\n this.downloadReport(resp.ReportID, resp.AdvisorID, resp.ClientID, resp.CompanyCode, resp.ReportTypeID);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n handleSavingHC() {\r\n let HCValues = this.getHealthcarePDfValues();\r\n\r\n this.globalService.createReportHC(HCValues.Report, HCValues.ReportHC)\r\n .subscribe(\r\n resp => {\r\n this.snackBarService.add(\"Please wait while your healthcare report is being generated.\", 0);\r\n \r\n this.downloadReport(resp.ReportID, resp.AdvisorID, resp.ClientID, resp.CompanyCode, resp.ReportTypeID);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n getHealthcarePDfValues() {\r\n var Report = {\r\n ClientID: this.client.client.ID,\r\n AdvisorID: this.client.client.AdvisorID,\r\n CompanyCode: this.client.client.OrganizationID,\r\n ReportTypeID: 3,\r\n }\r\n\r\n\r\n var investmentItems = [];\r\n\r\n var investmentItem;\r\n\r\n var currentAge = this.calculateAge(this.client.client.DOB);\r\n var currentYear = new Date().getFullYear();\r\n\r\n for (var item in this.fundingItems) {\r\n \r\n var contribution = {\r\n Description: this.fundingItems[item].fundingSource,\r\n Begins: (this.fundingItems[item].startAge - currentAge) + currentYear,\r\n StartAmount: this.fundingItems[item].annContribution,\r\n Ends: (this.fundingItems[item].endAge - currentAge) + currentYear,\r\n Cola: this.fundingItems[item].inflationRate,\r\n }\r\n\r\n investmentItems.push(contribution);\r\n }\r\n\r\n var ReportHC = {\r\n InvestmentItems: JSON.stringify({ InvestmentItems: { Items: investmentItems}}),\r\n P_Part_A_And_B: this.hdt.nativeElement.checked ? 1 : 0,\r\n P_Part_D: this.pd.nativeElement.checked ? 1 : 0,\r\n P_MediGap: this.si.nativeElement.checked ? 1 : 0,\r\n P_Dental: this.di.nativeElement.checked ? 1 : 0,\r\n OOP_Hosp_Docs: this.hd.nativeElement.checked ? 1 : 0,\r\n OOP_Presc_Drug: this.pdrg.nativeElement.checked ? 1 : 0,\r\n OOP_Hearing_Vision: this.hvc.nativeElement.checked ? 1 : 0,\r\n OOP_Dental: this.dins.nativeElement.checked ? 1 : 0,\r\n FrmName0: this.client.client.FirstName + \" \" + this.client.client.LastName,\r\n FrmName1: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].firstName + \" \" + this.client.clientProfile.Spouses[0].lastName : \"\",\r\n FrmHasPartner: this.partnerActive,\r\n FrmQType: 1,\r\n FrmQExcercise: 1,\r\n FrmGender: this.client.client.GenderID,\r\n FrmQTypeII: this.client.clientProfile.HCT2D,\r\n FrmQTobacco: this.client.clientProfile.HCT,\r\n FrmQCancer: this.client.clientProfile.HCC,\r\n FrmQHistory: 0,\r\n FrmQCardio: this.client.clientProfile.HCCD,\r\n FrmQPhysical: 1,\r\n FrmQHighColesterol: this.client.clientProfile.HCHC,\r\n FrmQDiet: 1,\r\n FrmQHBP: this.client.clientProfile.HCHBP,\r\n FrmCurrentAge: this.calculateAge(this.client.client.DOB),\r\n\r\n FrmPlanUntil: this.hcDataV2.PlanUntilYear,\r\n FrmPlanUntil0: this.hcDataV2.PlanUntilYear,\r\n FrmPlanUntil1: this.hcDataV2.PlanUntil1 || 0,\r\n SpouseFrmPlanUntil: this.hcDataV2.PlanUntil1 || 0,\r\n\r\n SpouseFrmQTobacco: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCT ? 1 : 0 : 0,\r\n SpouseFrmQCancer: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCC ? 1 : 0 : 0,\r\n SpouseFrmQDiet: 1,\r\n SpouseFrmQCardio: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCCD ? 1 : 0 : 0,\r\n SpouseFrmQPhysical: 1,\r\n SpouseFrmGender: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].gender : 0,\r\n SpouseQHBP: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCHBP ? 1 : 0 : 0,\r\n SpouseCurrentAge: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.calculateAge(this.client.clientProfile.Spouses[0].dob) : 0 || 0,\r\n SpouseQHighColesterol: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCHC ? 1 : 0 : 0,\r\n SpouseQTypeII: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCT2D ? 1 : 0 : 0,\r\n SpouseQExcercise: 1,\r\n SpouseQHistory: 0,\r\n\r\n PaymentTotal: 0,\r\n PaymentYears: this.annualEl && this.annualEl.nativeElement ? this.annualEl.nativeElement.value : (this.annuallyWeeklyTtlYear < 10 ? 1 : 10),\r\n\r\n FrmIncome: this.hcDataV2.FrmIncome,\r\n\r\n FrmPhase1Rate: (this.p1Percent ? (Number(this.p1Percent.nativeElement.value)) : 6),\r\n FrmPhase1Periods: (this.p1EndAge ? Number(this.p1EndAge.nativeElement.value) - this.calculateAge(this.client.client.DOB) : Math.max(65 - Number(this.calculateAge(this.client.client.DOB)))),\r\n // FrmPhase1Periods: this.riskToleranceEnabled ? (this.portfolioRecommendationObject.clientAge ? (Number(this.portfolioRecommendationObject.clientAge) - this.calculateAge(this.client.client.DOB)):0): (this.p1EndAge ? Number(this.p1EndAge.nativeElement.value) - this.calculateAge(this.client.client.DOB) : Math.max(65 - Number(this.calculateAge(this.client.client.DOB)))),\r\n FrmPhase2Rate: (this.p2Percent ? (Number(this.p2Percent.nativeElement.value)) : 6),\r\n // FrmPhase2Periods: this.riskToleranceEnabled ? (this.client.clientProfile.RetirementAge ? (Number(this.client.clientProfile.RetirementAge) - Number(this.portfolioRecommendationObject.clientAge)):0): (this.p2EndAge ? (Number(this.p2EndAge.nativeElement.value) - (Number(this.p1EndAge.nativeElement.value))) : 10),\r\n FrmPhase2Periods: (this.p2EndAge ? (Number(this.p2EndAge.nativeElement.value) - (Number(this.p1EndAge.nativeElement.value))) : 10),\r\n FrmPhase3Rate: (this.p3Percent ? (Number(this.p3Percent.nativeElement.value)) : 6),\r\n\r\n // FrmPhase1Rate: this.riskToleranceEnabled ? (this.portfolioRecommendationObject.phase1Val ? Number(this.portfolioRecommendationObject.phase1Val):0): (this.p1Percent ? (Number(this.p1Percent.nativeElement.value)) : 6),\r\n // FrmPhase1Periods: this.riskToleranceEnabled ? this.getPhaseAgeDiff(1) : (this.p1EndAge ? Number(this.p1EndAge.nativeElement.value) - this.calculateAge(this.client.client.DOB) : Math.max(65 - Number(this.calculateAge(this.client.client.DOB)))),\r\n // FrmPhase2Rate: this.riskToleranceEnabled ? (this.portfolioRecommendationObject.phase2Val ? Number(this.portfolioRecommendationObject.phase2Val):0): (this.p2Percent ? (Number(this.p2Percent.nativeElement.value)) : 6),\r\n // FrmPhase2Periods: this.riskToleranceEnabled ? this.getPhaseAgeDiff(2) : (this.p2EndAge ? (Number(this.p2EndAge.nativeElement.value) - (Number(this.p1EndAge.nativeElement.value))) : 10),\r\n // FrmPhase3Rate: this.riskToleranceEnabled ? (this.portfolioRecommendationObject.phase2Val ? Number(this.portfolioRecommendationObject.phase2Val):0):(this.p3Percent ? (Number(this.p3Percent.nativeElement.value)) : 6),\r\n\r\n FrmRetireYear1: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.getRetirementYear(this.client.clientProfile.Spouses[0].retirementAge, this.client.clientProfile.Spouses[0].dob) : 0,\r\n FrmPV: this.FrmPV,\r\n FrmRetireYear0: this.getRetirementYear(this.client.clientProfile.RetirementAge, this.client.client.DOB),\r\n FrmState: this.client.clientProfile.UseNationalAverage ? '' : this.client.clientProfile.RetirementState,\r\n FrmState1: this.client.clientProfile.UseNationalAverage ? '' : this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].state : '',\r\n FrmSpouseState: this.client.clientProfile.UseNationalAverage ? '' : this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].state : '',\r\n FundCosts: this.futureTotalCost,\r\n SelfLifeExpectancy: this.client.clientProfile.LifeExpectancy || 0,\r\n SpouseLifeExpectancy: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].LifeExpectancy || 0 : 0,\r\n InvestmentOption: this.investmentOption || 1,\r\n UseNationalAverage: this.client.clientProfile.UseNationalAverage ? 1 : 0,\r\n }\r\n\r\n // if (this.riskToleranceEnabled && this.isAlreadyRetired) {\r\n // ReportHC.FrmPhase2Rate = ReportHC.FrmPhase1Rate;\r\n // ReportHC.FrmPhase2Periods = Number(this.client.clientProfile.LifeExpectancy) - Number(this.client.clientProfile.RetirementAge);\r\n // ReportHC.FrmPhase3Rate = ReportHC.FrmPhase1Rate;\r\n // }\r\n\r\n return { Report, ReportHC }\r\n }\r\n\r\n downloadReport(reportID, advisorID, clientID, orgID, reportTypeID) {\r\n this.loadingService.isLoading(true);\r\n var ReportFields = { reportID, advisorID, clientID, orgID, ReportTypeID: reportTypeID, token: localStorage.getItem(\"bearer\"), retirementAge: this.client.clientProfile.RetirementAge, spouseRetirementAge: this.client.clientProfile.Spouses[0].retirementAge || 0 };\r\n\r\n this.globalService.generateReport(ReportFields, this.client.client, ReportFields)\r\n .subscribe(\r\n resp => {\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error;\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n getRetirementYear(retirementAge, dob) {\r\n var currentAge = this.calculateAge(dob);\r\n var diff = retirementAge - currentAge;\r\n var year = new Date().getFullYear();\r\n return year + diff;\r\n }\r\n\r\n formatPercent(percentage) {\r\n return (percentage * 100).toFixed(0);\r\n }\r\n\r\n handleNewFundingItem(fundingSource: string, annContribution: any, startAge: number, endAge: number, inflationRate: number) {\r\n this.hasRiskTolBeenRan = false; \r\n \r\n //check year here\r\n if(startAge < this.currentYear){\r\n startAge = this.currentYear;\r\n }\r\n\r\n if(endAge < startAge || endAge > (this.client.clientProfile.LifeExpectancy - this.calculateAge(this.client.client.DOB)) + this.currentYear){\r\n endAge = (this.client.clientProfile.LifeExpectancy - this.calculateAge(this.client.client.DOB)) + this.currentYear;\r\n }\r\n \r\n annContribution = Utils.formatToNumber(annContribution).toFixed(0);\r\n var contributionAmount = this.getFutureContributionAmountV2(annContribution, endAge - startAge, inflationRate, startAge, null);\r\n \r\n this.fundingItems.push({\r\n fundingSource,\r\n annContribution,\r\n startAge,\r\n endAge,\r\n inflationRate,\r\n contributionAmount: this.formatNumber(contributionAmount), \r\n remainingUnfunded: this.formatNumber(this.totalRemainingGap)\r\n });\r\n\r\n\r\n this.fundingSourceInput.nativeElement.value = '';\r\n this.annContributionInput.nativeElement.value = '';\r\n this.startAgeInput.nativeElement.value = '';\r\n this.endAgeInput.nativeElement.value = '';\r\n this.inflationRateInput.nativeElement.value = ''; \r\n\r\n \r\n this.getHCData(this.client);\r\n\r\n }\r\n\r\n getFutureValue(startAmount, years, inflation) {\r\n inflation = inflation / 100;\r\n var total = 0;\r\n\r\n\r\n for (var i = 0; i <= years; i++) {\r\n total = total + startAmount * Math.pow(1 + inflation, i);\r\n }\r\n\r\n return total;\r\n }\r\n\r\n getFutureValueOfCost(startAmount, years, inflation) {\r\n return startAmount * Math.pow(1 + inflation, years);\r\n }\r\n\r\n getFutureContributionAmountV2(startAmount, years, inflation, startAge, idx) {\r\n var result = 0;\r\n\r\n for (let i = 0; i < years + 1; i++) {\r\n result = result + (startAmount * Math.pow((1 + inflation / 100), i));\r\n }\r\n\r\n return result;\r\n }\r\n\r\n getFutureContributionAmount(startAmount, years, inflation, startAge, idx) {\r\n var startingBalance = 0;\r\n var interestEarned = 0;\r\n var contribution = Number(startAmount);\r\n var endingBalance = Number(startAmount);\r\n startAge = Number(startAge);\r\n\r\n for (let i = 0; i < years; i++) {\r\n if (startAge + i <= this.p1EndAge.nativeElement.value)\r\n {\r\n startingBalance = endingBalance;\r\n interestEarned = startingBalance * (Number(this.p1Percent.nativeElement.value) / 100);\r\n contribution = contribution * (1 + (inflation / 100));\r\n endingBalance = startingBalance + interestEarned + contribution; \r\n } else if (startAge + i <= this.p2EndAge.nativeElement.value) {\r\n startingBalance = endingBalance;\r\n interestEarned = startingBalance * (Number(this.p2Percent.nativeElement.value) / 100);\r\n contribution = contribution * (1 + (inflation / 100));\r\n endingBalance = startingBalance + interestEarned + contribution; \r\n } else {\r\n startingBalance = endingBalance;\r\n interestEarned = startingBalance * (Number(this.p3Percent.nativeElement.value) / 100);\r\n contribution = contribution * (1 + (inflation / 100));\r\n endingBalance = startingBalance + interestEarned + contribution; \r\n }\r\n }\r\n\r\n if (idx != null) {\r\n this.fundingItems[idx].remainingUnfunded = Number(this.totalRemainingGap - endingBalance).toFixed(0);\r\n this.fundingItems[idx].contributionAmount = Number(endingBalance).toFixed(0);\r\n }\r\n\r\n return Number(endingBalance).toFixed(0);\r\n }\r\n\r\n onRateChange(percentValue) {\r\n \r\n //get HC data\r\n this.getHCData(this.client, this.partnerActive);\r\n\r\n //check value\r\n if(percentValue != undefined){\r\n if(percentValue.value > 12){\r\n return percentValue.value = 12;\r\n }\r\n }\r\n }\r\n\r\n public visible: boolean = true;\r\n\r\n calculateCoverageTotal(el?: any, amount?: number, isPremium?: boolean, coverageKeyName?: string[]) {\r\n this.hasRiskTolBeenRan = false;\r\n\r\n //figure out if remove the 'check all'\r\n if(el){\r\n if(!el.checked && isPremium){\r\n this.enabledAllPremiumsChecked = false;\r\n this.pcheck.nativeElement.checked = false;\r\n }\r\n\r\n if(!el.checked && !isPremium){\r\n this.enabledAllOOPChecked = false;\r\n this.oopcheck.nativeElement.checked = false;\r\n }\r\n }\r\n\r\n this.premiumExpenses = {\r\n partB: this.hdt.nativeElement.checked,\r\n partD: this.pd.nativeElement.checked,\r\n medigap: this.si.nativeElement.checked,\r\n dental: this.di.nativeElement.checked\r\n };\r\n \r\n this.outOfPocketExpenses = {\r\n hospitalization: this.hd.nativeElement.checked,\r\n docsTests: this.hd.nativeElement.checked,\r\n rx: this.pdrg.nativeElement.checked,\r\n dental: this.dins.nativeElement.checked,\r\n hearingServices: this.hvc.nativeElement.checked,\r\n vision: this.hvc.nativeElement.checked,\r\n commercial: true\r\n };\r\n\r\n \r\n\r\n if (\r\n !this.premiumExpenses.partB &&\r\n !this.premiumExpenses.partD &&\r\n !this.premiumExpenses.medigap &&\r\n !this.premiumExpenses.dental &&\r\n !this.outOfPocketExpenses.hospitalization &&\r\n !this.outOfPocketExpenses.docsTests &&\r\n !this.outOfPocketExpenses.rx &&\r\n !this.outOfPocketExpenses.dental &&\r\n !this.outOfPocketExpenses.hearingServices &&\r\n !this.outOfPocketExpenses.vision\r\n ) {\r\n this.visible = false;\r\n this.hcDataV2 = this.sample;\r\n } else {\r\n this.visible = true;\r\n this.getHCData(this.client, this.partnerActive);\r\n\r\n this.coverageTotal = el.checked ? this.coverageTotal + this.formatNumber(amount) : this.coverageTotal - this.formatNumber(amount);\r\n\r\n if (isPremium)\r\n this.premiumCoverageTotal = el.checked ? this.premiumCoverageTotal + this.formatNumber(amount) : this.premiumCoverageTotal - this.formatNumber(amount);\r\n else\r\n this.outOfPocketCoverageTotal = el.checked ? this.outOfPocketCoverageTotal + this.formatNumber(amount) : this.outOfPocketCoverageTotal - this.formatNumber(amount);\r\n\r\n this.generateLineChartData({});\r\n }\r\n }\r\n\r\n handleEditClientModal(e) {\r\n this.modalService.add('add-edit-client', { ID: this.client.client.ID });\r\n }\r\n\r\n animateValue(el, start, formattedNumber): void {\r\n var end = parseFloat(formattedNumber.shortValue);\r\n var current = start;\r\n var increment = start < 0 ? -1 : 1;\r\n var stepTime = Math.abs(1);\r\n\r\n if (formattedNumber.shortValue > 0) {\r\n el.nativeElement.innerHTML = `$${end.toFixed(2)}${formattedNumber.suffix || ''}`;\r\n \r\n } else {\r\n el.nativeElement.innerHTML = `$0`;\r\n }\r\n }\r\n\r\n roundAndFormat(num, fixed) {\r\n if (num === null) { return null; }\r\n if (num === 0) { return '0'; }\r\n fixed = (!fixed || fixed < 0) ? 0 : fixed;\r\n var b = (num).toPrecision(2).split(\"e\"),\r\n k = b.length === 1 ? 0 : Math.floor(Math.min(b[1].slice(1), 14) / 3),\r\n c = k < 1 ? num.toFixed(0 + fixed) : (num / Math.pow(10, k * 3) ).toFixed(1 + fixed),\r\n d = c < 0 ? c : Math.abs(c),\r\n e = d + ['', 'K', 'M', 'B', 'T'][k];\r\n\r\n return { shortValue: e.split(/[A-z]/)[0], suffix: e.substring(e.length - 1, e.length) };\r\n }\r\n\r\n public weeklyCost: Number = 0;\r\n public yearlyCost: Number = 0;\r\n\r\n public futureYearlyCost: Number = 0;\r\n public futureWeeklyCost: Number = 0;\r\n\r\n calcAnnualSavings(el, el2) {\r\n\r\n el2.value = el.value;\r\n\r\n this.getHCData(this.client);\r\n }\r\n\r\n calcWeeklySavings(isAnnual) {\r\n if (isAnnual)\r\n this.weeklyEl.nativeElement.value = this.annualEl.nativeElement.value;\r\n else \r\n this.annualEl.nativeElement.value = this.weeklyEl.nativeElement.value;\r\n this.getHCData(this.client);\r\n\r\n }\r\n\r\n handleIllustrationModal(e) {\r\n \r\n if (this.hcDataV2.IllustrationEntriesWithFunding) {\r\n var projectedYears = this.hcDataV2.IllustrationEntriesWithFunding.map(entry => {\r\n return {\r\n Year: this.currentYear,\r\n clientAge: this.calculateAge(this.client.client.DOB),\r\n spouseAge: (this.client.clientProfile.Spouses[0].maritalStatus == 'Married') ? this.calculateAge(this.client.clientProfile.Spouses[0].dob) : 0, \r\n BeginningBalance: Utils.formatToCurrency(entry.BeginningBalance ? entry.BeginningBalance.toFixed(0) : 0),\r\n ExpectedRateReturn: (entry.CashFlowEntry.ExpectedRor ? entry.CashFlowEntry.ExpectedRor * 100 + '%': 0),\r\n Contribution: Utils.formatToCurrency(entry.CashFlowEntry.Contribution > 0 ? entry.CashFlowEntry.Contribution.toFixed(0) : (entry.CashFlowEntry.TotalIncome + entry.CashFlowEntry.Contribution).toFixed(0)),\r\n Total: Utils.formatToCurrency(entry.CashFlowEntry.Expense ? entry.CashFlowEntry.Expense.toFixed(0) : 0),\r\n NetOfSSDeductions: Utils.formatToCurrency(entry.CashFlowEntry.Expense.toFixed(0) - entry.CashFlowEntry.HealthAllocatedIncome.toFixed(0)),\r\n EngingBalance: Utils.formatToCurrency(Math.abs((entry.EndingBalance ? entry.EndingBalance.toFixed(0) : 0))),\r\n }\r\n }); \r\n this.modalService.add('hc-projections', { Data: projectedYears });\r\n }\r\n \r\n }\r\n\r\n enabledAllPremiumsChecked = false;\r\n checkAllPremiums() {\r\n this.enabledAllPremiumsChecked = this.pcheck.nativeElement.checked;\r\n\r\n this.hdt.nativeElement.checked = this.enabledAllPremiumsChecked;\r\n this.pd.nativeElement.checked = this.enabledAllPremiumsChecked;\r\n this.si.nativeElement.checked = this.enabledAllPremiumsChecked;\r\n this.di.nativeElement.checked = this.enabledAllPremiumsChecked;\r\n\r\n this.calculateCoverageTotal();\r\n }\r\n\r\n enabledAllOOPChecked = false;\r\n checkAllOOP() {\r\n this.enabledAllOOPChecked = this.oopcheck.nativeElement.checked;\r\n\r\n this.hd.nativeElement.checked = this.enabledAllOOPChecked;\r\n this.hvc.nativeElement.checked = this.enabledAllOOPChecked;\r\n this.dins.nativeElement.checked = this.enabledAllOOPChecked;\r\n this.pdrg.nativeElement.checked = this.enabledAllOOPChecked;\r\n\r\n this.calculateCoverageTotal();\r\n }\r\n\r\n onRateSelected(rate) {\r\n if (rate === 1)\r\n this.investmentOption = 1;\r\n else if (rate === 2)\r\n this.investmentOption = 2;\r\n else if (rate === 3)\r\n this.investmentOption = 3;\r\n\r\n this.getHCData(this.client);\r\n }\r\n\r\n \r\n valueToggle(e) {\r\n this.FrmPV = Number(e.target.value);\r\n this.getHCData(this.client, this.partnerActive);\r\n }\r\n\r\n formatCurrency(val) {\r\n return Utils.formatToCurrency(Utils.formatToNumber(val<0?0:val));\r\n }\r\n \r\n formatNumber3(val) {\r\n\r\n return Utils.formatToNumber(val);\r\n }\r\n\r\n formatNumber4(val1) {\r\n\r\n return Utils.formatToNumber(val1);\r\n }\r\n\r\n textCheck() {\r\n if (this.fundingSource) {\r\n this.showFundingBorder = false;\r\n } else {\r\n this.showFundingBorder = true;\r\n }\r\n\r\n if ((this.annContribution) && (this.annContribution >= 100 && this.annContribution <= 1000000)) {\r\n this.showAnnContrBorder = false;\r\n } else {\r\n this.showAnnContrBorder = true;\r\n } \r\n\r\n if (this.startAge) {\r\n this.showStartAgeBorder = false;\r\n } else {\r\n this.showStartAgeBorder = true;\r\n }\r\n\r\n if (this.endAge) {\r\n this.showEndAgeBorder = false;\r\n } else {\r\n this.showEndAgeBorder = true;\r\n }\r\n\r\n if (this.inflationRate) {\r\n this.showInflationBorder = false;\r\n } else {\r\n this.showInflationBorder = true;\r\n }\r\n if (!this.fundingSource && !this.annContribution && !this.startAge && !this.endAge && !this.inflationRate) {\r\n this.showFundingBorder = false;\r\n this.showAnnContrBorder = false;\r\n this.showStartAgeBorder = false;\r\n this.showEndAgeBorder = false;\r\n this.showInflationBorder = false;\r\n }\r\n\r\n }\r\n\r\n public hasRiskTolBeenRan: boolean = false;\r\n\r\n getPortfolioRecommendation() {\r\n if(localStorage.getItem('featRiskTolerance') == 'undefined'){\r\n return;\r\n }\r\n\r\n if (JSON.parse(localStorage.getItem('featRiskTolerance')) && !this.hasRiskTolBeenRan) {\r\n let unfundeHealthCareCost = 0;\r\n unfundeHealthCareCost = this.currentRemainingTotalForRiskTolPort ? this.currentRemainingTotalForRiskTolPort: 0;\r\n for(var item of this.fundingItems) {\r\n \r\n if (item.remainingUnfunded) {\r\n unfundeHealthCareCost += item.remainingUnfunded;\r\n }\r\n }\r\n let isClientRetiringFirst = this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? Number(this.client.clientProfile.RetirementAge - this.calculateAge(this.client.client.DOB)) <= Number(this.client.clientProfile.Spouses[0].retirementAge - this.calculateAge(this.client.clientProfile.Spouses[0].dob)) : true;\r\n let isClientRetired = this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ?(Number(this.client.clientProfile.RetirementAge - this.calculateAge(this.client.client.DOB)) < 0 ? true: false) :false ;\r\n\t\t\tlet isSpouseRetired = this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ?(Number(this.client.clientProfile.Spouses[0].retirementAge - this.calculateAge(this.client.clientProfile.Spouses[0].dob)) < 0 ? true: false) :false ;\r\n let clientAge = '';\r\n let clientRetirementAge = '';\r\n\r\n if((isClientRetired && isSpouseRetired) || (!isClientRetired && !isSpouseRetired)) {\r\n clientAge = isClientRetiringFirst ? JSON.stringify(this.calculateAge(this.client.client.DOB)) : JSON.stringify(this.calculateAge(this.client.clientProfile.Spouses[0].dob));\r\n clientRetirementAge = isClientRetiringFirst ? JSON.stringify(this.client.clientProfile.RetirementAge) : this.client.clientProfile.Spouses[0].retirementAge;\r\n } else if (isClientRetired) {\r\n clientAge = JSON.stringify(this.calculateAge(this.client.clientProfile.Spouses[0].dob));\r\n clientRetirementAge = this.client.clientProfile.Spouses[0].retirementAge;\r\n } else {\r\n clientAge = JSON.stringify(this.calculateAge(this.client.client.DOB));\r\n clientRetirementAge = JSON.stringify(this.client.clientProfile.RetirementAge);\r\n }\r\n var riskTolerance = {\r\n ClientID: localStorage.getItem('selectedClient'),\r\n ClientAge: clientAge,\r\n ClientRetirementAge: clientRetirementAge,\r\n estimateLifeTimeCostInFuture: JSON.stringify(this.futureTotalCost),\r\n unfundedHealthCareCost: JSON.stringify(unfundeHealthCareCost)\r\n }\r\n this.globalService.getRiskTolerancePortfolio(riskTolerance).subscribe(\r\n resp => {\r\n let clientRealAge = JSON.stringify(this.calculateAge(this.client.client.DOB));\r\n if (resp.PhaseOneRecommend) {\r\n this.portfolioRecommendationVisible = true;\r\n }\r\n this.portfolioRecommendationObject = {\r\n year: String(isClientRetiringFirst ? this.getRetirementYear(this.client.clientProfile.RetirementAge, this.client.client.DOB) : this.getRetirementYear(this.client.clientProfile.Spouses[0].retirementAge, this.client.clientProfile.Spouses[0].dob)),\r\n phase1Portfolio: resp.PhaseOneRecommend,\r\n phase2Portfolio: resp.PhaseTwoRecommend,\r\n phase1Val: resp.PhaseOneROR,\r\n phase2Val: resp.PhaseTwoROR,\r\n clientAge: clientAge,\r\n spouseAge: this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? `${this.calculateAge(this.client.clientProfile.Spouses[0].dob)}` : '0' ,\r\n clientRetirementAge: clientRetirementAge,\r\n spouseRetirementAge: this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? this.client.clientProfile.Spouses[0].retirementAge : '0' ,\r\n singleInvestment: (resp.SingleInvestment && resp.SingleInvestment != 0) ? Utils.formatToCurrency(resp.SingleInvestment) : this.portfolioRecommendationObject.singleInvestment,\r\n unfundedAmount: this.futureTotalCost ? String(Utils.formatToCurrency(this.futureTotalCost)): '$0',\r\n isMarried: this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? true: false,\r\n clientRealAge: clientRealAge,\r\n clientRealRetirementAge: this.client.clientProfile.RetirementAge,\r\n spouseFirstName: this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? this.client.clientProfile.Spouses[0].firstName: '',\r\n spouseLastName: this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? this.client.clientProfile.Spouses[0].lastName: '',\r\n hcReport: this.HCReport,\r\n user: this.user\r\n }\r\n if (Number(clientAge) >= Number(this.client.clientProfile.RetirementAge)) {\r\n this.isAlreadyRetired = true;\r\n } else {\r\n this.isAlreadyRetired = false;\r\n }\r\n\r\n this.hasRiskTolBeenRan = true;\r\n // this.getHCData(this.client, this.partnerActive, true);\r\n },\r\n error => {\r\n this.error = error;\r\n });\r\n }\r\n }\r\n\r\n handleAssetManagementModal(event) {\r\n //clear on call\r\n localStorage.removeItem('riskTolReportObject');\r\n\r\n //reset\r\n var report = this.getHealthcarePDfValues();\r\n localStorage.setItem('riskTolReportObject', JSON.stringify(report));\r\n console.log('this.portfolioRecommendationObject', this.portfolioRecommendationObject)\r\n this.modalService.add('risk-tolerance', {ID: this.client.client.ID, FirstName: this.client.client.FirstName, LastName: this.client.client.LastName,\r\n AdvisorFee: this.client.client.ProgramFeePercent, TotalSocialSecurity: this.totalSocialSecurity, FurureTotalCost: this.futureTotalCost, PortfolioRecommendationObject: this.portfolioRecommendationObject, Page: 'HC'});\r\n }\r\n}","module.exports = \":host {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.metrics {\\r\\n display: flex;\\r\\n justify-content: left;\\r\\n padding: 20px;\\r\\n}\\r\\n\\r\\n.metric-item {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: left;\\r\\n justify-content: space-around;\\r\\n /* max-width: 200px; */\\r\\n margin-right: 25px;\\r\\n}\\r\\n\\r\\n.scroll {\\r\\n height: 100%;\\r\\n overflow-y: scroll;\\r\\n}\\r\\n\\r\\n.metric-title {\\r\\n color: #555;\\r\\n font-size: 1rem;\\r\\n}\\r\\n\\r\\n.metric-val {\\r\\n color: #E58929;\\r\\n font-weight: bold;\\r\\n font-size: 3rem;\\r\\n}\\r\\n\\r\\n.tables {\\r\\n /* display: flex;\\r\\n flex-wrap: wrap; */\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.leads, .reports, .active-advisors, .inactive-advisors {\\r\\n /* flex: 1 0 500px; */\\r\\n flex: 1;\\r\\n /* padding: 20px; */\\r\\n}\\r\\n\\r\\n.active-advisors {\\r\\n padding: 20px 0 0 20px;\\r\\n}\\r\\n\\r\\n.reports {\\r\\n padding: 0 0 0 20px;\\r\\n}\\r\\n\\r\\n.leads {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n min-width: 350px;\\r\\n height: 300px;\\r\\n}\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.table-title {\\r\\n color: #555;\\r\\n font-size: 1rem;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.group {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.group2 {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n padding-left: 20px;\\r\\n}\\r\\n\\r\\n.educational-material {\\r\\n width: 250px;\\r\\n height: 230px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n font-size: 0.85rem;\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n.educational-material .edu-container {\\r\\n background-color: #fff;\\r\\n font-size: 0.9rem;\\r\\n padding: 15px 10px 15px 10px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.educational-material .edu-container a {\\r\\n color: #E58929;\\r\\n}\\r\\n\\r\\n.educational-material .banner {\\r\\n height: 125px;\\r\\n width: 250px;\\r\\n background-image: url('/assets/images/temp/marketing_materials.jpg');\\r\\n background-size: cover;\\r\\n}\\r\\n\\r\\n.info-material {\\r\\n width: 250px;\\r\\n height: 230px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n font-size: 0.85rem;\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n.info-material .edu-container {\\r\\n background-color: #fff;\\r\\n font-size: 0.9rem;\\r\\n padding: 15px 10px 15px 10px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.info-material .edu-container a {\\r\\n color: #E58929;\\r\\n}\\r\\n\\r\\n.info-material .banner {\\r\\n height: 125px;\\r\\n width: 250px;\\r\\n background-image: url('/assets/images/temp/info-center.jpg');\\r\\n background-size: cover;\\r\\n}\\r\\n\\r\\n.action-item {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.timeline-Header-title {\\r\\n font-size: 0.9rem!important;\\r\\n}\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n /* width: 200px; */\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.dashboard-buttons {\\r\\n display: flex;\\r\\n padding: 20px 0 20px 0;\\r\\n}\\r\\n\\r\\nhr {\\r\\n margin: 0 20px 0 20px;\\r\\n opacity: 0.25;\\r\\n}\\r\\n\\r\\n.top-bar-grp {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.top-bar-grp a, .top-bar-grp i {\\r\\n color: #E58929;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.dashboard-buttons a {\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n@media (max-width:641px) {\\r\\n .metrics {\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-between;\\r\\n }\\r\\n\\r\\n .metric-title {\\r\\n font-size: 14px;\\r\\n }\\r\\n\\r\\n .metric-val {\\r\\n font-size: 18px;\\r\\n }\\r\\n\\r\\n .metric-item {\\r\\n max-width: 120px;\\r\\n }\\r\\n\\r\\n .tables {\\r\\n flex-wrap: wrap;\\r\\n }\\r\\n\\r\\n .group2 {\\r\\n flex-wrap: wrap;\\r\\n padding: 0px!important;\\r\\n margin-left: 20px;\\r\\n }\\r\\n\\r\\n .dashboard-buttons div {\\r\\n width: 150px;\\r\\n }\\r\\n\\r\\n .dashboard-buttons a {\\r\\n width: 175px;\\r\\n }\\r\\n\\r\\n .scroll {\\r\\n overflow-x: hidden;\\r\\n }\\r\\n\\r\\n\\r\\n .educational-material {\\r\\n margin: 0!important;\\r\\n padding-top: 25px;\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n .banner {\\r\\n width: 100%!important;\\r\\n }\\r\\n\\r\\n .recent-tweets {\\r\\n width: 100%!important;\\r\\n \\r\\n }\\r\\n\\r\\n .recent-tweets .scroll{\\r\\n height: 95% !important; \\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2hvbWUvaG9tZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHFCQUFxQjtJQUNyQixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsNkJBQTZCO0lBQzdCLHNCQUFzQjtJQUN0QixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSTtzQkFDa0I7SUFDbEIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixPQUFPO0lBQ1AsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIseUJBQXlCO0lBQ3pCLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsT0FBTztBQUNYOztBQUVBO0lBQ0ksYUFBYTtJQUNiLE9BQU87SUFDUCxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtJQUNiLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0QixpQkFBaUI7SUFDakIsNEJBQTRCO0lBQzVCLGFBQWE7SUFDYixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFlBQVk7SUFDWixvRUFBb0U7SUFDcEUsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGFBQWE7SUFDYixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsaUJBQWlCO0lBQ2pCLDRCQUE0QjtJQUM1QixhQUFhO0lBQ2Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixZQUFZO0lBQ1osNERBQTREO0lBQzVELHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCwwQkFBMEI7SUFDMUIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLDJCQUEyQjtBQUMvQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsZUFBZTtJQUNmLGFBQWE7SUFDYixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLGNBQWM7SUFDZCxlQUFlO0FBQ25COztBQUVBO0lBQ0kscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0k7UUFDSSxlQUFlO1FBQ2YsOEJBQThCO0lBQ2xDOztJQUVBO1FBQ0ksZUFBZTtJQUNuQjs7SUFFQTtRQUNJLGVBQWU7SUFDbkI7O0lBRUE7UUFDSSxnQkFBZ0I7SUFDcEI7O0lBRUE7UUFDSSxlQUFlO0lBQ25COztJQUVBO1FBQ0ksZUFBZTtRQUNmLHNCQUFzQjtRQUN0QixpQkFBaUI7SUFDckI7O0lBRUE7UUFDSSxZQUFZO0lBQ2hCOztJQUVBO1FBQ0ksWUFBWTtJQUNoQjs7SUFFQTtRQUNJLGtCQUFrQjtJQUN0Qjs7O0lBR0E7UUFDSSxtQkFBbUI7UUFDbkIsaUJBQWlCO1FBQ2pCLFdBQVc7SUFDZjs7SUFFQTtRQUNJLHFCQUFxQjtJQUN6Qjs7SUFFQTtRQUNJLHFCQUFxQjs7SUFFekI7O0lBRUE7S0FDQyxzQkFBc0I7SUFDdkI7QUFDSiIsImZpbGUiOiIuLi9ob21lL2hvbWUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5tZXRyaWNzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG59XHJcblxyXG4ubWV0cmljLWl0ZW0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICAvKiBtYXgtd2lkdGg6IDIwMHB4OyAqL1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xyXG59XHJcblxyXG4uc2Nyb2xsIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG5cclxuLm1ldHJpYy10aXRsZSB7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuLm1ldHJpYy12YWwge1xyXG4gICAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxufVxyXG5cclxuLnRhYmxlcyB7XHJcbiAgICAvKiBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwOyAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmxlYWRzLCAucmVwb3J0cywgLmFjdGl2ZS1hZHZpc29ycywgLmluYWN0aXZlLWFkdmlzb3JzIHtcclxuICAgIC8qIGZsZXg6IDEgMCA1MDBweDsgKi9cclxuICAgIGZsZXg6IDE7XHJcbiAgICAvKiBwYWRkaW5nOiAyMHB4OyAqL1xyXG59XHJcblxyXG4uYWN0aXZlLWFkdmlzb3JzIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMCAwIDIwcHg7XHJcbn1cclxuXHJcbi5yZXBvcnRzIHtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XHJcbn1cclxuXHJcbi5sZWFkcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1pbi13aWR0aDogMzUwcHg7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnRhYmxlLXRpdGxlIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG59XHJcblxyXG50ZCwgdGgge1xyXG4gICAgYm9yZGVyOiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLmdyb3VwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleDogMTtcclxufVxyXG5cclxuLmdyb3VwMiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMTtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxufVxyXG5cclxuLmVkdWNhdGlvbmFsLW1hdGVyaWFsIHtcclxuICAgIHdpZHRoOiAyNTBweDtcclxuICAgIGhlaWdodDogMjMwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG4uZWR1Y2F0aW9uYWwtbWF0ZXJpYWwgLmVkdS1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgcGFkZGluZzogMTVweCAxMHB4IDE1cHggMTBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uZWR1Y2F0aW9uYWwtbWF0ZXJpYWwgLmVkdS1jb250YWluZXIgYSB7XHJcbiAgICBjb2xvcjogI0U1ODkyOTtcclxufVxyXG5cclxuLmVkdWNhdGlvbmFsLW1hdGVyaWFsIC5iYW5uZXIge1xyXG4gICAgaGVpZ2h0OiAxMjVweDtcclxuICAgIHdpZHRoOiAyNTBweDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvdGVtcC9tYXJrZXRpbmdfbWF0ZXJpYWxzLmpwZycpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxufVxyXG5cclxuLmluZm8tbWF0ZXJpYWwge1xyXG4gICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgaGVpZ2h0OiAyMzBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5pbmZvLW1hdGVyaWFsIC5lZHUtY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIHBhZGRpbmc6IDE1cHggMTBweCAxNXB4IDEwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmluZm8tbWF0ZXJpYWwgLmVkdS1jb250YWluZXIgYSB7XHJcbiAgICBjb2xvcjogI0U1ODkyOTtcclxufVxyXG5cclxuLmluZm8tbWF0ZXJpYWwgLmJhbm5lciB7XHJcbiAgICBoZWlnaHQ6IDEyNXB4O1xyXG4gICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy90ZW1wL2luZm8tY2VudGVyLmpwZycpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxufVxyXG5cclxuLmFjdGlvbi1pdGVtIHtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi50aW1lbGluZS1IZWFkZXItdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW0haW1wb3J0YW50O1xyXG59XHJcblxyXG4uY3JlYXRlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICAvKiB3aWR0aDogMjAwcHg7ICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5jcmVhdGUgYnV0dG9uIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIC8qIGhlaWdodDogMzVweDsgKi9cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4uY3JlYXRlIGkge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLmRhc2hib2FyZC1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDAgMjBweCAwO1xyXG59XHJcblxyXG5ociB7XHJcbiAgICBtYXJnaW46IDAgMjBweCAwIDIwcHg7XHJcbiAgICBvcGFjaXR5OiAwLjI1O1xyXG59XHJcblxyXG4udG9wLWJhci1ncnAge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLnRvcC1iYXItZ3JwIGEsIC50b3AtYmFyLWdycCBpIHtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG4uZGFzaGJvYXJkLWJ1dHRvbnMgYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOjY0MXB4KSB7XHJcbiAgICAubWV0cmljcyB7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIH1cclxuXHJcbiAgICAubWV0cmljLXRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1ldHJpYy12YWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuXHJcbiAgICAubWV0cmljLWl0ZW0ge1xyXG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYmxlcyB7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIC5ncm91cDIge1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBwYWRkaW5nOiAwcHghaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXNoYm9hcmQtYnV0dG9ucyBkaXYge1xyXG4gICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZGFzaGJvYXJkLWJ1dHRvbnMgYSB7XHJcbiAgICAgICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zY3JvbGwge1xyXG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLmVkdWNhdGlvbmFsLW1hdGVyaWFsIHtcclxuICAgICAgICBtYXJnaW46IDAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5iYW5uZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAucmVjZW50LXR3ZWV0cyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIC5yZWNlbnQtdHdlZXRzIC5zY3JvbGx7XHJcbiAgICAgaGVpZ2h0OiA5NSUgIWltcG9ydGFudDsgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiJdfQ== */\"","module.exports = \"
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n 0\\\">\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Potential Increase in Disposable Income\\r\\n \\r\\n \\r\\n ${{disposableTotal && disposableTotal.shortValue ? disposableTotal.shortValue + disposableTotal.suffix : 0}}\\r\\n
\\r\\n
\\r\\n Cumulative Health Care Costs\\r\\n \\r\\n \\r\\n ${{cumulativeHCC && cumulativeHCC.shortValue ? cumulativeHCC.shortValue + cumulativeHCC.suffix : 0}}\\r\\n
\\r\\n
\\r\\n Clients Added\\r\\n \\r\\n \\r\\n {{clientsAdded}}\\r\\n
\\r\\n
\\r\\n Reports Created\\r\\n \\r\\n \\r\\n {{reportsCreated}}\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Recent Reports\\r\\n
\\r\\n \\r\\n VIEW ALL\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Client NameReport TypeDateView
{{report.clientName}}{{report.reportType}}{{formatDate(report.date)}}\\r\\n Download\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Recent Clients \\r\\n
\\r\\n \\r\\n VIEW ALL\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
NameEmailPhone
{{client.name}}{{client.email}}{{client.phone}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Marketing Materials\\r\\n
\\r\\n
\\r\\n Sales-focused and informational content for clients and prospects.\\r\\n Browse Materials\\r\\n
\\r\\n
\\r\\n
\\r\\n Info. Center\\r\\n
\\r\\n
\\r\\n A wealth of knowledge at your fingertips.\\r\\n Browse Materials\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { GlobalService } from '../services/global.service';\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\nimport { ModalService } from '../shared/modal/modal.service';\r\nimport { LoadingService } from '../shared/loading/loading.service';\r\n\r\nimport Utils from '../shared/utility';\r\n\r\n// import { animateNumber } from '../../assets/tools/util';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n public error: any;\r\n public leads;\r\n public reports: any;\r\n public activeAdvisors: any;\r\n public inactiveAdvisors: any;\r\n\r\n public allClients: any;\r\n public allReports: any;\r\n\r\n public clientsAdded: number = 0;\r\n public totalClients: number = 0;\r\n\r\n public reportsCreated: number = 0;\r\n\r\n public recentClients: any = [];\r\n public recentReports: any = [];\r\n\r\n public clientIncomeAddedMessage: string = \"This metric is an approximate combination of two elements effective March 5, 2018: Social Security benefit improvements (estimated by subtracting Earliest total from Alternate total), and income added back due to reduction or elimination of Medicare means testing surcharges (taken from Surcharge Savings output).\";\r\n public healthLTCPreparedMessage: string = \"This metric is the approximate total health care costs calculated throughout all client reports effective March 5, 2018.\";\r\n public clientsAddedMessage: string = \"This metric measures the total households of clients that have been added within this platform.\";\r\n public reportsCreatedMessage: string = \"This metric measures the total reports which have been created within this platform that have not been archived.\";\r\n\r\n // public recentClients: any;\r\n\r\n public selectedClient: any;\r\n\r\n \r\n\r\n constructor(private globalService: GlobalService, private snackBarService: SnackBarService, private modalService: ModalService, private loadingService: LoadingService) {\r\n modalService.modal$.subscribe((modal) => {\r\n if (modal.modalName == 'add-edit-clientClosed') {\r\n this.recentClients = [];\r\n this.getClients();\r\n }\r\n });\r\n }\r\n\r\n getMetrics() {\r\n this.globalService.getMetrics()\r\n .subscribe(\r\n resp => {\r\n // console.log(resp);\r\n\r\n var ssReportsByClient = [];\r\n var hcReportsByClient = [];\r\n var mmtReportsByClient = [];\r\n\r\n for (var report in resp.hcReports) {\r\n if (!hcReportsByClient[resp.hcReports[report].r.ClientID]) {\r\n hcReportsByClient[resp.hcReports[report].r.ClientID] = [];\r\n hcReportsByClient[resp.hcReports[report].r.ClientID].push(resp.hcReports[report]);\r\n } else {\r\n hcReportsByClient[resp.hcReports[report].r.ClientID].push(resp.hcReports[report]);\r\n }\r\n }\r\n\r\n var hcReportMetric = 0;\r\n\r\n for (var client in hcReportsByClient) {\r\n if (hcReportsByClient[client][hcReportsByClient[client].length - 1].hc.FundCosts) {\r\n hcReportMetric = hcReportMetric + hcReportsByClient[client][hcReportsByClient[client].length - 1].hc.FundCosts;\r\n }\r\n }\r\n\r\n for (var report in resp.mmtReports) {\r\n if (!mmtReportsByClient[resp.mmtReports[report].r.ClientID]) {\r\n mmtReportsByClient[resp.mmtReports[report].r.ClientID] = [];\r\n mmtReportsByClient[resp.mmtReports[report].r.ClientID].push(resp.mmtReports[report]);\r\n } else {\r\n mmtReportsByClient[resp.mmtReports[report].r.ClientID].push(resp.mmtReports[report]);\r\n }\r\n }\r\n\r\n var mmtReportMetric = 0;\r\n\r\n for (var client in mmtReportsByClient) {\r\n if (mmtReportsByClient[client][mmtReportsByClient[client].length - 1].mmt.SurchargeSavings) {\r\n mmtReportMetric = mmtReportMetric + mmtReportsByClient[client][mmtReportsByClient[client].length - 1].mmt.SurchargeSavings;\r\n }\r\n }\r\n\r\n for (var report in resp.ssReports) {\r\n if (!ssReportsByClient[resp.ssReports[report].r.ClientID]) {\r\n ssReportsByClient[resp.ssReports[report].r.ClientID] = [];\r\n ssReportsByClient[resp.ssReports[report].r.ClientID].push(resp.ssReports[report]);\r\n } else {\r\n ssReportsByClient[resp.ssReports[report].r.ClientID].push(resp.ssReports[report]);\r\n }\r\n }\r\n\r\n var ssReportMetric = 0;\r\n\r\n for (var client in ssReportsByClient) {\r\n // console.log(ssReportsByClient[client][ssReportsByClient[client].length - 1]);\r\n\r\n if (ssReportsByClient[client][ssReportsByClient[client].length - 1].ss.AddedSocialBenefit) {\r\n // console.log(ssReportsByClient[client][ssReportsByClient[client].length - 1].ss.AddedSocialBenefit);\r\n ssReportMetric = ssReportMetric + ssReportsByClient[client][ssReportsByClient[client].length - 1].ss.AddedSocialBenefit;\r\n }\r\n }\r\n\r\n // console.log(ssReportMetric);\r\n\r\n var chcc = this.roundAndFormat(hcReportMetric, 0);\r\n var dt = this.roundAndFormat(ssReportMetric + mmtReportMetric, 0);\r\n\r\n this.cumulativeHCC = chcc; //.shortValue ? chcc.shortValue + chcc.suffix : 0\r\n this.disposableTotal = dt; //.shortValue ? dt.shortValue + dt.suffix : 0\r\n\r\n // this.animateValue(this.totalPremiumsEl, 0, this.roundAndFormat(tp, 0));\r\n // this.animateValue(this.totalPremiumsEl, 0, this.roundAndFormat(tp, 0));\r\n\r\n\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n roundAndFormat(num, fixed) {\r\n if (num === null) { return null; }\r\n if (num === 0) { return '0'; }\r\n fixed = (!fixed || fixed < 0) ? 0 : fixed;\r\n var b = (num).toPrecision(2).split(\"e\"),\r\n k = b.length === 1 ? 0 : Math.floor(Math.min(b[1].slice(1), 14) / 3),\r\n c = k < 1 ? num.toFixed(0 + fixed) : (num / Math.pow(10, k * 3) ).toFixed(1 + fixed),\r\n d = c < 0 ? c : Math.abs(c),\r\n e = d + ['', 'K', 'M', 'B', 'T'][k];\r\n\r\n return { shortValue: e.split(/[A-z]/)[0], suffix: e.substring(e.length - 1, e.length) };\r\n }\r\n\r\n public disposableTotal: any;\r\n public cumulativeHCC: any;\r\n\r\n ngOnInit() {\r\n if(localStorage.getItem('featHomeOffice') != 'undefined'){\r\n this.globalService.featHomeOffice = JSON.parse(localStorage.getItem('featHomeOffice'));\r\n }\r\n this.loadingService.isLoading(true);\r\n this.getClients();\r\n this.getReports();\r\n this.getMetrics();\r\n }\r\n\r\n getClients() {\r\n \r\n this.globalService.getClientsData()\r\n .subscribe(\r\n clients => {\r\n this.clientsAdded = Utils.formatNumber(clients.length);\r\n this.totalClients = clients.length;\r\n this.allClients = clients.map((item) => {\r\n if (item.c) {\r\n return {\r\n name: item.c.FirstName + \" \" + item.c.LastName,\r\n email: item.c.Email,\r\n phone: item.c.Phone || '--',\r\n }\r\n } else {\r\n return {\r\n name: item.FirstName + \" \" + item.LastName,\r\n email: item.Email,\r\n phone: item.Phone || '--',\r\n }\r\n }\r\n \r\n });\r\n\r\n this.allClients = this.allClients.reverse();\r\n \r\n for (var i = 0; i < 5; i++) {\r\n if (this.allClients[i]) {\r\n this.recentClients.push(this.allClients[i]);\r\n } else {\r\n this.recentClients.push({\r\n name: '--',\r\n email: '--',\r\n phone: '--',\r\n });\r\n }\r\n }\r\n },\r\n error => {\r\n this.error = error\r\n \r\n });\r\n }\r\n\r\n getReports() {\r\n this.globalService.getReportsData()\r\n .subscribe(\r\n reports => {\r\n var allReports = [];\r\n\r\n for (var type in reports) {\r\n reports[type].forEach((report) => {\r\n allReports.push(report);\r\n });\r\n }\r\n\r\n // console.log(allReports);\r\n\r\n this.reportsCreated = Utils.formatNumber(allReports.length);\r\n\r\n this.allReports = allReports.map((item) => {\r\n return {\r\n firstName: item.c.FirstName ,\r\n lastName: item.c.LastName,\r\n clientName: item.c.FirstName + \" \" + item.c.LastName,\r\n reportType: Utils.formatReportTypeID(item.r.ReportTypeID),\r\n reportTypeID: item.r.ReportTypeID,\r\n date: item.r.Created_Date,\r\n reportID: item.r.ReportID,\r\n clientID: item.c.ID,\r\n advisorID: item.r.AdvisorID,\r\n companyCode: item.r.CompanyCode,\r\n }\r\n });\r\n\r\n\r\n this.allReports = this.allReports.sort((d1, d2) => {\r\n return Number(new Date(d2.date)) - Number(new Date(d1.date));\r\n });\r\n\r\n for (var i = 0; i < 5; i++) {\r\n if (this.allReports[i]) {\r\n this.recentReports.push(this.allReports[i]);\r\n } else {\r\n this.recentReports.push({\r\n clientName: '--',\r\n reportType: '--',\r\n date: '--',\r\n });\r\n }\r\n }\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error;\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n downloadReport(e, report) {\r\n \r\n var reportID = report.reportID;\r\n var advisorID = report.advisorID;\r\n var clientID = report.clientID;\r\n var orgID = report.companyCode;\r\n var reportTypeID = report.reportTypeID;\r\n\r\n var ReportFields = { reportID, advisorID, clientID, orgID, reportTypeID, token: localStorage.getItem(\"bearer\") };\r\n this.snackBarService.add(`Downloading your ${Utils.formatReportTypeID(reportTypeID)} report`, 0);\r\n \r\n this.loadingService.isLoading(true);\r\n\r\n this.globalService.generateReport(ReportFields, report, ReportFields)\r\n .subscribe(\r\n resp => {\r\n // console.log('downloading report');\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n // formatReportTypeID(ReportTypeID: number) {\r\n // return ReportTypeID == 1 ? 'Social Security' : ReportTypeID == 2 ? 'Medicare Means Testing' : 'Healthcare'\r\n // }\r\n\r\n formatDate(date) {\r\n date = new Date(date);\r\n return date > 1/1/1900 ? (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear() : '--';\r\n }\r\n\r\n handleCreateClientModal(e) {\r\n this.modalService.add('add-edit-client', { ID: 0 });\r\n }\r\n\r\n handleCreateAdvisorModal(e) {\r\n this.modalService.add('create-advisor', { ID: 0 });\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 100%;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.scroll {\\r\\n height: 100%;\\r\\n overflow-y: scroll;\\r\\n}\\r\\n\\r\\n.header {\\r\\n height: 200px;\\r\\n background-image: url('/assets/images/temp/info-banner.jpg');\\r\\n display: flex;\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: left;\\r\\n color: #555;\\r\\n margin: 25px;\\r\\n padding: 25px;\\r\\n\\r\\n}\\r\\n\\r\\n.section {\\r\\n flex: 1;\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.action-item {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.sub {\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.last-section {\\r\\n margin-bottom: 100px;\\r\\n}\\r\\n\\r\\n.file-select {\\r\\n height: 22px!important;\\r\\n background-color: #f5f5f5!important;\\r\\n max-width: 100px;\\r\\n color: transparent!important;\\r\\n}\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n /* width: 200px; */\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n margin-left: 25px;\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n \\r\\n}\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.seperator {\\r\\n height: 1px;\\r\\n /* width: 30%; */\\r\\n background-color: #d5d5d5;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 2rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.sub-title {\\r\\n font-size: 0.8rem;\\r\\n color: #555;\\r\\n width: 70%;\\r\\n line-height: 1.5rem;\\r\\n}\\r\\n\\r\\n.action-link {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.browser-alert {\\r\\n position: absolute;\\r\\n z-index: 1000;\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n background-color: rgba(0,0,0,0.75);\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n top: 0;\\r\\n left: 0;\\r\\n }\\r\\n\\r\\n.delete-message{\\r\\n width: 300px !important;\\r\\n}\\r\\n\\r\\n.welcome-message {\\r\\n width: 500px;\\r\\n /* height: 100px; */\\r\\n margin: 0 auto;\\r\\n position: relative;\\r\\n background-color: #f5f5f5;\\r\\n left: 0;\\r\\n right: 0;\\r\\n top: 30%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n padding: 25px;\\r\\n text-align: left;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.welcome-message .title {\\r\\n font-size: 18px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.welcome-message .info {\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.alert-icon i {\\r\\n font-size: 3rem;\\r\\n color: #F08080;\\r\\n}\\r\\n\\r\\n.alert-title {\\r\\n font-size: 16px;\\r\\n /* text-align: center; */\\r\\n display: block;\\r\\n /* padding: 10px; */\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n\\r\\n.selected-material {\\r\\n font-size: 12px;\\r\\n background-color: #d5d5d5;\\r\\n padding: 10px;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.close-container {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 0;\\r\\n padding: 15px;\\r\\n color: #E58929;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.close-container i {\\r\\n font-size: 1.3em;\\r\\n}\\r\\n\\r\\n.alert-box{\\r\\n padding-right: 20px;\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n\\r\\n.alert-btn {\\r\\n background-color: #E58929;\\r\\n /* width: 150px; */\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.alert-btn button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.alert-btn i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.buttons {\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.edit-toggle {\\r\\n display: block;\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doc-area textarea {\\r\\n width: 100%;\\r\\n height: 150px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.plus-icon {\\r\\n font-size: 3rem;\\r\\n color: #28a745;\\r\\n}\\r\\n\\r\\n.approve {\\r\\n color: #28a745;\\r\\n}\\r\\n\\r\\n.edit {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.drag-active:hover {\\r\\n background-color: #f5f5f5;\\r\\n border: 1px #555 solid;\\r\\n /* box-shadow: 2x 2px 4px 4px #ccc; */\\r\\n}\\r\\n\\r\\n.row-move {\\r\\n cursor: move;\\r\\n}\\r\\n\\r\\n.row-move:hover {\\r\\n background-color: #e5e5e5;\\r\\n}\\r\\n\\r\\n.doc-area {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.doc-descr {\\r\\n margin: 10px;\\r\\n padding: 5px;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.add-btn {\\r\\n background-color: #d5d5d5;\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n padding: 15px;\\r\\n width: 220px;\\r\\n margin-top: 15px;\\r\\n width: 97%;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.remove-toggle {\\r\\n display: block;\\r\\n width: 12px;\\r\\n height: 12px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n border: 1px #777 solid;\\r\\n border-radius: 3px;\\r\\n font-size: 10px;\\r\\n color: #777;\\r\\n margin: 4px 10px 0 5px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2luZm8tY2VudGVyL2luZm8tY2VudGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFdBQVc7SUFDWCxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLDREQUE0RDtJQUM1RCxhQUFhO0lBQ2IsNEJBQTRCO0lBQzVCLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQixXQUFXO0lBQ1gsWUFBWTtJQUNaLGFBQWE7O0FBRWpCOztBQUlBO0lBQ0ksT0FBTztJQUNQLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtJQUN6QixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsV0FBVztJQUNYLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksY0FBYztJQUNkLDBCQUEwQjtJQUMxQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksV0FBVztJQUNYLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsbUNBQW1DO0lBQ25DLGdCQUFnQjtJQUNoQiw0QkFBNEI7QUFDaEM7O0FBRUE7SUFDSSx5QkFBeUI7R0FDMUIsbUJBQW1CO0lBQ2xCLGFBQWE7SUFDYiw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsZUFBZTtJQUNmLGFBQWE7O0FBRWpCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksV0FB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bmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4uc2Nyb2xsIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG5cclxuLmhlYWRlciB7XHJcbiAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy90ZW1wL2luZm8tYmFubmVyLmpwZycpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGxlZnQ7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIG1hcmdpbjogMjVweDtcclxuICAgIHBhZGRpbmc6IDI1cHg7XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi5zZWN0aW9uIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAyNXB4O1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxudGQsIHRoIHtcclxuICAgIGJvcmRlcjogMXB4ICNlNWU1ZTUgc29saWQ7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5hY3Rpb24taXRlbSB7XHJcbiAgICBjb2xvcjogI0U1ODkyOTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uc3ViIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG4ubGFzdC1zZWN0aW9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG59XHJcblxyXG4uZmlsZS1zZWxlY3Qge1xyXG4gICAgaGVpZ2h0OiAyMnB4IWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiAxMDBweDtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jcmVhdGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgLyogIHdpZHRoOiAyMDBweDsgKi9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbn1cclxuXHJcbi5jcmVhdGUgYnV0dG9uIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIC8qIGhlaWdodDogMzVweDsgKi9cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBcclxufVxyXG5cclxuLmNyZWF0ZSBpIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5zZXBlcmF0b3Ige1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgLyogICB3aWR0aDogMzAlOyAqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxufVxyXG5cclxuLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uc3ViLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICB3aWR0aDogNzAlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcclxufVxyXG5cclxuLmFjdGlvbi1saW5rIHtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5icm93c2VyLWFsZXJ0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcblxyXG4uZGVsZXRlLW1lc3NhZ2V7XHJcbiAgICB3aWR0aDogMzAwcHggIWltcG9ydGFudDtcclxufVxyXG4ud2VsY29tZS1tZXNzYWdlIHtcclxuICAgIHdpZHRoOiA1MDBweDtcclxuICAgLyogIGhlaWdodDogMTAwcHg7ICovXHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDMwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4ud2VsY29tZS1tZXNzYWdlIC50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLndlbGNvbWUtbWVzc2FnZSAuaW5mbyB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uYWxlcnQtaWNvbiBpIHtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgIGNvbG9yOiAjRjA4MDgwO1xyXG59XHJcblxyXG4uYWxlcnQtdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIC8qICAgdGV4dC1hbGlnbjogY2VudGVyOyAqL1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgIC8qICBwYWRkaW5nOiAxMHB4OyAqL1xyXG4gICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnNlbGVjdGVkLW1hdGVyaWFsIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5jbG9zZS1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jbG9zZS1jb250YWluZXIgaSB7XHJcbiAgICBmb250LXNpemU6IDEuM2VtO1xyXG59XHJcbi5hbGVydC1ib3h7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5hbGVydC1idG4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgLyogIHdpZHRoOiAxNTBweDsgKi9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4uYWxlcnQtYnRuIGJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICAvKiBoZWlnaHQ6IDM1cHg7ICovXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uYWxlcnQtYnRuIGkge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLmJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5lZGl0LXRvZ2dsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4uZG9jLWFyZWEgdGV4dGFyZWEge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDE1MHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucGx1cy1pY29uIHtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgIGNvbG9yOiAjMjhhNzQ1O1xyXG59XHJcblxyXG4uYXBwcm92ZSB7XHJcbiAgICBjb2xvcjogIzI4YTc0NTtcclxufVxyXG5cclxuLmVkaXQge1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5kcmFnLWFjdGl2ZTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgYm9yZGVyOiAxcHggIzU1NSBzb2xpZDtcclxuICAgIC8qIGJveC1zaGFkb3c6IDJ4IDJweCA0cHggNHB4ICNjY2M7ICovXHJcbn1cclxuXHJcbi5yb3ctbW92ZSB7XHJcbiAgICBjdXJzb3I6IG1vdmU7XHJcbn1cclxuXHJcbi5yb3ctbW92ZTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xyXG59XHJcblxyXG4uZG9jLWFyZWEge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5kb2MtZGVzY3Ige1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLmFkZC1idG4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIHdpZHRoOiA5NyU7XHJcbiAgICBib3JkZXI6IDBweDtcclxufVxyXG5cclxuXHJcbi5yZW1vdmUtdG9nZ2xlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEycHg7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXI6IDFweCAjNzc3IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgY29sb3I6ICM3Nzc7XHJcbiAgICBtYXJnaW46IDRweCAxMHB4IDAgNXB4O1xyXG59Il19 */\"","module.exports = \"
\\r\\n\\r\\n
\\r\\n Information Center\\r\\n
\\r\\n A wealth of knowledge at your fingertips\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{category.category}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Title\\r\\n Description\\r\\n Actions\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{material.Title}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{material.Description}}\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n Download\\r\\n /\\r\\n Delete\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Please type in the category you would like to add:\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Are you sure you would like to delete the material/document titled:\\r\\n {{selectedMaterial.item.Title}}?

This cannot be undone.
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n Document Title\\r\\n \\r\\n Document Description\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Are you sure you would like to delete the category\\r\\n \\\"{{selectedMaterial.category}}\\\"?\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { ModalService } from '../shared/modal/modal.service';\r\nimport { GlobalService } from '../services/global.service';\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\n\r\nimport Utils from '../shared/utility';\r\n\r\n@Component({\r\n selector: 'app-info-center',\r\n templateUrl: './info-center.component.html',\r\n styleUrls: ['./info-center.component.css']\r\n})\r\nexport class InfoCenterComponent implements OnInit {\r\n public healthCareMaterial: any[];\r\n public longTermCareMaterial: any[];\r\n public socialSecurityMaterial: any[];\r\n\r\n public articlesForClients: any[];\r\n public clientLetters: any[];\r\n public educationalWorkshops: any[];\r\n public factGuides: any[];\r\n public otherAdvertising: any[];\r\n public websiteArtwork: any[];\r\n\r\n public infoCenterArr: any[];\r\n\r\n public toggleInput: any;\r\n\r\n public selectedCategory: any;\r\n public selectedDescription: any;\r\n public selectedTitle: any;\r\n\r\n public selectedInputs: any = {};\r\n\r\n public error: any;\r\n\r\n public droppedData: any = {};\r\n\r\n // TODO: REMOVE THIS LATER\r\n public visible: boolean = false;\r\n\r\n public modalSubscription: any;\r\n\r\n constructor(private modalService: ModalService, private globalService: GlobalService, private snackBarService: SnackBarService) {\r\n this.modalSubscription = modalService.modal$.subscribe((modal) => {\r\n if (modal.modalName == 'upload-docClosed') {\r\n this.getIC();\r\n }\r\n });\r\n }\r\n\r\n uploadDoc() {\r\n const categories = this.infoCenterArr.reduce((arr, item, i) => { arr.push({value: item.category, title: item.category, idx: i}); return arr }, []);\r\n this.modalService.add('upload-doc', { Data: { arr: this.infoCenterArr, section: 'info-center', categories }, ID: Number(localStorage.getItem(\"userId\")) });\r\n }\r\n\r\n updateDoc(){\r\n this.editTextV2('title', this.selectedMaterial.item.Title, this.selectedMaterial.i, this.selectedMaterial.j, true);\r\n //use like: editTextV2('description', material.Description, i, j, false)\r\n }\r\n\r\n updateFileModal = false;\r\n updateSelectedFile(item, i, j){\r\n this.selectedMaterial = {\r\n item,\r\n i,\r\n j\r\n }\r\n this.updateFileModal = true;\r\n }\r\n\r\n deleteDoc() {\r\n this.infoCenterArr[this.selectedMaterial.i].items.splice(this.selectedMaterial.j, 1);\r\n const oldFormat = Utils.convertMarketingMaterialOrInfoCenterToOldFormat(this.infoCenterArr);\r\n this.globalService.ReplaceInfoCenter(oldFormat)\r\n .subscribe(\r\n resp => {\r\n if (resp) {\r\n this.snackBarService.add('Document has been removed', 0);\r\n } else {\r\n this.snackBarService.add('An error occurred - please contact support', 1);\r\n }\r\n this.confirmDeleteVisible = false;\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n public confirmDeleteVisible: boolean;\r\n public selectedMaterial: any;\r\n\r\n deleteItem(item, i, j) {\r\n this.selectedMaterial = {\r\n item,\r\n i,\r\n j\r\n }\r\n\r\n this.confirmDeleteVisible = true;\r\n }\r\n\r\n close() {\r\n this.confirmDeleteVisible = false;\r\n }\r\n\r\n getIC() {\r\n this.globalService.GetInfoCenter()\r\n .subscribe(\r\n data => {\r\n let documents = Utils.convertMarketingMaterialOrInfoCenterToNewFormat(JSON.parse(data.data));\r\n \r\n let uniqueDocumentCategories = documents.reduce((obj, item) => {\r\n if (!obj[item.Category])\r\n obj[item.Category] = item.Category;\r\n return obj;\r\n }, {});\r\n\r\n this.infoCenterArr = [];\r\n this.droppedData = {};\r\n \r\n Object.keys(uniqueDocumentCategories).forEach((category, i) => {\r\n this.infoCenterArr.push({\r\n category: category,\r\n items: documents.filter(doc => doc.Category === category),\r\n });\r\n\r\n if (this.infoCenterArr[this.infoCenterArr.length - 1].items[0] && (!this.infoCenterArr[this.infoCenterArr.length - 1].items[0].Title || !this.infoCenterArr[this.infoCenterArr.length - 1].items[0].Description)) {\r\n if (this.infoCenterArr[this.infoCenterArr.length - 1].items.length > 1) {\r\n this.infoCenterArr[this.infoCenterArr.length - 1].items.splice(0, 1);\r\n }\r\n }\r\n });\r\n //console.log('IC ARRAY:', this.infoCenterArr);\r\n this.generateSelectedInputs();\r\n },\r\n error => this.error = error);\r\n\r\n \r\n }\r\n\r\n generateSelectedInputs() {\r\n this.selectedInputs = {};\r\n\r\n Object.keys(this.infoCenterArr).forEach((cat, i) => {\r\n this.selectedInputs[i] = { category: false }\r\n });\r\n\r\n this.infoCenterArr.forEach((cat, i) => {\r\n cat.items.forEach((doc, j) => {\r\n this.selectedInputs[i][j] = { title: false, description: false }\r\n });\r\n });\r\n }\r\n\r\n saveIC() {\r\n\r\n const oldFormat = Utils.convertMarketingMaterialOrInfoCenterToOldFormat(this.infoCenterArr);\r\n \r\n this.globalService.ReplaceInfoCenter(oldFormat)\r\n .subscribe(\r\n resp => {\r\n if (resp) {\r\n this.snackBarService.add('Your document has been updated', 0);\r\n } else {\r\n this.snackBarService.add('An error occurred - please contact support', 1);\r\n }\r\n this.confirmDeleteVisible = false;\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n public userType: any;\r\n public rootLevelOrganization: boolean;\r\n\r\n ngOnInit() {\r\n this.userType = Number(localStorage.getItem('roleId')) || 3;\r\n this.visible = (Number(localStorage.getItem('orgID')) === 2 || Number(localStorage.getItem('parentID')) === 2) ? true : false;\r\n this.rootLevelOrganization = (Number(localStorage.getItem('parentID')) == 0) && (Number(localStorage.getItem('roleId')) == 1 || Number(localStorage.getItem('roleId')) == 2);\r\n\r\n this.toggleInput = {\r\n category: {},\r\n title: {},\r\n description: {},\r\n }\r\n\r\n this.getIC();\r\n }\r\n\r\n\r\n public addCategoryVisible: boolean = false;\r\n public newCategory: string = '';\r\n\r\n addCategory(category) {\r\n this.addCategoryVisible = true;\r\n }\r\n\r\n saveNewCategory() {\r\n this.infoCenterArr.unshift({\r\n category: this.newCategory.trim(), //.replace(/([A-Z])/g, ' $1').replace(/^./, function (str) { return str.toUpperCase(); }),\r\n items: [],\r\n });\r\n\r\n this.newCategory = '';\r\n this.generateSelectedInputs();\r\n this.closeCategoryWindow();\r\n this.saveIC();\r\n }\r\n\r\n closeCategoryWindow() {\r\n this.addCategoryVisible = false;\r\n }\r\n\r\n editTextV2(cat, val, catIdx, docIdx, isSaving) {\r\n if (isSaving) {\r\n if (cat === 'category') {\r\n this.selectedInputs[catIdx].category = false;\r\n this.infoCenterArr[catIdx].category = this.selectedCategory;\r\n // console.log('Selected Cat:', this.selectedCategory);\r\n // console.log('selecteed cat items:', this.infoCenterArr[catIdx].items);//this.infoCenterArr[this.selectedMaterial.i].items\r\n } else if (cat === 'title') {\r\n this.selectedInputs[catIdx][docIdx].title = false;\r\n this.infoCenterArr[catIdx].items[docIdx].Title = this.selectedTitle;\r\n } else if (cat === 'description') {\r\n this.selectedInputs[catIdx][docIdx].description = false;\r\n this.infoCenterArr[catIdx].items[docIdx].Description = this.selectedDescription;\r\n }\r\n this.saveIC();\r\n } else {\r\n if (cat === 'category') {\r\n this.selectedInputs[catIdx].category = true;\r\n this.selectedCategory = val;\r\n } else if (cat === 'title') {\r\n this.selectedInputs[catIdx][docIdx].title = true;\r\n this.selectedTitle = val;\r\n } else if (cat === 'description') {\r\n this.selectedInputs[catIdx][docIdx].description = true;\r\n this.selectedDescription = val;\r\n }\r\n }\r\n }\r\n\r\n onDrop(event, catIdx, docIdx) {\r\n\r\n if (!this.parentTableTriggered && catIdx === event.dropData.catIdx) {\r\n var fromDoc = this.infoCenterArr[event.dropData.catIdx].items[event.dropData.docIdx];\r\n var toDoc = this.infoCenterArr[catIdx].items[docIdx];\r\n this.infoCenterArr[event.dropData.catIdx].items[event.dropData.docIdx] = toDoc;\r\n this.infoCenterArr[catIdx].items[docIdx] = fromDoc;\r\n }\r\n\r\n this.parentTableTriggered = false;\r\n\r\n this.generateSelectedInputs();\r\n this.saveIC();\r\n }\r\n\r\n public parentTableTriggered: boolean = false;\r\n public triggeredIndex: any = 0;\r\n\r\n onDropTable(event, catIdx, docIdx) {\r\n this.infoCenterArr[event.dropData.catIdx].items.splice(event.dropData.docIdx, 1);\r\n this.infoCenterArr[catIdx].items.push(event.dropData.item);\r\n\r\n if (!this.infoCenterArr[catIdx].items[0].Title || !this.infoCenterArr[catIdx].items[0].Description) {\r\n this.infoCenterArr[catIdx].items.splice(0, 1);\r\n this.parentTableTriggered = true;\r\n }\r\n\r\n this.generateSelectedInputs();\r\n this.saveIC();\r\n }\r\n\r\n public confirmCategoryDeleteVisible: boolean = false;\r\n\r\n removeCategory(cat, index) {\r\n this.confirmCategoryDeleteVisible = true;\r\n this.selectedMaterial = {\r\n category: cat,\r\n index,\r\n }\r\n }\r\n\r\n deleteCategory(){\r\n this.confirmCategoryDeleteVisible = true;\r\n this.infoCenterArr.splice(this.selectedMaterial.index, 1);\r\n const oldFormat = Utils.convertMarketingMaterialOrInfoCenterToOldFormat(this.infoCenterArr);\r\n this.closeCategoryDelete();\r\n\r\n this.globalService.ReplaceInfoCenter(oldFormat)\r\n .subscribe(\r\n resp => {\r\n if (resp) {\r\n this.snackBarService.add('Your category and documents have been updated', 0);\r\n } else {\r\n this.snackBarService.add('An error occurred - please contact support', 1);\r\n }\r\n this.confirmDeleteVisible = false;\r\n },\r\n error => this.error = error);\r\n\r\n }\r\n\r\n closeCategoryDelete() {\r\n this.confirmCategoryDeleteVisible = false;\r\n }\r\n}\r\n\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n flex: 1;\\r\\n height: 100%;\\r\\n overflow-y: scroll;\\r\\n}\\r\\n\\r\\n.search {\\r\\n background-color: #d3d3d3;\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n height: 45px;\\r\\n width: 220px;\\r\\n margin: 25px 0 0 25px;\\r\\n}\\r\\n\\r\\n.search input {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n text-indent: 2rem;\\r\\n border: none;\\r\\n font-size: 1rem;\\r\\n width: 160px;\\r\\n}\\r\\n\\r\\n.search input::-moz-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input::placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input:focus::-moz-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search input:focus:-ms-input-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search input:focus::placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search i {\\r\\n font-size: 1.25rem;\\r\\n position: absolute;\\r\\n left: 20px;\\r\\n color: #555;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.client-list {\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 1.2rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.constumer-tool {\\r\\n margin: 25px;\\r\\n}\\r\\n\\r\\nhr {\\r\\n margin: 0 25px 0 25px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.ct-section span {\\r\\n display:block;\\r\\n margin: 10px 0 10px 0;\\r\\n}\\r\\n\\r\\n.ct-section {\\r\\n margin: 10px 0 0 0;\\r\\n}\\r\\n\\r\\n.ct-code {\\r\\n background-color: #fff;\\r\\n border: #f5f5f5 2px dashed;\\r\\n color: #666;\\r\\n padding: 15px;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.sub {\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.lead-button {\\r\\n color: #5550EE;\\r\\n cursor: pointer;\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.lead-button:hover {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.lead-status {\\r\\n margin: 0 auto;\\r\\n display: block;\\r\\n border-radius: 100%;\\r\\n width: 10px;\\r\\n height: 10px;\\r\\n background-color: #555;\\r\\n}\\r\\n\\r\\n.active-lead {\\r\\n background-color: green;\\r\\n}\\r\\n\\r\\n.inactive-lead {\\r\\n background-color: red;\\r\\n}\\r\\n\\r\\n.used-lead {\\r\\n background-color: orange;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xlYWRzL2xlYWRzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxXQUFXO0lBQ1gsT0FBTztJQUNQLFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWixZQUFZO0lBQ1oscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixlQUFlO0lBQ2YsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFGQTtJQUNJLFdBQVc7QUFDZjs7QUFGQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFGQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFGQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLFdBQVc7SUFDWCxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCOztBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYixxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsMEJBQTBCO0lBQzFCLFdBQVc7SUFDWCxhQUFhO0lBQ2IsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsZUFBZTtJQUNmLDBCQUEwQjtBQUM5Qjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxZQUFZO0lBQ1osc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0kscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksd0JBQXdCO0FBQzVCIiwiZmlsZSI6Ii4uL2xlYWRzL2xlYWRzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbn1cclxuXHJcbi5zZWFyY2gge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICB3aWR0aDogMjIwcHg7XHJcbiAgICBtYXJnaW46IDI1cHggMCAwIDI1cHg7XHJcbn1cclxuXHJcbi5zZWFyY2ggaW5wdXQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRleHQtaW5kZW50OiAycmVtO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgd2lkdGg6IDE2MHB4O1xyXG59XHJcblxyXG4uc2VhcmNoIGlucHV0OjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLnNlYXJjaCBpbnB1dDpmb2N1czo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uc2VhcmNoIGkge1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMjBweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgei1pbmRleDogMTtcclxufVxyXG5cclxuLmNsaWVudC1saXN0IHtcclxuICAgIHBhZGRpbmc6IDI1cHg7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG50ZCwgdGgge1xyXG4gICAgYm9yZGVyOiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5jb25zdHVtZXItdG9vbCB7XHJcbiAgICBtYXJnaW46IDI1cHg7XHJcbn1cclxuXHJcbmhyIHtcclxuICAgIG1hcmdpbjogMCAyNXB4IDAgMjVweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uY3Qtc2VjdGlvbiBzcGFuIHtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICBtYXJnaW46IDEwcHggMCAxMHB4IDA7XHJcbn1cclxuXHJcbi5jdC1zZWN0aW9uIHtcclxuICAgIG1hcmdpbjogMTBweCAwIDAgMDtcclxufVxyXG5cclxuLmN0LWNvZGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlcjogI2Y1ZjVmNSAycHggZGFzaGVkO1xyXG4gICAgY29sb3I6ICM2NjY7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG4uc3ViIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4ubGVhZC1idXR0b24ge1xyXG4gICAgY29sb3I6ICM1NTUwRUU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLmxlYWQtYnV0dG9uOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4ubGVhZC1zdGF0dXMge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICB3aWR0aDogMTBweDtcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5hY3RpdmUtbGVhZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcclxufVxyXG5cclxuLmluYWN0aXZlLWxlYWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG59XHJcblxyXG4udXNlZC1sZWFkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTtcclxufSJdfQ== */\"","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Clients\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
NameStateCityZipLast ActivityStatusActions
{{lead.firstName + ' ' + lead.lastName}}{{lead.state}}{{lead.city}}{{lead.zip}}{{formatDate(lead.lastActivityDate)}}\\r\\n View \\r\\n | Reassign\\r\\n | Archive\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Consumer Tools\\r\\n
\\r\\n By embedding these Consumer Tools, you can start turning visitors into potential clients.\\r\\n Visitors who use the Consumer Tools will be able to generate a bsic report. When they download this report and agree to be contacted, they will be classified as a lead and their information available to you. Your leads can be found in the \\\"Leads\\\" tab.\\r\\n If a visitor is a lead, an email alert will be sent to notify you that they are available for contact.\\r\\n
\\r\\n Social Security\\r\\n
\\r\\n \\r\\n Send the code below to your website administrator so they can place the tool on your website.\\r\\n
\\r\\n {{advisorCode}}\\r\\n
\\r\\n
\\r\\n
\\r\\n Having trouble?\\r\\n Download this Word file and send it to your website administrator. For additional help, have your website administrator contact HealthView Services support at Support@hvs.supportsystem.com or 800-969-6518.\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { PagerService } from '../services/pager.service';\r\nimport { GlobalService } from '../services/global.service';\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\nimport { ModalService } from '../shared/modal/modal.service';\r\n\r\n@Component({\r\n selector: 'app-leads',\r\n templateUrl: './leads.component.html',\r\n styleUrls: ['./leads.component.css']\r\n})\r\nexport class LeadsComponent implements OnInit {\r\n\r\n public leads: any;\r\n public advisor: any;\r\n public organization: any;\r\n public error: any;\r\n public advisorCode: any;\r\n\r\n public advisors: any;\r\n\r\n public role: number;\r\n\r\n constructor(private globalService: GlobalService, private modalService: ModalService) {\r\n modalService.modal$.subscribe((modal) => {\r\n if (modal.modalName == 'assign-leadClosed') { // TODO: Fix this hack -- naming it hidden.. modals in general need to be refactored\r\n // this.getClient();\r\n // this.magiVal = 100;\r\n // this.animateValue(this.totalSurchargeSavingsEl, 0, this.roundAndFormat(0, 0));\r\n this.getLeads();\r\n // console.log('reset to defaults');\r\n }\r\n // console.log(modal.modalName);\r\n });\r\n\r\n this.getAdvisorData(); \r\n }\r\n\r\n getAdvisorData() {\r\n this.globalService.getAdvisorData(Number(localStorage.getItem('userId')))\r\n .subscribe(\r\n advisor => { \r\n this.advisor = advisor;\r\n this.getOrganizationData(advisor.OrganizationID);\r\n // this.getConsumerToolLink(this.advisor);\r\n // console.log(this.advisor);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n getOrganizationData(orgId) {\r\n this.globalService.getOrganizationData(orgId)\r\n .subscribe(\r\n organization => { \r\n this.organization = organization;\r\n this.getConsumerToolLink(this.organization);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n getConsumerToolLink(organization) {\r\n var OrganizationModel = {\r\n // UserID: 935,\r\n OrganizationID: organization.ID,\r\n }\r\n\r\n // console.log(organization)\r\n\r\n this.globalService.consumerTools(OrganizationModel)\r\n .subscribe(\r\n link => { \r\n // console.log(link);\r\n this.advisorCode = link.replace(/'/g, '\"');\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n public visible: boolean = false;\r\n\r\n ngOnInit() {\r\n\r\n this.role = Number(localStorage.getItem('roleId'));\r\n\r\n this.visible = (Number(localStorage.getItem('userId')) === 5425 || Number(localStorage.getItem('userId')) === 5492) ? false : true;\r\n \r\n this.getLeads();\r\n this.getAdvisors();\r\n }\r\n\r\n viewLead(lead) {\r\n this.getLeadInfo(lead);\r\n }\r\n\r\n assignLead(leadRelationshipId) {\r\n this.modalService.add('assign-lead', { advisors: this.advisors, leadRelationshipId: leadRelationshipId });\r\n }\r\n\r\n archiveLead(lead) {\r\n this.globalService.archiveLead(lead.leadRelationshipId)\r\n .subscribe(\r\n resp => {\r\n this.getLeads();\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n getAdvisors() {\r\n this.globalService.getAdvisorsData()\r\n .subscribe(\r\n advisors => {\r\n this.advisors = advisors;\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n getLeads() {\r\n this.globalService.getUserLeads()\r\n .subscribe(\r\n leads => {\r\n this.leads = leads;\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n formatDate(date) {\r\n date = new Date(date);\r\n return date > 1/1/1900 ? (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear() : '--';\r\n }\r\n\r\n getUnassignedLeads() {\r\n this.globalService.getUnassignedLeads()\r\n .subscribe(\r\n leads => {\r\n // console.log(leads);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n getLeadInfo(lead) {\r\n this.globalService.getLeadInfo(lead.leadRelationshipId)\r\n .subscribe(\r\n leadDetails => {\r\n \r\n for(var key in leadDetails) {\r\n lead[leadDetails[key].Key] = leadDetails[key].Value;\r\n }\r\n\r\n this.modalService.add('view-lead', lead);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n filterItem() {\r\n \r\n }\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n overflow-y: scroll;\\r\\n}\\r\\n\\r\\n.row {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n padding: 25px 25px 0 25px;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 1.2rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.btn {\\r\\n background-color: #7fa57f;\\r\\n border-radius: 4px;\\r\\n color: #fff;\\r\\n border: none;\\r\\n margin: 0 10px 0 0;\\r\\n padding: 5px 10px 5px 10px;\\r\\n cursor: pointer;\\r\\n width: 175px;\\r\\n text-decoration: none;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.advisor-list a {\\r\\n /* cursor: not-allowed; */\\r\\n}\\r\\n\\r\\n.advisor-list {\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\n.btn span {\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.pagination {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.pagination div {\\r\\n margin: 10px;\\r\\n background-color: #d3d3d3;\\r\\n cursor: pointer;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.pagination span {\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.pagination .active {\\r\\n background-color: #E58929;\\r\\n}\\r\\n\\r\\n.action-item {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.search {\\r\\n background-color: #d3d3d3;\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n height: 45px;\\r\\n width: 220px;\\r\\n margin-top: 15px;\\r\\n}\\r\\n\\r\\n.search input {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n text-indent: 2rem;\\r\\n border: none;\\r\\n font-size: 1rem;\\r\\n width: 160px;\\r\\n}\\r\\n\\r\\n.search input::-moz-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input::placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input:focus::-moz-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search input:focus:-ms-input-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search input:focus::placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search i {\\r\\n font-size: 1.25rem;\\r\\n position: absolute;\\r\\n left: 20px;\\r\\n color: #555;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.filter {\\r\\n background-color: #d3d3d3;\\r\\n height: 35px;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n color: #000;\\r\\n width: 160px;\\r\\n padding-right: 25px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.filter i {\\r\\n\\r\\n}\\r\\n\\r\\n.filter span {\\r\\n\\r\\n}\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 5px 0 5px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #000;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.create i {\\r\\n color: #000;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.header {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n /* justify-content: space-between; */\\r\\n \\r\\n max-width: 700px;\\r\\n flex: 1 1 600px;\\r\\n}\\r\\n\\r\\n/* \\r\\n\\r\\n\\r\\n:host {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.advisor-list {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.list-header {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.list-content {\\r\\n background-color: #f5f5f5;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.content-item:first-child div span {\\r\\n font-weight: bold;\\r\\n color: #555;\\r\\n \\r\\n}\\r\\n\\r\\n.content-item {\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n padding: 15px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.content-item div {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n text-align: left;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.content-item div i {\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.content-item:nth-child(odd) {\\r\\n background-color: #edeff3;\\r\\n}\\r\\n\\r\\n\\r\\nbutton {\\r\\n font-size: 11px;\\r\\n border: 1px #e5e5e5 solid;\\r\\n border-radius: 10px;\\r\\n color: #999;\\r\\n background-color: #fff;\\r\\n padding: 3px 10px 3px 10px;\\r\\n cursor: pointer;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.btn {\\r\\n background-color: #7fa57f;\\r\\n border-radius: 4px;\\r\\n color: #fff;\\r\\n border: none;\\r\\n margin: 0 10px 0 0;\\r\\n padding: 5px 10px 5px 10px;\\r\\n cursor: pointer;\\r\\n width: 175px;\\r\\n text-decoration: none;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.btn span {\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n\\r\\n */\\r\\n\\r\\n.adviosr-list-row {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: baseline;\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n.row-container {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: space-between;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xlZ2FjeS1yZXBvcnRzL2xlZ2FjeS1yZXBvcnRzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixXQUFXO0lBQ1gseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsMEJBQTBCO0lBQzFCLGVBQWU7SUFDZixZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtJQUN6QixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsV0FBVztJQUNYLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUdBO0lBQ0ksYUFBYTtJQUNiLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsZUFBZTtJQUNmLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTtJQUNiLHVCQUF1QjtJQUN2QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsMEJBQTBCO0lBQzFCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWixZQUFZO0lBQ1osZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixlQUFlO0lBQ2YsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFGQTtJQUNJLFdBQVc7QUFDZjs7QUFGQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFGQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFGQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLFdBQVc7SUFDWCxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLFlBQVk7SUFDWixhQUFhO0lBQ2IsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixlQUFlO0FBQ25COztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixhQUFhO0lBQ2IsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLFlBQVk7SUFDWixlQUFlO0lBQ2YsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLG9DQUFvQzs7SUFFcEMsZ0JBQWdCO0lBQ2hCLGVBQWU7QUFDbkI7O0FBR0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFrRkU7O0FBRUQ7S0FDSSxhQUFhO0tBQ2IsOEJBQThCO0tBQzlCLHFCQUFxQjtLQUNyQixzQkFBc0I7Q0FDMUI7O0FBRUE7SUFDRyxhQUFhO0lBQ2IsV0FBVztJQUNYLDhCQUE4QjtBQUNsQyIsImZpbGUiOiIuLi9sZWdhY3ktcmVwb3J0cy9sZWdhY3ktcmVwb3J0cy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbn1cclxuXHJcbi5yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMjVweCAyNXB4IDAgMjVweDtcclxufVxyXG5cclxuLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5idG4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdmYTU3ZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgcGFkZGluZzogNXB4IDEwcHggNXB4IDEwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB3aWR0aDogMTc1cHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hZHZpc29yLWxpc3QgYSB7XHJcbiAgICAvKiBjdXJzb3I6IG5vdC1hbGxvd2VkOyAqL1xyXG59XHJcblxyXG4uYWR2aXNvci1saXN0IHtcclxuICAgIHBhZGRpbmc6IDI1cHg7XHJcbn1cclxuXHJcbi5idG4gc3BhbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxudGQsIHRoIHtcclxuICAgIGJvcmRlcjogMXB4ICNlNWU1ZTUgc29saWQ7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcblxyXG4ucGFnaW5hdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxufVxyXG5cclxuLnBhZ2luYXRpb24gZGl2IHtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnBhZ2luYXRpb24gc3BhbiB7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uIC5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxufVxyXG5cclxuLmFjdGlvbi1pdGVtIHtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5zZWFyY2gge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICB3aWR0aDogMjIwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG59XHJcblxyXG4uc2VhcmNoIGlucHV0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB0ZXh0LWluZGVudDogMnJlbTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIHdpZHRoOiAxNjBweDtcclxufVxyXG5cclxuLnNlYXJjaCBpbnB1dDo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5zZWFyY2ggaW5wdXQ6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnNlYXJjaCBpIHtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDIwcHg7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5maWx0ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIHdpZHRoOiAxNjBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5maWx0ZXIgaSB7XHJcblxyXG59XHJcblxyXG4uZmlsdGVyIHNwYW4ge1xyXG5cclxufVxyXG5cclxuLmNyZWF0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgNXB4IDAgNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY3JlYXRlIGJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uY3JlYXRlIGkge1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8qIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgKi9cclxuICAgIFxyXG4gICAgbWF4LXdpZHRoOiA3MDBweDtcclxuICAgIGZsZXg6IDEgMSA2MDBweDtcclxufVxyXG5cclxuXHJcbi8qIFxyXG5cclxuXHJcbjpob3N0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uYWR2aXNvci1saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5saXN0LWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmxpc3QtY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW06Zmlyc3QtY2hpbGQgZGl2IHNwYW4ge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIFxyXG59XHJcblxyXG4uY29udGVudC1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW0gZGl2IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW0gZGl2IGkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW06bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWZmMztcclxufVxyXG5cclxuXHJcbmJ1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDNweCAxMHB4IDNweCAxMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLmJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2ZhNTdmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHdpZHRoOiAxNzVweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmJ0biBzcGFuIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbn1cclxuXHJcblxyXG4gKi9cclxuXHJcbiAuYWR2aW9zci1saXN0LXJvdyB7XHJcbiAgICAgZGlzcGxheTogZmxleDtcclxuICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiB9XHJcblxyXG4gLnJvdy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59Il19 */\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n Legacy Reports\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n {{page}}\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Report TitleReport TypeCreated DateActions
{{report.title}}{{formatReportTypeID(report.reportType)}}{{formatDate(report.createdDate)}}\\r\\n Download\\r\\n
\\r\\n\\r\\n\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\n\r\n// import { REPORTS } from '../models/reports';\r\nimport { PagerService } from '../services/pager.service';\r\nimport { GlobalService } from '../services/global.service';\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\nimport { LoadingService } from '../shared/loading/loading.service';\r\n\r\n@Component({\r\n selector: 'app-legacy-reports',\r\n templateUrl: './legacy-reports.component.html',\r\n styleUrls: ['./legacy-reports.component.css']\r\n})\r\nexport class LegacyReportsComponent implements OnInit {\r\n private reports: any[];\r\n private error:string;\r\n\r\n private allItems: any[];\r\n private filteredReports: any[];\r\n pager: any = {};\r\n pagedItems: any[];\r\n\r\n //private legacyReportRoot: string = \"http://r.oa.hvsfinancial.com.loc\";\r\n private legacyReportRoot: string = \"https://r.hvsfinancial.com\";\r\n\r\n constructor(private pagerService: PagerService, private globalService: GlobalService, private snackBarService: SnackBarService, private loadingService: LoadingService) { \r\n this.getReports();\r\n }\r\n\r\n ngOnInit() {\r\n // this.allItems = REPORTS;\r\n // this.filteredReports = REPORTS;\r\n // this.setPage(1);\r\n }\r\n\r\n setPage(page: number) {\r\n if (page < 1 || page > this.pager.totalPages) {\r\n return;\r\n }\r\n\r\n // get pager object from service\r\n this.pager = this.pagerService.getPager(this.filteredReports.length, page);\r\n\r\n // get current page of items\r\n this.pagedItems = this.filteredReports.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n // console.log(this.pagedItems);\r\n }\r\n\r\n assignCopy(){\r\n this.filteredReports = Object.assign([], this.allItems);\r\n }\r\n\r\n // filterItem(value){\r\n // if(!value) this.assignCopy();\r\n // // console.log(this.allItems);\r\n // this.filteredReports = Object.assign([], this.allItems).filter(\r\n // report => ((report.c.FirstName + \" \" + report.c.LastName).toLowerCase().includes(value.toLowerCase()))\r\n // )\r\n // // console.log(this.filteredReports);\r\n // this.setPage(1);\r\n // }\r\n\r\n filterItem(value){\r\n // console.log(value);\r\n //if(!value) this.assignCopy();\r\n this.filteredReports = Object.assign([], this.allItems).filter(\r\n report => ((report.title).toLowerCase().includes(value.toLowerCase()))\r\n );\r\n \r\n if (!this.filteredReports.length) {\r\n this.pagedItems = [];\r\n } else {\r\n this.setPage(1);\r\n }\r\n}\r\n\r\n getReports() {\r\n this.loadingService.isLoading(true);\r\n this.globalService.getLegacyReportsData()\r\n .subscribe(\r\n reports => { \r\n this.loadingService.isLoading(false);\r\n this.allItems = reports;\r\n this.filteredReports = this.allItems;\r\n this.filteredReports = this.allItems.sort(function(a, b) {\r\n return parseInt(b.reportID) - parseInt(a.reportID);\r\n });\r\n\r\n this.setPage(1);\r\n \r\n // console.log(reports);\r\n },\r\n error => {\r\n this.error = error\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n createDownloadLink(report) {\r\n var reportUrl = report.reportType == 2 ? this.legacyReportRoot + \"/portal/GenSSReport.aspx?orgGUID=\" + report.orgGUID + \"&docId=\" + report.reportID\r\n : report.reportType == 0 ? this.legacyReportRoot + \"/portal/GenReport.aspx?reportId=0&orgGUID=\" + report.orgGUID + \"&docGUID=\" + report.reportGUID\r\n : this.legacyReportRoot + \"/portal/GenMTReport.aspx?orgGUID=\" + report.orgGUID + \"&docId=\" + report.reportGUID + \"&advisorGUID=\" + report.advisorGUID + \"&advisorId=\" + report.advisorId;\r\n\r\n window.open(reportUrl);\r\n // console.log(reportUrl)\r\n }\r\n\r\n // downloadReport(e, report) {\r\n // // console.log(report);\r\n // this.loadingService.isLoading(true);\r\n // this.snackBarService.add(`Downloading your ${this.formatReportTypeID(report.reportType)} report`, 0);\r\n\r\n // //this.globalService.generateReport(ReportFields, report.c, report.r)\r\n // this.globalService.generateLegacyReport(report)\r\n // .subscribe(\r\n // resp => {\r\n // console.log('downloading report');\r\n // this.loadingService.isLoading(false);\r\n // },\r\n // error => {\r\n // this.error = error;\r\n // this.loadingService.isLoading(false);\r\n // });\r\n // }\r\n\r\n formatDate(date) {\r\n date = new Date(date);\r\n return date > 1/1/1900 ? (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear() : '--';\r\n }\r\n\r\n formatReportTypeID(ReportTypeID: number) {\r\n return ReportTypeID == 2 ? 'Social Security' : ReportTypeID == 0 ? 'Healthcare' : 'Medicare Means Testing'\r\n }\r\n\r\n \r\n}\r\n","module.exports = \"@media only screen and (max-width: 480px) {\\r\\n .left-container {\\r\\n width: 100%!important;\\r\\n }\\r\\n\\r\\n .right-container {\\r\\n width: 100%!important;\\r\\n padding-left: 0px!important;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n .login-container {\\r\\n width: 100%!important;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n .container {\\r\\n flex: 1!important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 966px) {\\r\\n .cube-wrapper1 {\\r\\n position: absolute;\\r\\n top: 50px;\\r\\n margin-left: 50px;\\r\\n left: calc(50% - 100px);\\r\\n }\\r\\n\\r\\n .welcome-text {\\r\\n position: absolute;\\r\\n top: 200px;\\r\\n font-weight: bold;\\r\\n }\\r\\n\\r\\n .welcome-text span {\\r\\n color: #fff!important;\\r\\n }\\r\\n\\r\\n .left-container {\\r\\n opacity: 0.8;\\r\\n }\\r\\n}\\r\\n\\r\\n/* @media only screen and (max-width: 600px) {\\r\\n .welcome-message {\\r\\n width: 60%!important;\\r\\n height: 400px!important;\\r\\n }\\r\\n\\r\\n .buttons {\\r\\n flex-wrap: wrap;\\r\\n }\\r\\n\\r\\n .buttons button {\\r\\n margin-bottom: 5px;\\r\\n }\\r\\n \\r\\n} */\\r\\n\\r\\n@media (max-width:641px) {\\r\\n .welcome-message {\\r\\n width: 60%!important;\\r\\n height: 400px!important;\\r\\n }\\r\\n\\r\\n .buttons {\\r\\n flex-wrap: wrap;\\r\\n }\\r\\n\\r\\n .buttons button {\\r\\n margin-bottom: 5px;\\r\\n }\\r\\n\\r\\n .contact {\\r\\n width: 220px;\\r\\n padding-bottom: 25px;\\r\\n margin: 0 auto!important;\\r\\n margin-top: 25px;\\r\\n }\\r\\n\\r\\n button {\\r\\n width: 240px!important;\\r\\n \\r\\n }\\r\\n}\\r\\n\\r\\n:host {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n /* background-color: #666; */\\r\\n background-image: url('login-background.7baf1a11ab3f3abf8f21.jpg');\\r\\n overflow: scroll;\\r\\n background-size: cover;\\r\\n}\\r\\n\\r\\n:host:before {\\r\\n content: '';\\r\\n position:absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background-color: #000;\\r\\n opacity: 0.6;\\r\\n}\\r\\n\\r\\n.container {\\r\\n display: flex;\\r\\n position: relative;\\r\\n z-index: 1;\\r\\n height: 700px;\\r\\n flex: 0.75;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.left-container {\\r\\n display: flex;\\r\\n background-image: url('login-left-column.cd00b77fbfed3663c515.jpg');\\r\\n background-size: cover;\\r\\n flex: 1 0 300px;\\r\\n /* min-height: 300px; */\\r\\n min-height: 100%;\\r\\n}\\r\\n\\r\\n.right-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n background-color: #f5f5f5;\\r\\n align-items: left;\\r\\n justify-content: center;\\r\\n\\r\\n background-image: url('HVS_watermark.a936ad513142f7517d5a.png');\\r\\n background-repeat: no-repeat;\\r\\n background-attachment: fixed;\\r\\n background-position: right; \\r\\n /* flex: 1 0 600px; */\\r\\n /* flex: 2; */\\r\\n align-items: left;\\r\\n justify-content: center;\\r\\n /* flex: 1 0 600px;\\r\\n width: 100%;\\r\\n min-height: 100%; */\\r\\n padding-left: 25px;\\r\\n}\\r\\n\\r\\n.right-container2{\\r\\n display: block !important;\\r\\n padding-top: 120px;\\r\\n /* border-left: #000 solid 1px; */\\r\\n padding-right: 25px;\\r\\n}\\r\\n\\r\\n.right-container2 ul {\\r\\n list-style: none;\\r\\n }\\r\\n\\r\\n.right-container2 ul li:before {\\r\\n content: '✓';\\r\\n }\\r\\n\\r\\n/* .right-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n\\r\\n background-color: #f5f5f5;\\r\\n background-image: url('../../assets/images/HVS_watermark.png');\\r\\n background-repeat: no-repeat;\\r\\n background-attachment: fixed;\\r\\n background-position: right; \\r\\n\\r\\n align-items: left;\\r\\n justify-content: center;\\r\\n flex: 1 0 600px;\\r\\n padding-left: 25px;\\r\\n} */\\r\\n\\r\\n.welcome-text {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: left;\\r\\n \\r\\n}\\r\\n\\r\\n.welcome-text span:first-child {\\r\\n font-size: 1.5em;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.welcome-text span:nth-child(2) {\\r\\n font-size: 1em;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.login-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 25em;\\r\\n}\\r\\n\\r\\n.login-container label {\\r\\n font-size: 0.8em;\\r\\n color: #777;\\r\\n}\\r\\n\\r\\n.login-container input {\\r\\n cursor: pointer;\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n padding: 0.5em;\\r\\n margin: 0.5em 0 0.5em 0;\\r\\n}\\r\\n\\r\\n.login-container .forgot-password {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\na {\\r\\n color: #E58929;\\r\\n}\\r\\n\\r\\nbutton {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 5px 0 5px;\\r\\n cursor: pointer;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n border: none;\\r\\n padding: 10px 20px 10px 20px;\\r\\n color: #fff;\\r\\n /* font-weight: 800; */\\r\\n font-size: 1rem;\\r\\n}\\r\\n\\r\\n.login-container .sign-up {\\r\\n text-align: center;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.form-input input {\\r\\n background-color: #d5d5d5;\\r\\n border: none;\\r\\n color: #555;\\r\\n padding: 10px 20px 10px 20px;\\r\\n font-size: 1rem;\\r\\n margin: 10px 10px 0 0;\\r\\n flex: 1;\\r\\n width: 80%;\\r\\n }\\r\\n\\r\\n.form-input input::-moz-placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n }\\r\\n\\r\\n.form-input input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n }\\r\\n\\r\\n.form-input input::placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n }\\r\\n\\r\\n.cube-wrapper1 {\\r\\n width: 100px*2;\\r\\n height: 100px*2;\\r\\n text-align: center;\\r\\n margin: 0 0 50px 0px;\\r\\n opacity: 0.5;\\r\\n }\\r\\n\\r\\n.cube-items1 {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n display: inline-block;\\r\\n transform: rotate(45deg);\\r\\n font-size: 0;\\r\\n }\\r\\n\\r\\n.cube-items1 span {\\r\\n position: relative;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n transform: scale(1.1);\\r\\n display: inline-block;\\r\\n }\\r\\n\\r\\n.cube-items1 span::before {\\r\\n content: '';\\r\\n background-color: #3a87c7;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n display: block;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n transform-origin: 100% 100%;\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-2 {\\r\\n transform: rotateZ(90deg) scale(1.1);\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-2::before {\\r\\n background-color: #0b4c8e;\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-3 {\\r\\n transform: rotateZ(270deg) scale(1.1);\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-3::before {\\r\\n background-color: #e58929;\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-4 {\\r\\n transform: rotateZ(180deg) scale(1.1);\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-4::before {\\r\\n background-color: #E58929;\\r\\n }\\r\\n\\r\\n.contact {\\r\\n margin: 0 auto;\\r\\n margin-top: 50px;\\r\\n /* font-size: 0.87rem; */\\r\\n font-size: 12px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin-left: 0;\\r\\n }\\r\\n\\r\\n.contact span {\\r\\n margin: 10px 0 10px 0;\\r\\n }\\r\\n\\r\\n.contact span {\\r\\n /* padding: 0 15px 0 15px; */\\r\\n }\\r\\n\\r\\n.contact a {\\r\\n color: #E58929;\\r\\n }\\r\\n\\r\\n.contact i {\\r\\n margin-right: 10px;\\r\\n }\\r\\n\\r\\n.org-welcome {\\r\\n position: absolute;\\r\\n z-index: 100;\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n background-color: rgba(0,0,0,0.75);\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n }\\r\\n\\r\\n.browser-alert {\\r\\n position: absolute;\\r\\n z-index: 1000;\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n background-color: rgba(0,0,0,0.75);\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n top: 0;\\r\\n left: 0;\\r\\n }\\r\\n\\r\\n.welcome-message {\\r\\n width: 500px;\\r\\n height: 250px;\\r\\n margin: 0 auto;\\r\\n position: absolute;\\r\\n background-color: #f5f5f5;\\r\\n left: 0;\\r\\n right: 0;\\r\\n top: 30%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n border-radius: 10px;\\r\\n padding: 25px;\\r\\n }\\r\\n\\r\\n.bell-icon {\\r\\n border-radius: 100%;\\r\\n border: 3px #009900 solid;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n }\\r\\n\\r\\n.welcome-message .title {\\r\\n font-size: 18px;\\r\\n color: #555;\\r\\n }\\r\\n\\r\\n.welcome-message .info {\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n }\\r\\n\\r\\n.buttons {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: space-around;\\r\\n }\\r\\n\\r\\n.bell-icon i {\\r\\n font-size: 36px;\\r\\n color: #009900;\\r\\n }\\r\\n\\r\\n.org-welcome-close {\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n margin: 10px;\\r\\n cursor: pointer;\\r\\n }\\r\\n\\r\\n.org-welcome-hidden {\\r\\n display: none;\\r\\n visibility: hidden;\\r\\n }\\r\\n\\r\\n.login-links {\\r\\n font-size: 12px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n/* .headsetIcon{ \\r\\n width: 12px;\\r\\n color: #555;\\r\\n padding-right: 20px;\\r\\n background: url('../../assets/images/temp/headset-solid.svg');\\r\\n} */\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSTtRQUNJLHFCQUFxQjtJQUN6Qjs7SUFFQTtRQUNJLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0IsbUJBQW1CO0lBQ3ZCOztJQUVBO1FBQ0kscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2QixtQkFBbUI7SUFDdkI7O0lBRUE7UUFDSSxpQkFBaUI7SUFDckI7QUFDSjs7QUFFQTtJQUNJO1FBQ0ksa0JBQWtCO1FBQ2xCLFNBQVM7UUFDVCxpQkFBaUI7UUFDakIsdUJBQXVCO0lBQzNCOztJQUVBO1FBQ0ksa0JBQWtCO1FBQ2xCLFVBQVU7UUFDVixpQkFBaUI7SUFDckI7O0lBRUE7UUFDSSxxQkFBcUI7SUFDekI7O0lBRUE7UUFDSSxZQUFZO0lBQ2hCO0FBQ0o7O0FBRUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7O0FBRUg7SUFDSTtRQUNJLG9CQUFvQjtRQUNwQix1QkFBdUI7SUFDM0I7O0lBRUE7UUFDSSxlQUFlO0lBQ25COztJQUVBO1FBQ0ksa0JBQWtCO0lBQ3RCOztJQUVBO1FBQ0ksWUFBWTtRQUNaLG9CQUFvQjtRQUNwQix3QkFBd0I7UUFDeEIsZ0JBQWdCO0lBQ3BCOztJQUVBO1FBQ0ksc0JBQXNCOztJQUUxQjtBQUNKOztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQiw0QkFBNEI7SUFDNUIsa0VBQWlFO0lBQ2pFLGdCQUFnQjtJQUNoQixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxZQUFZO0lBQ1osc0JBQXNCO0lBQ3RCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixhQUFhO0lBQ2IsVUFBVTtJQUNWLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUVBQWtF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a0JBQWtCO01BQ2xCLFlBQVk7TUFDWixZQUFZO01BQ1osYUFBYTtNQUNiLGtDQUFrQztNQUNsQyxXQUFXO01BQ1gsWUFBWTtFQUNoQjs7QUFFQTtJQUNFLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsWUFBWTtJQUNaLGFBQWE7SUFDYixrQ0FBa0M7SUFDbEMsV0FBVztJQUNYLFlBQVk7SUFDWixNQUFNO0lBQ04sT0FBTztFQUNUOztBQUVBO01BQ0ksWUFBWTtNQUNaLGFBQWE7TUFDYixjQUFjO01BQ2Qsa0JBQWtCO01BQ2xCLHlCQUF5QjtNQUN6QixPQUFPO01BQ1AsUUFBUTtNQUNSLFFBQVE7TUFDUixhQUFhO01BQ2Isc0JBQXNCO01BQ3RCLG1CQUFtQjtNQUNuQixtQkFBbUI7TUFDbkIsYUFBYTtFQUNqQjs7QUFFQTtNQUNJLG1CQUFtQjtNQUNuQix5QkFBeUI7TUFDekIsV0FBVztNQUNYLFlBQVk7TUFDWixhQUFhO01BQ2IsbUJBQW1CO01BQ25CLHVCQUF1QjtFQUMzQjs7QUFFQTtNQUNJLGVBQWU7TUFDZixXQUFXO0VBQ2Y7O0FBRUE7SUFDRSxlQUFlO0lBQ2YsV0FBVztFQUNiOztBQUVBO01BQ0ksYUFBYTtNQUNiLFdBQVc7TUFDWCw2QkFBNkI7RUFDakM7O0FBRUE7TUFDSSxlQUFlO01BQ2YsY0FBYztFQUNsQjs7QUFFQTtNQUNJLGtCQUFrQjtNQUNsQixRQUFRO01BQ1IsTUFBTTtNQUNOLFlBQVk7TUFDWixlQUFlO0VBQ25COztBQUVBO01BQ0ksYUFBYTtNQUNiLGtCQUFrQjtFQUN0Qjs7QUFFQTtNQUNJLGVBQWU7TUFDZixhQUFhO01BQ2Isc0JBQXNCO0VBQzFCOztBQUdGOzs7OztHQUtHIiwiZmlsZSI6Ii4uL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAubGVmdC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAucmlnaHQtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHghaW1wb3J0YW50O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgZmxleDogMSFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTY2cHgpIHtcclxuICAgIC5jdWJlLXdyYXBwZXIxIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTAwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIC53ZWxjb21lLXRleHQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDIwMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG5cclxuICAgIC53ZWxjb21lLXRleHQgc3BhbiB7XHJcbiAgICAgICAgY29sb3I6ICNmZmYhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5sZWZ0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgICAud2VsY29tZS1tZXNzYWdlIHtcclxuICAgICAgICB3aWR0aDogNjAlIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDQwMHB4IWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9ucyB7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIC5idXR0b25zIGJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG4gICAgXHJcbn0gKi9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOjY0MXB4KSB7XHJcbiAgICAud2VsY29tZS1tZXNzYWdlIHtcclxuICAgICAgICB3aWR0aDogNjAlIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDQwMHB4IWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9ucyB7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIC5idXR0b25zIGJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250YWN0IHtcclxuICAgICAgICB3aWR0aDogMjIwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8haW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogMjQwcHghaW1wb3J0YW50O1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG46aG9zdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2OyAqL1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvaW1hZ2VzL2xvZ2luLWJhY2tncm91bmQuanBnJyk7XHJcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxufVxyXG5cclxuOmhvc3Q6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbn1cclxuXHJcbi5jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBoZWlnaHQ6IDcwMHB4O1xyXG4gICAgZmxleDogMC43NTtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLmxlZnQtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9pbWFnZXMvbG9naW4tbGVmdC1jb2x1bW4uanBnJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgZmxleDogMSAwIDMwMHB4O1xyXG4gICAgLyogbWluLWhlaWdodDogMzAwcHg7ICovXHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ucmlnaHQtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICAgIGFsaWduLWl0ZW1zOiBsZWZ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvaW1hZ2VzL0hWU193YXRlcm1hcmsucG5nJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0OyBcclxuICAgIC8qIGZsZXg6IDEgMCA2MDBweDsgKi9cclxuICAgIC8qIGZsZXg6IDI7ICovXHJcbiAgICBhbGlnbi1pdGVtczogbGVmdDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgLyogZmxleDogMSAwIDYwMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlOyAqL1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG59XHJcblxyXG4ucmlnaHQtY29udGFpbmVyMntcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7XHJcbiAgICAvKiBib3JkZXItbGVmdDogIzAwMCBzb2xpZCAxcHg7ICovXHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG59XHJcbi5yaWdodC1jb250YWluZXIyIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC5yaWdodC1jb250YWluZXIyIHVsIGxpOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAn4pyTJztcclxuICB9XHJcblxyXG4vKiAucmlnaHQtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9pbWFnZXMvSFZTX3dhdGVybWFyay5wbmcnKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7IFxyXG5cclxuICAgIGFsaWduLWl0ZW1zOiBsZWZ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4OiAxIDAgNjAwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbn0gKi9cclxuXHJcbi53ZWxjb21lLXRleHQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgXHJcbn1cclxuXHJcbi53ZWxjb21lLXRleHQgc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi53ZWxjb21lLXRleHQgc3BhbjpudGgtY2hpbGQoMikge1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLmxvZ2luLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHdpZHRoOiAyNWVtO1xyXG59XHJcblxyXG4ubG9naW4tY29udGFpbmVyIGxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICBjb2xvcjogIzc3NztcclxufVxyXG5cclxuLmxvZ2luLWNvbnRhaW5lciBpbnB1dCB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBwYWRkaW5nOiAwLjVlbTtcclxuICAgIG1hcmdpbjogMC41ZW0gMCAwLjVlbSAwO1xyXG59XHJcblxyXG4ubG9naW4tY29udGFpbmVyIC5mb3Jnb3QtcGFzc3dvcmQge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbmEge1xyXG4gICAgY29sb3I6ICNFNTg5Mjk7XHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgNXB4IDAgNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4IDIwcHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgLyogIGZvbnQtd2VpZ2h0OiA4MDA7ICovXHJcbiAgIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuLmxvZ2luLWNvbnRhaW5lciAuc2lnbi11cCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuXHJcblxyXG4uZm9ybS1pbnB1dCBpbnB1dCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweCAyMHB4O1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgbWFyZ2luOiAxMHB4IDEwcHggMCAwO1xyXG4gICAgZmxleDogMTtcclxuICAgIHdpZHRoOiA4MCU7XHJcbiAgfVxyXG4gIFxyXG4gICBcclxuICAuZm9ybS1pbnB1dCBpbnB1dDo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBtYXJnaW46IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICB9XHJcblxyXG4gIFxyXG5cclxuICAuY3ViZS13cmFwcGVyMSB7XHJcbiAgICB3aWR0aDogMTAwcHgqMjtcclxuICAgIGhlaWdodDogMTAwcHgqMjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCAwIDUwcHggMHB4O1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gIH1cclxuICBcclxuICAuY3ViZS1pdGVtczEge1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICB9XHJcbiAgXHJcbiAgLmN1YmUtaXRlbXMxIHNwYW4ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgfVxyXG4gIFxyXG4gIC5jdWJlLWl0ZW1zMSBzcGFuOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2E4N2M3O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcclxuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcclxuICB9XHJcbiAgXHJcbiAgLmN1YmUtaXRlbXMxIC5jdWJlLTIge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDkwZGVnKSBzY2FsZSgxLjEpO1xyXG4gIH1cclxuICBcclxuICAuY3ViZS1pdGVtczEgLmN1YmUtMjo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYjRjOGU7XHJcbiAgfVxyXG4gIFxyXG4gIC5jdWJlLWl0ZW1zMSAuY3ViZS0zIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWigyNzBkZWcpIHNjYWxlKDEuMSk7XHJcbiAgfVxyXG4gIFxyXG4gIC5jdWJlLWl0ZW1zMSAuY3ViZS0zOjpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ODkyOTtcclxuICB9XHJcbiAgXHJcbiAgLmN1YmUtaXRlbXMxIC5jdWJlLTQge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZykgc2NhbGUoMS4xKTtcclxuICB9XHJcbiAgXHJcbiAgLmN1YmUtaXRlbXMxIC5jdWJlLTQ6OmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gIH1cclxuXHJcbiAgLmNvbnRhY3Qge1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgLyogZm9udC1zaXplOiAwLjg3cmVtOyAqL1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgLmNvbnRhY3Qgc3BhbiB7XHJcbiAgICAgIG1hcmdpbjogMTBweCAwIDEwcHggMDtcclxuICB9XHJcblxyXG5cclxuICAuY29udGFjdCBzcGFuIHtcclxuICAgICAgLyogcGFkZGluZzogMCAxNXB4IDAgMTVweDsgKi9cclxuICB9XHJcblxyXG4gIC5jb250YWN0IGEge1xyXG4gICAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgfVxyXG5cclxuICAuY29udGFjdCBpIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLm9yZy13ZWxjb21lIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5icm93c2VyLWFsZXJ0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcblxyXG4gIC53ZWxjb21lLW1lc3NhZ2Uge1xyXG4gICAgICB3aWR0aDogNTAwcHg7XHJcbiAgICAgIGhlaWdodDogMjUwcHg7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB0b3A6IDMwJTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgcGFkZGluZzogMjVweDtcclxuICB9XHJcblxyXG4gIC5iZWxsLWljb24ge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICBib3JkZXI6IDNweCAjMDA5OTAwIHNvbGlkO1xyXG4gICAgICB3aWR0aDogNTBweDtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC53ZWxjb21lLW1lc3NhZ2UgLnRpdGxlIHtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICBjb2xvcjogIzU1NTtcclxuICB9XHJcblxyXG4gIC53ZWxjb21lLW1lc3NhZ2UgLmluZm8ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgfVxyXG5cclxuICAuYnV0dG9ucyB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICB9XHJcblxyXG4gIC5iZWxsLWljb24gaSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgY29sb3I6ICMwMDk5MDA7XHJcbiAgfVxyXG5cclxuICAub3JnLXdlbGNvbWUtY2xvc2Uge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIG1hcmdpbjogMTBweDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgLm9yZy13ZWxjb21lLWhpZGRlbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gIC5sb2dpbi1saW5rcyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICB9XHJcblxyXG5cclxuLyogLmhlYWRzZXRJY29ueyBcclxuICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9hc3NldHMvaW1hZ2VzL3RlbXAvaGVhZHNldC1zb2xpZC5zdmcnKTtcclxufSAqLyJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Sign into the Classic HVS Portal\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
{{this.error}}
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
Forgot your password?
\\r\\n \\r\\n
\\r\\n
Don't have an account yet?
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n 800-969-6518\\r\\n \\r\\n \\r\\n 888-355-0770\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n support@hvs.supportsystem.com\\r\\n \\r\\n \\r\\n \\r\\n www.hvsfinancial.com\\r\\n www.healthviewria.com\\r\\n \\r\\n Version: {{version}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Sign into the NEW HVS Portal 2.0 Experience\\r\\n
\\r\\n
\\r\\n NOW AVAILABLE
All users have access to the newest version of the HVS Portal!
\\r\\n \\r\\n
    \\r\\n
  • Same username and password
  • \\r\\n
  • No additional payment needed
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n

Announcing the OneAmerica 3.0 portal release.

\\r\\n

Learn about the new features by clicking the download link below or watching\\r\\n our training videos once you have logged in. We’re here to answer your questions about the new features. Call us at 800-969-6518, Monday – Friday 9:00 AM to 5:00\\r\\n PM Eastern.\\r\\n

\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n

Please use one of the following supported browsers:

\\r\\n

\\r\\n - Chrome
\\r\\n - Edge
\\r\\n - Firefox
\\r\\n - Safari
\\r\\n

\\r\\n
\\r\\n
\"","import { Component, OnInit, AfterViewInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\nimport { AuthService } from '../auth/auth.service';\r\nimport { version } from '../../../package.json';\r\nimport { GlobalService } from '../services/global.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit, AfterViewInit {\r\n model: any = {};\r\n loading = false;\r\n returnUrl: string;\r\n error: string;\r\n maintenanceWindow:boolean= false;\r\n maintenanceMessage: string = \"We are currently making updates to make your portal better! Please check back later. Thank you.\";\r\n public onlineOffline: boolean = navigator.onLine;\r\n\r\n public waitingOnData: boolean = false;\r\n\r\n public isCompatible: boolean = true;\r\n\r\n public sitePath: string = '';\r\n public showOrgWelcomeMessage: boolean;\r\n public isHVAM: boolean;\r\n\r\n public version: string = version;\r\n\r\n constructor(public route: ActivatedRoute, public router: Router, public authService: AuthService, public globalService: GlobalService,) {\r\n this.sitePath = window.location.hostname;\r\n this.sitePath = this.sitePath.substring(0, this.sitePath.indexOf('.'));\r\n \r\n this.isHVAM = (this.sitePath == 'hvam' || this.sitePath == 'hwh') ? true : false;\r\n // testing\r\n // this.isHVAM = true;\r\n this.globalService.isHVAM = this.isHVAM;\r\n }\r\n\r\n ngAfterViewInit() {\r\n if(this.isHVAM){\r\n\r\n //console.log('should not be here');\r\n let head = document.getElementsByTagName('head')[0];\r\n let style = document.createElement('link');\r\n style.rel = 'stylesheet';\r\n style.href = 'assets/css/hvam/hvam-styling.css';\r\n head.appendChild(style);\r\n //console.log('style', head);\r\n\r\n }\r\n }\r\n\r\n ngOnInit() { \r\n //make a call here to check if there is a maintenance window; //not sure if to cache it??\r\n //need to figure our UTC as well\r\n var startDate;\r\n var endDate;\r\n if(this.maintenanceWindow){\r\n this.maintenanceMessage = \"Maintenance Window: \" + startDate + \" to \" + endDate + \"
HVS Portal will be unaccessable between the hours above for updates!\";\r\n }\r\n\r\n //make a check to see if user has proper internet (no internet, slow, fast)\r\n if(!this.onlineOffline){\r\n var message = \"We are currently seeing that you have either a slow internet connection, or none at all. Please check your wireless or wired connection before attempting to login.\";\r\n if(this.maintenanceWindow){\r\n this.maintenanceMessage += \"
\" + message;\r\n }else{\r\n this.maintenanceMessage = message;\r\n }\r\n }\r\n \r\n\r\n // reset login status\r\n this.authService.logout();\r\n this.showOrgWelcomeMessage = this.sitePath == 'oa' && !localStorage.getItem('org-welcome-message') ? true : false;\r\n //console.log('ZSS sitepath:', this.sitePath);\r\n if(this.isHVAM){\r\n //require('style-loader!assets/css/hvam/hvam-styling.css');\r\n //document.getElementById('theme22').setAttribute('href', '../../assets/css/hvam/hvam-styling.css');\r\n //(document.getElementById('theme22') as any) = '../../assets/css/hvam/hvam-styling.css';\r\n }\r\n \r\n //console.log('ZSS sitepath:', this.isHVAM);\r\n // get return url from route parameters or default to '/'\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/home';\r\n \r\n // this.isCompatible = /*@cc_on!@*/false || !!document.documentMode;\r\n this.isCompatible = navigator.userAgent.indexOf(\"MSIE \") > -1 || navigator.userAgent.indexOf(\"Trident/\") > -1;\r\n }\r\n\r\n closeWelcomeMessage(e) {\r\n localStorage.setItem('org-welcome-message', '1');\r\n this.showOrgWelcomeMessage = false;\r\n }\r\n\r\n login() {\r\n this.loading = true;\r\n this.error = 'Connecting to HVS Portal';\r\n this.authService.login(this.model.username, this.model.password)\r\n .subscribe(\r\n data => {\r\n if (this.sitePath == 'oa') {\r\n localStorage.setItem('org-welcome-message', '1')\r\n }\r\n\r\n this.router.navigate([this.returnUrl]);\r\n this.loading = false;\r\n },\r\n error => {\r\n this.error = 'Incorrect username or password.';\r\n this.loading = false;\r\n });\r\n }\r\n\r\n handleEnter(e) {\r\n if (e.keyCode == 13) {\r\n // console.log('enter');\r\n this.login();\r\n }\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\nspan {\\r\\n /* padding: 10px;\\r\\n font-size: 0.9rem;\\r\\n font-weight: 500; */\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.top-row {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n padding-left: 15px;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.value-row {\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n margin-left: 15px;\\r\\n}\\r\\n\\r\\n.client-profile {\\r\\n display: flex;\\r\\n margin: 10px;\\r\\n max-width: 120px;\\r\\n flex: 1 0 130px;\\r\\n}\\r\\n\\r\\n.client-profile div {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.client-profile span{\\r\\n /* width: 120px; */\\r\\n}\\r\\n\\r\\n.client-profile img {\\r\\n border-radius: 100%;\\r\\n width: 55px;\\r\\n height: 55px;\\r\\n border: 2px #E58929 solid;\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\nhr {\\r\\n /* margin: 0 25px 0 25px; */\\r\\n}\\r\\n\\r\\n.client-name {\\r\\n font-size: 1rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.client-subtitle {\\r\\n font-size: 0.75rem;\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n width: 120px;\\r\\n}\\r\\n\\r\\n.header-section {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n flex: 1 0 100px;\\r\\n margin-right: 15px;\\r\\n}\\r\\n\\r\\n.header-section span{\\r\\n padding-top: 10px;\\r\\n}\\r\\n\\r\\n.header-section select{\\r\\n margin-top: 10px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.metric-val {\\r\\n color: #E58929;\\r\\n font-weight: bold;\\r\\n font-size: 1.5rem;\\r\\n /* font-family: 'Maven Pro', sans-serif; */\\r\\n flex: 1;\\r\\n padding-bottom: 10px;\\r\\n}\\r\\n\\r\\nselect {\\r\\n height: 37px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n border: none;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.funding-sources {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n padding-bottom: 40px;\\r\\n padding-top: 40px;\\r\\n padding-left: 15px;\\r\\n}\\r\\n\\r\\n.funding-sources table {\\r\\n text-align: left;\\r\\n border-left: 1px #e5e5e5 solid;\\r\\n flex: 1;\\r\\n border-collapse: collapse;\\r\\n margin-right: 25px;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.funding-sources table td {\\r\\n border: 1px #e5e5e5 solid;\\r\\n padding: 10px;\\r\\n font-size: 0.75rem;\\r\\n}\\r\\n\\r\\n.funding-sources table th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n padding: 10px;\\r\\n font-size: 1rem;\\r\\n font-weight: 500;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.funding-sources table input:focus .new-funding-source {\\r\\n background-color: #666;\\r\\n}\\r\\n\\r\\n.action-item {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n /* cursor: pointer; */\\r\\n}\\r\\n\\r\\n.funding-sources table input {\\r\\n border: none;\\r\\n outline: none;\\r\\n /* cursor: pointer; */\\r\\n height: 25px;\\r\\n padding: 3px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.funding-sources table input:hover {\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n.funding-sources table input:focus {\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n.funding-sources table input:invalid {\\r\\n border: 2px #ff7f7f solid!important;\\r\\n }\\r\\n\\r\\n.invalid input:invalid {\\r\\n border: 2px #ff7f7f solid!important;\\r\\n}\\r\\n\\r\\n.top-row-items {\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n flex-direction: row;\\r\\n width: 100%;\\r\\n flex-wrap: wrap;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.buttons-row {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n margin-bottom: 150px;\\r\\n padding-left: 15px;\\r\\n}\\r\\n\\r\\n.btn {\\r\\n background-color: #E58929;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 25px 0 25px;\\r\\n cursor: pointer;\\r\\n margin-top: 10px; \\r\\n margin-right: 10px;\\r\\n padding-left: 10px;\\r\\n max-height: 50px;\\r\\n}\\r\\n\\r\\n.btn button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.btn i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.investment-solutions {\\r\\n flex: 1;\\r\\n margin-left: 20px;\\r\\n flex-direction: column;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.legend-note {\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.legend-block {\\r\\n width: 10px;\\r\\n height: 10px;\\r\\n padding: 0px;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.legend-item {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.legend-name {\\r\\n font-size: 12px!important;\\r\\n}\\r\\n\\r\\n.legend {\\r\\n width: 200px;\\r\\n}\\r\\n\\r\\n.investment-container {\\r\\n background-color: #fff;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n border: 1px #e5e5e5 solid;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.cost-of-waiting {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n flex-direction: column;\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n.cow-container {\\r\\n display: flex;\\r\\n margin-right: 25px;\\r\\n flex-direction: column;\\r\\n background-color: #fff;\\r\\n border: 1px #e5e5e5 solid;\\r\\n flex: 1;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.cow-chart {\\r\\n height: 235px;\\r\\n width: 400px;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.funding-chart {\\r\\n height: 235px;\\r\\n width: 200px;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.funding-container {\\r\\n background-color: #fff;\\r\\n display: flex;\\r\\n border: 1px #e5e5e5 solid;\\r\\n flex: 1;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.funding-breakdown {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n flex: 1;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.section-title{\\r\\n padding-bottom: 10px;\\r\\n}\\r\\n\\r\\n.rate-assumptions {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.rate-item {\\r\\n padding: 10px 0 10px 0;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n\\r\\n.rate-selection {\\r\\n font-size: 0.8rem;\\r\\n border-top: 1px #d5d5d5 solid;\\r\\n}\\r\\n\\r\\n.selection-item {\\r\\n padding: 5px 0 5px 0;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.rate-item input {\\r\\n border: none;\\r\\n background-color: #d5d5d5;\\r\\n height: 25px;\\r\\n text-align: center;\\r\\n color: #555;\\r\\n width: 40px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.cow-values {\\r\\n width: 400px;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n margin: 10px 0 0 0;\\r\\n justify-content: space-around;\\r\\n /* position: absolute;\\r\\n width: 100%; */\\r\\n}\\r\\n\\r\\n.new-funding-source input:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.new-funding-source input:invalid {\\r\\n border: 2px #ff7f7f solid!important;\\r\\n}\\r\\n\\r\\n.na-bar {\\r\\n color: #555;\\r\\n background-color: #bcdff1;\\r\\n font-size: 13px;\\r\\n padding: 10px;\\r\\n padding-left: 20px;\\r\\n width: 100%;\\r\\n font-size: 12px;\\r\\n border-top: 2px #f5f5f5 solid;\\r\\n}\\r\\n\\r\\n.hvs-radio {\\r\\n position: relative;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.hvs-radio::before {\\r\\n content: '';\\r\\n position: absolute;\\r\\n background-color: #b7b7b7;\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n border-radius: 15px;\\r\\n}\\r\\n\\r\\n.hvs-radio:checked::before {\\r\\n content: '';\\r\\n position: absolute;\\r\\n background-color: #555;\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n border-radius: 15px;\\r\\n}\\r\\n\\r\\n.hvs-radio:checked::after {\\r\\n content: '';\\r\\n position: absolute;\\r\\n background-color: #fff;\\r\\n width: 5px;\\r\\n height: 5px;\\r\\n border-radius: 5px;\\r\\n}\\r\\n\\r\\n/* input:invalid {\\r\\n border: 2px #ff7f7f solid!important;\\r\\n} */\\r\\n \\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xvbmctdGVybS1jYXJlL2xvbmctdGVybS1jYXJlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLFlBQVk7QUFDaEI7O0FBRUE7R0FDRzs7dUJBRW9CO0lBQ25CLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsa0JBQWtCO0lBQ2xCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsNkJBQTZCO0lBQzdCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0FBQzFCOztBQUVBO0dBQ0csbUJBQW1CO0FBQ3RCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLGlCQUFpQjtBQUNyQjs7QUFFQTtFQUNFLDZCQUE2QjtBQUMvQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsY0FBYztJQUNkLDBCQUEwQjtJQUMxQixlQUFlO0lBQ2YsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixrQkFBa0I7QUFDdEI7O0FBRUE7R0FDRyxpQkFBaUI7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsMENBQTBDO0lBQzFDLE9BQU87SUFDUCxvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxZQUFZO0lBQ1osZUFBZTtBQUNu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QXlCO0lBQ3pCLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFdBQVc7SUFDWCxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsV0FBVztJQUNYLGtCQUFrQjtJQUNsQiw2QkFBNkI7SUFDN0I7a0JBQ2M7QUFDbEI7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksbUNBQW1DO0FBQ3ZDOztBQUVBO0lBQ0ksV0FBVztJQUNYLHlCQUF5QjtJQUN6QixlQUFlO0lBQ2YsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsZUFBZTtJQUNmLDZCQUE2QjtBQUNqQzs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIseUJBQXlCO0VBQ3pCLFdBQVc7RUFDWCxZQUFZO0VBQ1osbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixzQkFBc0I7RUFDdEIsV0FBVztFQUNYLFlBQVk7RUFDWixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLHNCQUFzQjtFQUN0QixVQUFVO0VBQ1YsV0FBVztFQUNYLGtCQUFrQjtBQUNwQjs7QUFFQTs7R0FFRyIsImZpbGUiOiIuLi9sb25nLXRlcm0tY2FyZS9sb25nLXRlcm0tY2FyZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuc3BhbiB7XHJcbiAgIC8qICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBmb250LXdlaWdodDogNTAwOyAqL1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi50b3Atcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi52YWx1ZS1yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbn1cclxuXHJcbi5jbGllbnQtcHJvZmlsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgbWF4LXdpZHRoOiAxMjBweDtcclxuICAgIGZsZXg6IDEgMCAxMzBweDtcclxufVxyXG5cclxuLmNsaWVudC1wcm9maWxlIGRpdiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmNsaWVudC1wcm9maWxlIHNwYW57XHJcbiAgIC8qICB3aWR0aDogMTIwcHg7ICovXHJcbn1cclxuXHJcbi5jbGllbnQtcHJvZmlsZSBpbWcge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgYm9yZGVyOiAycHggI0U1ODkyOSBzb2xpZDtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG5ociB7XHJcbiAgLyogICBtYXJnaW46IDAgMjVweCAwIDI1cHg7ICovXHJcbn1cclxuXHJcbi5jbGllbnQtbmFtZSB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLmNsaWVudC1zdWJ0aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICBjb2xvcjogI0U1ODkyOTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgd2lkdGg6IDEyMHB4O1xyXG59XHJcblxyXG4uaGVhZGVyLXNlY3Rpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXg6IDEgMCAxMDBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxufVxyXG5cclxuLmhlYWRlci1zZWN0aW9uIHNwYW57XHJcbiAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uaGVhZGVyLXNlY3Rpb24gc2VsZWN0e1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5tZXRyaWMtdmFsIHtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgIC8qIGZvbnQtZmFtaWx5OiAnTWF2ZW4gUHJvJywgc2Fucy1zZXJpZjsgKi9cclxuICAgIGZsZXg6IDE7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuc2VsZWN0IHtcclxuICAgIGhlaWdodDogMzdweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmZ1bmRpbmctc291cmNlcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbn1cclxuXHJcbi5mdW5kaW5nLXNvdXJjZXMgdGFibGUge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmZ1bmRpbmctc291cmNlcyB0YWJsZSB0ZCB7XHJcbiAgICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxufVxyXG5cclxuLmZ1bmRpbmctc291cmNlcyB0YWJsZSB0aCB7XHJcbiAgICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLmZ1bmRpbmctc291cmNlcyB0YWJsZSBpbnB1dDpmb2N1cyAubmV3LWZ1bmRpbmctc291cmNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XHJcbn1cclxuXHJcbi5hY3Rpb24taXRlbSB7XHJcbiAgICBjb2xvcjogI0U1ODkyOTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgLyogY3Vyc29yOiBwb2ludGVyOyAqL1xyXG59XHJcblxyXG4uZnVuZGluZy1zb3VyY2VzIHRhYmxlIGlucHV0IHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAvKiBjdXJzb3I6IHBvaW50ZXI7ICovXHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZ1bmRpbmctc291cmNlcyB0YWJsZSBpbnB1dDpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG59XHJcblxyXG4uZnVuZGluZy1zb3VyY2VzIHRhYmxlIGlucHV0OmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbn1cclxuXHJcbi5mdW5kaW5nLXNvdXJjZXMgdGFibGUgaW5wdXQ6aW52YWxpZCB7XHJcbiAgICBib3JkZXI6IDJweCAjZmY3ZjdmIHNvbGlkIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4uaW52YWxpZCBpbnB1dDppbnZhbGlkIHtcclxuICAgIGJvcmRlcjogMnB4ICNmZjdmN2Ygc29saWQhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udG9wLXJvdy1pdGVtcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcblxyXG4uYnV0dG9ucy1yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxufVxyXG5cclxuLmJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgMjVweCAwIDI1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyAgICBcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIG1heC1oZWlnaHQ6IDUwcHg7XHJcbn1cclxuXHJcbi5idG4gYnV0dG9uIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi5idG4gaSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmludmVzdG1lbnQtc29sdXRpb25zIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG59XHJcblxyXG4ubGVnZW5kLW5vdGUge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5sZWdlbmQtYmxvY2sge1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmxlZ2VuZC1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubGVnZW5kLW5hbWUge1xyXG4gICAgZm9udC1zaXplOiAxMnB4IWltcG9ydGFudDtcclxufVxyXG5cclxuLmxlZ2VuZCB7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbn1cclxuXHJcblxyXG4uaW52ZXN0bWVudC1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYm9yZGVyOiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5jb3N0LW9mLXdhaXRpbmcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5jb3ctY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlcjogMXB4ICNlNWU1ZTUgc29saWQ7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uY293LWNoYXJ0IHtcclxuICAgIGhlaWdodDogMjM1cHg7XHJcbiAgICB3aWR0aDogNDAwcHg7XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcblxyXG4uZnVuZGluZy1jaGFydCB7XHJcbiAgICBoZWlnaHQ6IDIzNXB4O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgZmxleDogMTtcclxufVxyXG5cclxuLmZ1bmRpbmctY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYm9yZGVyOiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5mdW5kaW5nLWJyZWFrZG93biB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLnNlY3Rpb24tdGl0bGV7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxufVxyXG4ucmF0ZS1hc3N1bXB0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnJhdGUtaXRlbSB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAwO1xyXG4gICAgZm9udC1zaXplOiAwLjhyZW07XHJcbn1cclxuXHJcbi5yYXRlLXNlbGVjdGlvbiB7XHJcbiAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgIGJvcmRlci10b3A6IDFweCAjZDVkNWQ1IHNvbGlkO1xyXG59XHJcblxyXG4uc2VsZWN0aW9uLWl0ZW0ge1xyXG4gICAgcGFkZGluZzogNXB4IDAgNXB4IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnJhdGUtaXRlbSBpbnB1dCB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uY293LXZhbHVlcyB7XHJcbiAgICB3aWR0aDogNDAwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICAvKiBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTsgKi9cclxufVxyXG5cclxuLm5ldy1mdW5kaW5nLXNvdXJjZSBpbnB1dDpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5uZXctZnVuZGluZy1zb3VyY2UgaW5wdXQ6aW52YWxpZCB7XHJcbiAgICBib3JkZXI6IDJweCAjZmY3ZjdmIHNvbGlkIWltcG9ydGFudDtcclxufVxyXG5cclxuLm5hLWJhciB7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiY2RmZjE7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBib3JkZXItdG9wOiAycHggI2Y1ZjVmNSBzb2xpZDtcclxufVxyXG5cclxuLmh2cy1yYWRpbyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmh2cy1yYWRpbzo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I3YjdiNztcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxufVxyXG5cclxuLmh2cy1yYWRpbzpjaGVja2VkOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xyXG4gIHdpZHRoOiAxNXB4O1xyXG4gIGhlaWdodDogMTVweDtcclxuICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG59XHJcblxyXG4uaHZzLXJhZGlvOmNoZWNrZWQ6OmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICB3aWR0aDogNXB4O1xyXG4gIGhlaWdodDogNXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG5cclxuLyogaW5wdXQ6aW52YWxpZCB7XHJcbiAgICBib3JkZXI6IDJweCAjZmY3ZjdmIHNvbGlkIWltcG9ydGFudDtcclxufSAqL1xyXG4gICAgIl19 */\"","module.exports = \"\\r\\n\\r\\n
\\r\\n This client is currently configured to use National Averages.\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{this.client.client.FirstName + ' ' + this.client.client.LastName}}\\r\\n Edit Client Profile\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Period of Care:\\r\\n \\r\\n \\r\\n \\r\\n Estimated Annual Cost Today\\r\\n \\r\\n \\r\\n {{response.CostTodayAnnual ? response.CostTodayAnnual : \\\"--\\\"}}\\r\\n
\\r\\n \\r\\n
\\r\\n {{this.getRegionVerbiage()}}\\r\\n \\r\\n \\r\\n \\r\\n Projected Annual Costs at age {{response.LTCAge ? response.LTCAge : \\\"--\\\"}} ({{response.LTCYear ? response.LTCYear :\\r\\n \\\"--\\\"}})\\r\\n \\r\\n \\r\\n {{response.FutureCostAnnual ? response.FutureCostAnnual : \\\"--\\\"}}\\r\\n
\\r\\n
\\r\\n Level of Assistance:\\r\\n \\r\\n \\r\\n \\r\\n Total Projected Costs ({{response.LTCYear ? response.LTCYear : \\\"--\\\"}}-{{response.LTCEndYear ? response.LTCEndYear : \\\"--\\\"}})\\r\\n \\r\\n \\r\\n {{response.FutureCostTotal ? response.FutureCostTotal : \\\"--\\\"}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{this.client.clientProfile.Spouses[0].firstName + ' ' + this.client.clientProfile.Spouses[0].lastName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Period of Care:\\r\\n \\r\\n \\r\\n \\r\\n Estimated Annual Cost Today\\r\\n \\r\\n \\r\\n {{response.CostTodayAnnual1 ? response.CostTodayAnnual1 : \\\"--\\\"}}\\r\\n
\\r\\n
\\r\\n {{this.getRegionSpouseVerbiage()}}\\r\\n \\r\\n \\r\\n \\r\\n Projected Annual Costs at age {{response.LTCAge1 ? response.LTCAge1 : \\\"--\\\"}} ({{response.LTCYear1 ? response.LTCYear1\\r\\n : \\\"--\\\"}})\\r\\n \\r\\n \\r\\n {{response.FutureCostAnnual1 ? response.FutureCostAnnual1 : \\\"--\\\"}}\\r\\n
\\r\\n
\\r\\n Level of Assistance:\\r\\n \\r\\n \\r\\n \\r\\n Total Projected Costs ({{response.LTCYear1 ? response.LTCYear1 : \\\"--\\\"}}-{{response.LTCEndYear1 ? response.LTCEndYear1\\r\\n : \\\"--\\\"}})\\r\\n \\r\\n \\r\\n {{response.FutureCostTotal1 ? response.FutureCostTotal1 : \\\"--\\\"}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Total Projected Long-Term Care (in Today's Dollars)\\r\\n \\r\\n \\r\\n {{response.LTCGrandTotAmtTodays ? response.LTCGrandTotAmtTodays : \\\"--\\\"}}\\r\\n
\\r\\n
\\r\\n Total Projected Long-Term Care (in Future Dollars)\\r\\n \\r\\n \\r\\n {{response.LTCGrandTotAmt ? response.LTCGrandTotAmt : \\\"--\\\"}}\\r\\n
\\r\\n
\\r\\n Total Investment to Fund Costs\\r\\n \\r\\n \\r\\n {{response.depositedToday ? response.depositedToday : \\\"--\\\"}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Funding Solutions\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Funding SourceAnnual ContributionStart YearEnd YearInflation RateTotal ContributionRemaining UnfundedActions
{{item.fundingSource}}{{formatCurrency(item.annContribution)}}{{item.startAge}}{{item.endAge}}{{item.inflationRate}}%{{formatCurrency(item.contributionAmount)}}{{formatCurrency(item.remainingUnfunded)}}\\r\\n delete\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n ----\\r\\n ADD\\r\\n\\r\\n\\r\\n ADD \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Funding Breakdown\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{entry.name}}\\r\\n
\\r\\n
\\r\\n

\\r\\n Note: Actual percentages have been rounded to the nearest one hundredth of a percent.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Investment Solutions\\r\\n
\\r\\n Rate Assumptions\\r\\n
\\r\\n
\\r\\n Phase 1:\\r\\n \\r\\n %      Through Age:\\r\\n \\r\\n
\\r\\n
\\r\\n Phase 2:\\r\\n \\r\\n %      Through Age:\\r\\n \\r\\n
\\r\\n
\\r\\n Phase 3:\\r\\n \\r\\n %      Through Age:\\r\\n {{this.client && this.client.clientProfile ? this.expectedLE : '--'}} (calculated life expectancy)\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n years, for a total of {{futureYearlyCost}}, or\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n years, for a total of {{futureWeeklyTotal}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Cost of Waiting\\r\\n
\\r\\n
\\r\\n \\r\\n {{ cowValues.one }}\\r\\n {{ cowValues.three }}\\r\\n {{ cowValues.five }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { GlobalService } from '../services/global.service';\r\nimport { ModalService } from '../shared/modal/modal.service';\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\nimport { LoadingService } from '../shared/loading/loading.service';\r\n\r\nimport Utils from '../shared/utility';\r\n\r\n@Component({\r\n selector: 'app-long-term-care',\r\n templateUrl: './long-term-care.component.html',\r\n styleUrls: ['./long-term-care.component.css']\r\n})\r\nexport class LongTermCareComponent implements OnInit {\r\n\r\n constructor(public route: ActivatedRoute, public globalService: GlobalService, public modalService: ModalService, public snackBarService: SnackBarService, public router: Router, public loadingService: LoadingService) {\r\n modalService.modal$.subscribe((modal) => {\r\n if (modal.modalName == 'add-edit-clientClosed') { // TODO: Fix this hack -- naming it hidden.. modals in general need to be refactored\r\n //console.log('ZSS model closed');\r\n this.hasRiskTolBeenRan = false;\r\n this.getClient();\r\n }\r\n });\r\n }\r\n\r\n @ViewChild('p1Percent') p1Percent: ElementRef;\r\n @ViewChild('p1EndAge') p1EndAge: ElementRef;\r\n @ViewChild('p2Percent') p2Percent: ElementRef;\r\n @ViewChild('p2EndAge') p2EndAge: ElementRef;\r\n @ViewChild('p3Percent') p3Percent: ElementRef;\r\n @ViewChild('annualEl') annualEl: ElementRef;\r\n \r\n public pocMessage: string = \"The length, in years, that the client will require long-term care services.\";\r\n public mrMessage: string = \"Costs can vary within each state, so selecting the metro area will provide a more accurate expense projection.\";\r\n public loaMessage: string = \"Skilled Nursing: Retirement community with professionals providing help with Activities of Daily Living (ADLs) on a regular basis. Assisted Living: Retirement community but with more individual freedom and less reliance on assistance. Home Health Care: Professionals administer care in the client’s home.\";\r\n public fsMessage: string = \"Add any expected income which is earmarked to healthcare cost funding in the inputs below. Contributions will diminish remaining unfunded costs.\";\r\n \r\n public tptMessage: string = \"Projected lifetime household cost for long-term care needs, after incorporating a 3% annual inflation adjustment so as to show costs in the net present value.\";\r\n public tpfMessage: string = \"Total cost of long-term care that is needed, according to projections. Note that this may cover more (or less) than one year of coverage, according to the selection made for Period of Care.\";\r\n public tpfcMessage: string = \"One-time investment value required today, based on rates of return indicated below, to fund household lifetime LTC needs.\";\r\n //old: public tpfMessage: string = \"Projected lifetime household cost for long-term care needs, show in the future value.\";\r\n\r\n public eacMessage: string = \"Current annual cost for the select care setting this year (this will not be your actual cost).\";\r\n //old: public eacMessage: string = \"Projected lifetime household cost for long-term care needs, show in the future value.\";\r\n public pacMessage: string = \"One year of cost in the year that long-term care is first needed, according to projections.\";\r\n public tpcMessage: string = \"Total cost of long-term care that is needed, according to projections. Note that this may cover more (or less) than one year of coverage, according to the selection made for Period of Care.\";\r\n public naMessage: string = \"\";\r\n \r\n public error: any;\r\n public client: any;\r\n public partnerActive: boolean;\r\n\r\n public fundingItems: any[] = [];\r\n public totalRemainingGap: number = 0;\r\n public beginningBalance: number;\r\n\r\n public response: any = {};\r\n\r\n public clientRegions: any;\r\n public spouseRegions: any;\r\n\r\n public riskToleranceEnabled = false;\r\n\r\n public selfPeriods: number = 12;\r\n public selfRegion: number = 0;\r\n public selfType: number = 1;\r\n\r\n public spousePeriods: number = 12;\r\n public spouseRegion: number = 0;\r\n public spouseType: number = 1;\r\n\r\n public futureWeeklyTotal: number = 0;\r\n\r\n public pieChartData: any[];\r\n public barChartData: any[];\r\n futureTotalCost;\r\n\r\n public lineChartOptions = {\r\n showXAxis: true,\r\n showYAxis: true,\r\n gradient: false,\r\n showLegend: true,\r\n xAxisLabel: '',\r\n yAxisLabel: '',\r\n roundDomains: true,\r\n colorScheme: {\r\n domain: ['#bad052', '#bad052', '#bad052']\r\n },\r\n autoScale: true\r\n }\r\n\r\n public pieChartOptions = {\r\n showLegend: false,\r\n colorScheme: { domain: ['#bad054','#eaf0cb', '#e3ecba', '#dce7a9', '#d5e298', '#cede87', '#c7d976', '#c0d465'] },\r\n showLabels: false,\r\n explodeSlices: false,\r\n doughnut: false,\r\n view: [500, 250],\r\n autoScale: true\r\n }\r\n\r\n public barChartOptions = {\r\n showXAxis: true,\r\n showYAxis: true,\r\n gradient: false,\r\n showLegend: false,\r\n showXAxisLabel: false,\r\n xAxisLabel: 'Country',\r\n showYAxisLabel: false,\r\n roundEdges: false,\r\n yAxisLabel: 'Population',\r\n colorScheme: {\r\n domain: ['#e8f0c7', '#d3e08e', '#bad054']\r\n }\r\n }\r\n\r\n public portfolioRecommendationObject: any = {\r\n year: ' ',\r\n phase1Val: ' ',\r\n phase2Val: ' ',\r\n clientAge: ' ',\r\n spouseAge: ' ',\r\n singleInvestment: ' ',\r\n unfundedAmount: ' ',\r\n spouseFirstName: '',\r\n spouseLastName: '',\r\n ltcReport: '',\r\n user: ''\r\n }\r\n\r\n public fundingSource: any = ''\r\n public startAge: any =''\r\n public endAge: any = ''\r\n public inflationRate: any = ''\r\n public annContribution: any = ''\r\n showFundingBorder: boolean;\r\n showStartAgeBorder: boolean;\r\n showEndAgeBorder: boolean;\r\n showInflationBorder: boolean;\r\n showAnnContrBorder: boolean;\r\n isAssetManagement: boolean = false;\r\n\r\n currentYear = new Date().getFullYear();\r\n\r\n isAlreadyRetired: boolean;\r\n\r\n // for existing user who has the access to Risk Tolerane but still hasn't any Risk Tolerance data\r\n public portfolioRecommendationVisible: boolean;\r\n\r\n ltcReport: any;\r\n user: any;\r\n\r\n @ViewChild('FundingSource') fundingSourceInput:any;\r\n @ViewChild('AnnContribution') annContributionInput:any;\r\n @ViewChild('StartAge') startAgeInput:any;\r\n @ViewChild('EndAge') endAgeInput:any;\r\n @ViewChild('InflationRate') inflationRateInput:any;\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.queryParams['am'] == 1) {\r\n this.isAssetManagement = true;\r\n }\r\n \r\n this.getClient();\r\n }\r\n\r\n public clientYearsOfStay: number = 5;\r\n public spouseYearsOfStay: number = 5;\r\n\r\n getClient() {\r\n this.globalService.getClientData(Number(localStorage.getItem(\"selectedClient\")), 4)\r\n .subscribe(\r\n client => {\r\n this.client = client;\r\n this.clientYearsOfStay = Math.min(15, this.client.clientProfile.LifeExpectancy - this.calculateAge(this.client.client.DOB));\r\n \r\n this.client.clientProfile.Spouses = JSON.parse(this.client.clientProfile.Spouses);\r\n \r\n if (this.client.clientProfile.Spouses.length > 1) {\r\n this.client.clientProfile.Spouses = Utils.calculateMostProfitableSpouse(this.client, this.client.clientProfile.Spouses);\r\n }\r\n \r\n if (this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'Married') {\r\n this.partnerActive = true;\r\n this.spouseYearsOfStay = Math.min(15, this.client.clientProfile.Spouses[0].LifeExpectancy - this.calculateAge(this.client.clientProfile.Spouses[0].dob));\r\n } else {\r\n this.partnerActive = false;\r\n }\r\n\r\n this.client.clientProfile.Children = JSON.parse(this.client.clientProfile.Children);\r\n if(localStorage.getItem('featRiskTolerance') != 'undefined'){\r\n this.riskToleranceEnabled = JSON.parse(localStorage.getItem('featRiskTolerance'));\r\n this.globalService.featRiskTolerance = this.riskToleranceEnabled;\r\n }\r\n\r\n this.getLTCData(client);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n \r\n\r\n handleNewFundingItem(fundingSource: string, annContribution: number, startAge: number, endAge: number, inflationRate: number) {\r\n \r\n if(startAge < this.currentYear){\r\n startAge = this.currentYear;\r\n }\r\n\r\n if(endAge < startAge || endAge > (this.client.clientProfile.LifeExpectancy - this.calculateAge(this.client.client.DOB)) + this.currentYear){\r\n endAge = (this.client.clientProfile.LifeExpectancy - this.calculateAge(this.client.client.DOB)) + this.currentYear;\r\n }\r\n\r\n \r\n \r\n var contributionAmount = this.getFutureContributionAmountV2(annContribution, endAge - startAge, inflationRate, startAge, null);\r\n \r\n\r\n this.totalRemainingGap = this.formatNumber((this.totalRemainingGap - Number(contributionAmount)));\r\n\r\n \r\n\r\n this.fundingItems.push({\r\n fundingSource,\r\n annContribution,\r\n startAge,\r\n endAge,\r\n inflationRate,\r\n contributionAmount: this.formatNumber(contributionAmount),\r\n remainingUnfunded: this.formatNumber(this.totalRemainingGap)\r\n });\r\n\r\n\r\n this.fundingSourceInput.nativeElement.value = '';\r\n this.annContributionInput.nativeElement.value = '';\r\n this.startAgeInput.nativeElement.value = '';\r\n this.endAgeInput.nativeElement.value = '';\r\n this.inflationRateInput.nativeElement.value = '';\r\n \r\n this.getLTCData(this.client);\r\n }\r\n\r\n generatePieChartData() {\r\n var tempTotal = Utils.formatToNumber(this.totalRemainingGap); // - this.futureTotalCost - (this.hcDataV2.FundingOptions.PartB.replace(/,/g,\"\").replace(\"$\",\"\"));\r\n\r\n if (this.fundingItems.length) {\r\n tempTotal = this.fundingItems[this.fundingItems.length - 1].remainingUnfunded;\r\n }\r\n \r\n this.pieChartData = [\r\n { \"name\": \"Unfunded\", \"value\": tempTotal }\r\n ]\r\n this.fundingItems.forEach((item) => { this.pieChartData.push({ \"name\": item.fundingSource, \"value\": item.contributionAmount })});\r\n }\r\n\r\n public expectedLE: any;\r\n\r\n getLTCData(client,includeSingleInvestment?: any) {\r\n const isMarried = client.clientProfile.Spouses[0] && client.clientProfile.Spouses[0].maritalStatus == 'Married' ? true : false;\r\n\r\n var investmentItems = [];\r\n var currentAge = this.calculateAge(client.client.DOB);\r\n var currentYear = new Date().getFullYear();\r\n\r\n\r\n for (var item in this.fundingItems) {\r\n\r\n var contribution = {\r\n Description: this.fundingItems[item].fundingSource,\r\n // Begins: (this.fundingItems[item].startAge - currentAge) + currentYear,\r\n Begins: this.fundingItems[item].startAge,// + currentYear,\r\n Ends: this.fundingItems[item].endAge,// - currentAge) + currentYear,\r\n StartAmount: this.fundingItems[item].annContribution,\r\n // Ends: (this.fundingItems[item].endAge - currentAge) + currentYear,\r\n Cola: this.fundingItems[item].inflationRate,\r\n }\r\n\r\n investmentItems.push(contribution);\r\n }\r\n\r\n const ltc = {\r\n investmentItems: JSON.stringify({ investmentItems }),\r\n FrmHasPartner: isMarried,\r\n FrmName0: client.client.FirstName + ' ' + client.client.LastName,\r\n FrmName1: isMarried ? client.clientProfile.Spouses[0].firstName + ' ' + client.clientProfile.Spouses[0].lastName : '',\r\n FrmGender0: client.client.GenderID,\r\n FrmCurrentAge0: this.calculateAge(client.client.DOB),\r\n FrmGender1: isMarried ? Number(client.clientProfile.Spouses[0].gender) : 0,\r\n FrmCurrentAge1: isMarried ? this.calculateAge(client.clientProfile.Spouses[0].dob) : 0,\r\n FrmLTCState0: client.clientProfile.UseNationalAverage ? '' : client.clientProfile.RetirementState,\r\n FrmHealth0: 0,\r\n FrmHealth1: 0,\r\n FrmLTCState1: isMarried ? (client.clientProfile.UseNationalAverage ? '' : this.client.clientProfile.Spouses[0].state) : '',\r\n\r\n // FrmPhase1Rate: this.riskToleranceEnabled ? (this.portfolioRecommendationObject.phase1Val > 0 ? Number(this.portfolioRecommendationObject.phase1Val) : 6) : (this.p1Percent ? (Number(this.p1Percent.nativeElement.value)) : 6),\r\n // FrmPhase1Periods: this.riskToleranceEnabled ? this.getPhaseDiff(1) : (this.p1EndAge ? Number(this.p1EndAge.nativeElement.value) - this.calculateAge(this.client.client.DOB) : Math.max(65 - Number(this.calculateAge(this.client.client.DOB)))),\r\n // FrmPhase2Rate: this.riskToleranceEnabled ? (this.portfolioRecommendationObject.phase2Val > 0 ? Number(this.portfolioRecommendationObject.phase2Val) : 6) : (this.p2Percent ? (Number(this.p2Percent.nativeElement.value)) : 6),\r\n // FrmPhase2Periods: this.riskToleranceEnabled ? this.getPhaseDiff(2) : (this.p2EndAge ? (Number(this.p2EndAge.nativeElement.value) - (Number(this.p1EndAge.nativeElement.value))) : 10),\r\n // FrmPhase3Rate: this.riskToleranceEnabled ? (this.portfolioRecommendationObject.phase2Val > 0 ? Number(this.portfolioRecommendationObject.phase2Val) : 6) : (this.p3Percent ? (Number(this.p3Percent.nativeElement.value)) : 6),\r\n\r\n FrmPhase1Rate: (this.p1Percent ? (Number(this.p1Percent.nativeElement.value)) : 6),\r\n FrmPhase1Periods: (this.p1EndAge ? Number(this.p1EndAge.nativeElement.value) - this.calculateAge(this.client.client.DOB) : Math.max(65 - Number(this.calculateAge(this.client.client.DOB)))),\r\n FrmPhase2Rate: (this.p2Percent ? (Number(this.p2Percent.nativeElement.value)) : 6),\r\n FrmPhase2Periods: (this.p2EndAge ? (Number(this.p2EndAge.nativeElement.value) - (Number(this.p1EndAge.nativeElement.value))) : 10),\r\n FrmPhase3Rate: (this.p3Percent ? (Number(this.p3Percent.nativeElement.value)) : 6),\r\n\r\n FrmLTCMonths0: this.selfPeriods,\r\n FrmLTCMonths1: this.spousePeriods,\r\n \r\n FrmPlanningAge0: this.client.clientProfile.LifeExpectancy,\r\n FrmPlanningAge1: isMarried ? Number(this.client.clientProfile.Spouses[0].LifeExpectancy) : 0,\r\n\r\n MetroRegion0: this.selfRegion, // here\r\n MetroRegion1: this.spouseRegion,\r\n\r\n InvestmentYears: this.isAssetManagement ? 1 : (Number(this.annualEl.nativeElement.value)),\r\n InvestmentOption: this.investmentOption,\r\n\r\n CareType: this.selfType,\r\n CareType1: this.spouseType,\r\n\r\n //HACK: added for backwards compatibility\r\n ClientCareTypes: [{ careType: this.selfType, lengthOfCare: this.selfPeriods }],\r\n SpouseCareTypes: [{ careType: this.spouseType, lengthOfCare: this.spousePeriods }]\r\n }\r\n\r\n \r\n\r\n const queryInfo = {\r\n clientID: client.client.ID,\r\n userID: client.client.AdvisorID,\r\n orgID: client.client.OrganizationID,\r\n clientRetirementAge: client.clientProfile.RetirementAge\r\n }\r\n\r\n if (includeSingleInvestment && this.isAlreadyRetired){\r\n ltc.FrmPhase2Rate = ltc.FrmPhase1Rate;\r\n ltc.FrmPhase2Periods = Number(this.client.clientProfile.LifeExpectancy) - Number(this.client.clientProfile.RetirementAge);\r\n ltc.FrmPhase3Rate = ltc.FrmPhase1Rate;\r\n }\r\n this.ltcReport = ltc;\r\n this.user = queryInfo;\r\n this.globalService.getLTCData(ltc, queryInfo)\r\n .subscribe(\r\n data => {\r\n this.response = data;\r\n this.totalRemainingGap = this.totalRemainingGap ? (this.totalRemainingGap < 0 ? 0 : this.totalRemainingGap) : Utils.formatToNumber(this.response.depositedToday.toFixed(0));\r\n this.beginningBalance = this.response.initialInvestment;\r\n \r\n this.response.depositedToday = Utils.formatToCurrency(this.response.depositedToday.toFixed(0));\r\n this.response.annualNumber = Utils.formatToCurrency(this.response.annualNumber.toFixed(0));\r\n this.response.weeklyNumber = Utils.formatToCurrency(this.response.weeklyNumber.toFixed(0));\r\n this.response.totalFutureNumber = Utils.formatToCurrency(this.response.totalFutureNumber.toFixed(0));\r\n \r\n \r\n this.clientRegions = this.response.regionExpenses.Rows.splice(1, this.response.regionExpenses.Rows.length);\r\n this.spouseRegions = isMarried ? this.response.regionExpenses1.Rows.splice(1, this.response.regionExpenses1.Rows.length) : [];\r\n \r\n this.client && this.client.clientProfile ? this.client.clientProfile.LifeExpectancy : '--'\r\n \r\n this.expectedLE = this.client.clientProfile.LifeExpectancy;\r\n\r\n this.futureTotalCost = Number(this.response.totalFutureNumber.toString().replace(/,/g, \"\").replace(\"$\", \"\"));\r\n //this.totalSocialSecurity = Number(this.hcDataV2.FundingOptions.PartB.toString().replace(/,/g, \"\").replace(\"$\", \"\"));\r\n\r\n this.currentRemainingTotalForRiskTolPort = this.futureTotalCost;// - this.totalSocialSecurity;\r\n \r\n if (isMarried) {\r\n this.expectedLE = this.client.clientProfile.LifeExpectancy > this.client.clientProfile.Spouses[0].LifeExpectancy ? this.client.clientProfile.LifeExpectancy : this.client.clientProfile.Spouses[0].LifeExpectancy;\r\n }\r\n \r\n if (includeSingleInvestment) {\r\n this.portfolioRecommendationObject.singleInvestment = this.response.depositedToday;\r\n }\r\n \r\n this.futureYearlyCost = Utils.formatToCurrency(Utils.formatToNumber(this.response.annualNumber) * (this.isAssetManagement ? 1 : this.annualEl.nativeElement.value || 10));\r\n this.futureWeeklyTotal = Utils.formatToCurrency((Utils.formatToNumber(this.response.weeklyNumber) * 52) * (this.isAssetManagement ? 1 : this.annualEl.nativeElement.value || 10));\r\n \r\n this.generatePieChartData();\r\n this.generateBarChartData();\r\n\r\n this.getPortfolioRecommendation();\r\n },\r\n error => this.error = error); \r\n }\r\n\r\n public futureYearlyCost: any = 0;\r\n\r\n handleEditClientModal(e) {\r\n this.modalService.add('add-edit-client', { ID: this.client.client.ID });\r\n }\r\n\r\n getFutureContributionAmountV2(startAmount, years, inflation, startAge, idx) {\r\n var result = 0;\r\n\r\n for (let i = 0; i < years + 1; i++) {\r\n result = result + (startAmount * Math.pow((1 + inflation / 100), i));\r\n }\r\n\r\n return result;\r\n }\r\n\r\n formatNumber(amount) {\r\n return Math.round(amount);\r\n }\r\n\r\n removeFundingItem(item) {\r\n this.fundingItems.splice(this.fundingItems.indexOf(item), 1);\r\n this.onRateChange();\r\n }\r\n\r\n onRateChange(percentValue = {value:0}) {\r\n this.hasRiskTolBeenRan = false;\r\n this.getLTCData(this.client);\r\n \r\n if(percentValue != undefined){\r\n if(percentValue.value > 12){\r\n return percentValue.value = 12;\r\n }\r\n }\r\n }\r\n\r\n calculateAge(birthday) {\r\n birthday = new Date(birthday);\r\n var ageDifMs = Date.now() - birthday;\r\n var ageDate = new Date(ageDifMs);\r\n return Math.abs(ageDate.getUTCFullYear() - 1970);\r\n }\r\n\r\n calcAnnualSavings(el, el2) {\r\n el2.value = el.value;\r\n this.hasRiskTolBeenRan = false;\r\n this.getLTCData(this.client);\r\n }\r\n\r\n calcWeeklySavings(el) {\r\n // el.value = el2.value;\r\n this.hasRiskTolBeenRan = false;\r\n this.getLTCData(this.client);\r\n }\r\n\r\n\r\n\r\n handleIllustrationModal(e) {\r\n\r\n\r\n // var projectedYears = this.hcDataV2.Illustrations.map(entry => {\r\n // return {\r\n // Year: 2018,\r\n // BeginningBalance: '$' + (entry.BeginningBalance ? entry.BeginningBalance.toFixed(0) : 0),\r\n // ExpectedRateReturn: (entry.CashFlowEntry.ExpectedRor ? entry.CashFlowEntry.ExpectedRor * 100 + '%': 0),\r\n // Premiums: '$' + 0,\r\n // Contribution: '$' + (entry.CashFlowEntry.TotalIncome ? entry.CashFlowEntry.TotalIncome.toFixed(0) : 0),\r\n // AdditionalCosts: '$' + 0,\r\n // Total: '$' + (entry.CashFlowEntry.Expense ? entry.CashFlowEntry.Expense.toFixed(0) : 0),\r\n // NetOfSSDeductions: '$' + 0,\r\n // EngingBalance: '$' + (entry.EndingBalance ? entry.EndingBalance.toFixed(0) : 0),\r\n // }\r\n // });\r\n\r\n this.modalService.add('ltc-projections', { Data: this.response.IllustrationBody });\r\n }\r\n\r\n public cowValues: any = {\r\n one: 0,\r\n three: 0,\r\n five: 0,\r\n };\r\n\r\n generateBarChartData() {\r\n\r\n this.cowValues.one = this.response.costOfWaitingToday ? Utils.formatToCurrency(this.response.costOfWaitingToday.toFixed(0)) : 0;\r\n this.cowValues.three = this.response.costOfWaitingThree && this.response.costOfWaitingToday >= 1 ? Utils.formatToCurrency(this.response.costOfWaitingThree.toFixed(0)) : 0;\r\n this.cowValues.five = this.response.costOfWaitingFive && this.response.costOfWaitingToday >= 1 ? Utils.formatToCurrency(this.response.costOfWaitingFive.toFixed(0)) : 0;\r\n \r\n this.barChartData = [\r\n {\r\n \"name\": \"Today\",\r\n \"value\": this.response.costOfWaitingToday\r\n },\r\n {\r\n \"name\": \"3 Years\",\r\n \"value\": this.response.costOfWaitingToday < 1 ? 0 : this.response.costOfWaitingThree\r\n },\r\n {\r\n \"name\": \"5 Years\",\r\n \"value\": this.response.costOfWaitingToday < 1 ? 0 : this.response.costOfWaitingFive\r\n }\r\n ]\r\n }\r\n\r\n handleSavingLTCRiskTolerance() {\r\n var Report = {\r\n ClientID: this.client.client.ID,\r\n AdvisorID: this.client.client.AdvisorID,\r\n CompanyCode: this.client.client.OrganizationID,\r\n ReportTypeID: 7,\r\n }\r\n\r\n\r\n const isMarried = this.client.clientProfile.Spouses[0] && this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? true : false;\r\n\r\n var client = this.client;\r\n\r\n var investmentItems = [];\r\n var currentAge = this.calculateAge(client.client.DOB);\r\n var currentYear = new Date().getFullYear();\r\n\r\n for (var item in this.fundingItems) {\r\n\r\n var contribution = {\r\n Description: this.fundingItems[item].fundingSource,\r\n Begins: this.fundingItems[item].startAge,// + currentYear,\r\n Ends: this.fundingItems[item].endAge,// - currentAge) + currentYear,\r\n // Begins: (this.fundingItems[item].startAge - currentAge) + currentYear,\r\n StartAmount: this.fundingItems[item].annContribution,\r\n // Ends: (this.fundingItems[item].endAge - currentAge) + currentYear,\r\n Cola: this.fundingItems[item].inflationRate,\r\n }\r\n\r\n investmentItems.push(contribution);\r\n }\r\n\r\n var ReportLTC = {\r\n investmentItems: JSON.stringify({ investmentItems }),\r\n FrmHasPartner: isMarried,\r\n FrmName0: client.client.FirstName + ' ' + client.client.LastName,\r\n FrmName1: isMarried ? client.clientProfile.Spouses[0].firstName + ' ' + client.clientProfile.Spouses[0].lastName : '',\r\n FrmGender0: client.client.GenderID,\r\n FrmCurrentAge0: this.calculateAge(client.client.DOB),\r\n FrmGender1: isMarried ? Number(client.clientProfile.Spouses[0].gender) : 0,\r\n FrmCurrentAge1: isMarried ? this.calculateAge(client.clientProfile.Spouses[0].dob) : 0,\r\n FrmLTCState0: client.clientProfile.UseNationalAverage ? '' : client.clientProfile.RetirementState,\r\n FrmHealth0: 0,\r\n FrmHealth1: 0,\r\n FrmLTCState1: isMarried ? (client.clientProfile.UseNationalAverage ? '' : this.client.clientProfile.Spouses[0].state) : '',\r\n\r\n FrmPhase1Rate: (this.p1Percent ? (Number(this.p1Percent.nativeElement.value)) : 6),\r\n FrmPhase1Periods: (this.p1EndAge ? Number(this.p1EndAge.nativeElement.value) - this.calculateAge(this.client.client.DOB) : Math.max(65 - Number(this.calculateAge(this.client.client.DOB)))),\r\n FrmPhase2Rate: (this.p2Percent ? (Number(this.p2Percent.nativeElement.value)) : 6),\r\n FrmPhase2Periods: (this.p2EndAge ? (Number(this.p2EndAge.nativeElement.value) - (Number(this.p1EndAge.nativeElement.value))) : 10),\r\n FrmPhase3Rate: (this.p3Percent ? (Number(this.p3Percent.nativeElement.value)) : 6),\r\n\r\n FrmLTCMonths0: this.selfPeriods,\r\n FrmLTCMonths1: this.spousePeriods,\r\n \r\n FrmPlanningAge0: this.client.clientProfile.LifeExpectancy,\r\n FrmPlanningAge1: isMarried ? Number(this.client.clientProfile.Spouses[0].LifeExpectancy) : 0,\r\n\r\n MetroRegion0: this.selfRegion, // here\r\n MetroRegion1: this.spouseRegion,\r\n\r\n MetroRegionDesc0: this.getRegionDescription(this.client.clientProfile.RetirementState, this.selfRegion, true),\r\n MetroRegionDesc1: this.getRegionDescription(isMarried ? this.client.clientProfile.Spouses[0].state : '', this.spouseRegion, false),\r\n\r\n UseNationalAverage: this.client.clientProfile.UseNationalAverage ? 1 : 0,\r\n\r\n InvestmentYears: (Number(this.annualEl.nativeElement.value)),\r\n InvestmentOption: this.investmentOption,\r\n\r\n CareType: this.selfType,\r\n CareType1: this.spouseType,\r\n\r\n //HACK: added for backwards compatibility\r\n ClientCareTypes: [{ careType: this.selfType, lengthOfCare: this.selfPeriods }],\r\n SpouseCareTypes: [{ careType: this.spouseType, lengthOfCare: this.spousePeriods }],\r\n\r\n FrmQTypeII: this.client.clientProfile.HCT2D,\r\n FrmQTobacco: this.client.clientProfile.HCT,\r\n FrmQCancer: this.client.clientProfile.HCC,\r\n FrmQCardio: this.client.clientProfile.HCCD,\r\n FrmQHighCholesterol: this.client.clientProfile.HCHC,\r\n FrmQHBP: this.client.clientProfile.HCHBP,\r\n\r\n SpouseFrmQTypeII: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCT2D ? 1 : 0 : 0,\r\n SpouseFrmQTobacco: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCT ? 1 : 0 : 0,\r\n SpouseFrmQCancer: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCC ? 1 : 0 : 0,\r\n SpouseFrmQCardio: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCCD ? 1 : 0 : 0,\r\n SpouseFrmQHighCholesterol: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCHC ? 1 : 0 : 0,\r\n SpouseFrmQHBP: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCHBP ? 1 : 0 : 0,\r\n }\r\n this.globalService.createReportLTC(Report, ReportLTC)\r\n .subscribe(\r\n resp => {\r\n this.snackBarService.add(\"Please wait while your long-term care report is being generated.\", 0);\r\n //this.router.navigateByUrl('/reports/create?d=t');\r\n this.downloadReport(resp.ReportID, resp.AdvisorID, resp.ClientID, resp.CompanyCode, resp.ReportTypeID);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n handleSavingLTC() {\r\n\r\n var Report = {\r\n ClientID: this.client.client.ID,\r\n AdvisorID: this.client.client.AdvisorID,\r\n CompanyCode: this.client.client.OrganizationID,\r\n ReportTypeID: 4,\r\n }\r\n\r\n\r\n const isMarried = this.client.clientProfile.Spouses[0] && this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? true : false;\r\n\r\n var client = this.client;\r\n\r\n var investmentItems = [];\r\n var currentAge = this.calculateAge(client.client.DOB);\r\n var currentYear = new Date().getFullYear();\r\n\r\n for (var item in this.fundingItems) {\r\n\r\n var contribution = {\r\n Description: this.fundingItems[item].fundingSource,\r\n Begins: this.fundingItems[item].startAge,// + currentYear,\r\n Ends: this.fundingItems[item].endAge,// - currentAge) + currentYear,\r\n // Begins: (this.fundingItems[item].startAge - currentAge) + currentYear,\r\n StartAmount: this.fundingItems[item].annContribution,\r\n // Ends: (this.fundingItems[item].endAge - currentAge) + currentYear,\r\n Cola: this.fundingItems[item].inflationRate,\r\n }\r\n\r\n investmentItems.push(contribution);\r\n }\r\n\r\n var ReportLTC = {\r\n investmentItems: JSON.stringify({ investmentItems }),\r\n FrmHasPartner: isMarried,\r\n FrmName0: client.client.FirstName + ' ' + client.client.LastName,\r\n FrmName1: isMarried ? client.clientProfile.Spouses[0].firstName + ' ' + client.clientProfile.Spouses[0].lastName : '',\r\n FrmGender0: client.client.GenderID,\r\n FrmCurrentAge0: this.calculateAge(client.client.DOB),\r\n FrmGender1: isMarried ? Number(client.clientProfile.Spouses[0].gender) : 0,\r\n FrmCurrentAge1: isMarried ? this.calculateAge(client.clientProfile.Spouses[0].dob) : 0,\r\n FrmLTCState0: client.clientProfile.UseNationalAverage ? '' : client.clientProfile.RetirementState,\r\n FrmHealth0: 0,\r\n FrmHealth1: 0,\r\n FrmLTCState1: isMarried ? (client.clientProfile.UseNationalAverage ? '' : this.client.clientProfile.Spouses[0].state) : '',\r\n \r\n FrmPhase1Rate: (Number(this.p1Percent.nativeElement.value)),\r\n FrmPhase1Periods: Number(this.p1EndAge.nativeElement.value) - this.calculateAge(this.client.client.DOB),\r\n FrmPhase2Rate: (Number(this.p2Percent.nativeElement.value)),\r\n FrmPhase2Periods: (Number(this.p2EndAge.nativeElement.value) - (Number(this.p1EndAge.nativeElement.value))),\r\n FrmPhase3Rate: (Number(this.p3Percent.nativeElement.value)),\r\n\r\n FrmLTCMonths0: this.selfPeriods,\r\n FrmLTCMonths1: this.spousePeriods,\r\n \r\n FrmPlanningAge0: this.client.clientProfile.LifeExpectancy,\r\n FrmPlanningAge1: isMarried ? Number(this.client.clientProfile.Spouses[0].LifeExpectancy) : 0,\r\n\r\n MetroRegion0: this.selfRegion, // here\r\n MetroRegion1: this.spouseRegion,\r\n\r\n MetroRegionDesc0: this.getRegionDescription(this.client.clientProfile.RetirementState, this.selfRegion, true),\r\n MetroRegionDesc1: this.getRegionDescription(isMarried ? this.client.clientProfile.Spouses[0].state : '', this.spouseRegion, false),\r\n\r\n UseNationalAverage: this.client.clientProfile.UseNationalAverage ? 1 : 0,\r\n\r\n InvestmentYears: (Number(this.annualEl.nativeElement.value)),\r\n InvestmentOption: this.investmentOption,\r\n\r\n CareType: this.selfType,\r\n CareType1: this.spouseType,\r\n\r\n //HACK: added for backwards compatibility\r\n ClientCareTypes: [{ careType: this.selfType, lengthOfCare: this.selfPeriods }],\r\n SpouseCareTypes: [{ careType: this.spouseType, lengthOfCare: this.spousePeriods }],\r\n\r\n FrmQTypeII: this.client.clientProfile.HCT2D,\r\n FrmQTobacco: this.client.clientProfile.HCT,\r\n FrmQCancer: this.client.clientProfile.HCC,\r\n FrmQCardio: this.client.clientProfile.HCCD,\r\n FrmQHighCholesterol: this.client.clientProfile.HCHC,\r\n FrmQHBP: this.client.clientProfile.HCHBP,\r\n\r\n SpouseFrmQTypeII: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCT2D ? 1 : 0 : 0,\r\n SpouseFrmQTobacco: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCT ? 1 : 0 : 0,\r\n SpouseFrmQCancer: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCC ? 1 : 0 : 0,\r\n SpouseFrmQCardio: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCCD ? 1 : 0 : 0,\r\n SpouseFrmQHighCholesterol: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCHC ? 1 : 0 : 0,\r\n SpouseFrmQHBP: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCHBP ? 1 : 0 : 0,\r\n\r\n }\r\n console.log('ReportLTC');\r\n console.log(ReportLTC);\r\n this.globalService.createReportLTC(Report, ReportLTC)\r\n .subscribe(\r\n resp => {\r\n this.snackBarService.add(\"Please wait while your long-term care report is being generated.\", 0);\r\n //this.router.navigateByUrl('/reports/create?d=t');\r\n this.downloadReport(resp.ReportID, resp.AdvisorID, resp.ClientID, resp.CompanyCode, resp.ReportTypeID);\r\n },\r\n error => this.error = error);\r\n\r\n }\r\n\r\n getLTCPDFValues(){\r\n var Report = {\r\n ClientID: this.client.client.ID,\r\n AdvisorID: this.client.client.AdvisorID,\r\n CompanyCode: this.client.client.OrganizationID,\r\n ReportTypeID: 4,\r\n clientRetirementAge: this.client.clientProfile.RetirementAge\r\n }\r\n\r\n\r\n const isMarried = this.client.clientProfile.Spouses[0] && this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? true : false;\r\n\r\n var client = this.client;\r\n\r\n var investmentItems = [];\r\n var currentAge = this.calculateAge(client.client.DOB);\r\n var currentYear = new Date().getFullYear();\r\n\r\n for (var item in this.fundingItems) {\r\n\r\n var contribution = {\r\n Description: this.fundingItems[item].fundingSource,\r\n Begins: this.fundingItems[item].startAge,// + currentYear,\r\n Ends: this.fundingItems[item].endAge,// - currentAge) + currentYear,\r\n // Begins: (this.fundingItems[item].startAge - currentAge) + currentYear,\r\n StartAmount: this.fundingItems[item].annContribution,\r\n // Ends: (this.fundingItems[item].endAge - currentAge) + currentYear,\r\n Cola: this.fundingItems[item].inflationRate,\r\n }\r\n\r\n investmentItems.push(contribution);\r\n }\r\n\r\n var ReportLTC = {\r\n investmentItems: JSON.stringify({ investmentItems }),\r\n FrmHasPartner: isMarried,\r\n FrmName0: client.client.FirstName + ' ' + client.client.LastName,\r\n FrmName1: isMarried ? client.clientProfile.Spouses[0].firstName + ' ' + client.clientProfile.Spouses[0].lastName : '',\r\n FrmGender0: client.client.GenderID,\r\n FrmCurrentAge0: this.calculateAge(client.client.DOB),\r\n FrmGender1: isMarried ? Number(client.clientProfile.Spouses[0].gender) : 0,\r\n FrmCurrentAge1: isMarried ? this.calculateAge(client.clientProfile.Spouses[0].dob) : 0,\r\n FrmLTCState0: client.clientProfile.UseNationalAverage ? '' : client.clientProfile.RetirementState,\r\n FrmHealth0: 0,\r\n FrmHealth1: 0,\r\n FrmLTCState1: isMarried ? (client.clientProfile.UseNationalAverage ? '' : this.client.clientProfile.Spouses[0].state) : '',\r\n \r\n FrmPhase1Rate: (Number(this.isAssetManagement ? 1 : this.p1Percent.nativeElement.value)),\r\n FrmPhase1Periods: Number(this.isAssetManagement ? 1 : this.p1EndAge.nativeElement.value) - this.calculateAge(this.client.client.DOB),\r\n FrmPhase2Rate: (Number(this.isAssetManagement ? 1 : this.p2Percent.nativeElement.value)),\r\n FrmPhase2Periods: (Number(this.isAssetManagement ? 1 : this.p2EndAge.nativeElement.value) - (Number(this.isAssetManagement ? 1 : this.p1EndAge.nativeElement.value))),\r\n FrmPhase3Rate: (Number(this.isAssetManagement ? 1 : this.p3Percent.nativeElement.value)),\r\n\r\n FrmLTCMonths0: this.selfPeriods,\r\n FrmLTCMonths1: this.spousePeriods,\r\n \r\n FrmPlanningAge0: this.client.clientProfile.LifeExpectancy,\r\n FrmPlanningAge1: isMarried ? Number(this.client.clientProfile.Spouses[0].LifeExpectancy) : 0,\r\n\r\n MetroRegion0: this.selfRegion, // here\r\n MetroRegion1: this.spouseRegion,\r\n\r\n MetroRegionDesc0: this.getRegionDescription(this.client.clientProfile.RetirementState, this.selfRegion, true),\r\n MetroRegionDesc1: this.getRegionDescription(isMarried ? this.client.clientProfile.Spouses[0].state : '', this.spouseRegion, false),\r\n\r\n UseNationalAverage: this.client.clientProfile.UseNationalAverage ? 1 : 0,\r\n\r\n InvestmentYears: (Number(this.isAssetManagement ? 1 : this.annualEl.nativeElement.value)),\r\n InvestmentOption: this.investmentOption,\r\n\r\n CareType: this.selfType,\r\n CareType1: this.spouseType,\r\n\r\n //HACK: added for backwards compatibility\r\n ClientCareTypes: [{ careType: this.selfType, lengthOfCare: this.selfPeriods }],\r\n SpouseCareTypes: [{ careType: this.spouseType, lengthOfCare: this.spousePeriods }],\r\n\r\n FrmQTypeII: this.client.clientProfile.HCT2D,\r\n FrmQTobacco: this.client.clientProfile.HCT,\r\n FrmQCancer: this.client.clientProfile.HCC,\r\n FrmQCardio: this.client.clientProfile.HCCD,\r\n FrmQHighCholesterol: this.client.clientProfile.HCHC,\r\n FrmQHBP: this.client.clientProfile.HCHBP,\r\n\r\n SpouseFrmQTypeII: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCT2D ? 1 : 0 : 0,\r\n SpouseFrmQTobacco: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCT ? 1 : 0 : 0,\r\n SpouseFrmQCancer: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCC ? 1 : 0 : 0,\r\n SpouseFrmQCardio: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCCD ? 1 : 0 : 0,\r\n SpouseFrmQHighCholesterol: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCHC ? 1 : 0 : 0,\r\n SpouseFrmQHBP: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].HCHBP ? 1 : 0 : 0,\r\n }\r\n\r\n return { Report, ReportLTC }\r\n }\r\n\r\n getPhaseDiff(phase) {\r\n const clientAge = Number(this.calculateAge(this.client.client.DOB));\r\n const clientRetirementAge = Number(this.client.clientProfile.RetirementAge);\r\n const clientLE = Number(this.client.clientProfile.LifeExpectancy);\r\n const spouseAge = Number(this.calculateAge(this.client.clientProfile.Spouses[0].dob)) || 0;\r\n const spouseRetirementAge = Number(this.client.clientProfile.Spouses[0].retirementAge) || 0;\r\n const spouseLE = Number(this.client.clientProfile.Spouses[0].LifeExpectancy) || 0;\r\n\r\n // console.log(\r\n // clientAge,\r\n // clientRetirementAge,\r\n // clientLE,\r\n // spouseAge,\r\n // spouseRetirementAge,\r\n // spouseLE\r\n // );\r\n\r\n if (spouseAge && spouseRetirementAge) {\r\n if (phase == 1)\r\n return Math.min(Math.max(0, clientRetirementAge - clientAge), Math.max(0, spouseRetirementAge - spouseAge));\r\n if (phase == 2)\r\n return Math.min(Math.max(0, clientLE - clientRetirementAge), Math.max(0, spouseLE - spouseRetirementAge));\r\n } else {\r\n if (phase == 1)\r\n return Math.max(0, clientRetirementAge - clientAge);\r\n if (phase == 2)\r\n return Math.max(0, clientLE - clientRetirementAge);\r\n }\r\n }\r\n \r\n getRegionDescription(state, code, isClient) {\r\n let description = \"\";\r\n let region = isClient ? this.clientRegions : this.spouseRegions;\r\n \r\n region.forEach((row) => {\r\n if (row.MetroRegionCode == code && row.StateCode == state)\r\n description = row.MetroRegion;\r\n });\r\n\r\n description = description.length ? description : \"State Average\";\r\n return description;\r\n }\r\n\r\n downloadReport(reportID, advisorID, clientID, orgID, reportTypeID) {\r\n this.loadingService.isLoading(true);\r\n var ReportFields = { reportID, advisorID, clientID, orgID, ReportTypeID: reportTypeID, token: localStorage.getItem(\"bearer\"), retirementAge: JSON.stringify(this.client.clientProfile.RetirementAge), spouseRetirementAge: this.client.clientProfile.Spouses[0].retirementAge || 0 };\r\n\r\n this.globalService.generateReport(ReportFields, this.client.client, ReportFields)\r\n .subscribe(\r\n resp => {\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error;\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n formatCurrency(val) {\r\n return Utils.formatToCurrency(Utils.formatToNumber(val<0?0:val));\r\n }\r\n\r\n public investmentOption: any = 1;\r\n\r\n onRateSelected(rate) {\r\n if (rate === 1)\r\n this.investmentOption = 1;\r\n else if (rate === 2)\r\n this.investmentOption = 2;\r\n else if (rate === 3)\r\n this.investmentOption = 3;\r\n\r\n this.hasRiskTolBeenRan = false;\r\n this.getLTCData(this.client);\r\n }\r\n\r\n getRegionVerbiage() {\r\n let verbiage = `Metro Region(${this.client.clientProfile && this.client.clientProfile.RetirementState ? this.client.clientProfile.RetirementState : \"--\"})`;\r\n return this.client.clientProfile.UseNationalAverage ? `National Average` : verbiage;\r\n }\r\n\r\n getRegionSpouseVerbiage() {\r\n let verbiage = `Metro Region(${this.client.clientProfile.Spouses[0] && this.client.clientProfile.Spouses[0].state ? this.client.clientProfile.Spouses[0].state : \"--\"})`;\r\n return this.client.clientProfile.UseNationalAverage ? `National Average` : verbiage;\r\n }\r\n\r\n \r\n textCheck() {\r\n if (this.fundingSource) {\r\n this.showFundingBorder = false;\r\n } else {\r\n this.showFundingBorder = true;\r\n }\r\n\r\n if ((this.annContribution) && (this.annContribution >= 100 && this.annContribution <= 1000000)) {\r\n this.showAnnContrBorder = false;\r\n } else {\r\n this.showAnnContrBorder = true;\r\n } \r\n\r\n if (this.startAge) {\r\n this.showStartAgeBorder = false;\r\n } else {\r\n this.showStartAgeBorder = true;\r\n }\r\n\r\n if (this.endAge) {\r\n this.showEndAgeBorder = false;\r\n } else {\r\n this.showEndAgeBorder = true;\r\n }\r\n\r\n if (this.inflationRate) {\r\n this.showInflationBorder = false;\r\n } else {\r\n this.showInflationBorder = true;\r\n }\r\n if (!this.fundingSource && !this.annContribution && !this.startAge && !this.endAge && !this.inflationRate) {\r\n this.showFundingBorder = false;\r\n this.showAnnContrBorder = false;\r\n this.showStartAgeBorder = false;\r\n this.showEndAgeBorder = false;\r\n this.showInflationBorder = false;\r\n }\r\n\r\n }\r\n\r\n public currentRemainingTotalForRiskTolPort: number = 0;\r\n public hasRiskTolBeenRan: boolean = false;\r\n\r\n getPortfolioRecommendation() {\r\n if (JSON.parse(localStorage.getItem('featRiskTolerance')) && !this.hasRiskTolBeenRan) {\r\n let unfundeHealthCareCost = 0;\r\n unfundeHealthCareCost = this.currentRemainingTotalForRiskTolPort ? this.currentRemainingTotalForRiskTolPort: 0;\r\n for(var item of this.fundingItems) {\r\n \r\n if (item.remainingUnfunded) {\r\n unfundeHealthCareCost += item.remainingUnfunded;\r\n }\r\n }\r\n\r\n let isClientRetiringFirst = this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? Number(this.client.clientProfile.RetirementAge - this.client.clientProfile.currentAge) >= Number(this.client.clientProfile.Spouses[0].retirementAge - this.calculateAge(this.client.clientProfile.Spouses[0].dob)) : true;\r\n let isClientRetired = this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ?(Number(this.client.clientProfile.RetirementAge - this.client.clientProfile.currentAge) < 0 ? true: false) :false ;\r\n\t\t\tlet isSpouseRetired = this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ?(Number(this.client.clientProfile.Spouses[0].retirementAge - this.calculateAge(this.client.clientProfile.Spouses[0].dob)) < 0 ? true: false) :false ;\r\n let clientAge = '';\r\n let clientRetirementAge = '';\r\n if((isClientRetired && isSpouseRetired) || (!isClientRetired && !isSpouseRetired)) {\r\n clientAge = isClientRetiringFirst ? JSON.stringify(this.calculateAge(this.client.client.DOB)) : JSON.stringify(this.calculateAge(this.client.clientProfile.Spouses[0].dob));\r\n clientRetirementAge = isClientRetiringFirst ? JSON.stringify(this.client.clientProfile.RetirementAge) : this.client.clientProfile.Spouses[0].retirementAge;\r\n } else if (isClientRetired) {\r\n clientAge = JSON.stringify(this.calculateAge(this.client.clientProfile.Spouses[0].dob));\r\n clientRetirementAge = this.client.clientProfile.Spouses[0].retirementAge;\r\n } else {\r\n clientAge = JSON.stringify(this.calculateAge(this.client.client.DOB));\r\n clientRetirementAge = JSON.stringify(this.client.clientProfile.RetirementAge);\r\n }\r\n \r\n var riskTolerance = {\r\n ClientID: localStorage.getItem('selectedClient'),\r\n ClientAge: clientAge,\r\n ClientRetirementAge: clientRetirementAge,\r\n estimateLifeTimeCostInFuture: JSON.stringify(this.futureTotalCost),\r\n //estimateLifeTimeCostInFuture: JSON.stringify(this.futureTotalCost),\r\n unfundedHealthCareCost: JSON.stringify(unfundeHealthCareCost)\r\n }\r\n \r\n this.globalService.getRiskTolerancePortfolio(riskTolerance).subscribe(\r\n resp => {\r\n console.log('resp', resp);\r\n let clientRealAge = JSON.stringify(this.calculateAge(this.client.client.DOB));\r\n if (resp.PhaseOneRecommend) {\r\n this.portfolioRecommendationVisible = true;\r\n }\r\n this.portfolioRecommendationObject = {\r\n year: String(isClientRetiringFirst ? this.getRetirementYear(this.client.clientProfile.RetirementAge, this.client.client.DOB) : this.getRetirementYear(this.client.clientProfile.Spouses[0].retirementAge, this.client.clientProfile.Spouses[0].dob)),\r\n phase1Portfolio: resp.PhaseOneRecommend,\r\n phase2Portfolio: resp.PhaseTwoRecommend,\r\n clientRetirementAge: this.client.clientProfile.RetirementAge,\r\n spouseRetirementAge: this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? this.client.clientProfile.Spouses[0].retirementAge : '0' ,\r\n phase1Val: resp.PhaseOneROR,\r\n phase2Val: resp.PhaseTwoROR,\r\n clientAge: clientAge,\r\n spouseAge: this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? this.calculateAge(this.client.clientProfile.Spouses[0].dob): '0' ,\r\n singleInvestment: (resp.SingleInvestment && resp.SingleInvestment != 0) ? Utils.formatToCurrency(resp.SingleInvestment) : this.portfolioRecommendationObject.singleInvestment,\r\n unfundedAmount: this.response.LTCGrandTotAmt ? this.response.LTCGrandTotAmt : '$0',\r\n isMarried: this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? true: false,\r\n clientRealAge: clientRealAge,\r\n clientRealRetirementAge: this.client.clientProfile.RetirementAge,\r\n spouseFirstName: this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? this.client.clientProfile.Spouses[0].firstName: '',\r\n spouseLastName: this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? this.client.clientProfile.Spouses[0].lastName: '',\r\n ltcReport: this.ltcReport,\r\n user: this.user\r\n }\r\n if (Number(clientAge) >= Number(this.client.clientProfile.RetirementAge)) {\r\n this.isAlreadyRetired = true;\r\n } else {\r\n this.isAlreadyRetired = false;\r\n }\r\n\r\n this.hasRiskTolBeenRan = true;\r\n //this.getLTCData(this.client, this.partnerActive, true);\r\n this.getLTCData(this.client, true);\r\n },\r\n error => {\r\n this.error = error;\r\n });\r\n }\r\n }\r\n\r\n getRetirementYear(retirementAge, dob) {\r\n var currentAge = this.calculateAge(dob);\r\n var diff = retirementAge - currentAge;\r\n var year = new Date().getFullYear();\r\n return year + diff;\r\n }\r\n\r\n handleAssetManagementModal(event) {\r\n //clear on call\r\n localStorage.removeItem('riskTolReportObject');\r\n\r\n //reset\r\n var report = this.getLTCPDFValues();\r\n localStorage.setItem('riskTolReportObject', JSON.stringify(report));\r\n console.log('report');\r\n console.log(JSON.stringify(report));\r\n // this.modalService.add('risk-tolerance', {ID: this.client.client.ID, FirstName: this.client.client.FirstName, LastName: this.client.client.LastName});\r\n this.modalService.add('risk-tolerance', {ID: this.client.client.ID, FirstName: this.client.client.FirstName, LastName: this.client.client.LastName,\r\n AdvisorFee: this.client.client.ProgramFeePercent, TotalSocialSecurity: 0, FurureTotalCost: Utils.formatToNumber(this.response.LTCGrandTotAmt), PortfolioRecommendationObject: this.portfolioRecommendationObject});\r\n }\r\n}\r\n\r\n","module.exports = \":host {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 100%;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.scroll {\\r\\n height: 100%;\\r\\n overflow-y: scroll;\\r\\n}\\r\\n\\r\\n.header {\\r\\n height: 200px;\\r\\n background-image: url('/assets/images/temp/marketing-banner.jpg');\\r\\n display: flex;\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: left;\\r\\n color: #555;\\r\\n margin: 25px;\\r\\n padding: 25px;\\r\\n\\r\\n}\\r\\n\\r\\n/* .header .header-title {\\r\\n font-size: 2rem;\\r\\n border-bottom: 1px #555 solid;\\r\\n padding: 0 0 10px 0;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.header .header-subtitle {\\r\\n font-size: 1rem;\\r\\n padding: 10px 0 0 0;\\r\\n margin-left: 10px;\\r\\n} */\\r\\n\\r\\n.section {\\r\\n flex: 1;\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.action-item {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.sub {\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.last-section {\\r\\n margin-bottom: 100px;\\r\\n}\\r\\n\\r\\n.file-select {\\r\\n height: 22px!important;\\r\\n background-color: #f5f5f5!important;\\r\\n max-width: 100px;\\r\\n color: transparent!important;\\r\\n}\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n /* width: 200px; */\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n margin-left: 25px;\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n \\r\\n}\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.seperator {\\r\\n height: 1px;\\r\\n /* width: 30%; */\\r\\n background-color: #d5d5d5;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 2rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.sub-title {\\r\\n font-size: 0.8rem;\\r\\n color: #555;\\r\\n width: 70%;\\r\\n line-height: 1.5rem;\\r\\n}\\r\\n\\r\\n.action-link {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.browser-alert {\\r\\n position: absolute;\\r\\n z-index: 1000;\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n background-color: rgba(0,0,0,0.75);\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n top: 0;\\r\\n left: 0;\\r\\n }\\r\\n\\r\\n.welcome-message {\\r\\n width: 500px;\\r\\n /* height: 300px; */\\r\\n margin: 0 auto;\\r\\n position: relative;\\r\\n background-color: #f5f5f5;\\r\\n left: 0;\\r\\n right: 0;\\r\\n top: 30%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n /* border-radius: 10px; */\\r\\n padding: 25px;\\r\\n text-align: left;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.welcome-message .title {\\r\\n font-size: 18px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.welcome-message .info {\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.alert-icon i {\\r\\n font-size: 3rem;\\r\\n color: #F08080;\\r\\n}\\r\\n\\r\\n.alert-box{\\r\\n padding-right: 20px;\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n\\r\\n.alert-title {\\r\\n font-size: 16px;\\r\\n /* text-align: center; */\\r\\n display: block;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.selected-material {\\r\\n font-size: 12px;\\r\\n background-color: #d5d5d5;\\r\\n padding: 10px;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.close-container {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 0;\\r\\n padding: 15px;\\r\\n color: #E58929;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.close-container i {\\r\\n font-size: 1.3em;\\r\\n}\\r\\n\\r\\n.alert-btn {\\r\\n background-color: #E58929;\\r\\n /* width: 150px; */\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.alert-btn button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.alert-btn i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.buttons {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.edit-toggle {\\r\\n display: block;\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.remove-toggle {\\r\\n display: block;\\r\\n width: 12px;\\r\\n height: 12px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n border: 1px #777 solid;\\r\\n border-radius: 3px;\\r\\n font-size: 10px;\\r\\n color: #777;\\r\\n margin: 4px 10px 0 5px;\\r\\n}\\r\\n\\r\\n.doc-area textarea {\\r\\n width: 100%;\\r\\n height: 150px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.plus-icon {\\r\\n font-size: 3rem;\\r\\n color: #28a745;\\r\\n}\\r\\n\\r\\n.approve {\\r\\n color: #28a745;\\r\\n}\\r\\n\\r\\n.delete{\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.edit {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.drag-active:hover {\\r\\n background-color: #f5f5f5;\\r\\n border: 1px #555 solid;\\r\\n /* box-shadow: 2x 2px 4px 4px #ccc; */\\r\\n}\\r\\n\\r\\n.row-move {\\r\\n cursor: move;\\r\\n}\\r\\n\\r\\n.row-move:hover {\\r\\n background-color: #e5e5e5;\\r\\n}\\r\\n\\r\\n.doc-area {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.doc-descr {\\r\\n margin: 10px;\\r\\n padding: 5px;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.add-btn {\\r\\n background-color: #d5d5d5;\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n padding: 15px;\\r\\n width: 220px;\\r\\n margin-top: 15px;\\r\\n width: 92%;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL21hcmtldGluZy1tYXRlcmlhbC9tYXJrZXRpbmctbWF0ZXJpYWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsV0FBVztJQUNYLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsaUVBQWlFO0lBQ2pFLGFBQWE7SUFDYiw0QkFBNEI7SUFDNUIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTs7QUFFakI7O0FBRUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBRUg7SUFDSSxPQUFPO0lBQ1AsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIseUJBQXlCO0lBQ3pCLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsMEJBQTBCO0lBQzFCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0QixtQ0FBbUM7SUFDbkMsZ0JBQWdCO0lBQ2hCLDRCQUE0QjtBQUNoQzs7QUFFQTtJQUNJLHlCQUF5QjtFQUMzQixvQkFBb0I7SUFDbEIsYUFBYTtJQUNiLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixlQUFlO0lBQ2YsYUFBYTs7QUFFakI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGVB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L21hcmtldGluZy1tYXRlcmlhbC9tYXJrZXRpbmctbWF0ZXJpYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zY3JvbGwge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcblxyXG4uaGVhZGVyIHtcclxuICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3RlbXAvbWFya2V0aW5nLWJhbm5lci5qcGcnKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBsZWZ0O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBtYXJnaW46IDI1cHg7XHJcbiAgICBwYWRkaW5nOiAyNXB4O1xyXG5cclxufVxyXG5cclxuLyogLmhlYWRlciAuaGVhZGVyLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCAjNTU1IHNvbGlkO1xyXG4gICAgcGFkZGluZzogMCAwIDEwcHggMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uaGVhZGVyIC5oZWFkZXItc3VidGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgcGFkZGluZzogMTBweCAwIDAgMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59ICovXHJcblxyXG4uc2VjdGlvbiB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgcGFkZGluZzogMjVweDtcclxufVxyXG5cclxudGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbnRkLCB0aCB7XHJcbiAgICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4uYWN0aW9uLWl0ZW0ge1xyXG4gICAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnN1YiB7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxufVxyXG5cclxuLmxhc3Qtc2VjdGlvbiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcclxufVxyXG5cclxuLmZpbGUtc2VsZWN0IHtcclxuICAgIGhlaWdodDogMjJweCFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1IWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogMTAwcHg7XHJcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY3JlYXRlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgLyogICB3aWR0aDogMjAwcHg7ICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4uY3JlYXRlIGJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICAvKiBoZWlnaHQ6IDM1cHg7ICovXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgXHJcbn1cclxuXHJcbi5jcmVhdGUgaSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uc2VwZXJhdG9yIHtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAvKiAgd2lkdGg6IDMwJTsgKi9cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbn1cclxuXHJcbi50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLnN1Yi10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgd2lkdGg6IDcwJTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcbn1cclxuXHJcbi5hY3Rpb24tbGluayB7XHJcbiAgICBjb2xvcjogI0U1ODkyOTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uYnJvd3Nlci1hbGVydCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC43NSk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICBcclxuLndlbGNvbWUtbWVzc2FnZSB7XHJcbiAgICB3aWR0aDogNTAwcHg7XHJcbiAgLyogICBoZWlnaHQ6IDMwMHB4OyAqL1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAzMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAvKiBib3JkZXItcmFkaXVzOiAxMHB4OyAqL1xyXG4gICAgcGFkZGluZzogMjVweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi53ZWxjb21lLW1lc3NhZ2UgLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4ud2VsY29tZS1tZXNzYWdlIC5pbmZvIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5hbGVydC1pY29uIGkge1xyXG4gICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgY29sb3I6ICNGMDgwODA7XHJcbn1cclxuXHJcbi5hbGVydC1ib3h7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5hbGVydC10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgIC8qICB0ZXh0LWFsaWduOiBjZW50ZXI7ICovXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5zZWxlY3RlZC1tYXRlcmlhbCB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uY2xvc2UtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY2xvc2UtY29udGFpbmVyIGkge1xyXG4gICAgZm9udC1zaXplOiAxLjNlbTtcclxufVxyXG5cclxuLmFsZXJ0LWJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAvKiAgd2lkdGg6IDE1MHB4OyAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbn1cclxuXHJcbi5hbGVydC1idG4gYnV0dG9uIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIC8qIGhlaWdodDogMzVweDsgKi9cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi5hbGVydC1idG4gaSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmVkaXQtdG9nZ2xlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5yZW1vdmUtdG9nZ2xlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEycHg7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXI6IDFweCAjNzc3IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgY29sb3I6ICM3Nzc7XHJcbiAgICBtYXJnaW46IDRweCAxMHB4IDAgNXB4O1xyXG59XHJcbi5kb2MtYXJlYSB0ZXh0YXJlYSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5wbHVzLWljb24ge1xyXG4gICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgY29sb3I6ICMyOGE3NDU7XHJcbn1cclxuXHJcbi5hcHByb3ZlIHtcclxuICAgIGNvbG9yOiAjMjhhNzQ1O1xyXG59XHJcblxyXG4uZGVsZXRle1xyXG4gICAgY29sb3I6IHJlZDtcclxufVxyXG5cclxuLmVkaXQge1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5kcmFnLWFjdGl2ZTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgYm9yZGVyOiAxcHggIzU1NSBzb2xpZDtcclxuICAgIC8qIGJveC1zaGFkb3c6IDJ4IDJweCA0cHggNHB4ICNjY2M7ICovXHJcbn1cclxuXHJcbi5yb3ctbW92ZSB7XHJcbiAgICBjdXJzb3I6IG1vdmU7XHJcbn1cclxuXHJcbi5yb3ctbW92ZTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xyXG59XHJcblxyXG4uZG9jLWFyZWEge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5kb2MtZGVzY3Ige1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLmFkZC1idG4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIHdpZHRoOiA5MiU7XHJcbiAgICBib3JkZXI6IDBweDtcclxufVxyXG4iXX0= */\"","module.exports = \"
\\r\\n\\r\\n
\\r\\n Marketing Materials\\r\\n
\\r\\n A wealth of knowledge at your fingertips\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{category.category}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Title\\r\\n Description\\r\\n Actions\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{material.Title}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{material.Description}}\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n Download\\r\\n /\\r\\n Delete\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Please type in the category you would like to add:\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Are you sure you would like to delete the material/document titled:\\r\\n {{selectedMaterial.item.Title}}?

This cannot be undone.
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Are you sure you would like to delete the category\\r\\n \\\"{{selectedMaterial.category}}\\\"?\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { ModalService } from '../shared/modal/modal.service';\r\nimport { GlobalService } from '../services/global.service';\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\n\r\nimport Utils from '../shared/utility';\r\n\r\n@Component({\r\n selector: 'app-marketing-material',\r\n templateUrl: './marketing-material.component.html',\r\n styleUrls: ['./marketing-material.component.css']\r\n})\r\nexport class MarketingMaterialComponent implements OnInit {\r\n public healthCareMaterial: any[];\r\n public longTermCareMaterial: any[];\r\n public socialSecurityMaterial: any[];\r\n\r\n public articlesForClients: any[];\r\n public clientLetters: any[];\r\n public educationalWorkshops: any[];\r\n public factGuides: any[];\r\n public otherAdvertising: any[];\r\n public websiteArtwork: any[];\r\n\r\n public marketingMaterialArr: any[];\r\n\r\n public toggleInput: any;\r\n\r\n public selectedCategory: any;\r\n public selectedDescription: any;\r\n public selectedTitle: any;\r\n\r\n public selectedInputs: any = {};\r\n\r\n public error: any;\r\n\r\n public droppedData: any = {};\r\n\r\n // TODO: REMOVE THIS LATER\r\n public visible: boolean = false;\r\n\r\n public modalSubscription: any;\r\n\r\n constructor(private modalService: ModalService, private globalService: GlobalService, private snackBarService: SnackBarService) {\r\n this.modalSubscription = modalService.modal$.subscribe((modal) => {\r\n if (modal.modalName == 'upload-docClosed') {\r\n this.getMM();\r\n }\r\n });\r\n }\r\n\r\n uploadDoc() {\r\n const categories = this.marketingMaterialArr.reduce((arr, item, i) => { arr.push({value: item.category, title: item.category, idx: i}); return arr }, []);\r\n this.modalService.add('upload-doc', { Data: { arr: this.marketingMaterialArr, section: 'marketing-material', categories }, ID: Number(localStorage.getItem(\"userId\")) });\r\n }\r\n\r\n deleteCategory(){\r\n this.confirmCategoryDeleteVisible = true;\r\n this.marketingMaterialArr.splice(this.selectedMaterial.index, 1);\r\n const oldFormat = Utils.convertMarketingMaterialOrInfoCenterToOldFormat(this.marketingMaterialArr);\r\n this.closeCategoryDelete();\r\n\r\n this.globalService.ReplaceMarketingMaterial(oldFormat)\r\n .subscribe(\r\n resp => {\r\n if (resp) {\r\n this.snackBarService.add('Category and documents have been removed', 0);\r\n } else {\r\n this.snackBarService.add('An error occurred - please contact support', 1);\r\n }\r\n this.confirmDeleteVisible = false;\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n deleteDoc() {\r\n this.marketingMaterialArr[this.selectedMaterial.i].items.splice(this.selectedMaterial.j, 1);\r\n const oldFormat = Utils.convertMarketingMaterialOrInfoCenterToOldFormat(this.marketingMaterialArr);\r\n this.globalService.ReplaceMarketingMaterial(oldFormat)\r\n .subscribe(\r\n resp => {\r\n if (resp) {\r\n this.snackBarService.add('Document has been removed', 0);\r\n } else {\r\n this.snackBarService.add('An error occurred - please contact support', 1);\r\n }\r\n this.confirmDeleteVisible = false;\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n public confirmDeleteVisible: boolean;\r\n public confirmCategoryDeleteVisible: boolean;\r\n public selectedMaterial: any;\r\n\r\n deleteItem(item, i, j) {\r\n this.selectedMaterial = {\r\n item,\r\n i,\r\n j\r\n }\r\n\r\n this.confirmDeleteVisible = true;\r\n }\r\n\r\n close() {\r\n this.confirmDeleteVisible = false;\r\n }\r\n\r\n closeCategoryDelete() {\r\n this.confirmCategoryDeleteVisible = false;\r\n }\r\n\r\n getMM() {\r\n this.globalService.GetMarketingMaterial()\r\n .subscribe(\r\n data => {\r\n\r\n let documents = Utils.convertMarketingMaterialOrInfoCenterToNewFormat(JSON.parse(data.data));\r\n \r\n let uniqueDocumentCategories = documents.reduce((obj, item) => {\r\n if (!obj[item.Category])\r\n obj[item.Category] = item.Category;\r\n return obj;\r\n }, {});\r\n\r\n this.marketingMaterialArr = [];\r\n this.droppedData = {};\r\n \r\n Object.keys(uniqueDocumentCategories).forEach((category, i) => {\r\n this.marketingMaterialArr.push({\r\n category: category,\r\n items: documents.filter(doc => doc.Category === category),\r\n });\r\n if (this.marketingMaterialArr[this.marketingMaterialArr.length - 1].items[0] && (!this.marketingMaterialArr[this.marketingMaterialArr.length - 1].items[0].Title || !this.marketingMaterialArr[this.marketingMaterialArr.length - 1].items[0].Description)) {\r\n if (this.marketingMaterialArr[this.marketingMaterialArr.length - 1].items.length > 1) {\r\n this.marketingMaterialArr[this.marketingMaterialArr.length - 1].items.splice(0, 1);\r\n }\r\n }\r\n });\r\n\r\n this.generateSelectedInputs();\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n generateSelectedInputs() {\r\n this.selectedInputs = {};\r\n\r\n Object.keys(this.marketingMaterialArr).forEach((cat, i) => {\r\n this.selectedInputs[i] = { category: false }\r\n });\r\n\r\n this.marketingMaterialArr.forEach((cat, i) => {\r\n cat.items.forEach((doc, j) => {\r\n this.selectedInputs[i][j] = { title: false, description: false }\r\n });\r\n });\r\n }\r\n\r\n saveMM() {\r\n\r\n const oldFormat = Utils.convertMarketingMaterialOrInfoCenterToOldFormat(this.marketingMaterialArr);\r\n \r\n this.globalService.ReplaceMarketingMaterial(oldFormat)\r\n .subscribe(\r\n resp => {\r\n if (resp) {\r\n this.snackBarService.add('Your document has been updated', 0);\r\n } else {\r\n this.snackBarService.add('An error occurred - please contact support', 1);\r\n }\r\n this.confirmDeleteVisible = false;\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n public userType: any;\r\n public rootLevelOrganization: boolean;\r\n\r\n ngOnInit() {\r\n this.userType = Number(localStorage.getItem('roleId')) || 3;\r\n this.visible = (Number(localStorage.getItem('orgID')) === 2 || Number(localStorage.getItem('parentID')) === 2) ? true : false;\r\n this.rootLevelOrganization = (Number(localStorage.getItem('parentID')) == 0) && (Number(localStorage.getItem('roleId')) == 1 || Number(localStorage.getItem('roleId')) == 2);\r\n \r\n this.toggleInput = {\r\n category: {},\r\n title: {},\r\n description: {},\r\n }\r\n\r\n this.getMM();\r\n }\r\n\r\n\r\n public addCategoryVisible: boolean = false;\r\n public newCategory: string = '';\r\n\r\n addCategory(category) {\r\n this.addCategoryVisible = true;\r\n }\r\n\r\n saveNewCategory() {\r\n this.marketingMaterialArr.unshift({\r\n category: this.newCategory.trim(),\r\n items: [],\r\n });\r\n\r\n this.newCategory = '';\r\n this.generateSelectedInputs();\r\n this.closeCategoryWindow();\r\n this.saveMM();\r\n }\r\n\r\n closeCategoryWindow() {\r\n this.addCategoryVisible = false;\r\n }\r\n\r\n delTextV2(cat, val, catIdx, docIdx, isSaving) {\r\n //console.log('delete cat ' + cat);\r\n //console.log('CAT:', this.marketingMaterialArr[catIdx].category);\r\n\r\n //console.log('CAT ITEMS:', this.marketingMaterialArr[catIdx].items);\r\n // console.log('Selected Cat:', this.selectedCategory);\r\n // console.log('selecteed cat items:', this.infoCenterArr[catIdx].items);//this.infoCenterArr[this.selectedMaterial.i].items\r\n\r\n // var thisList = this.marketingMaterialArr[catIdx].items.splice(catIdx, 1);\r\n // console.log('new list:', thisList);\r\n }\r\n\r\n removeCategory(cat, index) {\r\n this.confirmCategoryDeleteVisible = true;\r\n this.selectedMaterial = {\r\n category: cat,\r\n index,\r\n }\r\n }\r\n\r\n editTextV2(cat, val, catIdx, docIdx, isSaving) {\r\n if (isSaving) {\r\n if (cat === 'category') {\r\n this.selectedInputs[catIdx].category = false;\r\n this.marketingMaterialArr[catIdx].category = this.selectedCategory;\r\n } else if (cat === 'title') {\r\n this.selectedInputs[catIdx][docIdx].title = false;\r\n this.marketingMaterialArr[catIdx].items[docIdx].Title = this.selectedTitle;\r\n } else if (cat === 'description') {\r\n this.selectedInputs[catIdx][docIdx].description = false;\r\n this.marketingMaterialArr[catIdx].items[docIdx].Description = this.selectedDescription;\r\n }\r\n this.saveMM();\r\n } else {\r\n if (cat === 'category') {\r\n this.selectedInputs[catIdx].category = true;\r\n this.selectedCategory = val;\r\n } else if (cat === 'title') {\r\n this.selectedInputs[catIdx][docIdx].title = true;\r\n this.selectedTitle = val;\r\n } else if (cat === 'description') {\r\n this.selectedInputs[catIdx][docIdx].description = true;\r\n this.selectedDescription = val;\r\n }\r\n }\r\n }\r\n\r\n onDrop(event, catIdx, docIdx) {\r\n\r\n if (!this.parentTableTriggered && catIdx === event.dropData.catIdx) {\r\n var fromDoc = this.marketingMaterialArr[event.dropData.catIdx].items[event.dropData.docIdx];\r\n var toDoc = this.marketingMaterialArr[catIdx].items[docIdx];\r\n this.marketingMaterialArr[event.dropData.catIdx].items[event.dropData.docIdx] = toDoc;\r\n this.marketingMaterialArr[catIdx].items[docIdx] = fromDoc;\r\n }\r\n\r\n this.parentTableTriggered = false;\r\n\r\n this.generateSelectedInputs();\r\n this.saveMM();\r\n }\r\n\r\n public parentTableTriggered: boolean = false;\r\n public triggeredIndex: any = 0;\r\n\r\n onDropTable(event, catIdx, docIdx) {\r\n this.marketingMaterialArr[event.dropData.catIdx].items.splice(event.dropData.docIdx, 1);\r\n this.marketingMaterialArr[catIdx].items.push(event.dropData.item);\r\n\r\n if (!this.marketingMaterialArr[catIdx].items[0].Title || !this.marketingMaterialArr[catIdx].items[0].Description) {\r\n this.marketingMaterialArr[catIdx].items.splice(0, 1);\r\n this.parentTableTriggered = true;\r\n }\r\n\r\n this.generateSelectedInputs();\r\n this.saveMM();\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n color: #555;\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.na-bar {\\r\\n color: #555;\\r\\n background-color: #bcdff1;\\r\\n font-size: 13px;\\r\\n padding: 10px;\\r\\n padding-left: 20px;\\r\\n width: 100%;\\r\\n font-size: 12px;\\r\\n border-top: 2px #f5f5f5 solid;\\r\\n}\\r\\n\\r\\n.page-content {\\r\\n padding: 0 20px 20px 20px;\\r\\n}\\r\\n\\r\\n.client-profile {\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.client-profile .name {\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.client-profile .clickable {\\r\\n font-size: 0.75rem;\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.surcharge-savings {\\r\\n font-size: 24px;\\r\\n font-weight: bold;\\r\\n margin-top: 5px;\\r\\n color: #7DB72F;\\r\\n}\\r\\n\\r\\n.ss-benefit {\\r\\n color: #3A87C7;\\r\\n}\\r\\n\\r\\n.benefits {\\r\\n margin-top: 10px; \\r\\n}\\r\\n\\r\\n.ss-age-inputs {\\r\\n margin-top: 10px;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n}\\r\\n\\r\\n.ss-age-inputs input {\\r\\n background-color: #d3d3d3;\\r\\n border: none;\\r\\n text-align: center;\\r\\n outline: none;\\r\\n color: #555;\\r\\n font-weight: bold;\\r\\n width: 250px;\\r\\n padding: 5px;\\r\\n text-align: left;\\r\\n margin: 5px 0 0 0;\\r\\n height: 25px;\\r\\n}\\r\\n\\r\\n.ss-age-inputs input:invalid {\\r\\n border: 2px #ff7f7f solid!important;\\r\\n }\\r\\n\\r\\n.ss-age-inputs div {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.magi {\\r\\n margin: 20px 0 10px 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.magi-container {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n /* height: 100%; */\\r\\n /* max-height: 265px; */\\r\\n}\\r\\n\\r\\n.magi-slider {\\r\\n display: flex;\\r\\n flex: 1 0 600px;\\r\\n margin-right: 10px;\\r\\n max-width: 600px;\\r\\n background-color: #fff;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 125px;\\r\\n}\\r\\n\\r\\n.disabled {\\r\\n cursor: not-allowed!important;\\r\\n pointer-events: none;\\r\\n opacity: 50%;\\r\\n}\\r\\n\\r\\n::ng-deep .line-chart path {\\r\\n stroke-width: 4px!important;\\r\\n}\\r\\n\\r\\n::ng-deep ng5-slider {\\r\\n margin: 25px!important;\\r\\n}\\r\\n\\r\\n::ng-deep ng5-slider .ng5-slider-pointer {\\r\\n background-color: #E58929!important;\\r\\n}\\r\\n\\r\\n::ng-deep .ng5-slider .ng5-slider-pointer:after {\\r\\n background: #E58929!important;\\r\\n}\\r\\n\\r\\n::ng-deep .ng5-slider .ng5-slider-selection {\\r\\n background-color: #3A87C7!important;\\r\\n height: 6px!important;\\r\\n}\\r\\n\\r\\n::ng-deep .ng5-slider .ng5-slider-pointer {\\r\\n z-index: 1!important;\\r\\n width: 25px!important;\\r\\n height: 25px!important;\\r\\n top: -10px!important;\\r\\n}\\r\\n\\r\\n::ng-deep .ng5-slider .ng5-slider-bar {\\r\\n height: 6px!important;\\r\\n}\\r\\n\\r\\n::ng-deep .ng5-slider-model-value {\\r\\n font-weight: bold!important;\\r\\n color: #E58929!important;\\r\\n font-size: 14px!important;\\r\\n}\\r\\n\\r\\n::ng-deep .ng5-slider-floor, ::ng-deep .ng5-slider-ceil {\\r\\n margin-bottom: -40px!important;\\r\\n}\\r\\n\\r\\n.chart-containers {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n margin-top: 15px;\\r\\n max-width: 1550px;\\r\\n}\\r\\n\\r\\n/* .chart-containers ngx-charts-area-chart-stacked, .chart-containers ngx-charts-line-chart {\\r\\n position: absolute;\\r\\n} */\\r\\n\\r\\n/* .chart-containers ngx-charts-line-chart {\\r\\n z-index: 2;\\r\\n} */\\r\\n\\r\\n.donut-chart {\\r\\n background-color: #fff;\\r\\n min-height: 398px;\\r\\n max-height: 350px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n#initialBracketOneMsg {\\r\\n min-height: 398px;\\r\\n max-height: 350px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n position: relative;\\r\\n font-size: 18px;\\r\\n line-height: 30px;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n#initialBracketOneMsg span {\\r\\n margin: 0 30px 0 30px;\\r\\n}\\r\\n\\r\\n.center {\\r\\n margin: auto;\\r\\n width: 60%;\\r\\n border: 3px solid #73AD21;\\r\\n }\\r\\n\\r\\n.mmt-numbers {\\r\\n height: 120px;\\r\\n display: flex;\\r\\n background-color: #fff;\\r\\n border-top: 2px #f5f5f5 solid;\\r\\n margin-right: 10px;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.mmt-numbers div {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin: 15px;\\r\\n}\\r\\n\\r\\n.cost-label {\\r\\n font-size: 14px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.cost {\\r\\n color: #3A87C7;\\r\\n font-size: 24px;\\r\\n font-weight: 500;\\r\\n margin-top: 5px;\\r\\n}\\r\\n\\r\\n::ng-deep .legend-title-text {\\r\\n display: none!important;\\r\\n}\\r\\n\\r\\n::ng-deep .gridline-path-vertical { display: none; }\\r\\n\\r\\n::ng-deep .mmt-v2 ngx-charts-pie-chart {\\r\\n margin-left: -150px;\\r\\n}\\r\\n\\r\\n/* ::ng-deep .mmt-v2 .line-chart .ng-star-inserted {\\r\\n background-color: #f5f5f5!important;\\r\\n height: 100px!important;\\r\\n width: 100px!important;\\r\\n pointer-events: all;\\r\\n} */\\r\\n\\r\\n/* ::ng-deep .mmt-v2 .ng-star-inserted circle {\\r\\n stroke-width: 100px!important;\\r\\n stroke-linecap: round!important;\\r\\n fill: #000;\\r\\n} */\\r\\n\\r\\n::ng-deep .mmt-v2 ngx-charts-pie-chart .chart-legend {\\r\\n width: 175px!important;\\r\\n position: absolute;\\r\\n right: 100px;\\r\\n top: 130px;\\r\\n}\\r\\n\\r\\n::ng-deep .mmt-v2 ngx-charts-pie-chart ngx-charts-legend-entry .legend-label-text, ::ng-deep ngx-charts-pie-chart .legend-label,::ng-deep ngx-charts-pie-chart .legend-labels {\\r\\n width: 200px!important;\\r\\n}\\r\\n\\r\\n.doughnut-center {\\r\\n position: absolute;\\r\\n background-color: #fff;\\r\\n border-radius: 100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 110px;\\r\\n height: 110px;\\r\\n left: calc(50% - 155px);\\r\\n top: calc(50% - 55px);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.doughnut-label {\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.mmt-v2 .doughnut-cost {\\r\\n margin-top: 5px;\\r\\n margin-left: -10px;\\r\\n font-size: 20px;\\r\\n font-weight: 500;\\r\\n color: #7DB72F;\\r\\n}\\r\\n\\r\\n::ng-deep .mmt-v2 .stacked-chart-container {\\r\\n position: relative;\\r\\n background-color: #fff;\\r\\n height: 500px;\\r\\n padding: 20px 0 0 0;\\r\\n /* flex-wrap: wrap; */\\r\\n width: 100%;\\r\\n display: flex;\\r\\n /* flex-direction: column; */\\r\\n}\\r\\n\\r\\n::ng-deep .mmt-v2 .line-chart {\\r\\n position: absolute;\\r\\n width: calc(100% - 250px);\\r\\n height: 485px;\\r\\n padding-left: 65px;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.options {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n margin: 10px 0 50px 0;\\r\\n padding: 0 0 50px 0;\\r\\n}\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n padding: 15px;\\r\\n }\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n }\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n }\\r\\n\\r\\n.sub-title {\\r\\n display: block;\\r\\n margin: 5px 0 5px 0;\\r\\n font-weight: 500;\\r\\n }\\r\\n\\r\\n.bold {\\r\\n font-weight: 500;\\r\\n }\\r\\n\\r\\n.symbol {\\r\\n font-size: 26px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.stacked-chart {\\r\\n position: absolute;\\r\\n height: 450px;\\r\\n width: calc(100% - 125px);\\r\\n }\\r\\n\\r\\n.legend-item {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n.legend {\\r\\n width: 175px;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n flex-direction: column-reverse;\\r\\n justify-content: flex-end;\\r\\n }\\r\\n\\r\\n.legend-item {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 200px;\\r\\n font-size: 12px;\\r\\n }\\r\\n\\r\\n.legend-cube {\\r\\n width: 20px; \\r\\n height: 20px; \\r\\n margin-right: 5px;\\r\\n }\\r\\n\\r\\n::ng-deep .ngx-charts .tooltip-anchor {\\r\\n fill: #ffffff!important;\\r\\n}\\r\\n\\r\\n::ng-deep .type-popover {\\r\\n color: #ffffff!important;\\r\\n background-color: #ffffff!important;\\r\\n}\\r\\n\\r\\n::ng-deep .type-tooltip {\\r\\n background-color: #ffffff!important;\\r\\n color: #555!important;\\r\\n box-shadow:none!important;\\r\\n border: none!important;\\r\\n}\\r\\n\\r\\n::ng-deep .line-tooltip {\\r\\n text-align: left;\\r\\n height: 150px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: left;\\r\\n align-items: space-around;\\r\\n}\\r\\n\\r\\n::ng-deep .line-tooltip div { \\r\\n margin: 5px 0 5px 0;\\r\\n}\\r\\n\\r\\n::ng-deep .line-tooltip div span { \\r\\n /* font-weight: 600; */\\r\\n}\\r\\n\\r\\n::ng-deep .area-tooltip-container {\\r\\n display: none!important;\\r\\n /* pointer-events: none!important; */\\r\\n}\\r\\n\\r\\n::ng-deep .type-tooltip .position-left {\\r\\n border-left: none !important;\\r\\n}\\r\\n\\r\\n::ng-deep .type-tooltip .position-top {\\r\\n border-top: none !important;\\r\\n}\\r\\n\\r\\n::ng-deep .type-tooltip .position-right {\\r\\n border-right: none !important;\\r\\n}\\r\\n\\r\\n::ng-deep .type-tooltip .position-bottom {\\r\\n border-bottom: none !important;\\r\\n}\\r\\n\\r\\n/* ::ng-deep .ng-star-inserted {\\r\\n\\r\\n} */\\r\\n\\r\\n/* ::ng-deep .tooltip-caret {\\r\\n display: none!important;\\r\\n \\r\\n} */\\r\\n\\r\\n.metrics-container {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.magi-savings {\\r\\n position: relative;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n flex: 1;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n background-color: #fff;\\r\\n height: 125px;\\r\\n max-width: 250px;\\r\\n}\\r\\n\\r\\n.magi-savings span {\\r\\n width: 200px;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.magi-text {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n justify-content: left;\\r\\n align-items: center;\\r\\n /* background-color: #e5e5e5; */\\r\\n /* font-weight: 100; */\\r\\n /* padding: 15px; */\\r\\n\\r\\n}\\r\\n\\r\\n.magi-text span {\\r\\n max-width: 900px;\\r\\n}\\r\\n\\r\\n.number {\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n border-radius: 100%;\\r\\n border: 1px #d5d5d5 solid;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n font-size: 12px;\\r\\n background-color: #fff;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.client-info {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n/* .skeleton-container::before {\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background: repeating-linear-gradient(\\r\\n 45deg,\\r\\n #e5e5e5,\\r\\n #e5e5e5 10px,\\r\\n #f5f5f5 10px,\\r\\n #f5f5f5 20px\\r\\n );\\r\\n z-index: 20;\\r\\n opacity: 0.1;\\r\\n box-sizing: border-box;\\r\\n}\\r\\n\\r\\n.skeleton-container span::before, .skeleton-container p::before, ::ng-deep .skeleton-container .legend-label-text::before {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background-color: #fff;\\r\\n opacity: 0.2;\\r\\n z-index: 100;\\r\\n}\\r\\n\\r\\n.skeleton-container span, .skeleton-container p {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n::ng-deep .legend-label-text {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.skeleton-container .line-chart { \\r\\n opacity: 0;\\r\\n}\\r\\n\\r\\n::ng-deep .skeleton-container .area-chart .tick text {\\r\\n color: #e5e5e5!important;\\r\\n fill: #e5e5e5!important;\\r\\n background: #e5e5e5!important;\\r\\n background-color: #e5e5e5!important;\\r\\n opacity: 0.2;\\r\\n} */\\r\\n\\r\\n/*\\r\\n.skeleton-container span::before, .skeleton-container p::before, ::ng-deep .skeleton-container .legend-label-text::before {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background-color: #fff;\\r\\n z-index: 100;\\r\\n}\\r\\n\\r\\n::ng-deep .skeleton-container .ng-tns-c15-0 .tick text {\\r\\n color: #e5e5e5!important;\\r\\n fill: #e5e5e5!important;\\r\\n background: #e5e5e5!important;\\r\\n background-color: #e5e5e5!important;\\r\\n}\\r\\n\\r\\n::ng-deep .skeleton-container .area-chart .tick text {\\r\\n color: #e5e5e5!important;\\r\\n fill: #e5e5e5!important;\\r\\n background: #e5e5e5!important;\\r\\n background-color: #e5e5e5!important;\\r\\n}\\r\\n\\r\\n.skeleton-container-exit .donut-chart, .skeleton-container-exit .stacked-chart, .skeleton-container-exit .line-chart { \\r\\n opacity: 1;\\r\\n animation: enterChartSliderUp 2s;\\r\\n pointer-events: initial;\\r\\n}\\r\\n\\r\\n.skeleton-container .line-chart { \\r\\n opacity: 0;\\r\\n} */\\r\\n\\r\\n.skeleton-container::before {\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background: repeating-linear-gradient(\\r\\n 45deg,\\r\\n #e5e5e5,\\r\\n #e5e5e5 10px,\\r\\n #f5f5f5 10px,\\r\\n #f5f5f5 20px\\r\\n );\\r\\n z-index: 20;\\r\\n opacity: 0.1;\\r\\n box-sizing: border-box;\\r\\n}\\r\\n\\r\\n.skeleton-container {\\r\\n opacity: 0.5;\\r\\n}\\r\\n\\r\\n::ng-deep .skeleton-container .area-chart .tick {\\r\\n width: 200px!important;\\r\\n color: #555!important;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes fadein {\\r\\n from { opacity: 0; }\\r\\n to { opacity: 0.1; }\\r\\n}\\r\\n\\r\\n@keyframes fadein {\\r\\n from { opacity: 0; }\\r\\n to { opacity: 0.1; }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes fadeout {\\r\\n from { opacity: 0.3; }\\r\\n to { opacity: 0; }\\r\\n}\\r\\n\\r\\n@keyframes fadeout {\\r\\n from { opacity: 0.3; }\\r\\n to { opacity: 0; }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes enterChartSliderUp {\\r\\n from { opacity: 0.5; }\\r\\n to { opacity: 1; }\\r\\n}\\r\\n\\r\\n@keyframes enterChartSliderUp {\\r\\n from { opacity: 0.5; }\\r\\n to { opacity: 1; }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL21lZGljYXJlLW1lYW5zLXRlc3RpbmctdjIvbWVkaWNhcmUtbWVhbnMtdGVzdGluZy12Mi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gseUJBQXlCO0lBQ3pCLGVBQWU7SUFDZixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsNkJBQTZCO0FBQ2pDOztBQUVBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCwwQkFBMEI7SUFDMUIsZUFBZTtJQUNmLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLG1DQUFtQztFQUNyQzs7QUFFRjtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGdC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QUFIQTtJQUNJLE9BQU8sWUFBWSxFQUFFO0lBQ3JCLE9BQU8sVUFBVSxFQUFFO0FBQ3ZCOztBQUVBO0lBQ0ksT0FBTyxZQUFZLEVBQUU7SUFDckIsT0FBTyxVQUFVLEVBQUU7QUFDdkI7O0FBSEE7SUFDSSxPQUFPLFlBQVksRUFBRTtJQUNyQixPQUFPLFVBQVUsRUFBRTtBQUN2QiIsImZpbGUiOiIuLi9tZWRpY2FyZS1tZWFucy10ZXN0aW5nLXYyL21lZGljYXJlLW1lYW5zLXRlc3RpbmctdjIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4ubmEtYmFyIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JjZGZmMTtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGJvcmRlci10b3A6IDJweCAjZjVmNWY1IHNvbGlkO1xyXG59XHJcblxyXG4ucGFnZS1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDAgMjBweCAyMHB4IDIwcHg7XHJcbn1cclxuXHJcbi5jbGllbnQtcHJvZmlsZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uY2xpZW50LXByb2ZpbGUgLm5hbWUge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5jbGllbnQtcHJvZmlsZSAuY2xpY2thYmxlIHtcclxuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcblxyXG4uc3VyY2hhcmdlLXNhdmluZ3Mge1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICBjb2xvcjogIzdEQjcyRjtcclxufVxyXG5cclxuLnNzLWJlbmVmaXQge1xyXG4gICAgY29sb3I6ICMzQTg3Qzc7XHJcbn1cclxuXHJcbi5iZW5lZml0cyB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyAgIFxyXG59XHJcblxyXG4uc3MtYWdlLWlucHV0cyB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbn1cclxuXHJcbi5zcy1hZ2UtaW5wdXRzIGlucHV0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHdpZHRoOiAyNTBweDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBtYXJnaW46IDVweCAwIDAgMDtcclxuICAgIGhlaWdodDogMjVweDtcclxufVxyXG5cclxuLnNzLWFnZS1pbnB1dHMgaW5wdXQ6aW52YWxpZCB7XHJcbiAgICBib3JkZXI6IDJweCAjZmY3ZjdmIHNvbGlkIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4uc3MtYWdlLWlucHV0cyBkaXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLm1hZ2kge1xyXG4gICAgbWFyZ2luOiAyMHB4IDAgMTBweCAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5tYWdpLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLyogaGVpZ2h0OiAxMDAlOyAqL1xyXG4gICAgLyogbWF4LWhlaWdodDogMjY1cHg7ICovXHJcbn1cclxuXHJcbi5tYWdpLXNsaWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMSAwIDYwMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgbWF4LXdpZHRoOiA2MDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDEyNXB4O1xyXG59XHJcblxyXG4uZGlzYWJsZWQge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZCFpbXBvcnRhbnQ7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIG9wYWNpdHk6IDUwJTtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5saW5lLWNoYXJ0IHBhdGgge1xyXG4gICAgc3Ryb2tlLXdpZHRoOiA0cHghaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuOjpuZy1kZWVwIG5nNS1zbGlkZXIge1xyXG4gICAgbWFyZ2luOiAyNXB4IWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIG5nNS1zbGlkZXIgLm5nNS1zbGlkZXItcG9pbnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5IWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5uZzUtc2xpZGVyIC5uZzUtc2xpZGVyLXBvaW50ZXI6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZDogI0U1ODkyOSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAubmc1LXNsaWRlciAubmc1LXNsaWRlci1zZWxlY3Rpb24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNBODdDNyFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDZweCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAubmc1LXNsaWRlciAubmc1LXNsaWRlci1wb2ludGVyIHtcclxuICAgIHotaW5kZXg6IDEhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDI1cHghaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAyNXB4IWltcG9ydGFudDtcclxuICAgIHRvcDogLTEwcHghaW1wb3J0YW50O1xyXG59XHJcblxyXG46Om5nLWRlZXAgLm5nNS1zbGlkZXIgLm5nNS1zbGlkZXItYmFyIHtcclxuICAgIGhlaWdodDogNnB4IWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5uZzUtc2xpZGVyLW1vZGVsLXZhbHVlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjRTU4OTI5IWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTRweCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAubmc1LXNsaWRlci1mbG9vciwgOjpuZy1kZWVwIC5uZzUtc2xpZGVyLWNlaWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTQwcHghaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2hhcnQtY29udGFpbmVycyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIG1heC13aWR0aDogMTU1MHB4O1xyXG59XHJcblxyXG4vKiAuY2hhcnQtY29udGFpbmVycyBuZ3gtY2hhcnRzLWFyZWEtY2hhcnQtc3RhY2tlZCwgLmNoYXJ0LWNvbnRhaW5lcnMgbmd4LWNoYXJ0cy1saW5lLWNoYXJ0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufSAqL1xyXG5cclxuLyogLmNoYXJ0LWNvbnRhaW5lcnMgbmd4LWNoYXJ0cy1saW5lLWNoYXJ0IHtcclxuICAgIHotaW5kZXg6IDI7XHJcbn0gKi9cclxuXHJcblxyXG4uZG9udXQtY2hhcnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIG1pbi1oZWlnaHQ6IDM5OHB4O1xyXG4gICAgbWF4LWhlaWdodDogMzUwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4jaW5pdGlhbEJyYWNrZXRPbmVNc2cge1xyXG4gICAgbWluLWhlaWdodDogMzk4cHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAzNTBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbiNpbml0aWFsQnJhY2tldE9uZU1zZyBzcGFuIHtcclxuICAgIG1hcmdpbjogMCAzMHB4IDAgMzBweDtcclxufVxyXG5cclxuLmNlbnRlciB7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB3aWR0aDogNjAlO1xyXG4gICAgYm9yZGVyOiAzcHggc29saWQgIzczQUQyMTtcclxuICB9XHJcblxyXG4ubW10LW51bWJlcnMge1xyXG4gICAgaGVpZ2h0OiAxMjBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyLXRvcDogMnB4ICNmNWY1ZjUgc29saWQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm1tdC1udW1iZXJzIGRpdiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogMTVweDtcclxufVxyXG5cclxuLmNvc3QtbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5jb3N0IHtcclxuICAgIGNvbG9yOiAjM0E4N0M3O1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5sZWdlbmQtdGl0bGUtdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5ncmlkbGluZS1wYXRoLXZlcnRpY2FsIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuOjpuZy1kZWVwIC5tbXQtdjIgbmd4LWNoYXJ0cy1waWUtY2hhcnQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xNTBweDtcclxufVxyXG5cclxuLyogOjpuZy1kZWVwIC5tbXQtdjIgLmxpbmUtY2hhcnQgLm5nLXN0YXItaW5zZXJ0ZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDEwMHB4IWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAxMDBweCFpbXBvcnRhbnQ7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xyXG59ICovXHJcblxyXG4vKiA6Om5nLWRlZXAgLm1tdC12MiAubmctc3Rhci1pbnNlcnRlZCBjaXJjbGUge1xyXG4gICAgc3Ryb2tlLXdpZHRoOiAxMDBweCFpbXBvcnRhbnQ7XHJcbiAgICBzdHJva2UtbGluZWNhcDogcm91bmQhaW1wb3J0YW50O1xyXG4gICAgZmlsbDogIzAwMDtcclxufSAqL1xyXG5cclxuOjpuZy1kZWVwIC5tbXQtdjIgbmd4LWNoYXJ0cy1waWUtY2hhcnQgLmNoYXJ0LWxlZ2VuZCB7XHJcbiAgICB3aWR0aDogMTc1cHghaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDEwMHB4O1xyXG4gICAgdG9wOiAxMzBweDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5tbXQtdjIgbmd4LWNoYXJ0cy1waWUtY2hhcnQgbmd4LWNoYXJ0cy1sZWdlbmQtZW50cnkgLmxlZ2VuZC1sYWJlbC10ZXh0LCA6Om5nLWRlZXAgbmd4LWNoYXJ0cy1waWUtY2hhcnQgLmxlZ2VuZC1sYWJlbCw6Om5nLWRlZXAgbmd4LWNoYXJ0cy1waWUtY2hhcnQgLmxlZ2VuZC1sYWJlbHMge1xyXG4gICAgd2lkdGg6IDIwMHB4IWltcG9ydGFudDtcclxufVxyXG5cclxuLmRvdWdobnV0LWNlbnRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDExMHB4O1xyXG4gICAgaGVpZ2h0OiAxMTBweDtcclxuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTU1cHgpO1xyXG4gICAgdG9wOiBjYWxjKDUwJSAtIDU1cHgpO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG4uZG91Z2hudXQtbGFiZWwge1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLm1tdC12MiAuZG91Z2hudXQtY29zdCB7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgY29sb3I6ICM3REI3MkY7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAubW10LXYyIC5zdGFja2VkLWNoYXJ0LWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgaGVpZ2h0OiA1MDBweDtcclxuICAgIHBhZGRpbmc6IDIwcHggMCAwIDA7XHJcbiAgICAvKiBmbGV4LXdyYXA6IHdyYXA7ICovXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvKiBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAqL1xyXG59XHJcblxyXG46Om5nLWRlZXAgLm1tdC12MiAubGluZS1jaGFydCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjUwcHgpO1xyXG4gICAgaGVpZ2h0OiA0ODVweDtcclxuICAgIHBhZGRpbmctbGVmdDogNjVweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5vcHRpb25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgNTBweCAwO1xyXG4gICAgcGFkZGluZzogMCAwIDUwcHggMDtcclxufVxyXG5cclxuLmNyZWF0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jcmVhdGUgYnV0dG9uIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIC8qIGhlaWdodDogMzVweDsgKi9cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC5jcmVhdGUgaSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLnN1Yi10aXRsZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDVweCAwIDVweCAwO1xyXG4gICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gIH1cclxuXHJcbiAgLmJvbGQge1xyXG4gICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gIH1cclxuXHJcbiAgLnN5bWJvbCB7XHJcbiAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuICAuc3RhY2tlZC1jaGFydCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgaGVpZ2h0OiA0NTBweDtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyNXB4KTtcclxuICB9XHJcblxyXG4gIC5sZWdlbmQtaXRlbSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgfVxyXG5cclxuICAubGVnZW5kIHtcclxuICAgICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICB9XHJcblxyXG4gIC5sZWdlbmQtaXRlbSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICB9XHJcblxyXG4gIC5sZWdlbmQtY3ViZSB7XHJcbiAgICB3aWR0aDogMjBweDsgXHJcbiAgICBoZWlnaHQ6IDIwcHg7IFxyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgfVxyXG5cclxuOjpuZy1kZWVwIC5uZ3gtY2hhcnRzIC50b29sdGlwLWFuY2hvciB7XHJcbiAgICBmaWxsOiAjZmZmZmZmIWltcG9ydGFudDtcclxufVxyXG46Om5nLWRlZXAgLnR5cGUtcG9wb3ZlciB7XHJcbiAgICBjb2xvcjogI2ZmZmZmZiFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmIWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC50eXBlLXRvb2x0aXAge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogIzU1NSFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiBub25lIWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5saW5lLXRvb2x0aXAge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcclxuICAgIGFsaWduLWl0ZW1zOiBzcGFjZS1hcm91bmQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAubGluZS10b29sdGlwIGRpdiB7IFxyXG4gICAgbWFyZ2luOiA1cHggMCA1cHggMDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5saW5lLXRvb2x0aXAgZGl2IHNwYW4geyBcclxuICAgIC8qIGZvbnQtd2VpZ2h0OiA2MDA7ICovXHJcbn1cclxuXHJcbjo6bmctZGVlcCAuYXJlYS10b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxuICAgIC8qIHBvaW50ZXItZXZlbnRzOiBub25lIWltcG9ydGFudDsgKi9cclxufVxyXG5cclxuOjpuZy1kZWVwIC50eXBlLXRvb2x0aXAgLnBvc2l0aW9uLWxlZnQge1xyXG4gICAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC50eXBlLXRvb2x0aXAgLnBvc2l0aW9uLXRvcCB7XHJcbiAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAudHlwZS10b29sdGlwIC5wb3NpdGlvbi1yaWdodCB7XHJcbiAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC50eXBlLXRvb2x0aXAgLnBvc2l0aW9uLWJvdHRvbSB7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIDo6bmctZGVlcCAubmctc3Rhci1pbnNlcnRlZCB7XHJcblxyXG59ICovXHJcblxyXG4vKiA6Om5nLWRlZXAgLnRvb2x0aXAtY2FyZXQge1xyXG4gICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgICBcclxufSAqL1xyXG5cclxuLm1ldHJpY3MtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4ubWFnaS1zYXZpbmdzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleDogMTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBoZWlnaHQ6IDEyNXB4O1xyXG4gICAgbWF4LXdpZHRoOiAyNTBweDtcclxufVxyXG5cclxuLm1hZ2ktc2F2aW5ncyBzcGFuIHtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5tYWdpLXRleHQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsgKi9cclxuICAgIC8qIGZvbnQtd2VpZ2h0OiAxMDA7ICovXHJcbiAgICAvKiBwYWRkaW5nOiAxNXB4OyAqL1xyXG5cclxufVxyXG5cclxuLm1hZ2ktdGV4dCBzcGFuIHtcclxuICAgIG1heC13aWR0aDogOTAwcHg7XHJcbn1cclxuXHJcbi5udW1iZXIge1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgYm9yZGVyOiAxcHggI2Q1ZDVkNSBzb2xpZDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uY2xpZW50LWluZm8ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLyogLnNrZWxldG9uLWNvbnRhaW5lcjo6YmVmb3JlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXHJcbiAgICAgICAgNDVkZWcsXHJcbiAgICAgICAgI2U1ZTVlNSxcclxuICAgICAgICAjZTVlNWU1IDEwcHgsXHJcbiAgICAgICAgI2Y1ZjVmNSAxMHB4LFxyXG4gICAgICAgICNmNWY1ZjUgMjBweFxyXG4gICAgKTtcclxuICAgIHotaW5kZXg6IDIwO1xyXG4gICAgb3BhY2l0eTogMC4xO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLnNrZWxldG9uLWNvbnRhaW5lciBzcGFuOjpiZWZvcmUsIC5za2VsZXRvbi1jb250YWluZXIgcDo6YmVmb3JlLCA6Om5nLWRlZXAgLnNrZWxldG9uLWNvbnRhaW5lciAubGVnZW5kLWxhYmVsLXRleHQ6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgb3BhY2l0eTogMC4yO1xyXG4gICAgei1pbmRleDogMTAwO1xyXG59XHJcblxyXG4uc2tlbGV0b24tY29udGFpbmVyIHNwYW4sIC5za2VsZXRvbi1jb250YWluZXIgcCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAubGVnZW5kLWxhYmVsLXRleHQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uc2tlbGV0b24tY29udGFpbmVyIC5saW5lLWNoYXJ0IHsgXHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG46Om5nLWRlZXAgLnNrZWxldG9uLWNvbnRhaW5lciAuYXJlYS1jaGFydCAudGljayB0ZXh0IHtcclxuICAgIGNvbG9yOiAjZTVlNWU1IWltcG9ydGFudDtcclxuICAgIGZpbGw6ICNlNWU1ZTUhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogI2U1ZTVlNSFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1IWltcG9ydGFudDtcclxuICAgIG9wYWNpdHk6IDAuMjtcclxufSAqL1xyXG5cclxuLypcclxuLnNrZWxldG9uLWNvbnRhaW5lciBzcGFuOjpiZWZvcmUsIC5za2VsZXRvbi1jb250YWluZXIgcDo6YmVmb3JlLCA6Om5nLWRlZXAgLnNrZWxldG9uLWNvbnRhaW5lciAubGVnZW5kLWxhYmVsLXRleHQ6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgei1pbmRleDogMTAwO1xyXG59XHJcblxyXG46Om5nLWRlZXAgLnNrZWxldG9uLWNvbnRhaW5lciAubmctdG5zLWMxNS0wIC50aWNrIHRleHQge1xyXG4gICAgY29sb3I6ICNlNWU1ZTUhaW1wb3J0YW50O1xyXG4gICAgZmlsbDogI2U1ZTVlNSFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1IWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTUhaW1wb3J0YW50O1xyXG59XHJcblxyXG46Om5nLWRlZXAgLnNrZWxldG9uLWNvbnRhaW5lciAuYXJlYS1jaGFydCAudGljayB0ZXh0IHtcclxuICAgIGNvbG9yOiAjZTVlNWU1IWltcG9ydGFudDtcclxuICAgIGZpbGw6ICNlNWU1ZTUhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogI2U1ZTVlNSFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1IWltcG9ydGFudDtcclxufVxyXG5cclxuLnNrZWxldG9uLWNvbnRhaW5lci1leGl0IC5kb251dC1jaGFydCwgLnNrZWxldG9uLWNvbnRhaW5lci1leGl0IC5zdGFja2VkLWNoYXJ0LCAuc2tlbGV0b24tY29udGFpbmVyLWV4aXQgLmxpbmUtY2hhcnQgeyBcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBhbmltYXRpb246IGVudGVyQ2hhcnRTbGlkZXJVcCAycztcclxuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xyXG59XHJcblxyXG4uc2tlbGV0b24tY29udGFpbmVyIC5saW5lLWNoYXJ0IHsgXHJcbiAgICBvcGFjaXR5OiAwO1xyXG59ICovXHJcblxyXG4uc2tlbGV0b24tY29udGFpbmVyOjpiZWZvcmUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcclxuICAgICAgICA0NWRlZyxcclxuICAgICAgICAjZTVlNWU1LFxyXG4gICAgICAgICNlNWU1ZTUgMTBweCxcclxuICAgICAgICAjZjVmNWY1IDEwcHgsXHJcbiAgICAgICAgI2Y1ZjVmNSAyMHB4XHJcbiAgICApO1xyXG4gICAgei1pbmRleDogMjA7XHJcbiAgICBvcGFjaXR5OiAwLjE7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4uc2tlbGV0b24tY29udGFpbmVyIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5za2VsZXRvbi1jb250YWluZXIgLmFyZWEtY2hhcnQgLnRpY2sge1xyXG4gICAgd2lkdGg6IDIwMHB4IWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjNTU1IWltcG9ydGFudDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlaW4ge1xyXG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cclxuICAgIHRvICAgeyBvcGFjaXR5OiAwLjE7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlb3V0IHtcclxuICAgIGZyb20geyBvcGFjaXR5OiAwLjM7IH1cclxuICAgIHRvICAgeyBvcGFjaXR5OiAwOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZW50ZXJDaGFydFNsaWRlclVwIHtcclxuICAgIGZyb20geyBvcGFjaXR5OiAwLjU7IH1cclxuICAgIHRvICAgeyBvcGFjaXR5OiAxOyB9XHJcbn0iXX0= */\"","module.exports = \"\\r\\n\\r\\n
\\r\\n This client is currently configured to use National Averages.\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{this.client.client.FirstName + ' ' + this.client.client.LastName}}\\r\\n & {{this.client.clientProfile.Spouses[0].firstName + ' ' + this.client.clientProfile.Spouses[0].lastName}}\\r\\n Edit Client Profile\\r\\n
\\r\\n\\r\\n
\\r\\n Social Security Monthly Benefit: {{clientBenefit || \\\"$0\\\"}}\\r\\n \\r\\n | Spouse's Social Security Monthly Benefit: {{spouseBenefit || \\\"$0\\\"}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Social Security Start Age:\\r\\n \\r\\n
\\r\\n
\\r\\n Spouse's Social Security Start Age:\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n % MAGI\\r\\n \\r\\n
\\r\\n
\\r\\n {{magiMessage}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Total Surcharge Savings:\\r\\n {{totalSavings}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Surcharge Savings\\r\\n
\\r\\n
\\r\\n
\\r\\n Total Savings:\\r\\n {{totalSavings}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Medicare Premiums \\r\\n {{medicarePremiums}}\\r\\n
\\r\\n +\\r\\n
\\r\\n Surcharges \\r\\n \\r\\n {{surcharges}}\\r\\n
\\r\\n =\\r\\n
\\r\\n Total Medicare Cost \\r\\n {{totalMedicareCost}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Medicare Means Testing Outlook\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Year: {{model.name}}
\\r\\n
MAGI:{{model.houseHoldIncome}}
\\r\\n
Bracket:{{model.bracket}}
\\r\\n

({{formatCurrency(model.bracketLow)}} - {{formatCurrency(model.bracketHigh)}})

\\r\\n

({{formatCurrency(model.bracketLow + 1)}} - {{formatCurrency(model.bracketHigh)}})

\\r\\n

({{formatCurrency(model.bracketLow + 1)}}+)

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{bracket.name}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { Router } from '@angular/router';\r\n\r\nimport { GlobalService } from '../services/global.service';\r\nimport { ModalService } from '../shared/modal/modal.service';\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\nimport { LoadingService } from '../shared/loading/loading.service';\r\n\r\nimport { of, timer, Subject } from 'rxjs';\r\nimport { debounce, debounceTime } from 'rxjs/operators';\r\n\r\n\r\nimport Util from '../shared/utility';\r\n\r\nimport { Options } from 'ng5-slider';\r\n\r\n@Component({\r\n selector: 'app-medicare-means-testing',\r\n templateUrl: './medicare-means-testing-v2.component.html',\r\n styleUrls: ['./medicare-means-testing-v2.component.css']\r\n})\r\nexport class MedicareMeansTestingComponentV2 implements OnInit {\r\n public client: any;\r\n\r\n public areaChartData: any[];\r\n public highestBracketExpense: number;\r\n\r\n public clientBenefit: string = null;\r\n public spouseBenefit: string = null;\r\n\r\n public lineChartData: any;\r\n\r\n public surcharges: string = '$0';\r\n public medicarePremiums: string = '$0';\r\n public totalMedicareCost: string = '$0';\r\n public totalSavings: string = '$0';\r\n \r\n public startingSurchargeAmount: number = -1;\r\n public startingIllustration: any[];\r\n\r\n public magiMessage: string = \"Reducing your projected MAGI (Modified Adjusted Gross Income) may lower or eliminate future surcharges. Allocating future income towards product that does not impact MAGI may result in significant savings.\";\r\n public ssbMessage: string = \"Your actual monthly benefit in the first year you collect Social Security. Note: This will likely vary from your Primary Insurance Amount (PIA) as it includes future cost-of-living adjustments (COLAs) and changes to your benefit amount based on claim age.\";\r\n public initialBracketOneMessage: string = \"Your retirement income projections do not show any impact from Medicare surcharges. If your income expectations change in the future, you can update your Client Profile and re-visit this page.\"\r\n\r\n // public ssClientAge: number = 65;\r\n // public ssSpouseAge: number = 65;\r\n\r\n public doughnutChartData = [];\r\n public mmtData: any;\r\n\r\n public magi: number = 100;\r\n\r\n public sliderOptions: Options = {\r\n floor: 0,\r\n ceil: 100,\r\n animate: false,\r\n showSelectionBar: true,\r\n translate: (value: number): string => (value + '%')\r\n }\r\n\r\n public doughnutChartSettings = {\r\n view: [400, 400],\r\n colorScheme: { domain: ['#7DB72F', '#3A87C7'] },\r\n showLegend: true,\r\n explodeSlices: true,\r\n showLabels: false,\r\n doughnut: true,\r\n gradient: false,\r\n maxYAxisTickLength: 16,\r\n maxXAxisTickLength: 16,\r\n arcWidth: 0.4,\r\n tooltipText: (data) => {\r\n return this.formatCurrency(data.value);\r\n },\r\n onSelect: (e) => {}\r\n }\r\n\r\n public areaChartSettings = {\r\n showXAxis: false,\r\n showYAxis: true,\r\n gradient: false,\r\n showLegend: true,\r\n showXAxisLabel: false,\r\n xAxisLabel: '',\r\n showYAxisLabel: false,\r\n yAxisLabel: '',\r\n showGridLines: false,\r\n colorScheme: { domain: ['#e37f5b', '#9ab3bc', '#e7b053', '#67acc3', '#a7bf87', '#29748d'] },\r\n autoScale: false,\r\n }\r\n\r\n public lineChartSettings = {\r\n showXAxis: true,\r\n showYAxis: false,\r\n gradient: false,\r\n showLegend: false,\r\n showXAxisLabel: false,\r\n xAxisLabel: '',\r\n showYAxisLabel: false,\r\n yAxisLabel: '',\r\n showGridLines: true,\r\n colorScheme: { domain: ['#ffffff'] },\r\n autoScale: false,\r\n }\r\n\r\n public mmtModalData: any;\r\n\r\n public ssClientAge: string = '65';\r\n public ssSpouseAge: string = '65';\r\n public ssClientAgeChanged: Subject = new Subject();\r\n public ssSpouseAgeChanged: Subject = new Subject();\r\n\r\n public isHidePremiums: boolean;\r\n\r\n constructor(public globalService: GlobalService, public modalService: ModalService, public snackBarService: SnackBarService, public router: Router, public loadingService: LoadingService) {\r\n modalService.modal$.subscribe((modal) => {\r\n if (modal.modalName == 'add-edit-clientClosed') { // TODO: Fix this hack -- naming it hidden.. modals in general need to be refactored\r\n this.isHidePremiums = false;\r\n this.magi = 100;\r\n this.isSliding = false;\r\n // this.clientBenefit = null;\r\n // this.spouseBenefit = null;\r\n this.startingSurchargeAmount = -1;\r\n\r\n this.getClient('onInitialLoad');\r\n }\r\n });\r\n\r\n this.ssClientAgeChanged.pipe(\r\n debounceTime(1500))\r\n .subscribe(model => {\r\n this.magi = 100;\r\n this.ssClientAge = this.validateSSAge(Number(this.ssClientAge), this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'Widowed');\r\n this.getMMTData('onSSClientAgeChanged');\r\n });\r\n\r\n this.ssSpouseAgeChanged.pipe(\r\n debounceTime(1500))\r\n .subscribe(model => {\r\n this.magi = 100;\r\n this.ssSpouseAge = this.validateSSAge(Number(this.ssSpouseAge), this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'Widowed');\r\n this.getMMTData('onSSSpouseAgeChanged');\r\n });\r\n }\r\n\r\n // this.ssSpouseAge = this.validateSSAge(Number(this.ssSpouseAge), this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'widow');\r\n // this.ssClientAge = this.validateSSAge(Number(this.ssClientAge), this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'widow');\r\n\r\n validateSSAge(age, survivor) {\r\n if (!survivor) {\r\n if (age < 62)\r\n return '62';\r\n if (age > 70)\r\n return '70';\r\n } else {\r\n if (age < 60)\r\n return '60';\r\n if (age > 70)\r\n return '70';\r\n }\r\n return age.toString();\r\n }\r\n\r\n changedClientSSAge(text: string) {\r\n this.startingSurchargeAmount = -1;\r\n this.ssClientAgeChanged.next(text);\r\n }\r\n\r\n changedSpouseSSAge(text: string) {\r\n this.startingSurchargeAmount = -1;\r\n this.ssSpouseAgeChanged.next(text);\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.getClient('onInitialLoad');\r\n \r\n }\r\n\r\n getMMTData(scenario) {\r\n \r\n var tempReportVals = {\r\n InflationRate: 0.03,\r\n MagiIncomePercent: this.magi,\r\n IncludePartner: this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'Married',\r\n SocialSecurityRetirementAge: this.ssClientAge,\r\n SSMonthlyBenefit: this.client.clientProfile.PIA,\r\n PartnerSSMonthlyBenefit: this.client.clientProfile.Spouses[0] && typeof this.client.clientProfile.Spouses[0].pia === 'string' ? Number(this.client.clientProfile.Spouses[0].pia.replace(/,/g, \"\").replace(\"$\", \"\")) || 0 : this.client.clientProfile.Spouses[0] ? Number(this.client.clientProfile.Spouses[0].pia) || 0 : 0,\r\n PartnerSocialSecurityAge: this.ssSpouseAge\r\n }\r\n\r\n var user = {\r\n UserID: Number(localStorage.getItem('roleId')) <= 2 ? localStorage.getItem('selectedAdvisorID') : localStorage.getItem('userId'),\r\n CompanyCode: Number(localStorage.getItem('roleId')) <= 2 ? localStorage.getItem('selectedAdvisorOrgID') : localStorage.getItem('orgID'),\r\n ClientID: localStorage.getItem('selectedClient')\r\n }\r\n\r\n if ((Number(this.ssClientAge) >= 60 || Number(this.ssClientAge) <= 70) && (Number(this.ssSpouseAge) >= 60 || Number(this.ssSpouseAge) <= 70)) {\r\n\r\n //HACK: added for backwards compatibility with redesign API\r\n this.client.clientProfile.HCT1D = 0;\r\n this.client.clientProfile.HCMS = 0;\r\n this.client.clientProfile.HCDCW = 0;\r\n this.client.clientProfile.HCFHDC = 0;\r\n this.client.clientProfile.HCCDYrsDiag = 0;\r\n this.client.clientProfile.HCCYrsDiag = 0;\r\n\r\n this.globalService.getMMTData(this.client, tempReportVals, user)\r\n .subscribe(\r\n data => {\r\n this.createIRMAAAreaChartData(data);\r\n this.createIRMAALineChartData(data);\r\n this.calculateTotals(data, scenario);\r\n \r\n this.clientBenefit = Util.formatToCurrency(Number(data.clientSSBenfit / 12).toFixed(0) || 0);\r\n this.spouseBenefit = Util.formatToCurrency(Number(data.spouseSSBenefit / 12).toFixed(0) || 0);\r\n\r\n this.mmtModalData = data.IllustrationEntries.map((entry, idx) => {\r\n if (entry.ClientAge >= data.Client.RetirementAge || (entry.PartnerAge && entry.PartnerAge >= data.Partner.RetirementAge)) {\r\n this.mmtData = data;\r\n\r\n entry.ClientAge = entry.ClientAge < this.client.clientProfile.RetirementAge ? '--' : entry.ClientAge;\r\n\r\n if (entry.PartnerAge)\r\n entry.PartnerAge = entry.PartnerAge < this.client.clientProfile.Spouses[0].retirementAge ? '--' : entry.PartnerAge;\r\n\r\n let updatedEntry = {\r\n yearWithAge: entry.PartnerAge ? `${entry.Year}(${entry.ClientAge}/${entry.PartnerAge})` : `${entry.Year}(${entry.ClientAge})`,\r\n magi: this.magi,\r\n fullMAGI: this.formatCurrency(entry.HouseholdIncome),\r\n percentMAGI: this.formatCurrency(entry.MagiAdjustedHouseholdIncome),\r\n updatedBracket: entry.MagiAdjustedIncomeBracket,\r\n premiums: this.formatCurrency(entry.HouseholdExpenseByBracket[0]),\r\n surcharges: this.formatCurrency(entry.MagiAdjustedIncomeBracket === 1 ? 0 : entry.HouseholdExpenseByBracket[entry.MagiAdjustedIncomeBracket - 1] - entry.HouseholdExpenseByBracket[0]),\r\n total: entry.MagiAdjustedIncomeBracket === 1 ? entry.HouseholdExpenseByBracket[entry.MagiAdjustedIncomeBracket - 1] : entry.HouseholdExpenseByBracket[0] + entry.HouseholdExpenseByBracket[entry.MagiAdjustedIncomeBracket - 1] - entry.HouseholdExpenseByBracket[0],\r\n savings: this.formatCurrency(Math.max(0, Math.abs((entry.MagiAdjustedIncomeBracket === 1 ? 0 : entry.HouseholdExpenseByBracket[entry.MagiAdjustedIncomeBracket - 1] - entry.HouseholdExpenseByBracket[0]) - (this.startingIllustration[idx].MagiAdjustedIncomeBracket === 1 ? 0 : this.startingIllustration[idx].HouseholdExpenseByBracket[this.startingIllustration[idx].MagiAdjustedIncomeBracket - 1] - this.startingIllustration[idx].HouseholdExpenseByBracket[0]))))\r\n }\r\n\r\n // updatedEntry.savings = this.formatCurrency(updatedEntry.savings);\r\n updatedEntry.total = this.formatCurrency(updatedEntry.total);\r\n return updatedEntry;\r\n }\r\n });\r\n\r\n const totalPremiums = this.formatCurrency(this.mmtModalData.reduce( (r, e) => { if (e) { return r + Util.removeCurrencyFormatting(e.premiums) } else { return r }}, 0));\r\n const totalSurcharges = this.formatCurrency(this.mmtModalData.reduce( (r, e) => { if (e) { return r + Util.removeCurrencyFormatting(e.surcharges); } else { return r }}, 0));\r\n const total = this.formatCurrency(this.mmtModalData.reduce( (r, e) => { if (e) { return r + Util.removeCurrencyFormatting(e.total) } else { return r }}, 0));\r\n const savings = this.formatCurrency(this.mmtModalData.reduce( (r, e) => { if (e) { return r + Util.removeCurrencyFormatting(e.savings) } else { return r }}, 0));\r\n\r\n // console.log(totalSurcharges);\r\n // console.log(totalPremiums);\r\n\r\n this.mmtModalData.push({\r\n yearWithAge: 'Total',\r\n magi: '',\r\n fullMAGI: '',\r\n percentMAGI: '',\r\n updatedBracket: '',\r\n premiums: totalPremiums,\r\n surcharges: totalSurcharges,\r\n total: total,\r\n savings: savings,\r\n })\r\n\r\n //console.log(this.mmtModalData);\r\n\r\n this.mmtModalData = this.mmtModalData.filter((item) => {return item != undefined});\r\n this.isSliding = false;\r\n },\r\n error => console.log(error));\r\n }\r\n }\r\n\r\n calculateTotals(data: any, scenario: any) {\r\n var ts = 0, tp = 0, tm = 0, tss = 0;\r\n var savings = 0;\r\n\r\n for (var ageRange in data.MagiAdjustedAgeRangeCosts) {\r\n tp += data.MagiAdjustedAgeRangeCosts[ageRange].Bracket1Amount;\r\n ts += (data.MagiAdjustedAgeRangeCosts[ageRange].Amount - data.MagiAdjustedAgeRangeCosts[ageRange].Bracket1Amount);\r\n tm += data.MagiAdjustedAgeRangeCosts[ageRange].Amount;\r\n }\r\n\r\n if (this.startingSurchargeAmount === -1 || this.changedSSAge) {\r\n this.startingSurchargeAmount = ts;\r\n this.startingIllustration = data.IllustrationEntries;\r\n this.changedSSAge = false;\r\n }\r\n else\r\n savings = Math.max(0, this.startingSurchargeAmount - ts);\r\n \r\n this.medicarePremiums = this.formatCurrency(tp);\r\n this.surcharges = this.formatCurrency(ts);\r\n this.totalMedicareCost = this.formatCurrency(tm);\r\n if (scenario == 'onInitialLoad') {\r\n if (tm == tp) {\r\n this.isHidePremiums = true;\r\n }\r\n }\r\n this.doughnutChartData = [\r\n {\r\n \"name\": 'Surcharge Savings',\r\n \"value\": savings,\r\n },\r\n {\r\n \"name\": 'Remaining Surcharges',\r\n \"value\": Math.max(0, tm - tp),\r\n },\r\n ];\r\n // this.doughnutChartData = [\r\n // {\r\n // \"name\": tm == tp ? 'Surcharges' : 'Surcharge Savings',\r\n // \"value\": savings,\r\n // },\r\n // {\r\n // \"name\": tm == tp ? 'Premiums' : 'Remaining Surcharges',\r\n // \"value\": Math.max(0, tm == tp ? tp : tm - tp),\r\n // },\r\n // ];\r\n\r\n this.totalSavings = this.formatCurrency(savings);\r\n }\r\n\r\n getClient(scenario:string) {\r\n this.globalService.getClientData(Number(localStorage.getItem(\"selectedClient\")), 4)\r\n .subscribe(\r\n client => {\r\n this.client = client;\r\n\r\n if (this.client.clientProfile.Spouses)\r\n this.client.clientProfile.Spouses = JSON.parse(this.client.clientProfile.Spouses);\r\n if (client.clientProfile.Spouses[0].pension) {\r\n client.clientProfile.Spouses[0].pension = client.clientProfile.Spouses[0].pension.replace('$','');\r\n client.clientProfile.Spouses[0].pension = client.clientProfile.Spouses[0].pension.replace(',','');\r\n }\r\n\r\n \r\n this.getMMTData(scenario);\r\n },\r\n error => console.log(error));\r\n }\r\n\r\n formatCurrency(val) {\r\n return '$' + val.toLocaleString();\r\n }\r\n\r\n createIRMAALineChartData(data: any) {\r\n const expenseYears = data.IllustrationEntries.filter((entry) => entry.HouseholdExpenseByBracket[0]);\r\n\r\n const lineChartData = [\r\n {\r\n name: 'Income',\r\n color: '#ffffff',\r\n series: expenseYears.map((entry) => {\r\n return {\r\n name: entry.Year.toString(),\r\n value: entry.MagiAdjustedHouseholdIncome,\r\n houseHoldIncome: this.formatCurrency(entry.MagiAdjustedHouseholdIncome),\r\n clientAge: entry.ClientAge,\r\n partnerAge: entry.PartnerAge ? entry.PartnerAge : 'x',\r\n bracket: this.formatBracketMinimal(entry.MagiAdjustedIncomeBracket),\r\n bracketHigh: this.areaChartData.reduce((result, item, i) => {\r\n if (i < entry.MagiAdjustedIncomeBracket) {\r\n result += item.series.reduce((r, e) => {\r\n if (entry.Year == e.name)\r\n r = e.value;\r\n return r\r\n }, 0);\r\n }\r\n return result;\r\n }, 0),\r\n bracketLow: entry.MagiAdjustedIncomeBracket == 1 ? 0 : this.areaChartData.reduce((result, item, i) => {\r\n if (i < entry.MagiAdjustedIncomeBracket - 1) {\r\n result += item.series.reduce((r, e) => {\r\n if (entry.Year == e.name){\r\n r = e.value;\r\n }\r\n return r\r\n }, 0);\r\n }\r\n return result;\r\n }, 0),\r\n }\r\n })\r\n }\r\n ]\r\n\r\n const highestBracketExpense = this.areaChartData.reduce((result, bracket) => {\r\n let sum = 0;\r\n\r\n this.areaChartData.forEach(b => {\r\n if (b.series[b.series.length - 1])\r\n sum += b.series[b.series.length - 1].value\r\n });\r\n\r\n if (result < sum)\r\n result = sum;\r\n\r\n return result;\r\n }, 0);\r\n\r\n this.lineChartSettings['yScaleMax'] = highestBracketExpense; //this.areaChartSettings['yScaleMax'];\r\n this.lineChartSettings['yScaleMin'] = 0;\r\n\r\n Object.assign(this, { lineChartData });\r\n }\r\n\r\n createIRMAAAreaChartData(data: any) {\r\n const areaChartData = [\r\n {\r\n name: 'Bracket 1',\r\n color: '#e37f5b',\r\n series: data.NgxBracketCosts.Bracket1\r\n },\r\n {\r\n name: 'Bracket 2',\r\n color: '#9ab3bc',\r\n series: data.NgxBracketCosts.Bracket2\r\n },\r\n {\r\n name: 'Bracket 3',\r\n color: '#e7b053',\r\n series: data.NgxBracketCosts.Bracket3\r\n },\r\n {\r\n name: 'Bracket 4',\r\n color: '#67acc3',\r\n series: data.NgxBracketCosts.Bracket4\r\n },\r\n {\r\n name: 'Bracket 5',\r\n color: '#a7bf87',\r\n series: data.NgxBracketCosts.Bracket5\r\n },\r\n {\r\n name: 'Bracket 6',\r\n color: '#29748d',\r\n series: data.NgxBracketCosts.Bracket6\r\n }\r\n ]\r\n\r\n Object.assign(this, { areaChartData });\r\n }\r\n\r\n formatBracketMinimal(bracket: Number) {\r\n var affix = '';\r\n if (bracket === 1) {\r\n affix = '1st';\r\n } else if (bracket === 2) {\r\n affix = '2nd';\r\n } else if (bracket === 3) {\r\n affix = '3rd';\r\n } else if (bracket === 4) {\r\n affix = '4th';\r\n } else if (bracket === 5) {\r\n affix = '5th';\r\n } else {\r\n affix = '6th';\r\n }\r\n return affix;\r\n }\r\n\r\n public isSliding: Boolean = false;\r\n\r\n sliderValueChanged() {\r\n // this.getMMTData();\r\n\r\n // this.doughnutChartSettings.colorScheme = { domain: ['#d5d5d5', '#e5e5e5'] };\r\n // this.areaChartSettings.colorScheme = { domain: ['#e0e0e0', '#f0f0f0', '#f5f5f5', '#f8f8f8', '#ffffff', '#ffffff'] },\r\n \r\n this.isSliding = true;\r\n // this.getMMTData();\r\n }\r\n\r\n sliderChangeEnd() {\r\n // this.getMMTData();\r\n\r\n // this.doughnutChartSettings.colorScheme = { domain: ['#7DB72F', '#3A87C7'] };\r\n // this.areaChartSettings.colorScheme = { domain: ['#e18155', '#ebae58', '#a7be86', '#bdced8', '#66AEBD', '#358ca7'] };\r\n\r\n this.isSliding = false;\r\n this.getMMTData('onSliderChange');\r\n }\r\n\r\n handleEditClientModal(e) {\r\n this.modalService.add('add-edit-client', { ID: this.client.client.ID });\r\n }\r\n\r\n public changedSSAge:boolean = false;\r\n\r\n ssStartAgeChange(e, isClient) {\r\n if (isClient) {\r\n this.ssClientAge = e.target.value;\r\n } else {\r\n this.ssSpouseAge = e.target.value;\r\n }\r\n\r\n this.magi = 100;\r\n this.changedSSAge = true;\r\n this.getMMTData('onStartAgeChange');\r\n }\r\n\r\n handleProjectionModal(e) {\r\n this.modalService.add('mmt-projections', { mmtModalData: this.mmtModalData });\r\n }\r\n\r\n handleSaveAndDownloadReport() {\r\n var Report = {\r\n ClientID: this.client.client.ID,\r\n AdvisorID: this.client.client.AdvisorID,\r\n CompanyCode: this.client.client.OrganizationID,\r\n ReportTypeID: 2,\r\n }\r\n\r\n let partnerActive = this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'Married';\r\n \r\n var ReportMMT = {\r\n ClientSSMonthlyBenefit: this.client.clientProfile.PIA,\r\n InflationRate: 0.3, // ?\r\n MagiIncomePercent: this.magi,\r\n IncludePartner: partnerActive,\r\n SurvivorIncomeReductionRate: 44,\r\n RetirementIncomeReduction: '',\r\n IncomeReductionAge: '',\r\n IncomeReductionInflationRate: '',\r\n ClientSocialSecurityAge: this.ssClientAge,\r\n ClientPensionSurvivorBenefitPercent: 0,\r\n ClientLifeExpectancy: this.mmtData.Client.LifeExpectancy,\r\n PartnerSocialSecurityAge: this.ssSpouseAge,\r\n PartnerSSMonthlyBenefit: this.client.clientProfile.Spouses[0] && typeof this.client.clientProfile.Spouses[0].pia === 'string' ? this.client.clientProfile.Spouses[0].pia.replace(/,/g, \"\").replace(\"$\", \"\") || 0 : this.client.clientProfile.Spouses[0] ? this.client.clientProfile.Spouses[0].pia || 0 : 0,\r\n PartnerPensionSurvivorBenefitPercent: 0,\r\n PartnerLifeExpectancy: this.mmtData.Partner ? this.mmtData.Partner.LifeExpectancy : 0,\r\n ClientCurrentAge: this.mmtData.Client.CurrentAge,\r\n ClientCurrentIncome: this.client.clientProfile.CurrentIncome,\r\n ClientGender: this.mmtData.Client.Gender,\r\n ClientHealthRating: this.mmtData.Client.HealthRating,\r\n ClientPensionAmount: this.mmtData.Client.PensionAmount,\r\n ClientRetirementAge: this.mmtData.Client.RetirementAge,\r\n FrmName0: this.client.client.FirstName + \" \" + this.client.client.LastName,\r\n FrmName1: this.mmtData.Partner ? this.client.clientProfile.Spouses[0].firstName + \" \" + this.client.clientProfile.Spouses[0].lastName : \"\",\r\n PartnerCurrentAge: this.mmtData.Partner ? this.mmtData.Partner.CurrentAge : 0,\r\n PartnerCurrentIncome: this.mmtData.Partner ? this.mmtData.Partner.CurrentIncome : 0,\r\n PartnerGender: this.mmtData.Partner ? this.mmtData.Partner.Gender : 0,\r\n PartnerHealthRating: this.mmtData.Partner ? this.mmtData.Partner.HealthRating : 0,\r\n PartnerPensionAmount: this.mmtData.Partner ? this.mmtData.Partner.PensionAmount : 0,\r\n PartnerRetirementAge: this.mmtData.Partner ? this.mmtData.Partner.RetirementAge : 0,\r\n ReplacementRate: this.client.clientProfile.IRR,\r\n State: this.client.clientProfile.RetirementState,\r\n SurchargeSavings: Util.removeCurrencyFormatting(this.totalSavings),\r\n UseNationalAverage: this.client.clientProfile.UseNationalAverage\r\n }\r\n \r\n this.globalService.createReport(Report, ReportMMT)\r\n .subscribe(\r\n resp => {\r\n this.snackBarService.add(\"Please wait while your medicare means testing report is being generated.\", 0);\r\n this.downloadReport(resp.ReportID, resp.AdvisorID, resp.ClientID, resp.CompanyCode, resp.ReportTypeID);\r\n },\r\n error => { console.log(error) });\r\n }\r\n\r\n downloadReport(reportID, advisorID, clientID, orgID, reportTypeID) {\r\n this.loadingService.isLoading(true);\r\n var ReportFields = { reportID, advisorID, clientID, orgID, ReportTypeID: reportTypeID, token: localStorage.getItem(\"bearer\") };\r\n \r\n this.globalService.generateReport(ReportFields, this.client.client, ReportFields)\r\n .subscribe(\r\n resp => {\r\n // console.log('downloading report');\r\n this.loadingService.isLoading(false);\r\n },\r\n error => { this.loadingService.isLoading(false);});\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.row {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 16px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.mmt-inputs {\\r\\n /* flex: 1; */\\r\\n}\\r\\n\\r\\n.mmt-input-items {\\r\\n display: flex;\\r\\n border-radius: 10px;\\r\\n background-color: #f5f5f5;\\r\\n justify-content: space-between;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.mmt-input-item {\\r\\n /* flex: 1 0 250px; */\\r\\n /* padding: 10px; */\\r\\n /* max-width: 246px; */\\r\\n padding-left: 20px;\\r\\n}\\r\\n\\r\\n.mmt-input-item span {\\r\\n font-size: 1rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.mmt-input-item input {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n border: none;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n margin: 5px 0 0 0;\\r\\n padding: 5px;\\r\\n height: 35px;\\r\\n /* width: 100%; */\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/* .chart-legend .legend-labels { \\r\\n -webkit-transform: scaleY(-1);\\r\\n transform: scaleY(-1);\\r\\n}\\r\\n.chart-legend .legend-labels > li {\\r\\n -webkit-transform: scaleY(-1);\\r\\n transform: scaleY(-1);\\r\\n} */\\r\\n\\r\\n.chart-legend .legend-labels{\\r\\n background: unset !important;\\r\\n line-height: unset !important;\\r\\n\\r\\n}\\r\\n\\r\\n.chart-legend li, .chart-legend ul{\\r\\n padding: unset !important;\\r\\n margin: -10px !important;\\r\\n}\\r\\n\\r\\n/* .mmt-timeline {\\r\\n flex: 2;\\r\\n padding: 0 10px 0 10px;\\r\\n}\\r\\n\\r\\n.mmt-timeline-container {\\r\\n display: flex;\\r\\n background-color: #f5f5f5;\\r\\n justify-content: space-around;\\r\\n}\\r\\n\\r\\n.mmt-timeline-overview {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n flex: 1;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.timeline-title {\\r\\n font-size: 14px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.mmt-timeline-years {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n flex: 1;\\r\\n padding: 10px;\\r\\n} */\\r\\n\\r\\n.area-chart {\\r\\n background-color: #fff;\\r\\n padding-top: 15px;\\r\\n height: 375px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.chart {\\r\\n height: 350px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.area-chart ngx-charts-area-chart-stacked {\\r\\n /* display: flex;\\r\\n flex: 1; */\\r\\n /* max-height: 50px;\\r\\n min-height: 350;\\r\\n height: 350; */\\r\\n}\\r\\n\\r\\n.chart-container {\\r\\n flex: 1 0 500px;\\r\\n width: calc(100% - 210px);\\r\\n}\\r\\n\\r\\n/* \\r\\n.chart-legend {\\r\\n display: block!important;\\r\\n}\\r\\n\\r\\n.chart-legend .legend-labels {\\r\\n line-height: auto!important;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.legend-title {\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.brackets {\\r\\n /* background-color: #000; */\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.brackets table {\\r\\n width: 100%;\\r\\n height: 305px;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n /* margin: 10px; */\\r\\n}\\r\\n\\r\\n/* .brackets table td, .brackets table th {\\r\\n border: 1px #e5e5e5 solid !important;\\r\\n color: #555 !important;\\r\\n font-size: 12px !important;\\r\\n padding: 10px !important;\\r\\n} */\\r\\n\\r\\n.projections {\\r\\n flex: 1;\\r\\n margin-bottom: 50px;\\r\\n}\\r\\n\\r\\n.projections table {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n}\\r\\n\\r\\n.projections td, .projections th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.client-profile {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n margin-right: 25px;\\r\\n}\\r\\n\\r\\n.client-profile div {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.client-profile img {\\r\\n border-radius: 100%;\\r\\n width: 55px;\\r\\n height: 55px;\\r\\n border: 2px #E58929 solid;\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.client-name {\\r\\n font-size: 1rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.client-subtitle {\\r\\n font-size: 0.75rem;\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.metrics {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.metric-item {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: left;\\r\\n justify-content: flex-end;\\r\\n max-width: 200px;\\r\\n padding-bottom: 25px;\\r\\n}\\r\\n\\r\\n.metric-title {\\r\\n color: #555;\\r\\n font-size: 1rem;\\r\\n}\\r\\n\\r\\n.saving {\\r\\n color: limegreen!important;\\r\\n}\\r\\n\\r\\n.metric-val {\\r\\n color: #E58929;\\r\\n font-weight: bold;\\r\\n font-size: 2rem;\\r\\n /* font-family: 'Maven Pro', sans-serif; */\\r\\n}\\r\\n\\r\\n.ngx-charts {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.right-row {\\r\\n /* display: flex; */\\r\\n flex-direction: column;\\r\\n justify-content: space-between;\\r\\n margin: 0 10px 0 10px;\\r\\n flex: 1 0 500px;\\r\\n width: calc(100% - 210px);\\r\\n}\\r\\n\\r\\n.MAGI-icon span i{\\r\\n padding: unset !important;\\r\\n}\\r\\n\\r\\n.options {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n margin-bottom: 100px;\\r\\n /* float: right;\\r\\n padding: 10px; */\\r\\n}\\r\\n\\r\\n.btn {\\r\\n background-color: #E58929;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 25px 0 25px;\\r\\n cursor: pointer;\\r\\n margin: 10px;\\r\\n}\\r\\n\\r\\n.btn button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #555;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.btn i {\\r\\n color: #555;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.legend {\\r\\n width: 100%;\\r\\n background-color: #fff;\\r\\n display: flex;\\r\\n flex: 1;\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n}\\r\\n\\r\\n.legend-item {\\r\\n font-size: 0.65rem;\\r\\n padding: 5px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.legend-item .legend-block {\\r\\n display: block;\\r\\n width: 17px;\\r\\n height: 10px;\\r\\n margin: 5px;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.scroll {\\r\\n height: 100%;\\r\\n /* overflow-y: scroll; */\\r\\n}\\r\\n\\r\\n.include-spouse {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.selected-bracket {\\r\\n background-color: #bac7ad !important;\\r\\n}\\r\\n\\r\\n.brackets table {\\r\\n background-color: #f5f5f5 !important;\\r\\n border-collapse: separate;\\r\\n border-spacing: 2px 2px;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.brackets table tr:nth-child(1) {\\r\\n background-color:#fff !important;\\r\\n}\\r\\n\\r\\n.brackets table tr td:nth-child(2) {\\r\\n background-color:#afb5d3 !important;\\r\\n}\\r\\n\\r\\n.brackets table tr:nth-child(3) {\\r\\n background-color:#d3dff2 !important;\\r\\n}\\r\\n\\r\\n.brackets table tr:nth-child(4) {\\r\\n background-color:#f6cc9e !important;\\r\\n}\\r\\n\\r\\n.brackets table tr:nth-child(5) {\\r\\n background-color:#f7e5cd !important;\\r\\n}\\r\\n\\r\\n.brackets table tr:nth-child(6) {\\r\\n background-color:#a48ca8 !important;\\r\\n}\\r\\n\\r\\n.brackets table tr:nth-child(7) {\\r\\n background-color:#f99a9a !important;\\r\\n}\\r\\n\\r\\n.brackets table tr:nth-child(8) {\\r\\n background-color:#fff !important;\\r\\n}\\r\\n\\r\\n.brackets table td, .brackets table th {\\r\\n border: 1px #e5e5e5 solid !important;\\r\\n color: #555 !important;\\r\\n font-size: 12px !important;\\r\\n padding: 10px !important;\\r\\n}\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n /* width: 240px; */\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n padding: 15px;\\r\\n }\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n }\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n }\\r\\n\\r\\n.lbl-container {\\r\\n display: flex;\\r\\n /* justify-content: center;\\r\\n align-items: center; */\\r\\n }\\r\\n\\r\\n.mmt-input-items-spouse {\\r\\n display: flex;\\r\\n margin-top: 15px;\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL21lZGljYXJlLW1lYW5zLXRlc3RpbmcvbWVkaWNhcmUtbWVhbnMtdGVzdGluZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFdBQVc7QUFDZjs7QUFFQTtHQUNHLGNBQWM7QUFDakI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6Qiw4QkFBOEI7SUFDOUIsZUFBZTtBQUNuQjs7QUFFQTtHQUNHLHNCQUFzQjtHQUN0QixvQkFBb0I7SUFDbkIsc0JBQXNCO0lBQ3RCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLGVBQWU7SUFDZixhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixZQUFZO0NBQ2Ysb0JBQW9CO0lBQ2pCLFdBQVc7QUFDZjs7QUFFQTs7Ozs7OztHQU9HOztBQUNIO0lBQ0ksNEJBQTRCO0lBQzVCLDZCQUE2Qjs7QUFFakM7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsd0JBQXdCO0FBQzVCOztBQUdBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHOztBQUVIO0lBQ0ksc0JBQXNCO0lBQ3RCLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2Isa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFdBQVc7QUFDZjs7QUFFQTtJQUNJO2NBQ1U7SUFDVjs7a0JBRWM7QUFDbEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YseUJBQXlCO0FBQzdCOztBQUVBOzs7Ozs7Ozs7Ozs7R0FZRzs7QUFFSDtJQUNJLDRCQUE0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QjtJQUNsQixhQUFhO0lBQ2IsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGFBQWE7RUFDZjs7QUFFQTtJQUNFLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsZUFBZTtJQUNmLGFBQWE7RUFDZjs7QUFFQTtJQUNFLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGlCQUFpQjtFQUNuQjs7QUFFQTtJQUNFLGFBQWE7RUFDZjswQkFDd0I7RUFDeEI7O0FBRUE7TUFDSSxhQUFhO01BQ2IsZ0JBQWdCO0VBQ3BCIiwiZmlsZSI6Ii4uL21lZGljYXJlLW1lYW5zLXRlc3RpbmcvbWVkaWNhcmUtbWVhbnMtdGVzdGluZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLm1tdC1pbnB1dHMge1xyXG4gICAvKiAgZmxleDogMTsgKi9cclxufVxyXG5cclxuLm1tdC1pbnB1dC1pdGVtcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi5tbXQtaW5wdXQtaXRlbSB7XHJcbiAgIC8qICBmbGV4OiAxIDAgMjUwcHg7ICovXHJcbiAgIC8qICBwYWRkaW5nOiAxMHB4OyAqL1xyXG4gICAgLyogbWF4LXdpZHRoOiAyNDZweDsgKi9cclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxufVxyXG5cclxuLm1tdC1pbnB1dC1pdGVtIHNwYW4ge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5tbXQtaW5wdXQtaXRlbSBpbnB1dCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDVweCAwIDAgMDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGhlaWdodDogMzVweDtcclxuIC8qICAgIHdpZHRoOiAxMDAlOyAqL1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIC5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbHMgeyAgXHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKC0xKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcclxufVxyXG4uY2hhcnQtbGVnZW5kIC5sZWdlbmQtbGFiZWxzID4gbGkge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgtMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XHJcbn0gKi9cclxuLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVsc3tcclxuICAgIGJhY2tncm91bmQ6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcclxuXHJcbn1cclxuXHJcbi5jaGFydC1sZWdlbmQgbGksIC5jaGFydC1sZWdlbmQgdWx7XHJcbiAgICBwYWRkaW5nOiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAtMTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLyogLm1tdC10aW1lbGluZSB7XHJcbiAgICBmbGV4OiAyO1xyXG4gICAgcGFkZGluZzogMCAxMHB4IDAgMTBweDtcclxufVxyXG5cclxuLm1tdC10aW1lbGluZS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxufVxyXG5cclxuLm1tdC10aW1lbGluZS1vdmVydmlldyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4udGltZWxpbmUtdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5tbXQtdGltZWxpbmUteWVhcnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufSAqL1xyXG5cclxuLmFyZWEtY2hhcnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgaGVpZ2h0OiAzNzVweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmNoYXJ0IHtcclxuICAgIGhlaWdodDogMzUwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmFyZWEtY2hhcnQgbmd4LWNoYXJ0cy1hcmVhLWNoYXJ0LXN0YWNrZWQge1xyXG4gICAgLyogZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7ICovXHJcbiAgICAvKiBtYXgtaGVpZ2h0OiA1MHB4O1xyXG4gICAgbWluLWhlaWdodDogMzUwO1xyXG4gICAgaGVpZ2h0OiAzNTA7ICovXHJcbn1cclxuXHJcbi5jaGFydC1jb250YWluZXIge1xyXG4gICAgZmxleDogMSAwIDUwMHB4O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIxMHB4KTtcclxufVxyXG5cclxuLyogXHJcbi5jaGFydC1sZWdlbmQge1xyXG4gICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2hhcnQtbGVnZW5kIC5sZWdlbmQtbGFiZWxzIHtcclxuICAgIGxpbmUtaGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5sZWdlbmQtdGl0bGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufSAqL1xyXG5cclxuLmJyYWNrZXRzIHtcclxuICAgIC8qIGJhY2tncm91bmQtY29sb3I6ICMwMDA7ICovXHJcbiAgICBmbGV4OiAxO1xyXG59XHJcblxyXG4uYnJhY2tldHMgdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDMwNXB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgLyogbWFyZ2luOiAxMHB4OyAqL1xyXG59XHJcblxyXG4vKiAuYnJhY2tldHMgdGFibGUgdGQsIC5icmFja2V0cyB0YWJsZSB0aCB7XHJcbiAgICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogIzU1NSAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbn0gKi9cclxuXHJcbi5wcm9qZWN0aW9ucyB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxufVxyXG5cclxuLnByb2plY3Rpb25zIHRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbn1cclxuXHJcbi5wcm9qZWN0aW9ucyB0ZCwgLnByb2plY3Rpb25zIHRoIHtcclxuICAgIGJvcmRlcjogMXB4ICNlNWU1ZTUgc29saWQ7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5jbGllbnQtcHJvZmlsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xyXG59XHJcblxyXG4uY2xpZW50LXByb2ZpbGUgZGl2IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uY2xpZW50LXByb2ZpbGUgaW1nIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICB3aWR0aDogNTVweDtcclxuICAgIGhlaWdodDogNTVweDtcclxuICAgIGJvcmRlcjogMnB4ICNFNTg5Mjkgc29saWQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLmNsaWVudC1uYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uY2xpZW50LXN1YnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5tZXRyaWNzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcblxyXG4ubWV0cmljLWl0ZW0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLm1ldHJpYy10aXRsZSB7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuLnNhdmluZyB7XHJcbiAgICBjb2xvcjogbGltZWdyZWVuIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1ldHJpYy12YWwge1xyXG4gICAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgLyogIGZvbnQtZmFtaWx5OiAnTWF2ZW4gUHJvJywgc2Fucy1zZXJpZjsgKi9cclxufVxyXG5cclxuLm5neC1jaGFydHMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnJpZ2h0LXJvdyB7XHJcbiAgIC8qICBkaXNwbGF5OiBmbGV4OyAqL1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1hcmdpbjogMCAxMHB4IDAgMTBweDtcclxuICAgIGZsZXg6IDEgMCA1MDBweDtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMTBweCk7XHJcbn1cclxuXHJcbi5NQUdJLWljb24gc3BhbiBpe1xyXG4gICAgcGFkZGluZzogdW5zZXQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm9wdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuICAgIC8qIGZsb2F0OiByaWdodDtcclxuICAgIHBhZGRpbmc6IDEwcHg7ICovXHJcbn1cclxuXHJcbi5idG4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwIDI1cHggMCAyNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG59XHJcblxyXG4uYnRuIGJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uYnRuIGkge1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5sZWdlbmQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbn1cclxuXHJcbi5sZWdlbmQtaXRlbSB7XHJcbiAgICBmb250LXNpemU6IDAuNjVyZW07XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubGVnZW5kLWl0ZW0gLmxlZ2VuZC1ibG9jayB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgbWFyZ2luOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uc2Nyb2xsIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIC8qIG92ZXJmbG93LXk6IHNjcm9sbDsgKi9cclxufVxyXG5cclxuLmluY2x1ZGUtc3BvdXNlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5zZWxlY3RlZC1icmFja2V0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYWM3YWQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJyYWNrZXRzIHRhYmxlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XHJcbiAgICBib3JkZXItc3BhY2luZzogMnB4IDJweDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxufVxyXG5cclxuLmJyYWNrZXRzIHRhYmxlIHRyOm50aC1jaGlsZCgxKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJyYWNrZXRzIHRhYmxlIHRyIHRkOm50aC1jaGlsZCgyKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNhZmI1ZDMgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJyYWNrZXRzIHRhYmxlIHRyOm50aC1jaGlsZCgzKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNkM2RmZjIgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJyYWNrZXRzIHRhYmxlIHRyOm50aC1jaGlsZCg0KSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmNmNjOWUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJyYWNrZXRzIHRhYmxlIHRyOm50aC1jaGlsZCg1KSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmN2U1Y2QgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJyYWNrZXRzIHRhYmxlIHRyOm50aC1jaGlsZCg2KSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNhNDhjYTggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJyYWNrZXRzIHRhYmxlIHRyOm50aC1jaGlsZCg3KSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmOTlhOWEgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJyYWNrZXRzIHRhYmxlIHRyOm50aC1jaGlsZCg4KSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJyYWNrZXRzIHRhYmxlIHRkLCAuYnJhY2tldHMgdGFibGUgdGgge1xyXG4gICAgYm9yZGVyOiAxcHggI2U1ZTVlNSBzb2xpZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICM1NTUgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY3JlYXRlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgLyogICB3aWR0aDogMjQwcHg7ICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gIH1cclxuICBcclxuICAuY3JlYXRlIGJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICAvKiBoZWlnaHQ6IDM1cHg7ICovXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gIH1cclxuICBcclxuICAuY3JlYXRlIGkge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICB9XHJcblxyXG4gIC5sYmwtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgLyogICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7ICovXHJcbiAgfVxyXG4gIFxyXG4gIC5tbXQtaW5wdXQtaXRlbXMtc3BvdXNlIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICB9XHJcbiJdfQ== */\"","module.exports = \"\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{this.client.client.FirstName + ' ' + this.client.client.LastName}}\\r\\n Edit Client Profile\\r\\n
\\r\\n
\\r\\n
\\r\\n Social Security Start Age\\r\\n \\r\\n
\\r\\n
\\r\\n Social Security Monthly Benefit\\r\\n \\r\\n
\\r\\n
\\r\\n Inflation Rate\\r\\n \\r\\n
\\r\\n
\\r\\n % MAGI \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{this.client.clientProfile.Spouses[0].firstName + ' ' + this.client.clientProfile.Spouses[0].lastName}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Social Security Start Age\\r\\n \\r\\n
\\r\\n
\\r\\n Social Security Monthly Benefit\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Medicare Means Testing Outlook\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Medicare Premiums\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Surcharges\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Total Medicare Cost\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Surcharge Savings\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Medicare Means Testing Brackets\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \"","import { Component, OnInit, AfterViewInit, ViewChild, ElementRef, AfterContentChecked } from '@angular/core';\r\n\r\nimport { Router } from '@angular/router';\r\n\r\nimport Utils from '../shared/utility';\r\n\r\nimport { GlobalService } from '../services/global.service';\r\nimport { ModalService } from '../shared/modal/modal.service';\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\nimport { LoadingService } from '../shared/loading/loading.service';\r\n\r\nimport * as shape from 'd3-shape';\r\nimport 'rxjs/operator/map';\r\nimport 'rxjs/operator/filter';\r\nimport 'rxjs/operator/pluck';\r\n\r\n@Component({\r\n selector: 'app-medicare-means-testing',\r\n templateUrl: './medicare-means-testing.component.html',\r\n styleUrls: ['./medicare-means-testing.component.css']\r\n})\r\nexport class MedicareMeansTestingComponent implements OnInit {\r\n public mmtData: any;\r\n public error: string;\r\n public client: any;\r\n public areaChartData = [];\r\n public chartDataLoaded: boolean;\r\n\r\n @ViewChild('totalPremiumsEl') totalPremiumsEl: ElementRef;\r\n @ViewChild('totalSurchargeSavingsEl') totalSurchargeSavingsEl: ElementRef;\r\n @ViewChild('totalSurchargesEl') totalSurchargesEl: ElementRef;\r\n @ViewChild('totalMedicareEl') totalMedicareEl: ElementRef;\r\n\r\n public magiInfo: string = \"Reducing your projected MAGI (Modified Adjusted Gross Income) may lower or eliminate future surcharges. Allocating future income towards product that does not impact MAGI may result in significant savings.\";\r\n public medicarePremiumsInfo: string = \"Projected lifetime Medicare Part B and D premiums.\";\r\n public surchargesInfo: string = \"Projected additional lifetime costs associated with Medicare Part B and D (premiums excluded) applied due to income, via Medicare means testing.\";\r\n public totalMedicareInfo: string = \"Projected Medicare Part B and D premiums plus all applicable surcharges.\";\r\n public surchargeSavingsInfo: string = 'Projected surcharge costs no longer paid due to decreased \"MAGI %\" user input above.';\r\n\r\n public ssStartAgeVal: number = 65;\r\n public ssMonthlyBenefit: number = 1250;\r\n public inflationRateVal: number = 3;\r\n public magiVal: number = 100;\r\n public partnerActive: boolean = false;\r\n public ssSpouseMonthlyBenefit: number = 1250;\r\n public ssSpouseStartAgeVal: number = 65;\r\n\r\n public totalSurcharge: string = '';\r\n public totalPremiums: string = '';\r\n public totalMedicare: string = '';\r\n\r\n public bracketData;\r\n\r\n curves = {\r\n Basis: shape.curveBasis,\r\n 'Basis Closed': shape.curveBasisClosed,\r\n Bundle: shape.curveBundle.beta(1),\r\n Cardinal: shape.curveCardinal,\r\n 'Cardinal Closed': shape.curveCardinalClosed,\r\n 'Catmull Rom': shape.curveCatmullRom,\r\n 'Catmull Rom Closed': shape.curveCatmullRomClosed,\r\n Linear: shape.curveLinear,\r\n 'Linear Closed': shape.curveLinearClosed,\r\n 'Monotone X': shape.curveMonotoneX,\r\n 'Monotone Y': shape.curveMonotoneY,\r\n Natural: shape.curveNatural,\r\n Step: shape.curveStep,\r\n 'Step After': shape.curveStepAfter,\r\n 'Step Before': shape.curveStepBefore,\r\n default: shape.curveLinear\r\n };\r\n\r\n // line interpolation\r\n curveType: string = 'Step';\r\n curve: any = this.curves[this.curveType];\r\n interpolationTypes = [\r\n 'Basis', 'Bundle', 'Cardinal', 'Catmull Rom', 'Linear', 'Monotone X',\r\n 'Monotone Y', 'Natural', 'Step', 'Step After', 'Step Before'\r\n ];\r\n\r\n closedCurveType: string = 'Linear Closed';\r\n closedCurve: any = this.curves[this.closedCurveType];\r\n closedInterpolationTypes = [\r\n 'Basis Closed', 'Cardinal Closed', 'Catmull Rom Closed', 'Linear Closed'\r\n ];\r\n\r\n // options\r\n showXAxis = true;\r\n showYAxis = true;\r\n gradient = false;\r\n showLegend = true;\r\n showXAxisLabel = true;\r\n // xAxisLabel = 'Country';\r\n showYAxisLabel = true;\r\n // yAxisLabel = 'Population';\r\n\r\n // colorScheme = {\r\n // domain: ['#A10A28', '#D3342D', '#EF6D49', '#FAAD67', '#FDDE90', '#DBED91', '#A9D770', '#6CBA67', '#2C9653', '#146738']\r\n // };\r\n\r\n colorScheme = {\r\n domain: [],\r\n // domain: ['#D3DFF2', '#a8b2c1', '#F6CC9E', '#c4a37e', '#F7E5CD','#c5b7a4', '#e2e3e4', '#b4b5b6', '#f99a9a', '#c77b7b']\r\n };\r\n\r\n // string[] colors = new string[6] { \"#AFB5D3\", \"#D3DFF2\", \"#F6CC9E\", \"#F7E5CD\", \"#f99a9a\", \"#E2E3E4\" };\r\n\r\n\r\n\r\n // line, area\r\n autoScale = true;\r\n\r\n constructor(private globalService: GlobalService, private modalService: ModalService, private snackBarService: SnackBarService, private router: Router, private loadingService: LoadingService, private elementRef: ElementRef) {\r\n modalService.modal$.subscribe((modal) => {\r\n if (modal.modalName == 'add-edit-clientClosed') { // TODO: Fix this hack -- naming it hidden.. modals in general need to be refactored\r\n this.getClient();\r\n this.magiVal = 100;\r\n this.animateValue(this.totalSurchargeSavingsEl, 0, this.roundAndFormat(0, 0));\r\n // console.log('reset to defaults');\r\n }\r\n // console.log(modal.modalName);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.bracketData = this.setBracketData();\r\n // console.log('init')\r\n\r\n this.getClient();\r\n // this.magiVal = 100;\r\n // this.animateValue(this.totalSurchargeSavingsEl, 0, this.roundAndFormat(0, 0));\r\n }\r\n\r\n ngAfterViewInit() {\r\n //var d1 = this.elementRef.nativeElement.querySelector('.tooltip-area');\r\n //d1.insertAdjacentHTML('beforeend', '
seven
');\r\n }\r\n\r\n onSelect(event) {\r\n // console.log(event);\r\n }\r\n\r\n getMMTData(client: any, mmtInputs: any) {\r\n\r\n var user = {\r\n UserID: Number(localStorage.getItem('roleId')) <= 2 ? localStorage.getItem('selectedAdvisorID') : localStorage.getItem('userId'),\r\n CompanyCode: Number(localStorage.getItem('roleId')) <= 2 ? localStorage.getItem('selectedAdvisorOrgID') : localStorage.getItem('orgID'),\r\n ClientID: localStorage.getItem('selectedClient')\r\n }\r\n\r\n\r\n this.globalService.getMMTData(client, mmtInputs, user)\r\n .subscribe(\r\n mmtData => {\r\n this.mmtData = mmtData;\r\n this.createAreaChartData(mmtData);\r\n this.calculateTotals(mmtData);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n public startingSurchageAmount = null;\r\n\r\n public ssAmount = 0;\r\n\r\n calculateTotals(data: any) {\r\n var ts = 0, tp = 0, tm = 0, tss = 0;\r\n\r\n for (var ageRange in data.MagiAdjustedAgeRangeCosts) {\r\n tp += data.MagiAdjustedAgeRangeCosts[ageRange].Bracket1Amount;\r\n ts += (data.MagiAdjustedAgeRangeCosts[ageRange].Amount - data.MagiAdjustedAgeRangeCosts[ageRange].Bracket1Amount);\r\n tm += data.MagiAdjustedAgeRangeCosts[ageRange].Amount;\r\n }\r\n\r\n // console.log(ts);\r\n\r\n\r\n if (this.startingSurchageAmount === null) {\r\n this.startingSurchageAmount = ts;\r\n // tss = this.startingSurchageAmount;\r\n tss = 0;\r\n // console.log('a', this.startingSurchageAmount);\r\n } else {\r\n // console.log('b', this.startingSurchageAmount);\r\n tss = this.startingSurchageAmount - ts;\r\n }\r\n\r\n\r\n\r\n // console.log('b', this.startingSurchageAmount);\r\n // tss = this.startingSurchageAmount - ts;\r\n\r\n // this.totalPremiums = this.roundAndFormat(tp);\r\n // this.totalSurcharge = this.roundAndFormat(ts);\r\n // this.totalMedicare = this.roundAndFormat(tm);\r\n\r\n this.ssAmount = tss;\r\n\r\n\r\n // console.log(tss);\r\n this.animateValue(this.totalPremiumsEl, 0, this.roundAndFormat(tp, 0));\r\n this.animateValue(this.totalSurchargesEl, 0, this.roundAndFormat(ts, 0));\r\n this.animateValue(this.totalMedicareEl, 0, this.roundAndFormat(tm, 0));\r\n this.animateValue(this.totalSurchargeSavingsEl, 0, this.roundAndFormat(tss, 0));\r\n }\r\n\r\n animateValue(el, start, formattedNumber): void {\r\n var end = parseFloat(formattedNumber.shortValue);\r\n var range = end - start;\r\n var current = end / 1.2;\r\n var increment = start < 0 ? -1 : 1;\r\n var stepTime = Math.abs(10);\r\n\r\n if (formattedNumber.shortValue > 0) {\r\n el.nativeElement.innerHTML = `$${end.toFixed(1)}${formattedNumber.suffix || ''}`;\r\n\r\n // var timer = setInterval(function () {\r\n // if (Math.abs(current - end) < 5) {\r\n // increment = start < 0 ? -0.1 : 0.1;\r\n // }\r\n\r\n // current += increment;\r\n // el.nativeElement.innerHTML = `$${current.toFixed(1)}${formattedNumber.suffix}`;\r\n\r\n // if (current.toFixed(1) == end.toFixed(1)) {\r\n // clearInterval(timer);\r\n // }\r\n // }, stepTime);\r\n } else {\r\n el.nativeElement.innerHTML = `$0`;\r\n }\r\n }\r\n\r\n roundAndFormat(num, fixed) {\r\n if (num === null) { return null; }\r\n if (num === 0) { return '0'; }\r\n fixed = (!fixed || fixed < 0) ? 0 : fixed;\r\n var b = (num).toPrecision(2).split(\"e\"),\r\n k = b.length === 1 ? 0 : Math.floor(Math.min(b[1].slice(1), 14) / 3),\r\n c = k < 1 ? num.toFixed(0 + fixed) : (num / Math.pow(10, k * 3)).toFixed(1 + fixed),\r\n d = c < 0 ? c : Math.abs(c),\r\n e = d + ['', 'K', 'M', 'B', 'T'][k];\r\n\r\n return { shortValue: e.split(/[A-z]/)[0], suffix: e.substring(e.length - 1, e.length) };\r\n }\r\n\r\n getClient() {\r\n this.globalService.getClientData(Number(localStorage.getItem(\"selectedClient\")), 4)\r\n .subscribe(\r\n client => {\r\n // console.log('CLIENT INFO:', client);\r\n this.client = client;\r\n this.client.clientProfile.Spouses = JSON.parse(this.client.clientProfile.Spouses);\r\n this.client.clientProfile.Children = JSON.parse(this.client.clientProfile.Children);\r\n\r\n if (this.client.clientProfile.Spouses.length > 1) {\r\n this.client.clientProfile.Spouses = Utils.calculateMostProfitableSpouse(this.client, this.client.clientProfile.Spouses);\r\n }\r\n\r\n if (this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'Married')\r\n this.partnerActive = true;\r\n else\r\n this.partnerActive = false;\r\n\r\n this.ssMonthlyBenefit = this.client.clientProfile.PIA;\r\n this.ssStartAgeVal = 65;\r\n this.inflationRateVal = 3;\r\n\r\n\r\n if (this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'Married') {\r\n this.ssSpouseMonthlyBenefit = this.client.clientProfile.Spouses[0].pia;\r\n this.ssSpouseStartAgeVal = 65;\r\n }\r\n\r\n // console.log(this.client);\r\n\r\n var tempReportVals = {\r\n // InflationRate: this.inflationRateVal / 100,\r\n InflationRate: parseFloat((this.inflationRateVal / 100).toString()),\r\n MagiIncomePercent: this.magiVal,\r\n IncludePartner: this.partnerActive,\r\n SocialSecurityRetirementAge: this.ssStartAgeVal,\r\n SSMonthlyBenefit: this.client.clientProfile.PIA,\r\n PartnerSSMonthlyBenefit: this.client.clientProfile.Spouses[0] && typeof this.client.clientProfile.Spouses[0].pia === 'string' ? this.client.clientProfile.Spouses[0].pia.replace(/,/g, \"\").replace(\"$\", \"\") || 0 : this.client.clientProfile.Spouses[0] ? this.client.clientProfile.Spouses[0].pia || 0 : 0,\r\n PartnerSocialSecurityAge: this.ssSpouseStartAgeVal\r\n }\r\n\r\n // console.log(tempReportVals);\r\n\r\n this.getMMTData(client, tempReportVals);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n handleSaveAndDownloadReport() {\r\n var Report = {\r\n ClientID: this.client.client.ID,\r\n AdvisorID: this.client.client.AdvisorID,\r\n CompanyCode: this.client.client.OrganizationID,\r\n ReportTypeID: 2,\r\n }\r\n\r\n // var ReportMMT = {\r\n // SSClaimAge: this.ssStartAge,\r\n // SSMonthlyBenefit: this.ssMonthlyBenefit,\r\n // MAGI: this.magi,\r\n // }\r\n\r\n var ReportMMT = {\r\n ClientSSMonthlyBenefit: this.client.clientProfile.PIA,\r\n InflationRate: this.inflationRateVal,\r\n MagiIncomePercent: this.magiVal,\r\n IncludePartner: this.partnerActive,\r\n SurvivorIncomeReductionRate: 44,\r\n RetirementIncomeReduction: '',\r\n IncomeReductionAge: '',\r\n IncomeReductionInflationRate: '',\r\n ClientSocialSecurityAge: this.ssStartAgeVal,\r\n ClientPensionSurvivorBenefitPercent: 0,\r\n ClientLifeExpectancy: this.mmtData.Client.LifeExpectancy,\r\n PartnerSocialSecurityAge: this.ssSpouseStartAgeVal,\r\n PartnerSSMonthlyBenefit: this.client.clientProfile.Spouses[0] && typeof this.client.clientProfile.Spouses[0].pia === 'string' ? this.client.clientProfile.Spouses[0].pia.replace(/,/g, \"\").replace(\"$\", \"\") || 0 : this.client.clientProfile.Spouses[0] ? this.client.clientProfile.Spouses[0].pia || 0 : 0,\r\n PartnerPensionSurvivorBenefitPercent: 0,\r\n PartnerLifeExpectancy: this.mmtData.Partner ? this.mmtData.Partner.LifeExpectancy : 0,\r\n ClientCurrentAge: this.mmtData.Client.CurrentAge,\r\n ClientCurrentIncome: this.client.clientProfile.CurrentIncome,\r\n ClientGender: this.mmtData.Client.Gender,\r\n ClientHealthRating: this.mmtData.Client.HealthRating,\r\n ClientPensionAmount: this.mmtData.Client.PensionAmount,\r\n ClientRetirementAge: this.mmtData.Client.RetirementAge,\r\n FrmName0: this.client.client.FirstName + \" \" + this.client.client.LastName,\r\n FrmName1: this.mmtData.Partner ? this.client.clientProfile.Spouses[0].firstName + \" \" + this.client.clientProfile.Spouses[0].lastName : \"\",\r\n PartnerCurrentAge: this.mmtData.Partner ? this.mmtData.Partner.CurrentAge : 0,\r\n PartnerCurrentIncome: this.mmtData.Partner ? this.mmtData.Partner.CurrentIncome : 0,\r\n PartnerGender: this.mmtData.Partner ? this.mmtData.Partner.Gender : 0,\r\n PartnerHealthRating: this.mmtData.Partner ? this.mmtData.Partner.HealthRating : 0,\r\n PartnerPensionAmount: this.mmtData.Partner ? this.mmtData.Partner.PensionAmount : 0,\r\n PartnerRetirementAge: this.mmtData.Partner ? this.mmtData.Partner.RetirementAge : 0,\r\n ReplacementRate: this.client.clientProfile.IRR,\r\n State: this.client.clientProfile.RetirementState,\r\n SurchargeSavings: this.ssAmount,\r\n\r\n\r\n // InflationRate: this.inflationRate / 100,\r\n // MagiIncomePercent: this.magi,\r\n // IncludePartner: this.partnerActive,\r\n // SocialSecurityRetirementAge: this.ssStartAge,\r\n // SSMonthlyBenefit: this.ssMonthlyBenefit,\r\n // // LifeExpectancy: this.client.clientProfile.lifeExpectancy,\r\n // PartnerSocialSecurityAge: this.ssSpouseStartAge,\r\n // PartnerSSMonthlyBenefit: this.ssSpouseMonthlyBenefit,\r\n // PartnerLifeExpectancy: this.client.clientProfile.Spouse[0].lifeExpectancy\r\n }\r\n\r\n // console.log(this.ssAmount);\r\n \r\n this.globalService.createReport(Report, ReportMMT)\r\n .subscribe(\r\n resp => {\r\n // console.log('saved report data');\r\n this.snackBarService.add(\"Please wait while your medicare means testing report is being generated.\", 0);\r\n // this.router.navigate(['/reports/create']);\r\n //this.router.navigateByUrl('/reports/create?d=t');\r\n // console.log(resp);\r\n this.downloadReport(resp.ReportID, resp.AdvisorID, resp.ClientID, resp.CompanyCode, resp.ReportTypeID);\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n downloadReport(reportID, advisorID, clientID, orgID, reportTypeID) {\r\n this.loadingService.isLoading(true);\r\n var ReportFields = { reportID, advisorID, clientID, orgID, ReportTypeID: reportTypeID, token: localStorage.getItem(\"bearer\") };\r\n\r\n\r\n this.globalService.generateReport(ReportFields, this.client.client, ReportFields)\r\n .subscribe(\r\n resp => {\r\n // console.log('downloading report');\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n handleEditClientModal(e) {\r\n this.modalService.add('add-edit-client', { ID: this.client.client.ID });\r\n }\r\n\r\n handleProjectionModal(e) {\r\n var projectedYears = this.mmtData.IllustrationEntries.map(entry => {\r\n\r\n if (!this.mmtData.IncludePartner && entry.ClientAge >= this.mmtData.Client.RetirementAge) {\r\n return entry;\r\n } else if (this.mmtData.IncludePartner) {\r\n if (entry.ClientAge >= this.mmtData.Client.RetirementAge) {\r\n entry.PartnerAge = entry.PartnerAge >= this.mmtData.Partner.RetirementAge ? entry.PartnerAge : \"-\";\r\n return entry;\r\n } else if (entry.PartnerAge >= this.mmtData.Partner.RetirementAge) {\r\n entry.ClientAge = entry.ClientAge >= this.mmtData.Client.RetirementAge ? entry.ClientAge : \"-\";\r\n return entry;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n else if (!entry.PartnerAge && entry.ClientAge >= this.mmtData.Client.RetirementAge) {\r\n entry.PartnerAge = \"-\";\r\n return entry;\r\n } else if (!entry.ClientAge && entry.PartnerAge >= this.mmtData.Partner.RetirementAge) {\r\n entry.ClientAge = \"-\";\r\n return entry;\r\n }\r\n\r\n\r\n\r\n\r\n // if (entry.PartnerAge > 0 && entry.ClientAge >= this.mmtData.Client.RetirementAge) {\r\n // return entry;\r\n // } else {\r\n\r\n // }\r\n });\r\n\r\n projectedYears = projectedYears.filter(Boolean);\r\n this.modalService.add('mmt-projections', { Data: projectedYears });\r\n }\r\n\r\n getBracketColor(bracketIndex, isSurcharge) {\r\n var color = '';\r\n\r\n if (bracketIndex === 1) {\r\n color = isSurcharge ? '#afb5d3' : '#afb5d3';\r\n } else if (bracketIndex === 2) {\r\n color = isSurcharge ? '#D3DFF2' : '#777';\r\n } else if (bracketIndex === 3) {\r\n color = isSurcharge ? '#F6CC9E' : '#777';\r\n } else if (bracketIndex === 4) {\r\n color = isSurcharge ? '#F7E5CD' : '#777';\r\n } else if (bracketIndex === 5) {\r\n color = isSurcharge ? '#c7b9ca ' : '#777';\r\n } else if (bracketIndex === 6) {\r\n color = isSurcharge ? '#f99a9a' : '#777';\r\n }\r\n\r\n return color;\r\n }\r\n\r\n //ZSS: this is where i need to be to change the IRMAA MMT\r\n //Couldnt make the graph the business wanted. If needs too, use this link for a merged graph: https://stackblitz.com/edit/ngx-charts-combo-chart\r\n createAreaChartData(data: any) {\r\n var brackets = [];\r\n this.areaChartData = [];\r\n\r\n var previousIncomeBracket = 0;\r\n\r\n //console.log(data);\r\n //console.log('json data:', JSON.stringify(data));\r\n\r\n \r\n for (var i = 0; i < data.IllustrationEntries.length; i++) {\r\n if (data.IllustrationEntries[i].MagiAdjustedIncomeBracket != previousIncomeBracket) {\r\n this.areaChartData.push({\r\n name: `Premium`,\r\n color: this.getBracketColor(data.IllustrationEntries[i].MagiAdjustedIncomeBracket, false),\r\n series: []\r\n });\r\n\r\n this.areaChartData.push({\r\n name: `Bracket ${data.IllustrationEntries[i].MagiAdjustedIncomeBracket} Surcharge`,\r\n color: this.getBracketColor(data.IllustrationEntries[i].MagiAdjustedIncomeBracket, true),\r\n series: []\r\n });\r\n }\r\n\r\n if (this.areaChartData[this.areaChartData.length - 2] && data.IllustrationEntries[i].HouseholdExpenseByBracket[0] > 0) {\r\n this.areaChartData[this.areaChartData.length - 2].series.push(\r\n {\r\n name: data.IllustrationEntries[i].Year.toString(),\r\n value: data.IllustrationEntries[i].HouseholdExpenseByBracket[0]\r\n }\r\n );\r\n //}\r\n }\r\n\r\n if (data.IllustrationEntries[i].HouseholdExpenseByBracket[data.IllustrationEntries[i].MagiAdjustedIncomeBracket - 1] - data.IllustrationEntries[i].HouseholdExpenseByBracket[0] > 0) { // if it's the first bracket -- there are no surcharges\r\n //if(data.IllustrationEntries[i].HouseholdExpenseByBracket[0] > 0){ \r\n this.areaChartData[this.areaChartData.length - 1].series.push(\r\n {\r\n name: data.IllustrationEntries[i].Year.toString(),\r\n value: data.IllustrationEntries[i].HouseholdExpenseByBracket[data.IllustrationEntries[i].MagiAdjustedIncomeBracket - 1] - data.IllustrationEntries[i].HouseholdExpenseByBracket[0]\r\n }\r\n );\r\n //}\r\n }\r\n\r\n previousIncomeBracket = data.IllustrationEntries[i].MagiAdjustedIncomeBracket;\r\n }\r\n\r\n var temp = [];\r\n\r\n for (var i = 0; i < this.areaChartData.length; i++) {\r\n if (this.areaChartData[i].series.length > 0)\r\n temp.push(this.areaChartData[i]);\r\n\r\n // if (this.areaChartData[i].name == 'Bracket 1 Premium')\r\n // temp.push({ name: 'Test', color: '#000', series: [] });\r\n }\r\n\r\n //this.areaChartData = multi;\r\n\r\n // console.log(this.areaChartData);\r\n\r\n\r\n this.areaChartData = temp;\r\n\r\n var hasBrackets: any = [];\r\n var hasSurcharge: any = [];\r\n\r\n\r\n this.keyBrackets = [];\r\n\r\n this.colorScheme.domain = [];\r\n\r\n // Unique brackets\r\n for (var i = 0; i < this.areaChartData.length; i++) {\r\n if (!this.areaChartData[i].name.includes('Premium')) {\r\n if (!hasBrackets.includes(this.areaChartData[i].name)) {\r\n hasBrackets.push(this.areaChartData[i].name);\r\n this.colorScheme.domain.push(this.areaChartData[i].color);\r\n this.keyBrackets.push(this.areaChartData[i]);\r\n }\r\n } else {\r\n if (!hasSurcharge.includes(this.areaChartData[i].name)) {\r\n hasSurcharge.push(this.areaChartData[i].name);\r\n this.colorScheme.domain.push(this.areaChartData[i].color);\r\n }\r\n }\r\n };\r\n\r\n// this.colorScheme.domain = [ '#777', 'green', 'blue', 'yellow', '', ''];\r\n \r\n\r\n // hasBrackets = [];\r\n\r\n // for (var i = 0; i < this.areaChartData.length; i++) {\r\n // if ( hasBrackets.includes(this.areaChartData) ) {\r\n // this.colorScheme.domain.push(this.areaChartData[i].color);\r\n // hasBrackets.push(this.areaChartData[i].name);\r\n // }\r\n \r\n // if (this.areaChartData[i].name.includes('Bracket 1')) {\r\n // this.colorScheme.domain.push('#FFF'); \r\n // }\r\n // }\r\n\r\n // console.log(this.colorScheme);\r\n\r\n // console.log(this.keyBrackets);\r\n\r\n Object.assign(this, { val: this.areaChartData });\r\n this.chartDataLoaded = true;\r\n }\r\n\r\n public keyBrackets: any;\r\n\r\n\r\n formatBracket(bracket: Number) {\r\n var affix = '';\r\n if (bracket === 1) {\r\n affix = '1st Bracket (No Surcharge)';\r\n } else if (bracket === 2) {\r\n affix = '2nd Bracket (67% Surcharge)';\r\n } else if (bracket === 3) {\r\n affix = '3rd Bracket (93% Surcharge)';\r\n } else if (bracket === 4) {\r\n affix = '4th Bracket (149% Surcharge)';\r\n } else if (bracket === 5) {\r\n affix = '5th Bracket (204% Surcharge)';\r\n }\r\n return affix;\r\n }\r\n\r\n setBracketData() {\r\n return [\r\n { bracket: '1st', b: 1, individual: '< $85,000', couples: '< $170,000', changeInCost: '0%' },\r\n { bracket: '2nd', b: 2, individual: '$85,000 - $107,000', couples: '$170,001 - $214,000', changeInCost: '37%' },\r\n { bracket: '3rd', b: 3, individual: '$107,001 - $133,500', couples: '$214,001 - $267,000', changeInCost: '93%' },\r\n { bracket: '4th', b: 4, individual: '$133,501 - $160,000', couples: '$267,001 - $320,000', changeInCost: '149%' },\r\n { bracket: '5th', b: 5, individual: '$160,000+', couples: '$320,000+', changeInCost: '204%' }\r\n ];\r\n }\r\n\r\n ssStartAgeChange(age: any) {\r\n this.ssStartAgeVal = age.target.value;\r\n this.inputFocusOut(age.target);\r\n }\r\n\r\n ssMonthlyBenefitChange(amount: any) {\r\n this.ssMonthlyBenefit = amount.target.value;\r\n this.inputFocusOut(amount.target);\r\n }\r\n\r\n ssSpouseMonthlyBenefitChange(amount: any) {\r\n this.ssSpouseMonthlyBenefit = amount.target.value;\r\n this.inputFocusOut(amount.target);\r\n }\r\n\r\n ssSpouseStartAgeChange(age: any) {\r\n // this.ssSpouseAgeChange = age.target.value;\r\n this.ssSpouseStartAgeVal = age.target.value;\r\n this.inputFocusOut(age.target);\r\n }\r\n\r\n inflationRateChange(percent: any) {\r\n this.inflationRateVal = percent.target.value;\r\n this.inputFocusOut(percent.target);\r\n }\r\n\r\n magiChange(amount: any) {\r\n this.magiVal = amount.target.value;\r\n this.inputFocusOut(amount.target);\r\n }\r\n\r\n includePartner(checked: any) {\r\n this.inputFocusOut(checked.target);\r\n }\r\n\r\n public previousFormObject: any;\r\n\r\n validateForm(formObject: any) {\r\n var formChanged = false;\r\n this.previousFormObject = formObject;\r\n\r\n for (var k in formObject) {\r\n // console.log(formObject[k]);\r\n // console.log(this.previousFormObject[k]);\r\n if (formObject[k] !== this.previousFormObject[k]) {\r\n // console.log('true');\r\n formChanged = true;\r\n }\r\n }\r\n\r\n return formChanged;\r\n }\r\n\r\n private typingTimer;\r\n private doneTypingInterval = 2000;\r\n private typerWaiting = false;\r\n\r\n inputFocusOut(el) {\r\n\r\n // console.log(this.ssStartAgeVal)\r\n // console.log(this.ssMonthlyBenefit)\r\n // console.log(this.ssSpouseMonthlyBenefit)\r\n //console.log(this.ssSpouseAgeChange)\r\n // console.log(this.inflationRateVal)\r\n // console.log(this.magiVal)\r\n\r\n clearTimeout(this.typingTimer);\r\n if (el.value) {\r\n this.typingTimer = setTimeout(() => {\r\n\r\n var mmtSpecificInputs = {\r\n InflationRate: parseFloat((this.inflationRateVal / 100).toString()),\r\n MagiIncomePercent: this.magiVal,\r\n IncludePartner: this.partnerActive,\r\n SocialSecurityRetirementAge: this.ssStartAgeVal,\r\n SSMonthlyBenefit: this.ssMonthlyBenefit,\r\n // LifeExpectancy: this.client.clientProfile.lifeExpectancy,\r\n PartnerSocialSecurityAge: this.ssSpouseStartAgeVal,\r\n PartnerSSMonthlyBenefit: this.ssSpouseMonthlyBenefit,\r\n // PartnerLifeExpectancy: this.client.clientProfile.Spouse[0].lifeExpectancy\r\n }\r\n\r\n // console.log(mmtSpecificInputs);\r\n // if (!this.previousFormObject)\r\n // this.previousFormObject = mmtSpecificInputs;\r\n\r\n // if (this.validateForm(mmtSpecificInputs)) {\r\n\r\n this.getMMTData(this.client, mmtSpecificInputs);\r\n // }\r\n\r\n }, this.doneTypingInterval);\r\n }\r\n }\r\n\r\n\r\n\r\n // TODO: Make utility file\r\n calculateAge(birthday) {\r\n birthday = new Date(birthday);\r\n var ageDifMs = Date.now() - birthday;\r\n var ageDate = new Date(ageDifMs);\r\n return Math.abs(ageDate.getUTCFullYear() - 1970);\r\n }\r\n\r\n}\r\n\r\n\r\n","module.exports = \":host {\\r\\n padding: 25px;\\r\\n overflow-y: scroll;\\r\\n display: block;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n height: 25px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.pagination {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.pagination div {\\r\\n margin: 10px;\\r\\n background-color: #d3d3d3;\\r\\n cursor: pointer;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.pagination span {\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.pagination .active {\\r\\n background-color: #E58929;\\r\\n}\\r\\n\\r\\n.action-item {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n height: 50px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.generate {\\r\\n margin-bottom: 150px;\\r\\n}\\r\\n\\r\\n.mv2 {\\r\\n justify-content: space-between!important;\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n.mv2 button {\\r\\n margin-right: 45px;\\r\\n}\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.disabled my-date-picker {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\nmy-date-picker {\\r\\n width: 200px;\\r\\n}\\r\\n\\r\\n.date-search {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: space-between;\\r\\n width: 425px;\\r\\n padding: 10px 10px 10px 0;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 1.2rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.table-title {\\r\\n color: #555;\\r\\n font-size: 1rem;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.containerCheckbox {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n margin: 10px 5px 5px 0;\\r\\n width: 175px;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.sub-title {\\r\\n display: flex;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.table-section {\\r\\n margin: 10px 0 10px 0;\\r\\n}\\r\\n\\r\\n.link {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.activeBreadCrumb {\\r\\n /* color: #3a87c7; */\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.currentBreadCrumb {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.metric-header {\\r\\n display: flex;\\r\\n align-items: flex-end;\\r\\n justify-content: space-between;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.metric-title-crumbs {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.metric-title-crumbs div {\\r\\n margin-left: 15px;\\r\\n display: flex;\\r\\n align-items: flex-end;\\r\\n padding-bottom: 2px;\\r\\n}\\r\\n\\r\\n.bc-spacer {\\r\\n width: 15px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.metric-title-crumbs span {\\r\\n \\r\\n}\\r\\n\\r\\n.metric-items {\\r\\n display: flex;\\r\\n\\r\\n}\\r\\n\\r\\n.bc {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.search-container {\\r\\n background-color: #d3d3d3;\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n height: 45px;\\r\\n width: 230px;\\r\\n margin-top: 15px;\\r\\n}\\r\\n\\r\\n.search-container input {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n text-indent: 2rem;\\r\\n border: none;\\r\\n font-size: 1rem;\\r\\n width: 160px;\\r\\n}\\r\\n\\r\\n.search-container input::-moz-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search-container input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search-container input::placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search-container input:focus::-moz-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search-container input:focus:-ms-input-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search-container input:focus::placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search-container i {\\r\\n font-size: 1.25rem;\\r\\n position: absolute;\\r\\n left: 20px;\\r\\n color: #777;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.search-result {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.search-results-container {\\r\\n position: absolute;\\r\\n background-color: #fff;\\r\\n width: 800px;\\r\\n box-shadow: 8px 8px 8px -6px #999;\\r\\n}\\r\\n\\r\\n.search-scroll {\\r\\n padding: 10px;\\r\\n overflow-y: scroll;\\r\\n max-height: 250px;\\r\\n}\\r\\n\\r\\n.search-item {\\r\\n padding: 10px 25px 10px 25px;\\r\\n font-weight: 600;\\r\\n font-size: 12px;\\r\\n border-bottom: 1px #f5f5f5 solid;\\r\\n background-color: #f5f5f5;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.search-item:hover {\\r\\n background-color: #fff;\\r\\n border: 1px #999 dashed;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.search-item p {\\r\\n margin: 0 10px 0 10px;\\r\\n}\\r\\n\\r\\n.search-type-organization {\\r\\n width: 100px;\\r\\n display: block;\\r\\n background-color: #b88a8c;\\r\\n padding: 5px;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.search-type-advisor {\\r\\n width: 100px;\\r\\n display: block;\\r\\n background-color: #ff976c;\\r\\n padding: 5px;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.search-type-client {\\r\\n width: 100px;\\r\\n display: block;\\r\\n background-color: #c57f7f;\\r\\n padding: 5px;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.search-name {\\r\\n \\r\\n}\\r\\n\\r\\n.search-item i {\\r\\n width: 25px;\\r\\n font-size: 24px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search-item .spacer {\\r\\n margin: 0 10px 0 10px;\\r\\n}\\r\\n\\r\\n.search-item .highlighted {\\r\\n background-color: #ffffc4;\\r\\n font-size: 14px;\\r\\n text-decoration: underline; \\r\\n}\\r\\n\\r\\n.cursor {\\r\\n cursor: pointer;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1ldHJpY3MtdjIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtJQUN6QixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsV0FBVztJQUNYLGVBQWU7SUFDZixhQUFhO0lBQ2IsWUFBWTtJQUNaLGdCQUFnQjtBQUNwQjs7QUFHQTtJQUNJLGFBQWE7SUFDYix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLGVBQWU7SUFDZixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksY0FBYztJQUNkLDBCQUEwQjtJQUMxQixlQUFlO0FBQ25COztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixZQUFZO0lBQ1osYUFBYTtJQUNiLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLHdDQUF3QztJQUN4QyxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGVBQWU7SUFDZixhQUFhO0lBQ2IsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDhCQUE4QjtJQUM5QixZQUFZO0lBQ1oseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxlQUFlO0lBQ2YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLFlBQVk7SUFDWixXQUFXO0lBQ1gsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsMEJBQTBCO0lBQzFCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxvQkFBb0I7SUFDcEIsY0FBYztJQUNkLDBCQUEwQjtJQUMxQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHFCQUFxQjtJQUNyQiw4QkFBOEI7SUFDOUIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsYUFBYTtJQUNiLHFCQUFxQjtJQUNyQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0FBQ3RCOztBQUVBOztBQUVBOztBQUVBO0lBQ0ksYUFBYTs7QUFFakI7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osWUFBWTtJQUNaLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osZUFBZTtJQUNmLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRkE7SUFDSSxXQUFXO0FBQ2Y7O0FBRkE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRkE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRkE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixXQUFXO0lBQ1gsVUFBVTtBQUNkOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osaUNBQWlDO0FBQ3JDOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSw0QkFBNEI7SUFDNUIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixnQ0FBZ0M7SUFDaEMseUJBQXlCO0lBQ3pCLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osY0FBYztJQUNkLHlCQUF5QjtJQUN6QixZQUFZO0lBQ1osbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGNBQWM7SUFDZCx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWixjQUFjO0lBQ2QseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixtQkFBbUI7QUFDdkI7O0FBRUE7O0FBRUE7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsZUFBZTtJQUNmLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixlQUFlO0lBQ2YsMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQiIsImZpbGUiOiJtZXRyaWNzLXYyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG50ZCwgdGgge1xyXG4gICAgYm9yZGVyOiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcblxyXG4ucGFnaW5hdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxufVxyXG5cclxuLnBhZ2luYXRpb24gZGl2IHtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnBhZ2luYXRpb24gc3BhbiB7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uIC5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxufVxyXG5cclxuLmFjdGlvbi1pdGVtIHtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jcmVhdGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5nZW5lcmF0ZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcclxufVxyXG5cclxuLm12MiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4haW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5tdjIgYnV0dG9uIHtcclxuICAgIG1hcmdpbi1yaWdodDogNDVweDtcclxufVxyXG5cclxuLmNyZWF0ZSBidXR0b24ge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgLyogaGVpZ2h0OiAzNXB4OyAqL1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbn1cclxuXHJcbi5jcmVhdGUgaSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uZGlzYWJsZWQgIG15LWRhdGUtcGlja2VyIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG5teS1kYXRlLXBpY2tlciB7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbn1cclxuXHJcbi5kYXRlLXNlYXJjaCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiA0MjVweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDA7XHJcbn1cclxuXHJcbi50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4udGFibGUtdGl0bGUge1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmNvbnRhaW5lckNoZWNrYm94IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDEwcHggNXB4IDVweCAwO1xyXG4gICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuIFxyXG4uc3ViLXRpdGxlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG59XHJcblxyXG4udGFibGUtc2VjdGlvbiB7XHJcbiAgICBtYXJnaW46IDEwcHggMCAxMHB4IDA7XHJcbn1cclxuXHJcbi5saW5rIHtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5hY3RpdmVCcmVhZENydW1iIHtcclxuICAgIC8qIGNvbG9yOiAjM2E4N2M3OyAqL1xyXG4gICAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmN1cnJlbnRCcmVhZENydW1iIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4ubWV0cmljLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG4ubWV0cmljLXRpdGxlLWNydW1icyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4ubWV0cmljLXRpdGxlLWNydW1icyBkaXYge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDJweDtcclxufVxyXG5cclxuLmJjLXNwYWNlciB7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm1ldHJpYy10aXRsZS1jcnVtYnMgc3BhbiB7XHJcbiAgICBcclxufVxyXG5cclxuLm1ldHJpYy1pdGVtcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxufVxyXG5cclxuLmJjIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnNlYXJjaC1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICB3aWR0aDogMjMwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG59XHJcblxyXG4uc2VhcmNoLWNvbnRhaW5lciBpbnB1dCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgdGV4dC1pbmRlbnQ6IDJyZW07XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbn1cclxuXHJcbi5zZWFyY2gtY29udGFpbmVyIGlucHV0OjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLnNlYXJjaC1jb250YWluZXIgaW5wdXQ6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnNlYXJjaC1jb250YWluZXIgaSB7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAyMHB4O1xyXG4gICAgY29sb3I6ICM3Nzc7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uc2VhcmNoLXJlc3VsdCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5zZWFyY2gtcmVzdWx0cy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHdpZHRoOiA4MDBweDtcclxuICAgIGJveC1zaGFkb3c6IDhweCA4cHggOHB4IC02cHggIzk5OTtcclxufVxyXG5cclxuLnNlYXJjaC1zY3JvbGwge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xyXG59XHJcblxyXG4uc2VhcmNoLWl0ZW0ge1xyXG4gICAgcGFkZGluZzogMTBweCAyNXB4IDEwcHggMjVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggI2Y1ZjVmNSBzb2xpZDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnNlYXJjaC1pdGVtOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IDFweCAjOTk5IGRhc2hlZDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnNlYXJjaC1pdGVtIHAge1xyXG4gICAgbWFyZ2luOiAwIDEwcHggMCAxMHB4O1xyXG59XHJcblxyXG4uc2VhcmNoLXR5cGUtb3JnYW5pemF0aW9uIHtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I4OGE4YztcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbi5zZWFyY2gtdHlwZS1hZHZpc29yIHtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOTc2YztcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbi5zZWFyY2gtdHlwZS1jbGllbnQge1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzU3ZjdmO1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuLnNlYXJjaC1uYW1lIHtcclxuICAgIFxyXG59XHJcblxyXG4uc2VhcmNoLWl0ZW0gaSB7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uc2VhcmNoLWl0ZW0gLnNwYWNlciB7XHJcbiAgICBtYXJnaW46IDAgMTBweCAwIDEwcHg7XHJcbn1cclxuXHJcbi5zZWFyY2gtaXRlbSAuaGlnaGxpZ2h0ZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZjNDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAgIFxyXG59XHJcblxyXG4uY3Vyc29yIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufSJdfQ== */\"","module.exports = \"Reporting Metrics\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Global Metrics\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
OrganizationActive UsersClientsSS IllustrationsHC IllustrationsMMT IllustrationsLTC IllustrationsTotal Illustrations
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Organization \\r\\n \\r\\n Active UsersClientsSS IllustrationsHC IllustrationsMMT IllustrationsLTC IllustrationsTotal Illustrations
{{formatName(metric.Name || 0)}}{{numberWithCommas(metric.Active_Users || 0)}}{{numberWithCommas(metric.Clients_Created || 0)}}{{numberWithCommas(metric.SS_Illustrations_Created || 0)}}{{numberWithCommas(metric.HC_Illustrations_Created || 0)}}{{numberWithCommas(metric.MMT_Illustrations_Created || 0)}}{{numberWithCommas(metric.LTC_Illustrations_Created || 0)}}{{numberWithCommas(metric.Total_Illustrations || 0)}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

-

\\r\\n {{formatName(item.OrganizationName)}}\\r\\n
\\r\\n {{formatName(item.OrganizationName)}}\\r\\n /\\r\\n {{formatName(item.AdvisorName)}}\\r\\n
\\r\\n
\\r\\n {{formatName(item.OrganizationName)}}\\r\\n /\\r\\n {{formatName(item.AdvisorName)}}\\r\\n /\\r\\n {{formatName(item.ClientName)}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Extended Metrics\\r\\n
\\r\\n All Organizations\\r\\n /\\r\\n {{selectedOrganizationName}}\\r\\n /\\r\\n {{selectedAdvisorName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n {{page}}\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n {{page}}\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n {{page}}\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
OrganizationActive UsersNew UsersClientsSS IllustrationsSS ReportsHC IllustrationsHC ReportsMMT IllustrationsMMT ReportsLTC IllustrationsLTC ReportsTotal IllustrationsTotal Reports
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Organization\\r\\n \\r\\n Active UsersNew UsersClientsSS IllustrationsSS ReportsHC IllustrationsHC ReportsMMT IllustrationsMMT ReportsLTC IllustrationsLTC ReportsTotal IllustrationsTotal Reports
{{formatName(org.Name)}}{{numberWithCommas(org.Active_Users || 0)}}{{numberWithCommas(org.New_Users || 0)}}{{numberWithCommas(org.Clients_Created || 0)}}{{numberWithCommas(org.SS_Illustrations || 0)}}{{numberWithCommas(org.SS_Reports || 0)}}{{numberWithCommas(org.HC_Illustrations || 0)}}{{numberWithCommas(org.HC_Reports || 0)}}{{numberWithCommas(org.MMT_Illustrations || 0)}}{{numberWithCommas(org.MMT_Reports || 0)}}{{numberWithCommas(org.LTC_Illustrations || 0)}}{{numberWithCommas(org.LTC_Reports || 0)}}{{numberWithCommas(org.Total_Illustrations || 0)}}{{numberWithCommas(org.Total_Reports || 0)}}
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
AdvisorClientsSS IllustrationsSS ReportsHC IllustrationsHC ReportsMMT IllustrationsMMT ReportsLTC IllustrationsLTC ReportsTotal IllustrationsTotal Reports
{{formatName(advisor.Name)}}{{numberWithCommas(advisor.Clients_Created || 0)}}{{numberWithCommas(advisor.SS_Illustrations || 0)}}{{numberWithCommas(advisor.SS_Reports || 0)}}{{numberWithCommas(advisor.HC_Illustrations || 0)}}{{numberWithCommas(advisor.HC_Reports || 0)}}{{numberWithCommas(advisor.MMT_Illustrations || 0)}}{{numberWithCommas(advisor.MMT_Reports || 0)}}{{numberWithCommas(advisor.LTC_Illustrations || 0)}}{{numberWithCommas(advisor.LTC_Reports || 0)}}{{numberWithCommas(advisor.Total_Illustrations || 0)}}{{numberWithCommas(advisor.Total_Reports || 0)}}
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ClientSS IllustrationsSS ReportsHC IllustrationsHC ReportsMMT IllustrationsMMT ReportsLTC IllustrationsLTC ReportsTotal IllustrationsTotal Reports
{{numberWithCommas(client.Client_Name || 0)}}{{numberWithCommas(client.SS_Illustrations || 0)}}{{numberWithCommas(client.SS_Reports || 0)}}{{numberWithCommas(client.HC_Illustrations || 0)}}{{numberWithCommas(client.HC_Reports || 0)}}{{numberWithCommas(client.MMT_Illustrations || 0)}}{{numberWithCommas(client.MMT_Reports || 0)}}{{numberWithCommas(client.LTC_Illustrations || 0)}}{{numberWithCommas(client.LTC_Reports || 0)}}{{numberWithCommas(client.Total_Illustrations || 0)}}{{numberWithCommas(client.Total_Reports || 0)}}
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { IMyDpOptions, IMyDateModel, IMyDate } from 'mydatepicker';\r\n\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\nimport { LoadingService } from '../shared/loading/loading.service';\r\nimport { GlobalService } from '../services/global.service';\r\nimport { PagerService } from '../services/pager.service';\r\n\r\nimport Utils from '../shared/utility';\r\n\r\n@Component({\r\n selector: 'app-metrics-v2',\r\n templateUrl: './metrics-v2.component.html',\r\n styleUrls: ['./metrics-v2.component.css']\r\n})\r\n\r\nexport class MetricsComponentV2 implements OnInit {\r\n public startDate: any = {};\r\n public endDate: any = {};\r\n public allTimeChecked: boolean = false;\r\n\r\n public allItems: any[];\r\n public pager: any = {};\r\n public pagedItems: any[];\r\n\r\n public showLTC: boolean = true;\r\n\r\n public activeView = {\r\n org: false,\r\n advisor: false,\r\n client: false,\r\n };\r\n\r\n public orgs: any[];\r\n public advisors: any[];\r\n public clients: any[];\r\n\r\n public selectedOrganizationName: string;\r\n public selectedAdvisorName: string;\r\n\r\n public datePickerOptions: IMyDpOptions = {\r\n dateFormat: \"mm/dd/yyyy\",\r\n editableDateField: true,\r\n showTodayBtn: false,\r\n };\r\n\r\n public globalMetrics: any[];\r\n public globalSearchMetrics: any[];\r\n public filteredSearch: any[];\r\n\r\n public isOA: boolean;\r\n public isS: boolean;\r\n public isA: boolean;\r\n activeMetricNameArrow: boolean;\r\n activeOrgNameArrow: boolean;\r\n\r\n public showResults: string = \"'All-time' refers to the beginning of this application's availability to users in your organization, through today.\";\r\n \r\n constructor(public globalService: GlobalService, public snackBarService: SnackBarService, public pagerService: PagerService, public loadingService: LoadingService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.pagedItems = new Array(10);\r\n\r\n this.isOA = (Number(localStorage.getItem('orgID')) === 2 || Number(localStorage.getItem('parentID')) === 2) ? true : false;\r\n this.isS = (Number(localStorage.getItem('orgID')) === 371 || Number(localStorage.getItem('parentID')) === 371) ? true : false;\r\n this.isA = (Number(localStorage.getItem('orgID')) === 421 || Number(localStorage.getItem('parentID')) === 421) ? true : false;\r\n\r\n this.showLTC = !this.isOA && !this.isS && !this.isA;\r\n\r\n const todaysDate = new Date();\r\n\r\n this.startDate = { jsdate: new Date((todaysDate.getFullYear()).toString() + '-' + 1 + '-' + 1) };\r\n this.endDate = { jsdate: new Date(todaysDate.getFullYear().toString() + '-' + (todaysDate.getMonth() + 1) + '-' + todaysDate.getDate()) };\r\n\r\n //this.getOrgMetrics();\r\n this.getGlobalSearchMetrics();\r\n\r\n\r\n if (this.isOA)\r\n this.getGlobalOAMetrics();\r\n else\r\n this.getGlobalMetrics();\r\n\r\n this.getOrgMetrics();\r\n }\r\n\r\n getOrgMetrics() {\r\n\r\n // this.loadingService.isLoading(true);\r\n\r\n const metricObject = {\r\n startDate: this.startDate.jsdate.toUTCString(),\r\n endDate: this.endDate.jsdate.toUTCString(),\r\n //orgID: 2, //Number(localStorage.getItem('orgID')),\r\n allTime: this.allTimeChecked,\r\n }\r\n\r\n if ((this.startDate.jsdate >= this.endDate.jsdate) && !this.allTimeChecked) {\r\n this.snackBarService.add('Please make sure the start date is prior to the end date.', 1);\r\n } else {\r\n this.globalService.getMetricData(metricObject)\r\n .subscribe(\r\n orgs => {\r\n this.activeView = {\r\n org: true,\r\n advisor: false,\r\n client: false,\r\n }\r\n this.orgs = orgs;\r\n this.setOrgPage(1);\r\n this.loadingService.isLoading(false);\r\n },\r\n error => console.log(error));\r\n }\r\n }\r\n\r\n getAdvisorMetrics(orgID) {\r\n const metricObject = {\r\n startDate: this.startDate.jsdate.toUTCString(),\r\n endDate: this.endDate.jsdate.toUTCString(),\r\n orgID: orgID, //Number(localStorage.getItem('orgID')),\r\n allTime: this.allTimeChecked,\r\n }\r\n\r\n //this.loadingService.isLoading(true);\r\n\r\n if ((this.startDate.jsdate >= this.endDate.jsdate) && !this.allTimeChecked) {\r\n this.snackBarService.add('Please make sure the start date is prior to the end date.', 1);\r\n } else {\r\n this.globalService.getAdvisorMetricData(metricObject)\r\n .subscribe(\r\n advisors => {\r\n this.activeView = {\r\n org: false,\r\n advisor: true,\r\n client: false,\r\n }\r\n\r\n this.advisors = advisors;\r\n this.setAdvisorPage(1);\r\n this.loadingService.isLoading(false);\r\n },\r\n error => console.log(error));\r\n }\r\n }\r\n\r\n getClientMetrics(advisorID) {\r\n const metricObject = {\r\n startDate: this.startDate.jsdate.toUTCString(),\r\n endDate: this.endDate.jsdate.toUTCString(),\r\n advisorID: advisorID, //Number(localStorage.getItem('orgID')),\r\n allTime: this.allTimeChecked,\r\n }\r\n\r\n //this.loadingService.isLoading(true);\r\n\r\n if ((this.startDate.jsdate >= this.endDate.jsdate) && !this.allTimeChecked) {\r\n this.snackBarService.add('Please make sure the start date is prior to the end date.', 1);\r\n } else {\r\n this.globalService.getClientMetricData(metricObject)\r\n .subscribe(\r\n clients => {\r\n this.activeView = {\r\n org: false,\r\n advisor: false,\r\n client: true,\r\n }\r\n\r\n this.clients = clients;\r\n this.setClientPage(1);\r\n this.loadingService.isLoading(false);\r\n },\r\n error => console.log(error));\r\n }\r\n }\r\n\r\n getGlobalOAMetrics() {\r\n const metricObject = {\r\n startDate: this.startDate.jsdate.toUTCString(),\r\n endDate: this.endDate.jsdate.toUTCString(),\r\n allTime: this.allTimeChecked,\r\n }\r\n\r\n if ((this.startDate.jsdate >= this.endDate.jsdate) && !this.allTimeChecked) {\r\n this.snackBarService.add('Please make sure the start date is prior to the end date.', 1);\r\n } else {\r\n this.loadingService.isLoading(true);\r\n\r\n this.globalService.getGlobalOAMetricData(metricObject)\r\n .subscribe(\r\n data => {\r\n //this.loadingService.isLoading(false);\r\n this.globalMetrics = data.clientMetrics;\r\n },\r\n error => console.log(error));\r\n }\r\n }\r\n\r\n getGlobalMetrics() {\r\n const metricObject = {\r\n startDate: this.startDate.jsdate.toUTCString(),\r\n endDate: this.endDate.jsdate.toUTCString(),\r\n allTime: this.allTimeChecked,\r\n }\r\n\r\n if ((this.startDate.jsdate >= this.endDate.jsdate) && !this.allTimeChecked) {\r\n this.snackBarService.add('Please make sure the start date is prior to the end date.', 1);\r\n } else {\r\n this.loadingService.isLoading(true);\r\n\r\n this.globalService.getGlobalMetricData(metricObject)\r\n .subscribe(\r\n data => {\r\n //this.loadingService.isLoading(false);\r\n this.globalMetrics = [data.clientMetrics];\r\n },\r\n error => console.log(error));\r\n }\r\n }\r\n\r\n getGlobalSearchMetrics() {\r\n const metricObject = {\r\n startDate: this.startDate.jsdate.toUTCString(),\r\n endDate: this.endDate.jsdate.toUTCString(),\r\n allTime: this.allTimeChecked,\r\n }\r\n\r\n if ((this.startDate.jsdate >= this.endDate.jsdate) && !this.allTimeChecked) {\r\n this.snackBarService.add('Please make sure the start date is prior to the end date.', 1);\r\n } else {\r\n this.loadingService.isLoading(true);\r\n\r\n this.globalService.getGlobalSearchMetricData(metricObject)\r\n .subscribe(\r\n data => {\r\n this.globalSearchMetrics = data.result;\r\n this.allItems = this.globalSearchMetrics;\r\n },\r\n error => console.log(error));\r\n }\r\n }\r\n\r\n setOrgPage(page: number) {\r\n if (this.orgs.length === 1) {\r\n this.pagedItems = this.orgs;\r\n this.pager = this.pagerService.getPager(this.orgs.length, page);\r\n return;\r\n }\r\n\r\n if (page < 1 || page > this.pager.totalPages) {\r\n return;\r\n }\r\n\r\n this.pager = this.pagerService.getPager(this.orgs.length, page);\r\n this.pagedItems = this.orgs.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n\r\n }\r\n\r\n setAdvisorPage(page: number) {\r\n if (this.advisors.length === 1) {\r\n this.pagedItems = this.advisors;\r\n this.pager = this.pagerService.getPager(this.advisors.length, page);\r\n return;\r\n }\r\n\r\n if (page < 1 || page > this.pager.totalPages) {\r\n return;\r\n }\r\n\r\n this.pager = this.pagerService.getPager(this.advisors.length, page);\r\n this.pagedItems = this.advisors.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n\r\n }\r\n\r\n setClientPage(page: number) {\r\n if (this.clients.length === 1) {\r\n this.pagedItems = this.clients;\r\n this.pager = this.pagerService.getPager(this.clients.length, page);\r\n return;\r\n }\r\n\r\n if (page < 1 || page > this.pager.totalPages) {\r\n return;\r\n }\r\n\r\n this.pager = this.pagerService.getPager(this.clients.length, page);\r\n this.pagedItems = this.clients.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n\r\n }\r\n\r\n public selectedOrganization: number = Number(localStorage.getItem('orgID'));\r\n public selectedAdvisor: number = 0;\r\n\r\n initAdvisorMetrics(org = {ID: undefined, Name: undefined}) {\r\n if (org.ID >= 0) {\r\n this.selectedOrganization = org.ID;\r\n this.selectedOrganizationName = org.Name;\r\n }\r\n\r\n this.loadingService.isLoading(true);\r\n this.getAdvisorMetrics(this.selectedOrganization);\r\n }\r\n\r\n initClientMetrics(advisor) {\r\n if (advisor) {\r\n this.selectedAdvisor = advisor.Advisor_ID;\r\n this.selectedAdvisorName = advisor.Name;\r\n }\r\n\r\n this.loadingService.isLoading(true);\r\n this.getClientMetrics(this.selectedAdvisor);\r\n }\r\n\r\n initOrgMetrics() {\r\n this.loadingService.isLoading(true);\r\n this.getOrgMetrics();\r\n }\r\n\r\n generateData(e) {\r\n this.getGlobalSearchMetrics()\r\n\r\n if (this.isOA)\r\n this.getGlobalOAMetrics();\r\n else\r\n this.getGlobalMetrics();\r\n\r\n if (!this.activeView.org && !this.activeView.advisor && !this.activeView.client)\r\n this.activeView.org = true;\r\n\r\n if (this.activeView.org) {\r\n this.getOrgMetrics();\r\n } else if (this.activeView.advisor) {\r\n this.getAdvisorMetrics(this.selectedOrganization);\r\n } else if (this.activeView.client) {\r\n this.getClientMetrics(this.selectedAdvisor);\r\n }\r\n }\r\n\r\n filterSearchItem(value) {\r\n this.filteredSearch = Object.assign([], this.allItems).filter(\r\n item => {\r\n if (value.length >= 1) {\r\n if (item.Type == 'Organization')\r\n return (item.OrganizationName).toLowerCase().includes(value.toLowerCase())\r\n if (item.Type == 'Advisor')\r\n return (item.AdvisorName).toLowerCase().includes(value.toLowerCase())\r\n if (item.Type == 'Client')\r\n return (item.ClientName).toLowerCase().includes(value.toLowerCase())\r\n } else {\r\n this.filteredSearch = [];\r\n return;\r\n }\r\n }\r\n );\r\n }\r\n\r\n @ViewChild('clientSearchInput') clientSearch; \r\n\r\n loadSearchItem(item) {\r\n this.loadingService.isLoading(true);\r\n\r\n if (item.Type == 'Organization') {\r\n this.selectedOrganizationName = item.OrganizationName;\r\n this.selectedOrganization = item.OrgID;\r\n this.getAdvisorMetrics(item.OrgID);\r\n } else if (item.Type == 'Advisor') {\r\n this.selectedAdvisorName = item.AdvisorName;\r\n this.selectedOrganizationName = item.OrganizationName;\r\n this.selectedAdvisor = item.AdvID;\r\n this.getClientMetrics(item.AdvID);\r\n } else if (item.Type == 'Client') {\r\n this.selectedAdvisorName = item.AdvisorName;\r\n this.selectedOrganizationName = item.OrganizationName;\r\n this.selectedAdvisor = item.AdvID;\r\n this.getClientMetrics(item.AdvID);\r\n }\r\n\r\n this.clientSearch.nativeElement.value = '';\r\n this.filteredSearch = [];\r\n }\r\n\r\n downloadReport() {\r\n const metricObject = {\r\n startDate: this.startDate.jsdate.toUTCString(),\r\n endDate: this.endDate.jsdate.toUTCString(),\r\n allTime: this.allTimeChecked,\r\n }\r\n\r\n if (false) {\r\n this.snackBarService.add('Please make sure the start date is prior to the end date.', 1);\r\n } else {\r\n this.globalService.getMetricDownloadableReport(metricObject)\r\n .subscribe(\r\n data => {\r\n this.loadingService.isLoading(false);\r\n this.snackBarService.add('Please wait while your usage report is being generated.', 0);\r\n },\r\n error => console.log(error));\r\n }\r\n }\r\n\r\n formatName(name) {\r\n var splitStr = name.toLowerCase().split(' ');\r\n for (var i = 0; i < splitStr.length; i++) {\r\n splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1); \r\n }\r\n return splitStr.join(' '); \r\n }\r\n\r\n numberWithCommas(number) {\r\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n }\r\n\r\n\r\n\r\n sort(colName) {\r\n\r\n if (colName == 'metricName') {\r\n this.globalMetrics.sort((a, b) => a.Name.localeCompare(b.Name ));\r\n this.activeMetricNameArrow = true;\r\n }\r\n\r\n if (colName == 'Name') {\r\n this.pagedItems.sort((a, b) => a.Name.localeCompare(b.Name ));\r\n this.activeOrgNameArrow = true;\r\n }\r\n\r\n }\r\n\r\n onDateChanged() {\r\n\r\n }\r\n\r\n}\r\n","export class Reports {\r\n title: string;\r\n}\r\n\r\nexport const REPORTS = [\r\n {\r\n type: 'Social Security',\r\n clientID: 1134,\r\n clientFirstName: 'Klaus',\r\n clientLastName: 'Shapleigh',\r\n createdDate: '1/1/2016',\r\n },\r\n {\r\n type: 'Healthcare',\r\n clientID: 1134,\r\n clientFirstName: 'Klaus',\r\n clientLastName: 'Shapleigh',\r\n createdDate: '7/8/2017',\r\n },\r\n {\r\n type: 'Healthcare',\r\n clientID: 994,\r\n clientFirstName: 'King',\r\n clientLastName: 'Kong',\r\n createdDate: '5/13/2017',\r\n },\r\n {\r\n type: 'Social Security',\r\n clientID: 1130,\r\n clientFirstName: 'Joe',\r\n clientLastName: 'Smith',\r\n createdDate: '12/8/2017',\r\n },\r\n {\r\n type: 'Healthcare',\r\n clientID: 456,\r\n clientFirstName: 'Bob',\r\n clientLastName: 'Reynor',\r\n createdDate: '4/2/2017',\r\n }\r\n]\r\n","export class User {\r\n firstName: string = '';\r\n lastName: string = '';\r\n username: string = '';\r\n email: string = '';\r\n orgId: number = 0;\r\n userId: number = 0;\r\n roleId: number = 0;\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.row {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n padding: 25px 25px 0 25px;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 1.2rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.btn {\\r\\n background-color: #7fa57f;\\r\\n border-radius: 4px;\\r\\n color: #fff;\\r\\n border: none;\\r\\n margin: 0 10px 0 0;\\r\\n padding: 5px 10px 5px 10px;\\r\\n cursor: pointer;\\r\\n width: 175px;\\r\\n text-decoration: none;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.organization-list {\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\n.btn span {\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.pagination {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.pagination div {\\r\\n margin: 10px;\\r\\n background-color: #d3d3d3;\\r\\n cursor: pointer;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.pagination span {\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.pagination .active {\\r\\n background-color: #E58929;\\r\\n}\\r\\n\\r\\n.action-item {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.search {\\r\\n background-color: #d3d3d3;\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n height: 45px;\\r\\n width: 220px;\\r\\n margin-top: 15px;\\r\\n}\\r\\n\\r\\n.search input {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n text-indent: 2rem;\\r\\n border: none;\\r\\n font-size: 1rem;\\r\\n width: 160px;\\r\\n}\\r\\n\\r\\n.search input::-moz-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input::placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input:focus::-moz-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search input:focus:-ms-input-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search input:focus::placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search i {\\r\\n font-size: 1.25rem;\\r\\n position: absolute;\\r\\n left: 20px;\\r\\n color: #555;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.filter {\\r\\n background-color: #d3d3d3;\\r\\n height: 35px;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n color: #fff;\\r\\n width: 160px;\\r\\n padding-right: 25px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.filter i {\\r\\n\\r\\n}\\r\\n\\r\\n.filter span {\\r\\n\\r\\n}\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 5px 0 5px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.header {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-between;\\r\\n max-width: 700px;\\r\\n flex: 1 1 600px;\\r\\n}\\r\\n\\r\\n.client-list-row {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n flex-direction: column;\\r\\n align-items: baseline;\\r\\n}\\r\\n\\r\\n.row-container {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.cursor {\\r\\n cursor: pointer;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL29yZ2FuaXphdGlvbnMvb3JnYW5pemF0aW9ucy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsV0FBVztJQUNYLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQixlQUFlO0lBQ2YsWUFBWTtJQUNaLHFCQUFxQjtJQUNyQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsYUFBYTtBQUNqQjs7QUFHQTtJQUNJLGFBQWE7SUFDYix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLGVBQWU7SUFDZixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksY0FBYztJQUNkLDBCQUEwQjtJQUMxQixlQUFlO0FBQ25COztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osWUFBWTtJQUNaLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osZUFBZTtJQUNmLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRkE7SUFDSSxXQUFXO0FBQ2Y7O0FBRkE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRkE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRkE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixXQUFXO0lBQ1gsVUFBVTtBQUNkOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixZQUFZO0lBQ1osYUFBYTtJQUNiLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsV0FBVztJQUNYLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsZUFBZTtBQUNuQjs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixZQUFZO0lBQ1osYUFBYTtJQUNiLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxZQUFZO0lBQ1osZUFBZTtJQUNmLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksYUFBYTtJQUNiLGVBQWU7SUFDZiw4QkFBOEI7SUFDOUIsZ0JBQWdCO0lBQ2hCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsOEJBQThCO0lBQzlCLHNCQUFzQjtJQUN0QixxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsV0FBVztJQUNYLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLGVBQWU7QUFDbkIiLCJmaWxlIjoiLi4vb3JnYW5pemF0aW9ucy9vcmdhbml6YXRpb25zLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuLnJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAyNXB4IDI1cHggMCAyNXB4O1xyXG59XHJcblxyXG4udGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLmJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2ZhNTdmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHdpZHRoOiAxNzVweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm9yZ2FuaXphdGlvbi1saXN0IHtcclxuICAgIHBhZGRpbmc6IDI1cHg7XHJcbn1cclxuXHJcbi5idG4gc3BhbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxudGQsIHRoIHtcclxuICAgIGJvcmRlcjogMXB4ICNlNWU1ZTUgc29saWQ7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcblxyXG4ucGFnaW5hdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxufVxyXG5cclxuLnBhZ2luYXRpb24gZGl2IHtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnBhZ2luYXRpb24gc3BhbiB7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uIC5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxufVxyXG5cclxuLmFjdGlvbi1pdGVtIHtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5zZWFyY2gge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICB3aWR0aDogMjIwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG59XHJcblxyXG4uc2VhcmNoIGlucHV0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB0ZXh0LWluZGVudDogMnJlbTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIHdpZHRoOiAxNjBweDtcclxufVxyXG5cclxuLnNlYXJjaCBpbnB1dDo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5zZWFyY2ggaW5wdXQ6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnNlYXJjaCBpIHtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDIwcHg7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5maWx0ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHdpZHRoOiAxNjBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5maWx0ZXIgaSB7XHJcblxyXG59XHJcblxyXG4uZmlsdGVyIHNwYW4ge1xyXG5cclxufVxyXG5cclxuLmNyZWF0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgNXB4IDAgNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY3JlYXRlIGJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uY3JlYXRlIGkge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1heC13aWR0aDogNzAwcHg7XHJcbiAgICBmbGV4OiAxIDEgNjAwcHg7XHJcbn1cclxuXHJcbi5jbGllbnQtbGlzdC1yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbn1cclxuXHJcbi5yb3ctY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLmN1cnNvciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n Organizations\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n {{page}}\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Name \\r\\n \\r\\n 600\\\">Phone 800\\\">\\r\\n Email \\r\\n \\r\\n Actions
{{organization.Name}} 600\\\">{{organization.Phone}} 800\\\">{{organization.Email}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Organization } from '../models/organization';\r\n\r\nimport { GlobalService } from '../services/global.service';\r\nimport { ModalService } from '../shared/modal/modal.service';\r\nimport { PagerService } from '../services/pager.service';\r\n\r\nimport { LoadingService } from '../shared/loading/loading.service';\r\nimport { stringify } from 'querystring';\r\n\r\n@Component({\r\n selector: 'app-organizations',\r\n templateUrl: './organizations.component.html',\r\n styleUrls: ['./organizations.component.css']\r\n})\r\nexport class OrganizationsComponent implements OnInit {\r\n public organizations: Organization[] = [];\r\n public error: string;\r\n\r\n private filteredOrganizations: any;\r\n\r\n private allItems: any[];\r\n pager: any = {};\r\n pagedItems: any[];\r\n\r\n public screenWidth: number = window.innerWidth;\r\n\r\n activeNameArrow: boolean;\r\n activeEmailArrow: boolean;\r\n\r\n constructor(private globalService: GlobalService, private router: Router, private modalService: ModalService, private pagerService: PagerService, private loadingService: LoadingService) {\r\n modalService.modal$.subscribe((modal) => {\r\n // console.log(\"Ran in advisor component - modal subscription\");\r\n // console.log(modal.modalName);\r\n if (modal.modalName == 'create-organizationClosed') { // TODO: Fix this hack -- naming it hidden.. modals in general need to be refactored\r\n this.getOrganizations();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n if(localStorage.getItem('roleId') != '2' && localStorage.getItem('roleId') != '1'){\r\n this.router.navigate(['/home']);\r\n }else{\r\n\r\n this.getOrganizations();\r\n }\r\n }\r\n\r\n setPage(page: number) {\r\n if (page < 1 || page > this.pager.totalPages) {\r\n return;\r\n }\r\n\r\n // get pager object from service\r\n // this.pager = this.pagerService.getPager(this.allItems.length, page);\r\n this.pager = this.pagerService.getPager(this.filteredOrganizations.length, page);\r\n\r\n // get current page of items\r\n this.pagedItems = this.filteredOrganizations.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n // console.log(this.pagedItems);\r\n }\r\n\r\n getOrganizations() {\r\n this.loadingService.isLoading(true);\r\n this.globalService.getOrganizationsData()\r\n .subscribe(\r\n organizations => {\r\n // console.log(organizations);\r\n // console.log(organizations);\r\n // this.organizations = organizations;\r\n this.allItems = organizations;\r\n //this.setPage(1);\r\n\r\n // console.log(this.allItems);\r\n this.filteredOrganizations = this.allItems;\r\n\r\n this.filteredOrganizations = this.allItems.sort(function (a, b) {\r\n return parseInt(b.ID) - parseInt(a.ID);\r\n });\r\n this.setPage(1);\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n handleOrganizationMetrics(e, organization) {\r\n //\r\n }\r\n\r\n // handleCreateOrganizationModal() {\r\n // this.modalService.add('create-organization', { ID: 0 });\r\n // }\r\n\r\n // handleEditOrganizationModal(e, organization) {\r\n // this.modalService.add('edit-organization', { ID: organization.ID });\r\n // }\r\n\r\n filterItem(value) {\r\n this.filteredOrganizations = Object.assign([], this.allItems).filter(\r\n org => {\r\n return (org.Name).toLowerCase().includes(value.toLowerCase()) || (org.Phone).toLowerCase().includes(value.toLowerCase()) || (org.Email).toLowerCase().includes(value.toLowerCase())\r\n }\r\n );\r\n\r\n if (!this.filteredOrganizations.length) {\r\n this.pagedItems = [];\r\n } else {\r\n this.setPage(1);\r\n }\r\n }\r\n\r\n disableAllSortArrow() {\r\n this.activeNameArrow = false;\r\n this.activeEmailArrow = false;\r\n }\r\n\r\n private isColSortedAsc: any = {\r\n Name: false,\r\n Email: false,\r\n }\r\n\r\n sort(colName) {\r\n this.disableAllSortArrow();\r\n if (colName == 'Name') {\r\n this.filteredOrganizations.sort((a, b) => this.isColSortedAsc[colName] ? a.Name.localeCompare(b.Name ) : b.Name.localeCompare(a.Name ));\r\n this.setPage(this.pager.currentPage);\r\n this.activeNameArrow = this.isColSortedAsc[colName];\r\n }\r\n if (colName == 'Email') {\r\n this.filteredOrganizations.sort((a, b) => this.isColSortedAsc[colName] ? a.Email.localeCompare(b.Email) : b.Email.localeCompare(a.Email));\r\n this.setPage(this.pager.currentPage);\r\n this.activeEmailArrow = this.isColSortedAsc[colName];\r\n }\r\n\r\n this.isColSortedAsc[colName] = !this.isColSortedAsc[colName];\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n display: block;\\r\\n max-width: 1200px;\\r\\n}\\r\\n\\r\\n.portfolio-recommendation {\\r\\n background-color: #fff;\\r\\n max-width: 800px;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.portfolio-recommendation table {\\r\\n max-width: 500px;\\r\\n overflow-wrap: anywhere; \\r\\n border-collapse: collapse;\\r\\n}\\r\\n\\r\\n.portfolio-recommendation td, .portfolio-recommendation tr, .portfolio-recommendation th {\\r\\n padding: 10px 25px 10px 25px;\\r\\n margin: 0px;\\r\\n font-size: 12px;\\r\\n min-width: 100px;\\r\\n border: 1px #e5e5e5 solid;\\r\\n}\\r\\n\\r\\n.portfolio-recommendation .rec-label {\\r\\n background-color: #b9d054;\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.portfolio-recommendation .rec-value {\\r\\n background-color: #fff;\\r\\n font-weight: bold;\\r\\n min-width: 150px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3BvcnRmb2xpby1yZWNvbW1lbmRhdGlvbi9wb3J0Zm9saW8tcmVjb21tZW5kYXRpb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGNBQWM7SUFDZCxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLHlCQUF5QjtBQUM3Qjs7QUFFQTtFQUNFLDRCQUE0QjtFQUM1QixXQUFXO0VBQ1gsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQix5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSx5QkFBeUI7RUFDekIsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxzQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtBQUNsQiIsImZpbGUiOiIuLi9wb3J0Zm9saW8tcmVjb21tZW5kYXRpb24vcG9ydGZvbGlvLXJlY29tbWVuZGF0aW9uLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG59XHJcblxyXG4ucG9ydGZvbGlvLXJlY29tbWVuZGF0aW9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLnBvcnRmb2xpby1yZWNvbW1lbmRhdGlvbiB0YWJsZSB7XHJcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7IFxyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxufVxyXG5cclxuLnBvcnRmb2xpby1yZWNvbW1lbmRhdGlvbiB0ZCwgLnBvcnRmb2xpby1yZWNvbW1lbmRhdGlvbiB0ciwgLnBvcnRmb2xpby1yZWNvbW1lbmRhdGlvbiB0aCB7XHJcbiAgcGFkZGluZzogMTBweCAyNXB4IDEwcHggMjVweDtcclxuICBtYXJnaW46IDBweDtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgbWluLXdpZHRoOiAxMDBweDtcclxuICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG59XHJcblxyXG4ucG9ydGZvbGlvLXJlY29tbWVuZGF0aW9uIC5yZWMtbGFiZWwge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWQwNTQ7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5wb3J0Zm9saW8tcmVjb21tZW5kYXRpb24gLnJlYy12YWx1ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBtaW4td2lkdGg6IDE1MHB4O1xyXG59XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n

Our strategy uses a {{phase1Portfolio}} portfolio during the accumulation period (Phase 1) and an {{phase2Portfolio}} portfolio in retirement (Phase 2).

\\r\\n

Our strategy uses a {{phase1Portfolio}} portfolio during the accumulation and decumulation period.

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Period CoveredProjected Rate of Return
Phase 1Through {{year}} (Age {{clientRetirementAge}})Through {{year}} (Age {{clientRetirementAge}} / {{spouseRetirementAge}})Through Retirement{{phase1Val}}
Phase 2Through Retirement{{phase2Val}}
\\r\\n

Based on these rate assumptions, we recommend a single investment of {{singleInvestment}} to fund your unfunded\\r\\n retirement costs of {{unfundedAmount}}.

\\r\\n
\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n@Component({\r\n selector: 'app-portfolio-recommendation',\r\n templateUrl: './portfolio-recommendation.component.html',\r\n styleUrls: ['./portfolio-recommendation.component.css']\r\n})\r\nexport class PortfolioRecommendationComponent implements OnInit {\r\n\r\n @Input() year: string = '';\r\n @Input() clientAge: string = '';\r\n @Input() spouseAge: string = '';\r\n @Input() clientRetirementAge: string = '';\r\n @Input() spouseRetirementAge: string = '';\r\n @Input() phase1Val: string = '';\r\n @Input() phase2Val: string = '';\r\n @Input() singleInvestment: string = '';\r\n @Input() unfundedAmount: string = '';\r\n @Input() phase1Portfolio = '';\r\n @Input() phase2Portfolio = '';\r\n @Input() isAlreadyRetired: boolean;\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes.clientRetirementAge && changes.clientRetirementAge.currentValue) {\r\n const clientDiff = Math.max(0, Number(changes.clientRetirementAge.currentValue) - Number(changes.clientAge.currentValue));\r\n const spouseDiff = Math.max(0, Number(changes.spouseRetirementAge.currentValue) - Number(changes.spouseAge.currentValue));\r\n \r\n if (clientDiff < spouseDiff) {\r\n this.spouseRetirementAge = (Number(changes.spouseAge.currentValue) + Math.max(0, Number(changes.clientRetirementAge.currentValue) - Number(changes.clientAge.currentValue))).toString();\r\n } else if (clientDiff > spouseDiff) {\r\n this.clientRetirementAge = (Number(changes.clientAge.currentValue) + Math.max(0, Number(changes.spouseRetirementAge.currentValue) - Number(changes.spouseAge.currentValue))).toString();\r\n }\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n /* background-color: #666; */\\r\\n background-image: url('login-background.7baf1a11ab3f3abf8f21.jpg');\\r\\n overflow: scroll;\\r\\n background-size: cover;\\r\\n}\\r\\n\\r\\n :host:before {\\r\\n content: '';\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background-color: #000;\\r\\n opacity: 0.6;\\r\\n }\\r\\n\\r\\n .container {\\r\\n display: flex;\\r\\n position: relative;\\r\\n z-index: 1;\\r\\n height: 700px;\\r\\n flex: 0.75;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n .left-container {\\r\\n display: flex;\\r\\n background-image: url('register-image.f88050f5e97aa08d996d.jpg');\\r\\n background-size: cover;\\r\\n flex: 1 0 400px;\\r\\n}\\r\\n\\r\\n .right-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n background-color: #f5f5f5;\\r\\n background-image: url('HVS_watermark.a936ad513142f7517d5a.png');\\r\\n background-repeat: no-repeat;\\r\\n background-attachment: fixed;\\r\\n background-position: right;\\r\\n align-items: left;\\r\\n justify-content: center;\\r\\n flex: 1 0 600px;\\r\\n padding-left: 25px;\\r\\n}\\r\\n\\r\\n .header-text {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n /* text-align: center; */\\r\\n}\\r\\n\\r\\n .header-text span:first-child {\\r\\n font-size: 1.5em;\\r\\n color: #555;\\r\\n }\\r\\n\\r\\n .header-text span:nth-child(2) {\\r\\n font-size: 1em;\\r\\n color: #555;\\r\\n }\\r\\n\\r\\n .login-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 25em;\\r\\n}\\r\\n\\r\\n .login-container label {\\r\\n font-size: 0.8em;\\r\\n color: #777;\\r\\n }\\r\\n\\r\\n .login-container input {\\r\\n cursor: pointer;\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n padding: 0.5em;\\r\\n margin: 0.5em 0 0.5em 0;\\r\\n }\\r\\n\\r\\n .login-container .forgot-password {\\r\\n text-align: right;\\r\\n }\\r\\n\\r\\n a {\\r\\n color: #E58929;\\r\\n}\\r\\n\\r\\n button {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 5px 0 5px;\\r\\n cursor: pointer;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n border: none;\\r\\n padding: 10px 20px 10px 20px;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n .login-container .sign-up {\\r\\n text-align: center;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n .form-input input, .form-input select {\\r\\n background-color: #d5d5d5;\\r\\n border: none;\\r\\n color: #555;\\r\\n padding: 10px 20px 10px 20px;\\r\\n font-size: 1rem;\\r\\n margin: 10px 10px 0 0;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n .form-input select {\\r\\n width: 235px;\\r\\n}\\r\\n\\r\\n .form-input input::-moz-placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n\\r\\n .form-input input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n\\r\\n .form-input input::placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n\\r\\n .cube-wrapper1 {\\r\\n width: 100px*2;\\r\\n height: 100px*2;\\r\\n text-align: center;\\r\\n margin: 0 0 50px 50px;\\r\\n opacity: 0.5;\\r\\n}\\r\\n\\r\\n .cube-items1 {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n display: inline-block;\\r\\n transform: rotate(45deg);\\r\\n font-size: 0;\\r\\n}\\r\\n\\r\\n .cube-items1 span {\\r\\n position: relative;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n transform: scale(1.1);\\r\\n display: inline-block;\\r\\n }\\r\\n\\r\\n .cube-items1 span::before {\\r\\n content: '';\\r\\n background-color: #3a87c7;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n display: block;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n transform-origin: 100% 100%;\\r\\n }\\r\\n\\r\\n .cube-items1 .cube-2 {\\r\\n transform: rotateZ(90deg) scale(1.1);\\r\\n }\\r\\n\\r\\n .cube-items1 .cube-2::before {\\r\\n background-color: #0b4c8e;\\r\\n }\\r\\n\\r\\n .cube-items1 .cube-3 {\\r\\n transform: rotateZ(270deg) scale(1.1);\\r\\n }\\r\\n\\r\\n .cube-items1 .cube-3::before {\\r\\n background-color: #e58929;\\r\\n }\\r\\n\\r\\n .cube-items1 .cube-4 {\\r\\n transform: rotateZ(180deg) scale(1.1);\\r\\n }\\r\\n\\r\\n .cube-items1 .cube-4::before {\\r\\n background-color: #E58929;\\r\\n }\\r\\n\\r\\n /* .contact {\\r\\n margin: 0 auto;\\r\\n font-size: 0.87rem;\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n\\r\\n .contact span {\\r\\n padding: 0 15px 0 15px;\\r\\n }\\r\\n\\r\\n .contact a {\\r\\n color: #000 !important;\\r\\n }\\r\\n\\r\\n .contact i {\\r\\n margin-right: 10px;\\r\\n } */\\r\\n\\r\\n .contact {\\r\\n margin: 0 auto;\\r\\n margin-top: 50px;\\r\\n /* font-size: 0.87rem; */\\r\\n font-size: 12px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin-left: 0;\\r\\n}\\r\\n\\r\\n .contact span {\\r\\n margin: 10px 0 10px 0;\\r\\n}\\r\\n\\r\\n .create {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n /* padding: 15px; */\\r\\n}\\r\\n\\r\\n .create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n .create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n .search {\\r\\n background-color: #d3d3d3;\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n height: 45px;\\r\\n width: 230px;\\r\\n margin-top: 15px;\\r\\n}\\r\\n\\r\\n .row-container {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n .code { \\r\\n padding: 20px 0 20px 0;\\r\\n}\\r\\n\\r\\n .code input {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n border: none;\\r\\n font-size: 1rem;\\r\\n width: 160px;\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n .code input::-moz-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n .code input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n .code input::placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n .code input:focus::-moz-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n .code input:focus:-ms-input-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n .code input:focus::placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n .login-links {\\r\\n font-size: 12px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n .contact a{\\r\\n color: #E58929;\\r\\n}\\r\\n\\r\\n .invitecode-checkbox {\\r\\n margin: -1em 0em 0em 5.3em;\\r\\n}\\r\\n\\r\\n /* CHECKBOXES */\\r\\n\\r\\n /* The container */\\r\\n\\r\\n .mainContainerCheckbox1 {\\r\\n display: block;\\r\\n position: relative;\\r\\n padding-left: 35px;\\r\\n margin-bottom: 12px;\\r\\n cursor: pointer;\\r\\n /* font-size: 22px; */\\r\\n -webkit-user-select: none;\\r\\n -moz-user-select: none;\\r\\n -ms-user-select: none;\\r\\n user-select: none;\\r\\n }\\r\\n\\r\\n .containerCheckbox1 {\\r\\n /* display: block; */\\r\\n position: relative;\\r\\n padding-left: 35px;\\r\\n margin-bottom: 12px;\\r\\n cursor: pointer;\\r\\n /* font-size: 22px; */\\r\\n -webkit-user-select: none;\\r\\n -moz-user-select: none;\\r\\n -ms-user-select: none;\\r\\n user-select: none;\\r\\n }\\r\\n\\r\\n /* Hide the browser's default checkbox */\\r\\n\\r\\n .containerCheckbox1 input {\\r\\n position: absolute;\\r\\n opacity: 0;\\r\\n cursor: pointer;\\r\\n height: 0;\\r\\n width: 0;\\r\\n }\\r\\n\\r\\n /* Create a custom checkbox */\\r\\n\\r\\n .checkmark {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n height: 25px;\\r\\n width: 25px;\\r\\n background-color: #b7b7b7;\\r\\n }\\r\\n\\r\\n /* On mouse-over, add a grey background color */\\r\\n\\r\\n .containerCheckbox1:hover input ~ .checkmark {\\r\\n background-color: #ccc;\\r\\n }\\r\\n\\r\\n /* When the checkbox is checked, add a blue background */\\r\\n\\r\\n .containerCheckbox1 input:checked ~ .checkmark {\\r\\n background-color: #555;\\r\\n }\\r\\n\\r\\n /* Create the checkmark/indicator (hidden when not checked) */\\r\\n\\r\\n .checkmark:after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n display: none;\\r\\n }\\r\\n\\r\\n /* Show the checkmark when checked */\\r\\n\\r\\n .containerCheckbox1 input:checked ~ .checkmark:after {\\r\\n display: block;\\r\\n }\\r\\n\\r\\n /* Style the checkmark/indicator */\\r\\n\\r\\n .containerCheckbox1 .checkmark:after {\\r\\n left: 9px;\\r\\n top: 5px;\\r\\n width: 5px;\\r\\n height: 10px;\\r\\n border: solid white;\\r\\n border-width: 0 3px 3px 0;\\r\\n transform: rotate(45deg);\\r\\n }\\r\\n\\r\\n .checkbox-space {\\r\\n margin: 11px 0px 0px 1px;\\r\\n }\\r\\n\\r\\n .tool-tip-modal {\\r\\n position: absolute;\\r\\n background-color: #fff;\\r\\n padding: 10px;\\r\\n top: 0;\\r\\n left: 0;\\r\\n margin-top: -10px;\\r\\n border: 1px #d5d5d5 solid;\\r\\n z-index: 100;\\r\\n width: 300px;\\r\\n margin-left: -150px;\\r\\n font-size: 0.9rem!important;\\r\\n color: #555!important;\\r\\n font-weight: unset !important;\\r\\n}\\r\\n\\r\\n .offsetLeft {\\r\\n margin-left: -300px;\\r\\n}\\r\\n\\r\\n .offsetRight {\\r\\n margin-left: 0px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3JlZ2lzdGVyL3JlZ2lzdGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLDRCQUE0QjtFQUM1QixrRUFBaUU7RUFDakUsZ0JBQWdCO0VBQ2hCLHNCQUFzQjtBQUN4Qjs7RUFFRTtJQUNFLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFlBQVk7SUFDWixzQkFBc0I7SUFDdEIsWUFBWTtFQUNkOztFQUVGO0VBQ0UsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsYUFBYTtFQUNiLFVBQVU7RUFDVixlQUFlO0FBQ2pCOztFQUVBO0VBQ0UsYUFBYTtFQUNiLGdFQUErRDtFQUMvRCxzQkFBc0I7RUFDdEIsZUFBZTtBQUNqQjs7RUFFQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIseUJBQXlCO0VBQ3pCLCtEQUE4RDtFQUM5RCw0QkFBNEI7RUFDNUIsNEJBQTRCO0VBQzVCLDBCQUEwQjtFQUMxQixpQkFBaUI7RUFDakIsdUJBQXVCO0VBQ3ZCLGVBQWU7RUFDZixrQkFBa0I7QUFDcEI7O0VBRUE7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLHlCQUF5QjtBQUMzQjs7RUFFRTtJQUNFLGdCQUFnQjtJQUNoQixXQUFXO0VBQ2I7O0VBRUE7SUFDRSxjQUFjO0lBQ2QsV0FBVztFQUNiOztFQUVGO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixXQUFXO0FBQ2I7O0VBRUU7SUFDRSxnQkFBZ0I7SUFDaEIsV0FBVztFQUNiOztFQUVBO0lBQ0UsZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsY0FBYztJQUNkLHVCQUF1QjtFQUN6Qjs7RUFFQTtJQUNFLGlCQUFpQjtFQUNuQjs7RUFFRjtFQUNFLGNBQWM7QUFDaEI7O0VBRUE7RUFDRSx5QkFBeUI7RUFDekIsWUFBWTtFQUNaLGFB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O0FBQ3BCIiwiZmlsZSI6Ii4uL3JlZ2lzdGVyL3JlZ2lzdGVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2OyAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL2ltYWdlcy9sb2dpbi1iYWNrZ3JvdW5kLmpwZycpO1xyXG4gIG92ZXJmbG93OiBzY3JvbGw7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxufVxyXG5cclxuICA6aG9zdDpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbiAgfVxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMTtcclxuICBoZWlnaHQ6IDcwMHB4O1xyXG4gIGZsZXg6IDAuNzU7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4ubGVmdC1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvaW1hZ2VzL3JlZ2lzdGVyLWltYWdlLmpwZycpO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgZmxleDogMSAwIDQwMHB4O1xyXG59XHJcblxyXG4ucmlnaHQtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9pbWFnZXMvSFZTX3dhdGVybWFyay5wbmcnKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XHJcbiAgYWxpZ24taXRlbXM6IGxlZnQ7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZmxleDogMSAwIDYwMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMjVweDtcclxufVxyXG5cclxuLmhlYWRlci10ZXh0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgLyogIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cclxufVxyXG5cclxuICAuaGVhZGVyLXRleHQgc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgfVxyXG5cclxuICAuaGVhZGVyLXRleHQgc3BhbjpudGgtY2hpbGQoMikge1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICB9XHJcblxyXG4ubG9naW4tY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgd2lkdGg6IDI1ZW07XHJcbn1cclxuXHJcbiAgLmxvZ2luLWNvbnRhaW5lciBsYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgY29sb3I6ICM3Nzc7XHJcbiAgfVxyXG5cclxuICAubG9naW4tY29udGFpbmVyIGlucHV0IHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlcjogMXB4ICNlNWU1ZTUgc29saWQ7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIHBhZGRpbmc6IDAuNWVtO1xyXG4gICAgbWFyZ2luOiAwLjVlbSAwIDAuNWVtIDA7XHJcbiAgfVxyXG5cclxuICAubG9naW4tY29udGFpbmVyIC5mb3Jnb3QtcGFzc3dvcmQge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgfVxyXG5cclxuYSB7XHJcbiAgY29sb3I6ICNFNTg5Mjk7XHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICB3aWR0aDogMjAwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDAgNXB4IDAgNXB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4IDIwcHg7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5sb2dpbi1jb250YWluZXIgLnNpZ24tdXAge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuXHJcblxyXG4uZm9ybS1pbnB1dCBpbnB1dCwgLmZvcm0taW5wdXQgc2VsZWN0IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBjb2xvcjogIzU1NTtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweCAyMHB4O1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBtYXJnaW46IDEwcHggMTBweCAwIDA7XHJcbiAgZmxleDogMTtcclxufVxyXG5cclxuLmZvcm0taW5wdXQgc2VsZWN0IHtcclxuICB3aWR0aDogMjM1cHg7XHJcbn1cclxuXHJcblxyXG4uZm9ybS1pbnB1dCBpbnB1dDo6cGxhY2Vob2xkZXIge1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIG1hcmdpbjogMTVweDtcclxuICBmb250LXNpemU6IDAuOHJlbTtcclxufVxyXG5cclxuXHJcblxyXG4uY3ViZS13cmFwcGVyMSB7XHJcbiAgd2lkdGg6IDEwMHB4KjI7XHJcbiAgaGVpZ2h0OiAxMDBweCoyO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW46IDAgMCA1MHB4IDUwcHg7XHJcbiAgb3BhY2l0eTogMC41O1xyXG59XHJcblxyXG4uY3ViZS1pdGVtczEge1xyXG4gIHdpZHRoOiAxMDBweDtcclxuICBoZWlnaHQ6IDEwMHB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG4gIC5jdWJlLWl0ZW1zMSBzcGFuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxuXHJcbiAgICAuY3ViZS1pdGVtczEgc3Bhbjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYTg3Yzc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xyXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XHJcbiAgICB9XHJcblxyXG4gIC5jdWJlLWl0ZW1zMSAuY3ViZS0yIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWig5MGRlZykgc2NhbGUoMS4xKTtcclxuICB9XHJcblxyXG4gICAgLmN1YmUtaXRlbXMxIC5jdWJlLTI6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwYjRjOGU7XHJcbiAgICB9XHJcblxyXG4gIC5jdWJlLWl0ZW1zMSAuY3ViZS0zIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWigyNzBkZWcpIHNjYWxlKDEuMSk7XHJcbiAgfVxyXG5cclxuICAgIC5jdWJlLWl0ZW1zMSAuY3ViZS0zOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTU4OTI5O1xyXG4gICAgfVxyXG5cclxuICAuY3ViZS1pdGVtczEgLmN1YmUtNCB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKSBzY2FsZSgxLjEpO1xyXG4gIH1cclxuXHJcbiAgICAuY3ViZS1pdGVtczEgLmN1YmUtNDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgIH1cclxuXHJcbi8qIC5jb250YWN0IHtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBmb250LXNpemU6IDAuODdyZW07XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMDtcclxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuICAuY29udGFjdCBzcGFuIHtcclxuICAgIHBhZGRpbmc6IDAgMTVweCAwIDE1cHg7XHJcbiAgfVxyXG5cclxuICAuY29udGFjdCBhIHtcclxuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuY29udGFjdCBpIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICB9ICovXHJcblxyXG4gIC5jb250YWN0IHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIC8qIGZvbnQtc2l6ZTogMC44N3JlbTsgKi9cclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi5jb250YWN0IHNwYW4ge1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMTBweCAwO1xyXG59XHJcblxyXG4gIC5jcmVhdGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgIC8qICBwYWRkaW5nOiAxNXB4OyAqL1xyXG59XHJcblxyXG4uY3JlYXRlIGJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICAvKiBoZWlnaHQ6IDM1cHg7ICovXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uY3JlYXRlIGkge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLnNlYXJjaCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGhlaWdodDogNDVweDtcclxuICB3aWR0aDogMjMwcHg7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxufVxyXG5cclxuLnJvdy1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uY29kZSB7IFxyXG4gIHBhZGRpbmc6IDIwcHggMCAyMHB4IDA7XHJcbn1cclxuXHJcbi5jb2RlIGlucHV0IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzO1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICB3aWR0aDogMTYwcHg7XHJcbiAgcGFkZGluZzogMTVweDtcclxufVxyXG5cclxuLmNvZGUgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcclxuICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLmNvZGUgaW5wdXQ6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcclxuICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5sb2dpbi1saW5rcyB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG4uY29udGFjdCBhe1xyXG4gIGNvbG9yOiAjRTU4OTI5O1xyXG59XHJcblxyXG4uaW52aXRlY29kZS1jaGVja2JveCB7XHJcbiAgbWFyZ2luOiAtMWVtIDBlbSAwZW0gNS4zZW07XHJcbn1cclxuXHJcblxyXG4gIC8qIENIRUNLQk9YRVMgKi9cclxuICAvKiBUaGUgY29udGFpbmVyICovXHJcbiAgLm1haW5Db250YWluZXJDaGVja2JveDEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAvKiAgZm9udC1zaXplOiAyMnB4OyAqL1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICB9XHJcbiAgICAuY29udGFpbmVyQ2hlY2tib3gxIHtcclxuICAgIC8qIGRpc3BsYXk6IGJsb2NrOyAqL1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgLyogIGZvbnQtc2l6ZTogMjJweDsgKi9cclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIEhpZGUgdGhlIGJyb3dzZXIncyBkZWZhdWx0IGNoZWNrYm94ICovXHJcbiAgLmNvbnRhaW5lckNoZWNrYm94MSBpbnB1dCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIENyZWF0ZSBhIGN1c3RvbSBjaGVja2JveCAqL1xyXG4gIC5jaGVja21hcmsge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I3YjdiNztcclxuICB9XHJcbiAgXHJcbiAgLyogT24gbW91c2Utb3ZlciwgYWRkIGEgZ3JleSBiYWNrZ3JvdW5kIGNvbG9yICovXHJcbiAgLmNvbnRhaW5lckNoZWNrYm94MTpob3ZlciBpbnB1dCB+IC5jaGVja21hcmsge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcclxuICB9XHJcbiAgXHJcbiAgLyogV2hlbiB0aGUgY2hlY2tib3ggaXMgY2hlY2tlZCwgYWRkIGEgYmx1ZSBiYWNrZ3JvdW5kICovXHJcbiAgLmNvbnRhaW5lckNoZWNrYm94MSBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xyXG4gIH1cclxuICBcclxuICAvKiBDcmVhdGUgdGhlIGNoZWNrbWFyay9pbmRpY2F0b3IgKGhpZGRlbiB3aGVuIG5vdCBjaGVja2VkKSAqL1xyXG4gIC5jaGVja21hcms6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFNob3cgdGhlIGNoZWNrbWFyayB3aGVuIGNoZWNrZWQgKi9cclxuICAuY29udGFpbmVyQ2hlY2tib3gxIGlucHV0OmNoZWNrZWQgfiAuY2hlY2ttYXJrOmFmdGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuICBcclxuICAvKiBTdHlsZSB0aGUgY2hlY2ttYXJrL2luZGljYXRvciAqL1xyXG4gIC5jb250YWluZXJDaGVja2JveDEgLmNoZWNrbWFyazphZnRlciB7XHJcbiAgICBsZWZ0OiA5cHg7XHJcbiAgICB0b3A6IDVweDtcclxuICAgIHdpZHRoOiA1cHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBib3JkZXI6IHNvbGlkIHdoaXRlO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDNweCAzcHggMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICB9XHJcblxyXG4gIC5jaGVja2JveC1zcGFjZSB7XHJcbiAgICBtYXJnaW46IDExcHggMHB4IDBweCAxcHg7XHJcbiAgfVxyXG5cclxuICAudG9vbC10aXAtbW9kYWwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgICBib3JkZXI6IDFweCAjZDVkNWQ1IHNvbGlkO1xyXG4gICAgei1pbmRleDogMTAwO1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xNTBweDtcclxuICAgIGZvbnQtc2l6ZTogMC45cmVtIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjNTU1IWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ub2Zmc2V0TGVmdCB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTMwMHB4O1xyXG59XHJcblxyXG4ub2Zmc2V0UmlnaHQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcclxufVxyXG4iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Account Registration\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Do you have an invitation code?

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Invitation code:

\\r\\n

The Invitation Code you entered is not valid.
Please re-enter your code, or contact your broker-dealer.

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n If you do not have a NPN, please contact the OneAmerica sales\\r\\n desk.\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{this.error}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{message}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n G - 
\\r\\n If you do not have a G-Number, please contact the HealthView Asset Management sales\\r\\n desk.\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{this.error}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{message}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{message}}\\r\\n
\\r\\n
\\r\\n Please make sure you fill out all the required fields.\\r\\n
\\r\\n
\\r\\n Please make sure your password has 8 characters, 1 number, 1 uppercase, 1 lowercase and 1 special character.\\r\\n
\\r\\n
\\r\\n Please enter a valid email address.\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
No wait, I already have an account!
\\r\\n \\r\\n
\\r\\n
\\r\\n 800-969-6518\\r\\n \\r\\n \\r\\n support@hvs.supportsystem.com\\r\\n www.hvsfinancial.com\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","import { Component, OnInit, NgModule } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, FormsModule, Validators, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { GlobalService } from '../services/global.service';\r\n//import {Observable} from 'rxjs/Observable';\r\nimport { AuthService } from '../auth/auth.service';\r\nimport {throwError} from 'rxjs'; // Updated for Angular 6/RxJS 6\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: './register.component.html',\r\n styleUrls: ['./register.component.css']\r\n})\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule\r\n ],\r\n declarations: [],\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ]\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n model: any = {};\r\n loading = false;\r\n returnUrl: string;\r\n error: string;\r\n showRegistration: boolean;\r\n checkOAUserForm: FormGroup;\r\n checkHVAMUserForm: FormGroup;\r\n registerForm: FormGroup;\r\n userOrginization;\r\n message;\r\n objUser: any;\r\n\r\n public hasCode: boolean = false;\r\n public showCodeScreen: boolean = true;\r\n public invitationCode: any = '';\r\n\r\n public codeErr: boolean = false;\r\n\r\n public waitingOnData: boolean = false;\r\n mediumRegex = new RegExp(\"^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})\");\r\n\r\n public sitePath: string = '';\r\n public isHVAM: boolean;\r\n isHVAMCode: boolean;\r\n\r\n //BASE_REG_ENDPOINT = \"https://apidev2.hvsfinancial.com/api/CoreRegistration/\";\r\n //BASE_REG_ENDPOINT = \"http://api.hvsfinancial.com.loc/api/CoreRegistration/\";\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private authService: AuthService, private fb: FormBuilder, public Global: GlobalService) { \r\n this.sitePath = window.location.hostname;\r\n this.sitePath = this.sitePath.substring(0, this.sitePath.indexOf('.'));\r\n \r\n this.isHVAM = (this.sitePath == 'hvam' || this.sitePath == 'hwh') ? true : false;\r\n\r\n // testing purpose\r\n //this.isHVAM = true;\r\n }\r\n\r\n ngAfterViewInit() {\r\n if(this.isHVAM){\r\n \r\n console.log('should not be here');\r\n let head = document.getElementsByTagName('head')[0];\r\n let style = document.createElement('link');\r\n style.rel = 'stylesheet';\r\n style.href = 'assets/css/hvam/hvam-styling.css';\r\n head.appendChild(style);\r\n console.log('style', head);\r\n \r\n }\r\n }\r\n\r\n ngOnInit() {\r\n // reset login status\r\n //this.authService.logout();\r\n this.invitationCode = '';\r\n\r\n // get return url from route parameters or default to '/'\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\r\n this.showRegistration = false;\r\n\r\n this.checkHVAMUserForm = this.fb.group({\r\n gNumber: [''],\r\n username: [''],\r\n recaptchaReactive: ['', Validators.required]\r\n });\r\n\r\n this.checkOAUserForm = this.fb.group({\r\n npn: [''],\r\n username: [''],\r\n recaptchaReactive: ['', Validators.required]\r\n });\r\n\r\n this.registerForm = this.fb.group({\r\n firstName: [''],\r\n lastName: [''],\r\n username: ['', Validators.required],\r\n email: [''],\r\n phone: [''],\r\n password: ['', [Validators.required, Validators.pattern(this.mediumRegex)]],\r\n confirmPassword: ['', Validators.required],\r\n question: ['', Validators.required],\r\n answer: ['', Validators.required]\r\n });\r\n }\r\n\r\n\r\n searchForOAUser(form: FormGroup) {\r\n //just added validation here....form invalid wasnt working \r\n var body = \"{\";\r\n if (form.value.npn == null) {\r\n if (form.value.username == null) {\r\n return this.message = \"There seemed to be an issue finding your account. Please try again or please contact Support.\";\r\n } else {\r\n body += '\"Email\":\"' + form.value.username + '\"';\r\n }\r\n } else {\r\n body += '\"NPN\":' + form.value.npn;\r\n\r\n }\r\n body += \"}\";\r\n\r\n this.loading = true;\r\n //console.log(\"searching...\");\r\n\r\n //body += '\"Username\":' + form.value.UserID + ',';\r\n //body += '\"NPN\":' + form.value.npn + ',';\r\n //body += '\"Email\":\"' + form.value.username + '\"';\r\n //body += \"}\";\r\n\r\n //console.log(body);\r\n\r\n this.Global.post(\"CoreRegistration/OAUserSearch\", body)\r\n .subscribe(response => {\r\n //this.showRegistration = true;\r\n //console.log('console print:', response);\r\n if (response) {\r\n\r\n this.message = '';\r\n\r\n //console.log(response);\r\n this.objUser = Object.assign({}, response);\r\n\r\n if(this.objUser.FIRST_NAME == '' || this.objUser.FIRST_NAME == undefined || this.objUser.FIRST_NAME == null){\r\n return this.message = \"We either couldn't find this account in our system, or an account has already been created using this NPN. Please try again, or contact our Support line.\";\r\n }\r\n\r\n this.registerForm.patchValue({\r\n firstName: this.objUser.FIRST_NAME\r\n });\r\n\r\n this.registerForm.controls['firstName'].setValue(this.objUser.FIRST_NAME);\r\n this.registerForm.controls['lastName'].setValue(this.objUser.LAST_NAME);\r\n this.registerForm.controls['email'].setValue(this.objUser.Email);\r\n\r\n //this.registerForm.get(\"firstName\").patchValue(this.objUser.FIRST_NAME);\r\n // this.registerForm.get(\"lastName\").setValue(this.objUser.LAST_NAME);\r\n //this.registerForm.get(\"username\").setValue(response.Email);\r\n // this.registerForm.get(\"email\").setValue(this.objUser.Email);\r\n //this.registerForm.get(\"phone\").setValue(response.Phone);\r\n\r\n this.userOrginization = this.objUser.OFFICE_NAME;\r\n\r\n this.registerForm.get(\"firstName\").valueChanges.subscribe(\r\n (firstName: string) => {\r\n if (firstName == null || firstName == '') {\r\n this.registerForm.get(\"firstName\").setValidators([Validators.required]);\r\n //this.registerForm.get(\"firstName\").updateValueAndValidity(); \r\n }\r\n }\r\n );\r\n\r\n this.registerForm.get(\"lastName\").valueChanges.subscribe(\r\n (lastName: string) => {\r\n if (lastName == null || lastName == '') {\r\n this.registerForm.get(\"lastName\").setValidators([Validators.required]);\r\n // this.registerForm.get(\"lastName\").updateValueAndValidity(); \r\n }\r\n }\r\n );\r\n\r\n this.registerForm.get(\"email\").valueChanges.subscribe(\r\n (email: string) => {\r\n this.registerForm.get(\"email\").setValidators([Validators.required, Validators.pattern('^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$')]);\r\n // this.registerForm.get(\"email\").updateValueAndValidity(); \r\n }\r\n );\r\n\r\n this.showRegistration = true;\r\n } else if (!response) {\r\n this.message = \"There seemed to be an issue finding your account. Please try again or please contact Support.\";\r\n } else {\r\n this.message = response; //message from server\r\n }\r\n\r\n this.loading = false;\r\n },\r\n err => {\r\n this.message = \"We either couldn't find this account in our system, or an account has already been created using this NPN. Please try again, or contact our Support line.\";\r\n return throwError(err); // Angular 6/RxJS 6\r\n });\r\n }\r\n\r\n searchForHVAMUser(form: FormGroup) {\r\n //just added validation here....form invalid wasnt working \r\n var body = \"{\";\r\n if (form.value.npn == null) {\r\n if (form.value.username == null) {\r\n return this.message = \"There seemed to be an issue finding your account. Please try again or please contact Support.\";\r\n } else {\r\n body += '\"Email\":\"' + form.value.username + '\"';\r\n }\r\n } else {\r\n body += '\"GNumber\":' + form.value.gNumber;\r\n\r\n }\r\n body += \"}\";\r\n\r\n this.loading = true;\r\n //console.log(\"searching...\");\r\n\r\n //body += '\"Username\":' + form.value.UserID + ',';\r\n //body += '\"NPN\":' + form.value.npn + ',';\r\n //body += '\"Email\":\"' + form.value.username + '\"';\r\n //body += \"}\";\r\n\r\n //console.log(body);\r\n\r\n this.Global.post(\"CoreRegistration/OAUserSearch\", body)\r\n .subscribe(response => {\r\n //this.showRegistration = true;\r\n //console.log('console print:', response);\r\n if (response) {\r\n\r\n this.message = '';\r\n\r\n //console.log(response);\r\n this.objUser = Object.assign({}, response);\r\n\r\n if(this.objUser.FIRST_NAME == '' || this.objUser.FIRST_NAME == undefined || this.objUser.FIRST_NAME == null){\r\n return this.message = \"We either couldn't find this account in our system, or an account has already been created using this NPN. Please try again, or contact our Support line.\";\r\n }\r\n\r\n this.registerForm.patchValue({\r\n firstName: this.objUser.FIRST_NAME\r\n });\r\n\r\n this.registerForm.controls['firstName'].setValue(this.objUser.FIRST_NAME);\r\n this.registerForm.controls['lastName'].setValue(this.objUser.LAST_NAME);\r\n this.registerForm.controls['email'].setValue(this.objUser.Email);\r\n\r\n //this.registerForm.get(\"firstName\").patchValue(this.objUser.FIRST_NAME);\r\n // this.registerForm.get(\"lastName\").setValue(this.objUser.LAST_NAME);\r\n //this.registerForm.get(\"username\").setValue(response.Email);\r\n // this.registerForm.get(\"email\").setValue(this.objUser.Email);\r\n //this.registerForm.get(\"phone\").setValue(response.Phone);\r\n\r\n this.userOrginization = this.objUser.OFFICE_NAME;\r\n\r\n this.registerForm.get(\"firstName\").valueChanges.subscribe(\r\n (firstName: string) => {\r\n if (firstName == null || firstName == '') {\r\n this.registerForm.get(\"firstName\").setValidators([Validators.required]);\r\n //this.registerForm.get(\"firstName\").updateValueAndValidity(); \r\n }\r\n }\r\n );\r\n\r\n this.registerForm.get(\"lastName\").valueChanges.subscribe(\r\n (lastName: string) => {\r\n if (lastName == null || lastName == '') {\r\n this.registerForm.get(\"lastName\").setValidators([Validators.required]);\r\n // this.registerForm.get(\"lastName\").updateValueAndValidity(); \r\n }\r\n }\r\n );\r\n\r\n this.registerForm.get(\"email\").valueChanges.subscribe(\r\n (email: string) => {\r\n this.registerForm.get(\"email\").setValidators([Validators.required, Validators.pattern('^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$')]);\r\n // this.registerForm.get(\"email\").updateValueAndValidity(); \r\n }\r\n );\r\n\r\n this.showRegistration = true;\r\n } else if (!response) {\r\n this.message = \"There seemed to be an issue finding your account. Please try again or please contact Support.\";\r\n } else {\r\n this.message = response; //message from server\r\n }\r\n\r\n this.loading = false;\r\n },\r\n err => {\r\n this.message = \"We either couldn't find this account in our system, or an account has already been created using this NPN. Please try again, or contact our Support line.\";\r\n return throwError(err); // Angular 6/RxJS 6\r\n });\r\n }\r\n\r\n activateProfile(form: FormGroup) {\r\n\r\n //check if passwords match\r\n if (form.value.password != form.value.confirmPassword) {\r\n return this.message = \"Please make sure both passwords match.\";\r\n }\r\n\r\n\r\n this.loading = true;\r\n\r\n var body = \"{\";\r\n //body += '\"Username\":' + form.value.UserID + ',';\r\n body += '\"FirstName\":\"' + form.value.firstName + '\",';\r\n body += '\"LastName\":\"' + form.value.lastName + '\",';\r\n //body += '\"MiddleName\":\"' + form.value.NewPassword + '\",';\r\n body += '\"Username\":\"' + form.value.username + '\",';\r\n body += '\"Email\":\"' + form.value.email + '\",';\r\n body += '\"Phone\":\"' + form.value.phone + '\",';\r\n body += '\"Password\":\"' + form.value.password + '\",';\r\n body += '\"ROLE_TYPE\":\"' + this.objUser.ROLE_TYPE + '\",'; //RoleID\r\n //body += '\"OrganizationID\":' + this.userOrginization + ','; //OFFICE_NAME\r\n body += '\"Producer_Id\": ' + this.objUser.Producer_Id + ',';\r\n body += '\"OFFICE_NAME\":\"' + this.userOrginization + '\",';\r\n body += '\"UserAuthQuestion\":' + form.value.question + ',';\r\n body += '\"UserAuthAnswer\":\"' + form.value.answer + '\"';\r\n\r\n body += \"}\";\r\n\r\n // console.log(body);\r\n\r\n this.Global.post(\"CoreRegistration/OAUserCheck\", body)\r\n .subscribe(response => {\r\n if (!response) {\r\n\r\n //check username successfull\r\n this.Global.post(\"CoreRegistration/OARegisterUser\", body)\r\n .subscribe(response => {\r\n if (response) {\r\n //after success, forward to the login page => prompt people to login with new creds\r\n this.router.navigate(['/login']);\r\n } else if (!response) {\r\n this.message = \"There seemed to be an issue creating your account. Please try again or please contact Support.\";\r\n } else {\r\n this.message = response; //message from server\r\n }\r\n\r\n //this.loading = false;\r\n\r\n },\r\n err => {\r\n this.message = \"There seemed to be an issue creating your account. Please try again or please contact Support.\";\r\n });\r\n\r\n } else if (response) {\r\n //usernam in use\r\n this.message = \"This username is currently unavailable. Please choose another username and try again.\";\r\n } else {\r\n this.message = response; //message from server\r\n }\r\n\r\n this.loading = false;\r\n\r\n },\r\n err => {\r\n this.message = \"There seemed to be an issue creating your account. Please try again or please contact Support.\";\r\n });\r\n }\r\n\r\n cancel() {\r\n //display alert and ask if they want to go back to Login page ?\r\n\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n checkActivateBtn() {\r\n return this.message = \"Is the form disabled: \" + (this.registerForm.invalid);\r\n }\r\n\r\n validateUser() {\r\n\r\n }\r\n\r\n handleEnter(e) {\r\n if (e.keyCode == 13) {\r\n // console.log('enter');\r\n //this.login();\r\n }\r\n }\r\n\r\n setCode() {\r\n this.isHVAMCode = false;\r\n this.invitationCode = !this.hasCode ? 'NO_CODE' : (this.invitationCode || 0);\r\n localStorage.setItem('invitationCode', this.invitationCode);\r\n \r\n //always set the invitationcode\r\n this.Global.GetPricing('{\"InvitationCode\": \"' + this.invitationCode + '\"}')\r\n .subscribe(prices => {\r\n \r\n if(JSON.parse(prices) != null){\r\n //console.log('DB Prices:', prices);\r\n if(JSON.parse(prices).CompletePackageMonthly > 0){\r\n\r\n if(this.isHVAM && JSON.parse(prices).CompletePackageMonthly == 0.01) {\r\n this.showCodeScreen = false;\r\n this.showRegistration = false;\r\n this.isHVAMCode = true;\r\n } else {\r\n this.codeErr = false;\r\n this.showCodeScreen = false;\r\n this.showRegistration = true;\r\n this.router.navigateByUrl('/sign-up'); \r\n } \r\n } else {\r\n this.showCodeScreen = false;\r\n this.showRegistration = false;\r\n } \r\n } else {\r\n this.codeErr = true;\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n setHVAMCode() {\r\n if(this.hasCode){\r\n this.isHVAMCode = true;\r\n //this.invitationCode = !this.hasCode ? 'NO_CODE' : (this.invitationCode || 0);\r\n localStorage.setItem('invitationCode', this.invitationCode);\r\n \r\n //always set the invitationcode\r\n this.Global.GetPricing('{\"InvitationCode\": \"' + this.invitationCode + '\"}')\r\n .subscribe(prices => {\r\n \r\n if(JSON.parse(prices) != null){\r\n //console.log('DB Prices:', prices);\r\n if(JSON.parse(prices).CompletePackageMonthly > 0){\r\n\r\n if(this.isHVAM && JSON.parse(prices).CompletePackageMonthly == 0.01) {\r\n this.showCodeScreen = false;\r\n this.showRegistration = false;\r\n this.isHVAMCode = true;\r\n } else {\r\n \r\n } \r\n } else {\r\n this.showCodeScreen = false;\r\n this.showRegistration = false;\r\n } \r\n } else {\r\n this.codeErr = true;\r\n }\r\n });\r\n\r\n } else {\r\n this.codeErr = true;\r\n }\r\n }\r\n\r\n isToolTipVisible = false; \r\n offsetRight = true; \r\n mouseEnter() {\r\n this.message = \"Reach out to the organization affiliated with HealthView Asset Management for your Invitation Code.\";\r\n this.isToolTipVisible = true;\r\n }\r\n\r\n mouseLeave() {\r\n this.message = '';\r\n this.isToolTipVisible = false;\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.row {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n padding: 25px 25px 0 25px;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 1.2rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.btn {\\r\\n background-color: #7fa57f;\\r\\n border-radius: 4px;\\r\\n color: #fff;\\r\\n border: none;\\r\\n margin: 0 10px 0 0;\\r\\n padding: 5px 10px 5px 10px;\\r\\n cursor: pointer;\\r\\n width: 175px;\\r\\n text-decoration: none;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.advisor-list a {\\r\\n /* cursor: not-allowed; */\\r\\n}\\r\\n\\r\\n.advisor-list {\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\n.btn span {\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.pagination {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.pagination div {\\r\\n margin: 10px;\\r\\n background-color: #d3d3d3;\\r\\n cursor: pointer;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.pagination span {\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.pagination .active {\\r\\n background-color: #E58929;\\r\\n}\\r\\n\\r\\n.action-item {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.search {\\r\\n background-color: #d3d3d3;\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n height: 45px;\\r\\n width: 220px;\\r\\n margin-top: 15px;\\r\\n}\\r\\n\\r\\n.search input {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n text-indent: 2rem;\\r\\n border: none;\\r\\n font-size: 1rem;\\r\\n width: 160px;\\r\\n}\\r\\n\\r\\n.search input::-moz-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input::placeholder {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.search input:focus::-moz-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search input:focus:-ms-input-placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search input:focus::placeholder {\\r\\n color: transparent;\\r\\n}\\r\\n\\r\\n.search i {\\r\\n font-size: 1.25rem;\\r\\n position: absolute;\\r\\n left: 20px;\\r\\n color: #555;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.filter {\\r\\n background-color: #d3d3d3;\\r\\n height: 35px;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n color: #000;\\r\\n width: 160px;\\r\\n padding-right: 25px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.filter i {\\r\\n\\r\\n}\\r\\n\\r\\n.filter span {\\r\\n\\r\\n}\\r\\n\\r\\n.header {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n /* justify-content: space-between; */\\r\\n \\r\\n max-width: 700px;\\r\\n flex: 1 1 600px;\\r\\n}\\r\\n\\r\\n/* \\r\\n\\r\\n\\r\\n:host {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.advisor-list {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.list-header {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.list-content {\\r\\n background-color: #f5f5f5;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.content-item:first-child div span {\\r\\n font-weight: bold;\\r\\n color: #555;\\r\\n \\r\\n}\\r\\n\\r\\n.content-item {\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n padding: 15px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.content-item div {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n text-align: left;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.content-item div i {\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.content-item:nth-child(odd) {\\r\\n background-color: #edeff3;\\r\\n}\\r\\n\\r\\n\\r\\nbutton {\\r\\n font-size: 11px;\\r\\n border: 1px #e5e5e5 solid;\\r\\n border-radius: 10px;\\r\\n color: #999;\\r\\n background-color: #fff;\\r\\n padding: 3px 10px 3px 10px;\\r\\n cursor: pointer;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.btn {\\r\\n background-color: #7fa57f;\\r\\n border-radius: 4px;\\r\\n color: #fff;\\r\\n border: none;\\r\\n margin: 0 10px 0 0;\\r\\n padding: 5px 10px 5px 10px;\\r\\n cursor: pointer;\\r\\n width: 175px;\\r\\n text-decoration: none;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.btn span {\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n\\r\\n */\\r\\n\\r\\n.adviosr-list-row {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: baseline;\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n.row-container {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n /* width: 200px; */\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.cursor {\\r\\n cursor: pointer;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3JlcG9ydHMvcmVwb3J0cy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFdBQVc7SUFDWCx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsV0FBVztBQUNmOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQiwwQkFBMEI7SUFDMUIsZUFBZTtJQUNmLFlBQVk7SUFDWixxQkFBcUI7SUFDckIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIseUJBQXlCO0lBQ3pCLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBR0E7SUFDSSxhQUFhO0lBQ2IseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLHlCQUF5QjtJQUN6QixlQUFlO0lBQ2YsV0FBVztBQUNmOztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGNBQWM7SUFDZCwwQkFBMEI7SUFDMUIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLFlBQVk7SUFDWixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsV0FBVztJQUNYLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGVBQWU7SUFDZixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUZBO0lBQ0ksV0FBVztBQUNmOztBQUZBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUZBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUZBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsV0FBVztJQUNYLFVBQVU7QUFDZDs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixZQUFZO0lBQ1osWUFBWTtJQUNaLGFBQWE7SUFDYiw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGVBQWU7QUFDbkI7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLG9DQUFvQzs7SUFFcEMsZ0JBQWdCO0lBQ2hCLGVBQWU7QUFDbkI7O0FBR0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFrRkU7O0FBRUQ7S0FDSSxhQUFhO0tBQ2IsOEJBQThCO0tBQzlCLHFCQUFxQjtLQUNyQixzQkFBc0I7Q0FDMUI7O0FBRUE7SUFDRyxhQUFhO0lBQ2IsV0FBVztJQUNYLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQiIsImZpbGUiOiIuLi9yZXBvcnRzL3JlcG9ydHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4ucm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDI1cHggMjVweCAwIDI1cHg7XHJcbn1cclxuXHJcbi50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uYnRuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZmE1N2Y7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAxMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uYWR2aXNvci1saXN0IGEge1xyXG4gICAgLyogY3Vyc29yOiBub3QtYWxsb3dlZDsgKi9cclxufVxyXG5cclxuLmFkdmlzb3ItbGlzdCB7XHJcbiAgICBwYWRkaW5nOiAyNXB4O1xyXG59XHJcblxyXG4uYnRuIHNwYW4ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxufVxyXG5cclxudGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbnRkLCB0aCB7XHJcbiAgICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG5cclxuLnBhZ2luYXRpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uIGRpdiB7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uIHNwYW4ge1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ucGFnaW5hdGlvbiAuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbn1cclxuXHJcbi5hY3Rpb24taXRlbSB7XHJcbiAgICBjb2xvcjogI0U1ODkyOTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uc2VhcmNoIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxufVxyXG5cclxuLnNlYXJjaCBpbnB1dCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgdGV4dC1pbmRlbnQ6IDJyZW07XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbn1cclxuXHJcbi5zZWFyY2ggaW5wdXQ6OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uc2VhcmNoIGlucHV0OmZvY3VzOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5zZWFyY2ggaSB7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAyMHB4O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uZmlsdGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZmlsdGVyIGkge1xyXG5cclxufVxyXG5cclxuLmZpbHRlciBzcGFuIHtcclxuXHJcbn1cclxuXHJcbi5oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8qIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgKi9cclxuICAgIFxyXG4gICAgbWF4LXdpZHRoOiA3MDBweDtcclxuICAgIGZsZXg6IDEgMSA2MDBweDtcclxufVxyXG5cclxuXHJcbi8qIFxyXG5cclxuXHJcbjpob3N0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uYWR2aXNvci1saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5saXN0LWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmxpc3QtY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW06Zmlyc3QtY2hpbGQgZGl2IHNwYW4ge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIFxyXG59XHJcblxyXG4uY29udGVudC1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW0gZGl2IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW0gZGl2IGkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW06bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWZmMztcclxufVxyXG5cclxuXHJcbmJ1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDNweCAxMHB4IDNweCAxMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLmJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2ZhNTdmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHdpZHRoOiAxNzVweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmJ0biBzcGFuIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbn1cclxuXHJcblxyXG4gKi9cclxuXHJcbiAuYWR2aW9zci1saXN0LXJvdyB7XHJcbiAgICAgZGlzcGxheTogZmxleDtcclxuICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiB9XHJcblxyXG4gLnJvdy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uY3JlYXRlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICAvKiB3aWR0aDogMjAwcHg7ICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcGFkZGluZzogMTVweDtcclxufVxyXG5cclxuLmNyZWF0ZSBidXR0b24ge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgLyogaGVpZ2h0OiAzNXB4OyAqL1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLmNyZWF0ZSBpIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5jdXJzb3Ige1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59Il19 */\"","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Existing Illustration PDF's\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n {{page}}\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Client Name \\r\\n \\r\\n \\r\\n Organization  \\r\\n \\r\\n \\r\\n Advisor Name \\r\\n \\r\\n Type\\r\\n Created Date \\r\\n \\r\\n Actions
{{report.c.spouseName ? report.c.FirstName + \\\" \\\" + report.c.LastName + \\\" and \\\" + report.c.spouseName : report.c.FirstName\\r\\n + \\\" \\\" + report.c.LastName}}{{report.o.Name.length ? report.o.Name : ''}}{{report.a.FirstName.length ? report.a.FirstName + \\\" \\\" + report.a.LastName : ''}}{{formatReportTypeID(report.r.ReportTypeID)}}{{formatDate(report.r.Created_Date)}}\\r\\n Download\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\n\r\n// import { REPORTS } from '../models/reports';\r\nimport { PagerService } from '../services/pager.service';\r\nimport { GlobalService } from '../services/global.service';\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\nimport { LoadingService } from '../shared/loading/loading.service';\r\n\r\nimport Utils from '../shared/utility';\r\n\r\n@Component({\r\n selector: 'app-reports',\r\n templateUrl: './reports.component.html',\r\n styleUrls: ['./reports.component.css']\r\n})\r\nexport class ReportsComponent implements OnInit {\r\n private reports: any[];\r\n private error:string;\r\n\r\n private allItems: any[];\r\n private filteredReports: any[];\r\n pager: any = {};\r\n pagedItems: any[];\r\n\r\n private role: any;\r\n\r\n activeFirstNameArrow: boolean;\r\n activeOrgNameArrow: boolean;\r\n activAdvisorNameArrow: boolean;\r\n activeDateArrow: boolean;\r\n\r\n constructor(private pagerService: PagerService, private globalService: GlobalService, private snackBarService: SnackBarService, private loadingService: LoadingService) { \r\n this.getReports();\r\n }\r\n\r\n ngOnInit() {\r\n this.role = Number(localStorage.getItem('roleId'));\r\n \r\n // this.allItems = REPORTS;\r\n // this.filteredReports = REPORTS;\r\n // this.setPage(1);\r\n }\r\n\r\n setPage(page: number) {\r\n if (page < 1 || page > this.pager.totalPages) {\r\n return;\r\n }\r\n\r\n // get pager object from service\r\n this.pager = this.pagerService.getPager(this.filteredReports.length, page);\r\n\r\n // get current page of items\r\n this.pagedItems = this.filteredReports.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n\r\n assignCopy(){\r\n this.filteredReports = Object.assign([], this.allItems);\r\n }\r\n\r\n // filterItem(value){\r\n // if(!value) this.assignCopy();\r\n // // console.log(this.allItems);\r\n // this.filteredReports = Object.assign([], this.allItems).filter(\r\n // report => ((report.c.FirstName + \" \" + report.c.LastName).toLowerCase().includes(value.toLowerCase()))\r\n // )\r\n // // console.log(this.filteredReports);\r\n // this.setPage(1);\r\n // }\r\n\r\n filterItem(value){\r\n // console.log(value);\r\n //if(!value) this.assignCopy();\r\n this.filteredReports = Object.assign([], this.allItems).filter(\r\n report => {\r\n return (report.c.FirstName + \" \" + report.c.LastName + \" \" + report.c.spouseName).toLowerCase().includes(value.toLowerCase()) || (report.o.Name).toLowerCase().includes(value.toLowerCase()) || (report.a.FirstName + \" \" + report.a.LastName).toLowerCase().includes(value.toLowerCase())\r\n }\r\n );\r\n \r\n if (!this.filteredReports.length) {\r\n this.pagedItems = [];\r\n } else {\r\n this.setPage(1);\r\n }\r\n}\r\n\r\n getReports() {\r\n this.loadingService.isLoading(true);\r\n this.globalService.getReportsData()\r\n .subscribe(\r\n reports => { \r\n var allReports = [];\r\n\r\n // console.log(reports);\r\n\r\n for (var type in reports) {\r\n reports[type].forEach((report) => { \r\n\r\n if (report.ss) { \r\n report.c.spouseName = report.ss.MaritalState == 'Married' ? report.ss.FrmName1 : '';\r\n } else if (report.mmt) { \r\n report.c.spouseName = report.mmt.IncludePartner == 'True' ? report.mmt.FrmName1 : '';\r\n } else if (report.hc) {\r\n report.c.spouseName = report.hc.FrmIncome.toLowerCase().includes('mfj') ? report.hc.FrmName1.includes('undefined') ? report.hc.FrmName1.replace('undefined', '') : report.hc.FrmName1 : '';\r\n } else if (report.ltc) { \r\n report.c.spouseName = report.ltc.FrmHasPartner == 'True' ? report.ltc.FrmName1 : '';\r\n }\r\n\r\n allReports.push(report);\r\n });\r\n }\r\n\r\n // console.log(allReports);\r\n\r\n this.reports = allReports; \r\n \r\n // this.advisors = advisors;\r\n this.allItems = this.reports;\r\n // console.log(this.filteredReports);\r\n\r\n this.filteredReports = this.reports.sort(function(a, b) {\r\n return parseInt(b.r.ID) - parseInt(a.r.ID);\r\n });\r\n\r\n // console.log(this.filteredReports);\r\n \r\n this.setPage(1);\r\n this.loadingService.isLoading(false);\r\n // console.log(reports);\r\n },\r\n error => {\r\n this.error = error\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n downloadReport(e, report) {\r\n console.log(report);\r\n this.loadingService.isLoading(true);\r\n\r\n var reportID = report.r.ReportID;\r\n var advisorID = report.r.AdvisorID;\r\n var clientID = report.r.ClientID;\r\n var orgID = report.r.CompanyCode;\r\n var reportTypeID = report.r.ReportTypeID;\r\n\r\n var ReportFields = { reportID, advisorID, clientID, orgID, reportTypeID, token: localStorage.getItem(\"bearer\"), retirementAge: report.c.RetirementAge };\r\n this.snackBarService.add(`Downloading your ${Utils.formatReportTypeID(reportTypeID)} report`, 0);\r\n \r\n this.globalService.generateReport(ReportFields, report.c, report.r)\r\n .subscribe(\r\n resp => {\r\n // console.log('downloading report');\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error;\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n formatDate(date) {\r\n date = new Date(date);\r\n return date > 1/1/1900 ? (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear() + ' ' + Utils.parseDateTime(date) : '--';\r\n }\r\n\r\n formatReportTypeID(ReportTypeID: number) {\r\n return Utils.formatReportTypeID(ReportTypeID);\r\n }\r\n\r\n disableAllSortArrow() {\r\n this.activeFirstNameArrow = false;\r\n this.activeOrgNameArrow = false;\r\n this.activAdvisorNameArrow = false;\r\n this.activeDateArrow = false;\r\n }\r\n\r\n private isColSortedAsc: any = {\r\n FirstName: false,\r\n OrganizationName: false,\r\n AdvisorName: false,\r\n Date: false,\r\n }\r\n\r\n sort(colName) {\r\n this.disableAllSortArrow();\r\n if (colName == 'FirstName') {\r\n this.filteredReports.sort((a, b) => this.isColSortedAsc[colName] ? a.c.FirstName.trim().localeCompare(b.c.FirstName.trim()) : b.c.FirstName.trim().localeCompare(a.c.FirstName.trim()));\r\n this.setPage(this.pager.currentPage);\r\n this.activeFirstNameArrow = this.isColSortedAsc[colName];\r\n }\r\n if (colName == 'OrganizationName') {\r\n this.filteredReports.sort((a, b) => this.isColSortedAsc[colName] ? a.o.Name.localeCompare(b.o.Name ) : b.o.Name.localeCompare(a.o.Name ));\r\n this.setPage(this.pager.currentPage);\r\n this.activeOrgNameArrow = this.isColSortedAsc[colName];\r\n }\r\n if (colName == 'AdvisorName') {\r\n this.filteredReports.sort((a, b) => this.isColSortedAsc[colName] ? a.a.FirstName.localeCompare(b.a.FirstName ) : b.a.FirstName.localeCompare(a.a.FirstName ));\r\n this.setPage(this.pager.currentPage);\r\n this.activAdvisorNameArrow = this.isColSortedAsc[colName];\r\n }\r\n if (colName == 'Date') {\r\n this.filteredReports.sort((a, b) => this.isColSortedAsc[colName] ? Date.parse(a.r.Created_Date) - Date.parse(b.r.Created_Date) : Date.parse(b.r.Created_Date) - Date.parse(a.r.Created_Date));\r\n this.setPage(this.pager.currentPage);\r\n this.activeDateArrow = this.isColSortedAsc[colName];\r\n }\r\n\r\n this.isColSortedAsc[colName] = !this.isColSortedAsc[colName];\r\n }\r\n\r\n toggleRiskToleranceID(id) {\r\n let isLTC = id === 4;\r\n let isHC = id === 3;\r\n\r\n if (isLTC)\r\n return 6;\r\n if (isHC)\r\n return 5;\r\n return id;\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n /* background-color: #666; */\\r\\n background-image: url('login-background.7baf1a11ab3f3abf8f21.jpg');\\r\\n}\\r\\n\\r\\n:host:before {\\r\\n content: '';\\r\\n position:absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background-color: #000;\\r\\n opacity: 0.6;\\r\\n}\\r\\n\\r\\n.container {\\r\\n display: flex;\\r\\n position: relative;\\r\\n z-index: 1;\\r\\n height: 700px;\\r\\n flex: 0.75;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.left-container {\\r\\n display: flex;\\r\\n background-image: url('register-image.f88050f5e97aa08d996d.jpg');\\r\\n background-size: cover;\\r\\n flex: 1 0 400px;\\r\\n}\\r\\n\\r\\n.right-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n\\r\\n background-color: #f5f5f5;\\r\\n background-image: url('HVS_watermark.a936ad513142f7517d5a.png');\\r\\n background-repeat: no-repeat;\\r\\n background-attachment: fixed;\\r\\n background-position: right; \\r\\n\\r\\n align-items: left;\\r\\n justify-content: center;\\r\\n flex: 1 0 600px;\\r\\n padding-left: 25px;\\r\\n}\\r\\n\\r\\n.header-text {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n /* text-align: center; */\\r\\n \\r\\n}\\r\\n\\r\\n.header-text span:first-child {\\r\\n font-size: 1.5em;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.header-text span:nth-child(2) {\\r\\n font-size: 1em;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.login-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 25em;\\r\\n}\\r\\n\\r\\n.login-container label {\\r\\n font-size: 0.8em;\\r\\n color: #777;\\r\\n}\\r\\n\\r\\n.login-container input {\\r\\n cursor: pointer;\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n padding: 0.5em;\\r\\n margin: 0.5em 0 0.5em 0;\\r\\n}\\r\\n\\r\\n.login-container .forgot-password {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\na {\\r\\n color: #E58929;\\r\\n}\\r\\n\\r\\nbutton {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 5px 0 5px;\\r\\n cursor: pointer;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n border: none;\\r\\n padding: 10px 20px 10px 20px;\\r\\n color: #000;\\r\\n font-size: 1rem;\\r\\n}\\r\\n\\r\\n.login-container .sign-up {\\r\\n text-align: center;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.form-input input {\\r\\n background-color: #d5d5d5;\\r\\n border: none;\\r\\n color: #000;\\r\\n padding: 10px 20px 10px 20px;\\r\\n font-size: 1rem;\\r\\n margin: 10px 10px 0 0;\\r\\n flex: 1;\\r\\n }\\r\\n\\r\\n.form-input input::-moz-placeholder {\\r\\n color: #000;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n }\\r\\n\\r\\n.form-input input:-ms-input-placeholder {\\r\\n color: #000;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n }\\r\\n\\r\\n.form-input input::placeholder {\\r\\n color: #000;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n }\\r\\n\\r\\n.cube-wrapper1 {\\r\\n width: 100px*2;\\r\\n height: 100px*2;\\r\\n text-align: center;\\r\\n margin: 0 0 50px 50px;\\r\\n opacity: 0.5;\\r\\n }\\r\\n\\r\\n.cube-items1 {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n display: inline-block;\\r\\n transform: rotate(45deg);\\r\\n font-size: 0;\\r\\n }\\r\\n\\r\\n.cube-items1 span {\\r\\n position: relative;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n transform: scale(1.1);\\r\\n display: inline-block;\\r\\n }\\r\\n\\r\\n.cube-items1 span::before {\\r\\n content: '';\\r\\n background-color: #3a87c7;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n display: block;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n transform-origin: 100% 100%;\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-2 {\\r\\n transform: rotateZ(90deg) scale(1.1);\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-2::before {\\r\\n background-color: #0b4c8e;\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-3 {\\r\\n transform: rotateZ(270deg) scale(1.1);\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-3::before {\\r\\n background-color: #e58929;\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-4 {\\r\\n transform: rotateZ(180deg) scale(1.1);\\r\\n }\\r\\n\\r\\n.cube-items1 .cube-4::before {\\r\\n background-color: #E58929;\\r\\n }\\r\\n\\r\\n/* .contact {\\r\\n margin: 0 auto;\\r\\n \\r\\n font-size: 0.87rem;\\r\\n\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n padding-bottom: 20px;\\r\\n }\\r\\n\\r\\n .contact span {\\r\\n padding: 0 15px 0 15px;\\r\\n }\\r\\n\\r\\n .contact a {\\r\\n color: #000!important;\\r\\n }\\r\\n\\r\\n .contact i {\\r\\n margin-right: 10px;\\r\\n } */\\r\\n\\r\\n.contact a{\\r\\n color: #E58929;\\r\\n }\\r\\n\\r\\n.contact {\\r\\n margin: 0 auto;\\r\\n margin-top: 50px;\\r\\n /* font-size: 0.87rem; */\\r\\n font-size: 12px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin-left: 0;\\r\\n}\\r\\n\\r\\n.contact span {\\r\\n margin: 10px 0 10px 0;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3Jlc2V0LXBhc3N3b3JkL3Jlc2V0cGFzc3dvcmQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTtJQUNiLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsNEJBQTRCO0lBQzVCLGtFQUFpRTtBQUNyRTs7QUFFQTtJQUNJLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsV0FBVztJQUNYLFlBQVk7SUFDWixzQkFBc0I7SUFDdEIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLGFBQWE7SUFDYixVQUFVO0lBQ1YsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixnRUFBK0Q7SUFDL0Qsc0JBQXNCO0lBQ3RCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCOztJQUV0Qix5QkFBeUI7SUFDekIsK0RBQThEO0lBQzlELDRCQUE0QjtJQUM1Qiw0QkFBNEI7SUFDNUIsMEJBQTBCOztJQUUxQixpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0dBQ3ZCLHlCQUF5Qjs7QUFFNUI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksY0FBYztJQUNkLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGVBQWU7SUFDZix5QkFBeUI7SUFDekIsV0FBVztJQUNYLGNBQWM7SUFDZCx1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixhQUFhO0lBQ2IsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsZUFBZTtJQUNmLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWiw0QkFBNEI7SUFDNUIsV0FBVztJQUNYLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsV0FBVztBQUNmOztBQUlBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixXQUFXO0lBQ1gsNEJBQTRCO0lBQzVCLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsT0FBTztFQUNUOztBQUdBO0lBQ0UsV0FBVztJQUNYLFlBQVk7SUFDWixpQkFBaUI7RUFDbkI7O0FBSkE7SUFDRSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGlCQUFpQjtFQUNuQjs7QUFKQTtJQUNFLFdBQVc7SUFDWCxZQUFZO0lBQ1osaUJBQWlCO0VBQ25COztBQUlBO0lBQ0UsY0FBYztJQUNkLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLFlBQVk7RUFDZDs7QUFFQTtJQUNFLFlBQVk7SUFDWixhQUFhO0lBQ2IscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4QixZQUFZO0VBQ2Q7O0FBRUE7SUFDRSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFlBQVk7SUFDWixxQkFBcUI7SUFDckIscUJBQXFCO0VBQ3ZCOztBQUVBO0lBQ0UsV0FBVztJQUNYLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsT0FBTztJQUNQLE1BQU07SUFDTixjQUFjO0lBQ2QsV0FBVztJQUNYLFlBQVk7SUFJWiwyQkFBMkI7RUFDN0I7O0FBRUE7SUFDRSxvQ0FBb0M7RUFDdEM7O0FBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0FBRUE7SUFDRSxxQ0FBcUM7RUFDdkM7O0FBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0FBRUE7SUFDRSxxQ0FBcUM7RUFDdkM7O0FBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBb0JHOztBQUNIO0lBQ0UsY0FBYztFQUNoQjs7QUFDQTtJQUNFLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsd0JBQXdCO0lBQ3hCLGVBQWU7SUFDZixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxxQkFBcUI7QUFDekIiLCJmaWxlIjoiLi4vcmVzZXQtcGFzc3dvcmQvcmVzZXRwYXNzd29yZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogIzY2NjsgKi9cclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL2ltYWdlcy9sb2dpbi1iYWNrZ3JvdW5kLmpwZycpO1xyXG59XHJcblxyXG46aG9zdDpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuICAgIG9wYWNpdHk6IDAuNjtcclxufVxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGhlaWdodDogNzAwcHg7XHJcbiAgICBmbGV4OiAwLjc1O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4ubGVmdC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL2ltYWdlcy9yZWdpc3Rlci1pbWFnZS5qcGcnKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBmbGV4OiAxIDAgNDAwcHg7XHJcbn1cclxuXHJcbi5yaWdodC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL2ltYWdlcy9IVlNfd2F0ZXJtYXJrLnBuZycpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDsgXHJcblxyXG4gICAgYWxpZ24taXRlbXM6IGxlZnQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXg6IDEgMCA2MDBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxufVxyXG5cclxuLmhlYWRlci10ZXh0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAvKiAgdGV4dC1hbGlnbjogY2VudGVyOyAqL1xyXG4gICAgXHJcbn1cclxuXHJcbi5oZWFkZXItdGV4dCBzcGFuOmZpcnN0LWNoaWxkIHtcclxuICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLmhlYWRlci10ZXh0IHNwYW46bnRoLWNoaWxkKDIpIHtcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5sb2dpbi1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMjVlbTtcclxufVxyXG5cclxuLmxvZ2luLWNvbnRhaW5lciBsYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgY29sb3I6ICM3Nzc7XHJcbn1cclxuXHJcbi5sb2dpbi1jb250YWluZXIgaW5wdXQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyOiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgcGFkZGluZzogMC41ZW07XHJcbiAgICBtYXJnaW46IDAuNWVtIDAgMC41ZW0gMDtcclxufVxyXG5cclxuLmxvZ2luLWNvbnRhaW5lciAuZm9yZ290LXBhc3N3b3JkIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiAjRTU4OTI5O1xyXG59XHJcblxyXG5idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwIDVweCAwIDVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweCAyMHB4O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbi5sb2dpbi1jb250YWluZXIgLnNpZ24tdXAge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcblxyXG5cclxuLmZvcm0taW5wdXQgaW5wdXQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHggMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG1hcmdpbjogMTBweCAxMHB4IDAgMDtcclxuICAgIGZsZXg6IDE7XHJcbiAgfVxyXG4gIFxyXG4gICBcclxuICAuZm9ybS1pbnB1dCBpbnB1dDo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBtYXJnaW46IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICB9XHJcblxyXG4gIFxyXG5cclxuICAuY3ViZS13cmFwcGVyMSB7XHJcbiAgICB3aWR0aDogMTAwcHgqMjtcclxuICAgIGhlaWdodDogMTAwcHgqMjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCAwIDUwcHggNTBweDtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICB9XHJcbiAgXHJcbiAgLmN1YmUtaXRlbXMxIHtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5jdWJlLWl0ZW1zMSBzcGFuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxuICBcclxuICAuY3ViZS1pdGVtczEgc3Bhbjo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhODdjNztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XHJcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XHJcbiAgfVxyXG4gIFxyXG4gIC5jdWJlLWl0ZW1zMSAuY3ViZS0yIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWig5MGRlZykgc2NhbGUoMS4xKTtcclxuICB9XHJcbiAgXHJcbiAgLmN1YmUtaXRlbXMxIC5jdWJlLTI6OmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI0YzhlO1xyXG4gIH1cclxuICBcclxuICAuY3ViZS1pdGVtczEgLmN1YmUtMyB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMjcwZGVnKSBzY2FsZSgxLjEpO1xyXG4gIH1cclxuICBcclxuICAuY3ViZS1pdGVtczEgLmN1YmUtMzo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNTg5Mjk7XHJcbiAgfVxyXG4gIFxyXG4gIC5jdWJlLWl0ZW1zMSAuY3ViZS00IHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpIHNjYWxlKDEuMSk7XHJcbiAgfVxyXG4gIFxyXG4gIC5jdWJlLWl0ZW1zMSAuY3ViZS00OjpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICB9XHJcblxyXG4gIC8qIC5jb250YWN0IHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBcclxuICAgICAgZm9udC1zaXplOiAwLjg3cmVtO1xyXG5cclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG5cclxuICAuY29udGFjdCBzcGFuIHtcclxuICAgICAgcGFkZGluZzogMCAxNXB4IDAgMTVweDtcclxuICB9XHJcblxyXG4gIC5jb250YWN0IGEge1xyXG4gICAgICBjb2xvcjogIzAwMCFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuY29udGFjdCBpIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIH0gKi9cclxuICAuY29udGFjdCBhe1xyXG4gICAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgfVxyXG4gIC5jb250YWN0IHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIC8qIGZvbnQtc2l6ZTogMC44N3JlbTsgKi9cclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi5jb250YWN0IHNwYW4ge1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMTBweCAwO1xyXG59Il19 */\"","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Reset Password\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n \\r\\n Username: {{userName}}\\r\\n \\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n {{message}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
{{this.error}}
\\r\\n \\r\\n
\\r\\n
No wait, I remember my password!
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n 800-969-6518\\r\\n \\r\\n \\r\\n support@hvs.supportsystem.com\\r\\n \\r\\n \\r\\n \\r\\n www.hvsfinancial.com\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\"","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormControl, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms';\r\nimport { ISubscription } from \"rxjs/Subscription\";\r\nimport { Observable } from 'rxjs/Observable';\r\nimport \"rxjs/add/observable/interval\";\r\n\r\nimport { AuthService } from '../auth/auth.service';\r\nimport { GlobalService } from '../services/global.service';\r\n\r\n@Component({\r\n selector: 'app-resetpassword',\r\n templateUrl: './resetpassword.component.html',\r\n styleUrls: ['./resetpassword.component.css']\r\n})\r\nexport class ResetPasswordComponent implements OnInit, OnDestroy {\r\n model: any = {};\r\n loading = false;\r\n returnUrl: string;\r\n error: string;\r\n userName: string;\r\n //BASE_REG_ENDPOINT = \"http://api.hvsfinancial.com.loc/api/CoreRegistration/\";\r\n\r\n @Input() controls: FormControl;\r\n myForm: FormGroup;\r\n mediumRegex = new RegExp(\"^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$\");\r\n message: string;\r\n private subscription: ISubscription;\r\n\r\n public waitingOnData: boolean = false;\r\n\r\n public sitePath: string = '';\r\n public isHVAM: boolean;\r\n\r\n constructor(private fb: FormBuilder, private route: ActivatedRoute, private router: Router, private authService: AuthService, public Global: GlobalService) {\r\n this.sitePath = window.location.hostname;\r\n this.sitePath = this.sitePath.substring(0, this.sitePath.indexOf('.'));\r\n \r\n this.isHVAM = (this.sitePath == 'hvam' || this.sitePath == 'hwh') ? true : false;\r\n }\r\n\r\n ngAfterViewInit() {\r\n if(this.isHVAM){\r\n\r\n console.log('should not be here');\r\n let head = document.getElementsByTagName('head')[0];\r\n let style = document.createElement('link');\r\n style.rel = 'stylesheet';\r\n style.href = 'assets/css/hvam/hvam-styling.css';\r\n head.appendChild(style);\r\n console.log('style', head);\r\n\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n var query = this.router.url.split(\"/resetPassword/\");\r\n this.myForm = this.fb.group({\r\n NewPassword: ['', [Validators.required, Validators.pattern(this.mediumRegex), Validators.minLength(8)]],\r\n ConfirmPassword: ['', Validators.required],\r\n UserCode: [query[1]]\r\n });\r\n\r\n this.userName = query[1].substring(query[1].lastIndexOf(\"%\") + 1).replace('3D', '');\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n onSubmit(form: FormGroup) {\r\n\r\n // var body = \"{\";\r\n // body += '\"Username\":\"' + form.value.UserCode + '\",';\r\n // body += '\"Password\":\"' + form.value.NewPassword + '\"';\r\n // body += \"}\";\r\n\r\n const body = { Username: form.value.UserCode, Password: form.value.NewPassword };\r\n\r\n this.Global.post(\"CoreRegistration/ResetPassword\", JSON.stringify(body))\r\n .subscribe(response => {\r\n if (response) {\r\n if (response.indexOf('This Reset Password link either') > -1)\r\n this.message = response;\r\n else {\r\n this.message = \"Your password has been reset. You will now be transfered to the login page in 5 seconds.\";\r\n\r\n this.subscription = Observable.interval(5000)\r\n .subscribe((val) => {\r\n this.router.navigate(['/login']);\r\n });\r\n }\r\n } else if (!response) {\r\n this.message = \"There seemed to be an issue; For security reasons, we did not proceed with the password reset.\";\r\n } else {\r\n this.message = response; //message from server\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Headers, RequestOptions, Response, ResponseContentType } from '@angular/http';\r\nimport { HttpClientModule, HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs/Rx'\r\nimport { Subject } from 'rxjs/Subject';\r\n\r\nimport { Advisor } from '../models/advisor';\r\nimport { Client } from '../models/client';\r\nimport { Organization } from '../models/organization';\r\n\r\nimport { saveAs } from 'file-saver';\r\n\r\nimport { Router } from '@angular/router';\r\n\r\nimport Utils from '../shared/utility';\r\n\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n// const env = 'https://apidev.hvsfinancial.com/api/';\r\n//const env = 'http://api.hvsfinancial.com.loc/api/';\r\n// const env = 'https://hvsportalpentestsvc.hvsfinancial.com/api/'; //zss PENTEST SERVICE\r\n// const env = 'https://apiuat2.hvsfinancial.com/api/'; //zss uat build\r\n//const env = 'https://apiuat3.hvsfinancial.com/api/';\r\n\r\n//PROD\r\nconst env = 'https://apidev3.hvsfinancial.com/api/'; //zss prod build\r\n\r\n@Injectable()\r\nexport class GlobalService {\r\n constructor(private _http: HttpClient,private http: Http, private router: Router) { }\r\n breadcrumbList: Array = [];\r\n // 1 = SUPER ADMIN\r\n // 2 = ORGANIZATION ADMIN\r\n // 3 = ADVISOR\r\n // 4 = CLIENT\r\n\r\n hasSetFeatures = false;\r\n orgAccess;\r\n features;\r\n featHealthCare: boolean = false;//true;\r\n featMeansTesting: boolean = false;//true;\r\n featSocialSecurity: boolean = false;//true;\r\n featLongTermCare: boolean = false;//true;\r\n featTitan: boolean;\r\n featRiskTolerance: boolean;\r\n featHomeOffice: boolean;\r\n\r\n isHVAM: boolean;\r\n\r\n displayFAB: boolean = true;\r\n\r\n\r\n getAdvisorsData(UserType = 2): Observable {\r\n let body = { UserType };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetUsers', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getReportsData(): Observable {\r\n let body = { UserID: 2 };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetReports', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getLegacyReportsData(): Observable {\r\n let body = { };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetUserLegacyReports', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getReportData(): Observable {\r\n let body = { UserID: 2, ReportID: 1, ReportTypeID: 2 };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetReport', body, options)\r\n .map((res: Response) => {\r\n\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getClientReportsData(UserID: number): Observable {\r\n let body = { UserID };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetClientReports', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getAdvisorData(UserID: number): Observable {\r\n let body = { UserID: UserID };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetUser', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getClientsData(): Observable {\r\n let body = { UserType: 3 };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetUsers', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getClientData(UserID: number, UserType: number): Observable {\r\n\r\n if(!this.hasSetFeatures){\r\n //call/set features\r\n this.getOrganizationsFeatures();\r\n }\r\n\r\n let body = { UserID: UserID, UserType: UserType };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetUser', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getOrganizationsFeatures(){\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n this.http.post(env + 'CoreOrganization/GetOrgFeatures', JSON.stringify({ ID: (localStorage.getItem('parentID') != '0') ? localStorage.getItem('parentID') : localStorage.getItem('orgID')}), options).map((response: Response) => {\r\n let resp = response.json();\r\n //if array is empty; allow all\r\n this.orgAccess = resp;\r\n if(resp.length > 0){\r\n for(let value of resp){\r\n\r\n if(value.FeatureTypeID == 1){\r\n this.featRiskTolerance = true;\r\n }else if(value.FeatureTypeID === 2){\r\n this.featHealthCare = true;\r\n }else if(value.FeatureTypeID == 3){\r\n this.featSocialSecurity = true;\r\n }else if(value.FeatureTypeID == 4){\r\n this.featLongTermCare = true;\r\n }else if(value.FeatureTypeID == 5){\r\n this.featTitan = true;\r\n }else if(value.FeatureTypeID == 6){\r\n this.featHomeOffice = true;\r\n }else if(value.FeatureTypeID == 7){\r\n this.featMeansTesting = true;\r\n }\r\n\r\n }\r\n \r\n }else{\r\n //not in table => lets preset the basic tool/default\r\n this.featHealthCare = true;\r\n this.featLongTermCare = true;\r\n this.featSocialSecurity = true;\r\n this.featTitan = true; \r\n this.featMeansTesting = true;\r\n\r\n this.featRiskTolerance = false;\r\n this.featHomeOffice = false;\r\n }\r\n \r\n this.hasSetFeatures = true;\r\n\r\n localStorage.setItem('featRiskTolerance', JSON.stringify(this.featRiskTolerance));\r\n localStorage.setItem('featHomeOffice', JSON.stringify(this.featHomeOffice));\r\n localStorage.setItem('featMeansTesting', JSON.stringify(this.featMeansTesting));\r\n localStorage.setItem('featLongTermCare', JSON.stringify(this.featLongTermCare));\r\n localStorage.setItem('featSocialSecurity', JSON.stringify(this.featSocialSecurity));\r\n localStorage.setItem('featHealthCare', JSON.stringify(this.featHealthCare));\r\n });\r\n }\r\n\r\n getOrganizationsData(): Observable {\r\n let body = {};\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetOrganizations', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getOrganizationData(OrgID: number): Observable {\r\n let body = { ID: OrgID };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetOrganization', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n\r\n getMMTGraphData(client: any, mmtInputs: any, user): Observable {\r\n let People = [{\r\n Gender: client.client.GenderID,\r\n CurrentIncome: client.clientProfile.CurrentIncome,\r\n DateOfBirth: client.client.DOB,\r\n conditions: client.clientProfile.HealthConditions || [], // Fix this\r\n RetirementAge: client.clientProfile.RetirementAge,\r\n RetirementState: client.clientProfile.RetirementState,\r\n PensionAmount: client.clientProfile.Pension,\r\n SocialSecurityPia: mmtInputs.SSMonthlyBenefit,\r\n SocialSecurityRetirementAge: mmtInputs.SocialSecurityRetirementAge,\r\n LifeExpectancy: client.clientProfile.LifeExpectancy || 0,\r\n }];\r\n\r\n if (mmtInputs.IncludePartner) {\r\n let partnerPensionAmout = Number(client.clientProfile.Spouses[0].pension);\r\n People.push({\r\n Gender: client.clientProfile.Spouses[0].gender,\r\n CurrentIncome: client.clientProfile.Spouses[0].currentIncome,\r\n DateOfBirth: client.clientProfile.Spouses[0].dob,\r\n conditions: client.clientProfile.Spouses[0].healthConditions || [], // Fix this\r\n RetirementAge: client.clientProfile.Spouses[0].retirementAge,\r\n PensionAmount: partnerPensionAmout,\r\n SocialSecurityPia: mmtInputs.PartnerSSMonthlyBenefit,\r\n SocialSecurityRetirementAge: mmtInputs.PartnerSocialSecurityAge,\r\n RetirementState: client.clientProfile.Spouses[0].state,\r\n LifeExpectancy: client.clientProfile.Spouses[0].LifeExpectancy || 0,\r\n });\r\n\r\n }\r\n\r\n let body = { People, IRR: client.clientProfile.IRR , HCModelVersion: 6, SalaryIncrease: mmtInputs.InflationRate, retirementState: client.clientProfile.RetirementState, PercentIncomeMAGI: mmtInputs.MagiIncomePercent, clientProfile: JSON.stringify(client.clientProfile), CompanyCode: user.CompanyCode, UserID: user.UserID, ClientID: user.ClientID }; // TODO: Grab organization HCModelVersion\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreReports/MedicareMeansTestingGraph', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n // TODO: Update to use proper models instead of `any`\r\n getMMTData(client: any, mmtInputs: any, user): Observable {\r\n let People = [{\r\n Gender: client.client.GenderID,\r\n CurrentIncome: client.clientProfile.CurrentIncome,\r\n DateOfBirth: client.client.DOB,\r\n conditions: client.clientProfile.HealthConditions || [], // Fix this\r\n RetirementAge: client.clientProfile.RetirementAge,\r\n RetirementState: client.clientProfile.RetirementState,\r\n PensionAmount: client.clientProfile.Pension,\r\n SocialSecurityPia: mmtInputs.SSMonthlyBenefit,\r\n SocialSecurityRetirementAge: mmtInputs.SocialSecurityRetirementAge,\r\n LifeExpectancy: client.clientProfile.LifeExpectancy || 0,\r\n }];\r\n\r\n if (mmtInputs.IncludePartner) {\r\n People.push({\r\n Gender: client.clientProfile.Spouses[0].gender,\r\n CurrentIncome: client.clientProfile.Spouses[0].currentIncome,\r\n DateOfBirth: client.clientProfile.Spouses[0].dob,\r\n conditions: client.clientProfile.Spouses[0].healthConditions || [], // Fix this\r\n RetirementAge: client.clientProfile.Spouses[0].retirementAge,\r\n PensionAmount: client.clientProfile.Spouses[0].pension,\r\n SocialSecurityPia: mmtInputs.PartnerSSMonthlyBenefit,\r\n SocialSecurityRetirementAge: mmtInputs.PartnerSocialSecurityAge,\r\n RetirementState: client.clientProfile.Spouses[0].state,\r\n LifeExpectancy: client.clientProfile.Spouses[0].LifeExpectancy || 0,\r\n });\r\n\r\n // client.clientProfile.Spouses = JSON.parse(client.clientProfile.Spouses);\r\n }\r\n\r\n let body = { People, IRR: client.clientProfile.IRR , HCModelVersion: 6, SalaryIncrease: mmtInputs.InflationRate, retirementState: client.clientProfile.RetirementState, PercentIncomeMAGI: mmtInputs.MagiIncomePercent, clientProfile: JSON.stringify(client.clientProfile), CompanyCode: user.CompanyCode, UserID: user.UserID, ClientID: user.ClientID }; // TODO: Grab organization HCModelVersion\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreReports/MedicareMeansTestingReport', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n // TODO: Update to use proper models instead of `any`\r\n getSSData(ssInputs, user): Observable {\r\n\r\n let body = { SSRequestObject: ssInputs, CompanyCode: user.CompanyCode, UserID: user.UserID, ClientID: user.ClientID }; // TODO: Grab organization HCModelVersion\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n return this.http.post(env + 'CoreReports/SocialSecurityReport', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getLTCData(ltcData: any, queryInfo: any): Observable {\r\n let body = { ltcData, clientID: queryInfo.clientID, userID: queryInfo.userID, orgID: queryInfo.orgID, clientRetirementAge: queryInfo.clientRetirementAge };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreReports/LongTermCareReport', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n // TODO: Update to use proper models instead of `any`\r\n getHCData(client: any, pExpenses: any, oopExpenses: any, spouse: any, includePartner: boolean): Observable {\r\n let People = [{\r\n CurrentAge: client.clientProfile.CurrentAge,\r\n Gender: client.client.GenderID,\r\n CurrentIncome: client.clientProfile.CurrentIncome,\r\n RetirementAge: client.clientProfile.RetirementAge,\r\n RetirementState: client.clientProfile.RetirementState,\r\n DateOfBirth: client.client.DOB,\r\n conditions: JSON.stringify({\r\n HCHBP: client.clientProfile.HCHBP,\r\n HCHC: client.clientProfile.HCHC,\r\n HCT2D: client.clientProfile.HCT2D,\r\n HCCD: client.clientProfile.HCCD,\r\n HCC: client.clientProfile.HCC,\r\n HCT: client.clientProfile.HCT,\r\n })\r\n }];\r\n\r\n if (includePartner) {\r\n People.push({\r\n CurrentAge: 0,\r\n Gender: spouse.gender,\r\n CurrentIncome: spouse.currentIncome,\r\n RetirementAge: spouse.retirementAge,\r\n RetirementState: client.clientProfile.RetirementState,\r\n DateOfBirth: spouse.dob,\r\n conditions: JSON.stringify({\r\n HCHBP: client.clientProfile.Spouses[0].HCHBP,\r\n HCHC: client.clientProfile.Spouses[0].HCHC,\r\n HCT2D: client.clientProfile.Spouses[0].HCT2D,\r\n HCCD: client.clientProfile.Spouses[0].HCCD,\r\n HCC: client.clientProfile.Spouses[0].HCC,\r\n HCT: client.clientProfile.Spouses[0].HCT,\r\n })\r\n });\r\n }\r\n\r\n let premiumExpenses = {\r\n partB: pExpenses.partB,\r\n partD: pExpenses.partD,\r\n medigap: pExpenses.medigap,\r\n dental: pExpenses.dental\r\n }\r\n\r\n let outOfPocketExpenses = {\r\n hospitalization: oopExpenses.hospitalization,\r\n docsTests: oopExpenses.docsTests,\r\n rx: oopExpenses.rx,\r\n dental: oopExpenses.dental,\r\n hearingServices: oopExpenses.hearingServices,\r\n vision: oopExpenses.vision,\r\n commercial: oopExpenses.commercial\r\n }\r\n\r\n let body = { People, HCModelVersion: 6, retirementState: client.clientProfile.RetirementState, premiumExpenses, outOfPocketExpenses, clientProfile: JSON.stringify(client.clientProfile) }; // TODO: Grab organization HCModelVersion\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n\r\n return this.http.post(env + 'CoreReports/HealthCareReport', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n\r\n getHCDataV2(ReportHC, user): Observable {\r\n let body = { ReportHC, CompanyCode: user.CompanyCode, UserID: user.UserID, ClientID: user.ClientID }; // TODO: Grab organization HCModelVersion\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n\r\n return this.http.post(env + 'CoreReports/HealthCareReportV2', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n createOrganization(OrganizationModel: any) {\r\n let body = OrganizationModel;\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/UpdateOrganization', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n generateLegacyReport(report) {\r\n let body = { report };\r\n let headers = new Headers({ \r\n 'Authorization': `bearer ${localStorage.getItem('bearer')}`,\r\n 'Accept': 'application/pdf',\r\n });\r\n\r\n return this.http.post(env + 'CoreOrganization/DownloadableLegacyReport', body, { responseType: ResponseContentType.Blob, headers })\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'application/pdf' });\r\n var reportName = report.title;\r\n\r\n if (report.reportTypeID) {\r\n reportName += report.reportTypeID == 1 ? \"Social_Security_Report\" : report.reportTypeID == 2 ? \"Means_Testing_Report\" : \"Health_Care_Report\";\r\n } else {\r\n reportName += report.ReportTypeID == 1 ? \"Social_Security_Report\" : report.ReportTypeID == 2 ? \"Means_Testing_Report\" : \"Health_Care_Report\";\r\n }\r\n \r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, reportName + '.pdf');\r\n }\r\n else {\r\n var url = window.URL.createObjectURL(blob);\r\n window.open(url);\r\n saveAs(blob, reportName + \".pdf\");\r\n }\r\n\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n generateRiskToleranceHealthcareReport(ReportFields, client, report) {\r\n let body = { ReportFields };\r\n let headers = new Headers({ \r\n 'Authorization': `bearer ${localStorage.getItem('bearer')}`,\r\n 'Accept': 'application/pdf',\r\n });\r\n\r\n return this.http.post(env + 'GenReport/GetRiskToleranceHealthcareReport', body, { responseType: ResponseContentType.Blob, headers })\r\n .map((res) => { \r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n generateReport(ReportFields, client, report) {\r\n let body = { ReportFields };\r\n let headers = new Headers({ \r\n 'Authorization': `bearer ${localStorage.getItem('bearer')}`,\r\n 'Accept': 'application/pdf',\r\n });\r\n\r\n let reportUrl = 'GetDownloadableReport';\r\n\r\n if (Number(report.ReportTypeID || report.reportTypeID) == 5) {\r\n reportUrl = 'GetRiskToleranceHealthcareReport';\r\n } else if (Number(report.ReportTypeID || report.reportTypeID) == 7) {\r\n reportUrl = 'GetRiskToleranceLongtermCareReport'\r\n }\r\n\r\n return this.http.post(env + `GenReport/${reportUrl}`, body, { responseType: ResponseContentType.Blob, headers })\r\n .map((res: Response) => { \r\n var blob = new Blob([res.blob()], { type: 'application/pdf' });\r\n\r\n if (client.FirstName) {\r\n var reportName = client.FirstName + \"_\" + client.LastName + \"_\";\r\n } else {\r\n var reportName = client.firstName + \"_\" + client.lastName + \"_\";\r\n }\r\n \r\n let type = \"\";\r\n \r\n switch(Number(report.ReportTypeID || report.reportTypeID)) {\r\n case 1:\r\n type = 'Social_Security_Report'\r\n break;\r\n case 2:\r\n type = 'Medicare_Means_Testing_Report'\r\n break;\r\n case 3:\r\n type = 'Healthcare_Report'\r\n break;\r\n case 4:\r\n type = 'Longterm_Care_Report'\r\n break;\r\n case 5:\r\n type = 'Risk_Tolerance_Healthcare_Report'\r\n break;\r\n case 6:\r\n type = 'Risk_Tolerance_Social_Security_Report'\r\n break;\r\n case 7:\r\n type = 'Risk_Tolerance_Longterm_Care_Report'\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n reportName += type;\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, reportName + '.pdf');\r\n } else {\r\n var url = window.URL.createObjectURL(blob);\r\n window.open(url);\r\n saveAs(blob, reportName + \".pdf\");\r\n }\r\n\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n \r\n createReport(Report: any, ReportMMT: any) {\r\n let body = { Report, ReportMMT };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/CreateMMTReport', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n createReportHC(Report: any, ReportHC: any) {\r\n let body = { Report, ReportHC };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n let reportUrl = Report.ReportTypeID == 3 ? 'CreateHCReport' : 'CreateHCRiskToleranceReport';\r\n\r\n return this.http.post(env + `CoreOrganization/${reportUrl}`, body, options)\r\n .map((res: Response) => {\r\n var result = res.json();\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n createReportLTC(Report: any, ReportLTC: any) {\r\n let body = { Report, ReportLTC };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n let reportUrl = Report.ReportTypeID == 4 ? 'CreateLTCReport' : 'CreateLTCRiskToleranceReport';\r\n\r\n return this.http.post(env + `CoreOrganization/${reportUrl}`, body, options)\r\n .map((res: Response) => {\r\n var result = res.json();\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n createReportSS(Report: any, ReportSS: any) {\r\n let body = { Report, ReportSS };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/CreateSSReport', body, options)\r\n .map((res: Response) => {\r\n var result = res.json();\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n createClient(UserModel: any, ClientProfile: any, RiskTolerance: any): Observable {\r\n let body = { UserModel, ClientProfile, RiskTolerance };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/UpdateClient', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n createAdvisor(UserModel: any): Observable {\r\n let body = { UserModel };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/UpdateAdvisor', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n updateAdvisor(UserModel: any): Observable {\r\n let body = { UserModel };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/UpdateAdvisor', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n UploadOrgDoc(formData: any): Observable {\r\n let headers = new Headers({ 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n\r\n let options = new RequestOptions({ headers: headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/UploadOrgDoc', formData, options)\r\n .map((res: Response) => {\r\n return res;\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n uploadOrgLogo(formData: any): Observable {\r\n // let headers = new Headers();\r\n let headers = new Headers({ 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n\r\n let options = new RequestOptions({ headers: headers });\r\n // let apiUrl1 = \"http://api.hvsfinancial.com.loc/api/CoreRegistration/UploadProfilePhoto\";\r\n\r\n return this.http.post(env + 'CoreOrganization/UploadOrgLogo', formData, options)\r\n .map((res: Response) => {\r\n return res;\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n saveProfileImage(formData: any): Observable {\r\n // let headers = new Headers();\r\n let headers = new Headers({ 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n\r\n let options = new RequestOptions({ headers: headers });\r\n // let apiUrl1 = \"http://api.hvsfinancial.com.loc/api/CoreRegistration/UploadProfilePhoto\";\r\n\r\n return this.http.post(env + 'CoreOrganization/UploadProfilePhoto', formData, options)\r\n .map((res: Response) => {\r\n return res;\r\n })\r\n .catch(this.handleError);\r\n\r\n }\r\n\r\n getProfileImage(): Observable {\r\n let headers = new Headers({ 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers: headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetProfileImage', {}, options)\r\n .map((res: Response) => {\r\n return res;\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n createSupportTicket(SupportModel: any): Observable {\r\n let body = { SupportModel };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/CreateSupportTicket', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n consumerTools(UserModel: any): Observable {\r\n let body = { UserModel };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/ConsumerTools', body, options)\r\n .map((res: any) => {\r\n return res._body;\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getPIA(PIACalculator: any): Observable {\r\n let body = { PIACalculator };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n return this.http.post(env + 'CoreReports/GetPIA', body, options)\r\n .map((res: any) => {\r\n return res._body;\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getLE(LEObject: any): Observable {\r\n let body = { LEObject };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreReports/GetLE', body, options)\r\n .map((res: any) => {\r\n return res._body;\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getMetrics(): Observable {\r\n let body = {};\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreOrganization/GetMetrics', body, options)\r\n .map((res: any) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getUnassignedLeads(): Observable {\r\n let body = {};\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreOrganization/GetUnassignedLeads', body, options)\r\n .map((res: any) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getUserLeads(): Observable {\r\n let body = {};\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreOrganization/GetUserLeads', body, options)\r\n .map((res: any) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getLeadInfo(leadRelationshipId): Observable {\r\n let body = { LeadRelationshipId : leadRelationshipId };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreOrganization/GetLeadInfo', body, options)\r\n .map((res: any) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n assignLead(leadRelationshipId, advisorId): Observable {\r\n let body = { LeadRelationshipId : leadRelationshipId, AdvisorID: advisorId };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreOrganization/ReassignLead', body, options)\r\n .map((res: any) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n archiveLead(leadRelationshipId): Observable {\r\n let body = { LeadRelationshipId : leadRelationshipId };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreOrganization/ArchiveLead', body, options)\r\n .map((res: any) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n updateOrgInfo(org): Observable {\r\n let body = { Organization : org };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreOrganization/UpdateOrgInfo', body, options)\r\n .map((res: any) => {\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n UploadDocumentItem(doc): Observable {\r\n let body = { Document : doc };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreOrganization/UploadDocumentItem', body, options)\r\n .map((res: any) => {\r\n return res; //.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n GetMarketingMaterial(): Observable {\r\n let body = { };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreOrganization/GetMarketingMaterial', body, options)\r\n .map((res: any) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n ReplaceInfoCenter(infoCenter): Observable {\r\n let body = { infoCenter: JSON.stringify(infoCenter) };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreOrganization/ReplaceInfoCenter', body, options)\r\n .map((res: any) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n ReplaceMarketingMaterial(marketingMaterial): Observable {\r\n let body = { marketingMaterial: JSON.stringify(marketingMaterial) };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreOrganization/ReplaceMarketingMaterial', body, options)\r\n .map((res: any) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n GetPaymentToken(): Observable {\r\n let body = { };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreOrganization/GetPaymentToken', body, options)\r\n .map((res: any) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n CompletePayment(obj): Observable {\r\n let body = { obj };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreRegistration/CompletePayment', body, options)\r\n .map((res: any) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n GetPricing(obj): Observable {\r\n let body = obj;\r\n let headers = new Headers({ 'Content-Type': 'application/json','Accept': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreRegistration/GetPricing', body, options)\r\n .map((res: any) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n GetInfoCenter(): Observable {\r\n let body = { };\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post(env + 'CoreOrganization/GetInfoCenter', body, options)\r\n .map((res: any) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getMetricDataLegacy(metricObject): Observable {\r\n let body = metricObject;\r\n let headers = new Headers({ \r\n 'Authorization': `bearer ${localStorage.getItem('bearer')}`,\r\n 'Accept': 'application/vnd.ms-excel',\r\n });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetOrganizationMetricsLegacy', body, { responseType: ResponseContentType.Blob, headers })\r\n .map((res: Response) => { \r\n var blob = new Blob([res.blob()], { type: 'application/vnd.ms-excel' });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, 'metric-data.xlsx');\r\n }\r\n else {\r\n var url = window.URL.createObjectURL(blob);\r\n window.open(url);\r\n saveAs(blob, 'metric-data.xlsx');\r\n }\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getMetricData(metricObject): Observable {\r\n let body = metricObject;\r\n let headers = new Headers({ \r\n 'Authorization': `bearer ${localStorage.getItem('bearer')}`,\r\n 'Accept': 'application/vnd.ms-excel',\r\n });\r\n let options = new RequestOptions({ headers });\r\n\r\n // return this.http.post(env + 'CoreOrganization/GetOrganizationMetrics', body, { responseType: ResponseContentType.Blob, headers })\r\n return this.http.post(env + 'CoreOrganization/GetOrganizationMetrics', body, options)\r\n .map((res: Response) => { \r\n \r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getMetricDownloadableReport(metricObject): Observable {\r\n let body = metricObject;\r\n let headers = new Headers({ \r\n 'Authorization': `bearer ${localStorage.getItem('bearer')}`,\r\n 'Accept': 'application/vnd.ms-excel',\r\n });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetMetricDownloadableReport', body, { responseType: ResponseContentType.Blob, headers })\r\n .map((res: Response) => { \r\n var blob = new Blob([res.blob()], { type: 'application/vnd.ms-excel' });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, 'metric-data.xlsx');\r\n }\r\n else {\r\n saveAs(blob, 'metric-data.xlsx');\r\n }\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getAdvisorMetricData(metricObject): Observable {\r\n let body = metricObject;\r\n let headers = new Headers({ \r\n 'Authorization': `bearer ${localStorage.getItem('bearer')}`,\r\n 'Accept': 'application/vnd.ms-excel',\r\n });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetAdvisorMetrics', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getClientMetricData(metricObject): Observable {\r\n let body = metricObject;\r\n let headers = new Headers({ \r\n 'Authorization': `bearer ${localStorage.getItem('bearer')}`,\r\n 'Accept': 'application/vnd.ms-excel',\r\n });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetClientMetrics', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getGlobalOAMetricData(metricObject): Observable {\r\n let body = metricObject;\r\n let headers = new Headers({ \r\n 'Authorization': `bearer ${localStorage.getItem('bearer')}`,\r\n 'Accept': 'application/vnd.ms-excel',\r\n });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetGlobalOAMetrics', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getGlobalMetricData(metricObject): Observable {\r\n let body = metricObject;\r\n let headers = new Headers({ \r\n 'Authorization': `bearer ${localStorage.getItem('bearer')}`,\r\n 'Accept': 'application/vnd.ms-excel',\r\n });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetGlobalMetrics', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getGlobalSearchMetricData(metricObject): Observable {\r\n let body = metricObject;\r\n let headers = new Headers({ \r\n 'Authorization': `bearer ${localStorage.getItem('bearer')}`,\r\n 'Accept': 'application/vnd.ms-excel',\r\n });\r\n let options = new RequestOptions({ headers });\r\n\r\n return this.http.post(env + 'CoreOrganization/GetGlobalSearchMetrics', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n private handleError(error: any) {\r\n if (error.status === 401) {\r\n // BOTH\r\n localStorage.clear();\r\n window.location.href = window.location.origin;\r\n }\r\n\r\n return Observable.throw(error);\r\n }\r\n\r\n //ZSS added this for the Public pages\r\n post(url: string, model: any): Observable {\r\n let body = model;\r\n\r\n return this._http.post(env + url, body, {\r\n headers: new HttpHeaders().set('Content-Type', 'application/json')\r\n .set('Accept', 'application/json')\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getRiskTolerancePortfolio(riskToleranceModel: any): Observable {\r\n let body = riskToleranceModel;\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n return this.http.post(env + 'CoreReports/GetRiskTolerancePortfolio', body, options)\r\n .map((res: Response) => {\r\n return res.json();\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class MenuService {\r\n\r\n constructor() { }\r\n\r\n getMenu(): Array {\r\n const menu = [\r\n { name: 'login', path: './login', children: [] },\r\n { name: 'home', path: '/', children: [] },\r\n { name: 'home', path: './home', children: [] },\r\n { name: 'metrics', path: './metrics', children: [] },\r\n { name: 'clients', path: './clients', children: [] },\r\n { name: 'applications', path: './applications', children: [] },\r\n { name: 'marketing-material', path: './marketing-material', children: [] },\r\n { name: 'info-center', path: './info-center', children: [] },\r\n { name: 'advisors', path: './advisors', children: [] },\r\n { name: 'organizations', path: './organizations', children: [] },\r\n { name: 'admin', path: './admin', children: [] }, \r\n { name: 'register', path: './register', children: [] }, \r\n { name: 'sign-up', path: './sign-up', children: [] }, \r\n { name: 'forgotPassword', path: './forgotPassword', children: [] }, \r\n { name: 'resetPassword/:id', path: './resetPassword/:id', children: [] }, \r\n //{ name: 'resetPassword', path: './resetPassword', children: [{ name: 'user link', path: './', children:[]}] }, \r\n { \r\n name: 'Illustrations', \r\n path: './reports', \r\n children: [\r\n {\r\n name: 'Search Clients',\r\n path: './create',\r\n children: [\r\n { \r\n name: 'Healthcare Illustration',\r\n path: './hc'\r\n },\r\n { \r\n name: 'Healthcare Illustration',\r\n path: './hc?am=1'\r\n },\r\n { \r\n name: 'Social Security Illustration',\r\n path: './ss'\r\n },\r\n { \r\n name: 'Medicare Means Testing Illustration',\r\n path: './mmtv2'\r\n },\r\n { \r\n name: 'Long Term Care Illustration',\r\n path: './ltc'\r\n },\r\n { \r\n name: 'Long Term Care Illustration',\r\n path: './ltc?am=1'\r\n } \r\n ]\r\n }\r\n ] \r\n },\r\n ];\r\n\r\n return menu;\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { Http, Headers, RequestOptions, Response } from '@angular/http';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Subject } from 'rxjs/Subject';\r\n\r\nimport 'rxjs/add/operator/map';\r\n\r\n@Injectable()\r\nexport class OrganizationService {\r\n constructor (private http: Http) {}\r\n\r\n getOrganizations() {\r\n let body = {};\r\n let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization': `bearer ${localStorage.getItem('bearer')}` });\r\n let options = new RequestOptions({ headers });\r\n \r\n return this.http.post('https://apidev.hvsfinancial.com/api/CoreOrganization/GetOrganizations', body, options)\r\n .map((response: Response) => {\r\n return response;\r\n });\r\n }\r\n}\r\n","import { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/range';\r\n\r\nexport class PagerService {\r\n getPager(totalItems: number, currentPage: number = 1, pageSize: number = 10) {\r\n // calculate total pages\r\n let totalPages = Math.ceil(totalItems / pageSize);\r\n let startPage: number, endPage: number = 10;\r\n if (totalPages <= 10 || currentPage <= 6) {\r\n // less than 10 total pages so show all\r\n startPage = 1;\r\n } else {\r\n // more than 10 total pages so calculate start page\r\n if (currentPage + 4 >= totalPages) {\r\n startPage = totalPages - 9;\r\n } else {\r\n startPage = currentPage - 5;\r\n }\r\n }\r\n\r\n // calculate start and end item indexes\r\n let startIndex = (currentPage - 1) * pageSize;\r\n let endIndex = Math.min(startIndex + pageSize - 1, totalItems - 1);\r\n\r\n let pages = Array.from(new Array(endPage), (x,i) => i + startPage)\r\n // create an array of pages to ng-repeat in the pager control\r\n // let pages = Array.range(startPage, endPage + 1);\r\n \r\n // return object with all pager properties required by the view\r\n return {\r\n totalItems: totalItems,\r\n currentPage: currentPage,\r\n pageSize: pageSize,\r\n totalPages: totalPages,\r\n startPage: startPage,\r\n endPage: endPage,\r\n startIndex: startIndex,\r\n endIndex: endIndex,\r\n pages: pages\r\n };\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Subject } from 'rxjs/Subject';\r\n\r\n@Injectable()\r\nexport class SidebarService {\r\n // TODO: Make this an enum\r\n // Fully opened = 0\r\n // Partially open (icons visible) = 1\r\n // Closed = 2\r\n sidebarState: Number;\r\n \r\n // user$: Observable;\r\n // private userSubject: Subject;\r\n\r\n constructor() {\r\n this.sidebarState = 0;\r\n // this.userSubject = new Subject();\r\n // this.user$ = this.userSubject.asObservable();\r\n }\r\n\r\n open() {\r\n this.sidebarState = 0;\r\n }\r\n\r\n openPartial() {\r\n this.sidebarState = 1;\r\n }\r\n\r\n close() {\r\n this.sidebarState = 2;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Subject } from 'rxjs/Subject';\r\n\r\nimport { User } from '../models/user';\r\n\r\n@Injectable()\r\nexport class UserService {\r\n user = new User;\r\n\r\n // user$: Observable;\r\n // private userSubject: Subject;\r\n\r\n constructor() {\r\n // this.userSubject = new Subject();\r\n // this.user$ = this.userSubject.asObservable();\r\n }\r\n\r\n setAuthentication(response) {\r\n localStorage.setItem('bearer', response.access_token);\r\n localStorage.setItem('roleId', response.roles);\r\n localStorage.setItem('userId', response.userID);\r\n localStorage.setItem('expiresIn', response.expires_in);\r\n }\r\n\r\n setUserInformation(response) {\r\n localStorage.setItem('firstName', response.FirstName);\r\n localStorage.setItem('lastName', response.LastName);\r\n localStorage.setItem('profilePhotoPath', response.ProfilePhotoPath);\r\n }\r\n\r\n getUserInformation() {\r\n this.user.firstName = localStorage.getItem('firstName');\r\n this.user.lastName = localStorage.getItem('lastName');\r\n return this.user;\r\n }\r\n\r\n // remove() {\r\n // this.selectedModal = {};\r\n // }\r\n\r\n // open() {\r\n // this.selectedModal.open();\r\n // }\r\n\r\n // close() {\r\n // this.selectedModal.close();\r\n // } \r\n}","module.exports = \":host {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 20px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.section {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.section-title {\\r\\n font-size: 15px;\\r\\n color: #555;\\r\\n margin: 10px 0 0 0;\\r\\n}\\r\\n\\r\\nspan {\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.section div {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n padding: 10px 10px 0 0;\\r\\n flex: 2 0 45%;\\r\\n}\\r\\n\\r\\ninput {\\r\\n background:#FFF;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\nbutton {\\r\\n margin: 10px 0 10px 0;\\r\\n height: 40px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFdBQVc7SUFDWCxZQUFZO0lBQ1osZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYixlQUFlO0lBQ2YsOEJBQThCO0FBQ2xDOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFdBQVc7SUFDWCxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsV0FBVztBQUNmOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLFlBQVk7QUFDaEIiLCJmaWxlIjoiLi4vc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4udGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5zZWN0aW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi5zZWN0aW9uLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xyXG59XHJcblxyXG5zcGFuIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uc2VjdGlvbiBkaXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMCAwO1xyXG4gICAgZmxleDogMiAwIDQ1JTtcclxufVxyXG5cclxuaW5wdXQge1xyXG4gICAgYmFja2dyb3VuZDojRkZGO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuYnV0dG9uIHtcclxuICAgIG1hcmdpbjogMTBweCAwIDEwcHggMDtcclxuICAgIGhlaWdodDogNDBweDtcclxufVxyXG4iXX0= */\"","module.exports = \"User Settings\\r\\n\\r\\nPersonal Information\\r\\n
\\r\\n
\\r\\n First Name\\r\\n \\r\\n
\\r\\n
\\r\\n Last Name\\r\\n \\r\\n
\\r\\n
\\r\\n Phone Number\\r\\n \\r\\n
\\r\\n
\\r\\n Email\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\nReport Settings\\r\\n
\\r\\n
\\r\\n Social Security Report\\r\\n \\r\\n
\\r\\n
\\r\\n Medicare Means Testing Report\\r\\n \\r\\n
\\r\\n
\\r\\n Healthcare Report\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\nChange Password\\r\\n
\\r\\n
\\r\\n Previous Password\\r\\n \\r\\n
\\r\\n
\\r\\n New Password\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-settings',\r\n templateUrl: './settings.component.html',\r\n styleUrls: ['./settings.component.css']\r\n})\r\nexport class SettingsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \":host {\\r\\n}\\r\\n\\r\\ndiv {\\r\\n font-size: 13px;\\r\\n color: #555;\\r\\n padding: 20px;\\r\\n width: 100%;\\r\\n background-color: #fff;\\r\\n font-size: 12px;\\r\\n border-top: 2px #f5f5f5 solid;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NoYXJlZC9hZHZpc29yLWJhci9hZHZpc29yLWJhci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsV0FBVztJQUNYLGFBQWE7SUFDYixXQUFXO0lBQ1gsc0JBQXNCO0lBQ3RCLGVBQWU7SUFDZiw2QkFBNkI7QUFDakMiLCJmaWxlIjoiLi4vc2hhcmVkL2Fkdmlzb3ItYmFyL2Fkdmlzb3ItYmFyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbn1cclxuXHJcbmRpdiB7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBib3JkZXItdG9wOiAycHggI2Y1ZjVmNSBzb2xpZDtcclxufVxyXG4iXX0= */\"","module.exports = \"
\\r\\n Selected User: {{advisorName}}\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { AdvisorBarService } from './advisor-bar.service';\r\n\r\n@Component({\r\n selector: 'app-advisor-bar',\r\n templateUrl: './advisor-bar.component.html',\r\n styleUrls: ['./advisor-bar.component.css']\r\n})\r\nexport class AdvisorBarComponent implements OnInit {\r\n public advisorName: any;\r\n public advisorID: any;\r\n public advisorOrgID: any;\r\n\r\n public role: Number;\r\n\r\n constructor(private advisorBarService: AdvisorBarService) {\r\n advisorBarService.advisorBar$.subscribe(advisorBar => {\r\n this.advisorName = localStorage.getItem(\"selectedAdvisor\") || '';\r\n this.advisorID = localStorage.getItem(\"selectedAdvisorID\") || '';\r\n this.advisorOrgID = localStorage.getItem(\"selectedAdvisorOrgID\") || '';\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n this.advisorName = localStorage.getItem(\"selectedAdvisor\") || '';\r\n this.advisorID = localStorage.getItem(\"selectedAdvisorID\") || '';\r\n this.advisorOrgID = localStorage.getItem(\"selectedAdvisorOrgID\") || '';\r\n\r\n this.role = Number(localStorage.getItem('roleId'));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Subject } from 'rxjs/Subject';\r\n\r\n@Injectable()\r\nexport class AdvisorBarService {\r\n public advisorBar$: Observable;\r\n private advisorBarSubject: Subject;\r\n \r\n constructor() {\r\n this.advisorBarSubject = new Subject();\r\n this.advisorBar$ = this.advisorBarSubject.asObservable();\r\n }\r\n\r\n refresh() {\r\n this.advisorBarSubject.next();\r\n }\r\n \r\n // add(message: string, type: any, clickable: number = 0, duration: number = 3000) {\r\n // var snackBarMessage = {\r\n // message,\r\n // type,\r\n // clickable,\r\n // duration\r\n // }\r\n \r\n // this.snackBarSubject.next(snackBarMessage);\r\n // }\r\n }\r\n","module.exports = \"/* :host {\\r\\n}\\r\\n\\r\\ndiv {\\r\\n font-size: 13px;\\r\\n color: #555;\\r\\n padding: 20px;\\r\\n width: 100%;\\r\\n background-color: #fff;\\r\\n font-size: 12px;\\r\\n border-top: 2px #f5f5f5 solid;\\r\\n}\\r\\n */\\r\\n.breadcrumb-item + .breadcrumb-item::before {\\r\\n display: inline-block;\\r\\n padding-right: .5rem;\\r\\n padding-left: .5rem;\\r\\n /*color: #555;*/\\r\\n color: #868e96;\\r\\n content: \\\"/\\\";\\r\\n}\\r\\n.breadcrumb-item.active {\\r\\n /*color: #555;*/\\r\\n color: #868e96;\\r\\n}\\r\\na {\\r\\n //color: #E58929;\\r\\n color: #3a87c7;\\r\\n text-decoration: none;\\r\\n background-color: transparent;\\r\\n -webkit-text-decoration-skip: objects;\\r\\n}\\r\\n.breadcrumb {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n padding: .75rem 1rem;\\r\\n margin-bottom: 1rem;\\r\\n list-style: none;\\r\\n /* background-color: #e9ecef; */\\r\\n border-radius: .25rem;\\r\\n}\\r\\ndl, ol, ul {\\r\\n margin-top: 0;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\nol {\\r\\n display: block;\\r\\n list-style-type: decimal;\\r\\n -webkit-margin-before: 1em;\\r\\n margin-block-start: 1em;\\r\\n -webkit-margin-after: 1em;\\r\\n margin-block-end: 1em;\\r\\n -webkit-margin-start: 0px;\\r\\n margin-inline-start: 0px;\\r\\n -webkit-margin-end: 0px;\\r\\n margin-inline-end: 0px;\\r\\n -webkit-padding-start: 40px;\\r\\n padding-inline-start: 40px;\\r\\n}\\r\\n.col {\\r\\n flex-basis: 0;\\r\\n flex-grow: 1;\\r\\n max-width: 100%;\\r\\n}\\r\\n.col{\\r\\n position: relative;\\r\\n width: 100%;\\r\\n min-height: 1px;\\r\\n padding-right: 15px;\\r\\n /* padding-left: 15px; */\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NoYXJlZC9icmVhZGNydW1icy9icmVhZGNydW1icy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7RUFZRTtBQUNGO0VBQ0UscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGNBQWM7RUFDZCxZQUFZO0FBQ2Q7QUFFQTtFQUNFLGVBQWU7RUFDZixjQUFjO0FBQ2hCO0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLHFCQUFxQjtFQUNyQiw2QkFBNkI7RUFDN0IscUNBQXFDO0FBQ3ZDO0FBRUE7SUFFSSxhQUFhO0lBRWIsZUFBZTtJQUNmLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLCtCQUErQjtJQUMvQixxQkFBcUI7QUFDekI7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7QUFFQTtJQUNJLGNBQWM7SUFDZCx3QkFBd0I7SUFDeEIsMEJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBcUI7WUFBckIscUJBQXFCO0lBQ3JCLHlCQUF3QjtZQUF4Qix3QkFBd0I7SUFDeEIsdUJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0QiwyQkFBMEI7WUFBMUIsMEJBQTBCO0FBQzlCO0FBRUE7SUFFSSxhQUFhO0lBRWIsWUFBWTtJQUNaLGVBQWU7QUFDbkI7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsZUFBZTtJQUNmLG1CQUFtQjtHQUNwQix5QkFBeUI7QUFDNUIiLCJmaWxlIjoiLi4vc2hhcmVkL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiA6aG9zdCB7XHJcbn1cclxuXHJcbmRpdiB7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBib3JkZXItdG9wOiAycHggI2Y1ZjVmNSBzb2xpZDtcclxufVxyXG4gKi9cclxuLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBhZGRpbmctcmlnaHQ6IC41cmVtO1xyXG4gIHBhZGRpbmctbGVmdDogLjVyZW07XHJcbiAgLypjb2xvcjogIzU1NTsqL1xyXG4gIGNvbG9yOiAjODY4ZTk2O1xyXG4gIGNvbnRlbnQ6IFwiL1wiO1xyXG59XHJcblxyXG4uYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSB7XHJcbiAgLypjb2xvcjogIzU1NTsqL1xyXG4gIGNvbG9yOiAjODY4ZTk2O1xyXG59XHJcblxyXG5hIHtcclxuICAvL2NvbG9yOiAjRTU4OTI5O1xyXG4gIGNvbG9yOiAjM2E4N2M3O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xyXG59XHJcblxyXG4uYnJlYWRjcnVtYiB7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgcGFkZGluZzogLjc1cmVtIDFyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIC8qIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7ICovXHJcbiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07XHJcbn1cclxuXHJcbmRsLCBvbCwgdWwge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbm9sIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xyXG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAxZW07XHJcbiAgICBtYXJnaW4tYmxvY2stZW5kOiAxZW07XHJcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwcHg7XHJcbiAgICBtYXJnaW4taW5saW5lLWVuZDogMHB4O1xyXG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDQwcHg7XHJcbn1cclxuXHJcbi5jb2wge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7XHJcbiAgICBmbGV4LWJhc2lzOiAwO1xyXG4gICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jb2x7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbiAgIC8qICBwYWRkaW5nLWxlZnQ6IDE1cHg7ICovXHJcbn1cclxuXHJcbiJdfQ== */\"","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n
    \\r\\n
  1. \\r\\n \\r\\n {{ item.name }}\\r\\n \\r\\n {{ item.name }}\\r\\n
  2. \\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { MenuService } from '../../services/menu.service';\r\nimport { GlobalService } from '../../services/global.service';\r\n\r\n@Component({\r\n selector: 'breadcrumbs',\r\n templateUrl: './breadcrumbs.component.html',\r\n styleUrls: ['./breadcrumbs.component.css']\r\n})\r\nexport class BreadCrumbComponent implements OnInit {\r\n/* name: string;\r\n menu: Array = [];\r\n breadcrumbList: Array = []; */\r\n breadcrumbList: Array = [];\r\n constructor(private _router: Router, private menuService: MenuService, public global: GlobalService) {\r\n this.breadcrumbList = global.breadcrumbList;\r\n }\r\n\r\n ngOnInit() {\r\n /* this.menu = this.menuService.getMenu();\r\n this.listenRouting(); */\r\n this.breadcrumbList = this.global.breadcrumbList;\r\n }\r\n\r\n onClickBreadCrumb(link){\r\n this._router.navigate([link]);\r\n }\r\n\r\n /* listenRouting() {\r\n let routerUrl: string, routerList: Array, target: any;\r\n\r\n this._router.events.subscribe((router: any) => {\r\n routerUrl = router.urlAfterRedirects;\r\n if (routerUrl && typeof routerUrl === 'string') {\r\n \r\n target = this.menu;\r\n this.breadcrumbList.length = 0;\r\n routerList = routerUrl.slice(1).split('/');\r\n routerList.forEach((router, index) => {\r\n target = target.find(page => page.path.slice(2) === router);\r\n this.breadcrumbList.push({\r\n name: target.name,//(target.name === undefined) ? '/' : target.name,\r\n path: (index === 0) ? target.path : `${this.breadcrumbList[index-1].path}/${target.path.slice(2)}`\r\n });\r\n \r\n if (index+1 !== routerList.length) {\r\n target = target.children;\r\n }\r\n });\r\n\r\n console.log('breadcrumb',this.breadcrumbList);\r\n }\r\n });\r\n } */\r\n}\r\n","module.exports = \":host {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\ni {\\r\\n cursor: pointer;\\r\\n font-size: 0.8rem;\\r\\n padding: 0 5px 5px 5px;\\r\\n}\\r\\n\\r\\n.tool-tip-modal {\\r\\n position: absolute;\\r\\n background-color: #fff;\\r\\n padding: 10px;\\r\\n top: 0;\\r\\n left: 0;\\r\\n margin-top: -10px;\\r\\n border: 1px #d5d5d5 solid;\\r\\n z-index: 100;\\r\\n width: 300px;\\r\\n margin-left: -150px;\\r\\n font-size: 0.9rem!important;\\r\\n color: #555!important;\\r\\n font-weight: unset !important;\\r\\n}\\r\\n\\r\\n.offsetLeft {\\r\\n margin-left: -300px;\\r\\n}\\r\\n\\r\\n.offsetRight {\\r\\n margin-left: 0px;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NoYXJlZC9pbmZvLWljb24vaW5mby1pY29uLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsYUFBYTtJQUNiLE1BQU07SUFDTixPQUFPO0lBQ1AsaUJBQWlCO0lBQ2pCLHlCQUF5QjtJQUN6QixZQUFZO0lBQ1osWUFBWTtJQUNaLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0IscUJBQXFCO0lBQ3JCLDZCQUE2QjtBQUNqQzs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQiIsImZpbGUiOiIuLi9zaGFyZWQvaW5mby1pY29uL2luZm8taWNvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG5pIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgcGFkZGluZzogMCA1cHggNXB4IDVweDtcclxufVxyXG5cclxuLnRvb2wtdGlwLW1vZGFsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggI2Q1ZDVkNSBzb2xpZDtcclxuICAgIHotaW5kZXg6IDEwMDtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMTUwcHg7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbSFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogIzU1NSFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogdW5zZXQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm9mZnNldExlZnQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0zMDBweDtcclxufVxyXG5cclxuLm9mZnNldFJpZ2h0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbn1cclxuXHJcbiJdfQ== */\"","module.exports = \"\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-info-icon',\r\n templateUrl: './info-icon.component.html',\r\n styleUrls: ['info-icon.component.css']\r\n})\r\n\r\nexport class InfoIconComponent implements OnInit {\r\n\r\n @Input() message: string = \"\";\r\n @Input() offsetLeft: boolean = false;\r\n @Input() offsetRight: boolean = false;\r\n \r\n public isToolTipVisible: boolean = false;\r\n // TODO: REMOVE THIS LATER\r\n public visible: boolean = false;\r\n \r\n constructor() {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n ngOnChanges() {\r\n\r\n }\r\n\r\n mouseEnter() {\r\n this.isToolTipVisible = true;\r\n }\r\n\r\n mouseLeave() {\r\n this.isToolTipVisible = false;\r\n }\r\n}","module.exports = \":host {\\r\\n \\r\\n}\\r\\n\\r\\n.loading {\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n z-index: 1000;\\r\\n background-color: rgba(0,0,0,0.8);\\r\\n color: #fff;\\r\\n text-transform: uppercase;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.loading-text {\\r\\n margin-left: -55px;\\r\\n margin-top: 130px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NoYXJlZC9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWTtJQUNaLGFBQWE7SUFDYixpQ0FBaUM7SUFDakMsV0FBVztJQUNYLHlCQUF5QjtJQUN6QixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixpQkFBaUI7QUFDckIiLCJmaWxlIjoiLi4vc2hhcmVkL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gICAgXHJcbn1cclxuXHJcbi5sb2FkaW5nIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC44KTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5sb2FkaW5nLXRleHQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC01NXB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTMwcHg7XHJcbn1cclxuIl19 */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Loading\\r\\n
\\r\\n
\"","import { Component, Input, OnInit, AfterViewInit } from '@angular/core';\r\nimport { Router, NavigationStart } from '@angular/router';\r\n\r\nimport { LoadingService } from './loading.service';\r\n\r\n@Component({\r\n selector: 'app-loading',\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['loading.component.css']\r\n})\r\n\r\nexport class LoadingComponent implements AfterViewInit {\r\n public isVisible;\r\n public loadingSubscription;\r\n\r\n constructor(private loadingService: LoadingService, private router: Router) {\r\n this.loadingSubscription = loadingService.loading$.subscribe(status => {\r\n this.isVisible = status;\r\n });\r\n\r\n router.events.forEach((event) => {\r\n if (event instanceof NavigationStart) {\r\n // console.log('change');\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n /* let head = document.getElementsByTagName('head')[0];\r\n let style = document.createElement('link');\r\n style.rel = 'stylesheet';\r\n style.href = 'hvam.css';\r\n head.appendChild(style);\r\n console.log('style', head); */\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Subject } from 'rxjs/Subject';\r\n\r\n@Injectable()\r\nexport class LoadingService {\r\n// public modal$: Observable;\r\n// private modalNameSubject: Subject;\r\n\r\n public loading$: Observable;\r\n public loadingSubject: Subject;\r\n public isCurrentlyLoading: Boolean = false;\r\n\r\n constructor() {\r\n this.loadingSubject = new Subject();\r\n this.loading$ = this.loadingSubject.asObservable();\r\n }\r\n\r\n isLoading(status) {\r\n this.loadingSubject.next(status);\r\n this.isCurrentlyLoading = status;\r\n }\r\n}","module.exports = \":host {\\r\\n min-width: 300px;\\r\\n width: 100%;\\r\\n height: 175px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n border-radius: 10px;\\r\\n color: #fff;\\r\\n position: relative;\\r\\n flex-wrap: wrap;\\r\\n }\\r\\n \\r\\n .rectangle-progress-icon {\\r\\n content: \\\"\\\\f245\\\";\\r\\n font-family: FontAwesome;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n font-size: 80px;\\r\\n color: #fff;\\r\\n z-index: 1;\\r\\n margin: 20px;\\r\\n opacity: 0.2;\\r\\n }\\r\\n \\r\\n .title {\\r\\n font-size: 14px;\\r\\n margin: 15px 0px 15px 10px;\\r\\n }\\r\\n \\r\\n .action-counter {\\r\\n font-size: 40px;\\r\\n font-weight: bold;\\r\\n letter-spacing: 2px;\\r\\n margin: 0px 0px 0px 10px;\\r\\n }\\r\\n \\r\\n .action-progress {\\r\\n height: 5px;\\r\\n width: 100%;\\r\\n background-color: #555;\\r\\n margin: 10px 0px 10px 0px;\\r\\n position: relative;\\r\\n }\\r\\n \\r\\n .action-progress-bar {\\r\\n position: absolute;\\r\\n z-index: 1;\\r\\n background-color: #fff;\\r\\n height: 5px;\\r\\n content: '';\\r\\n }\\r\\n \\r\\n .note {\\r\\n font-size: 12px;\\r\\n margin: 0px 0px 10px 10px;\\r\\n }\\r\\n \\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NoYXJlZC9tZXRyaWMtcmVjdGFuZ2xlL21ldHJpYy1yZWN0YW5nbGUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsYUFBYTtJQUNiLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsZUFBZTtFQUNqQjs7RUFFQTtJQUNFLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIsa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixlQUFlO0lBQ2YsV0FBVztJQUNYLFVBQVU7SUFDVixZQUFZO0lBQ1osWUFBWTtFQUNkOztFQUVBO0lBQ0UsZUFBZTtJQUNmLDBCQUEwQjtFQUM1Qjs7RUFFQTtJQUNFLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLHdCQUF3QjtFQUMxQjs7RUFFQTtJQUNFLFdBQVc7SUFDWCxXQUFXO0lBQ1gsc0JBQXNCO0lBQ3RCLHlCQUF5QjtJQUN6QixrQkFBa0I7RUFDcEI7O0VBRUE7SUFDRSxrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLHNCQUFzQjtJQUN0QixXQUFXO0lBQ1gsV0FBVztFQUNiOztFQUVBO0lBQ0UsZUFBZTtJQUNmLHlCQUF5QjtFQUMzQiIsImZpbGUiOiIuLi9zaGFyZWQvbWV0cmljLXJlY3RhbmdsZS9tZXRyaWMtcmVjdGFuZ2xlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDE3NXB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgfVxyXG4gIFxyXG4gIC5yZWN0YW5nbGUtcHJvZ3Jlc3MtaWNvbiB7XHJcbiAgICBjb250ZW50OiBcIlxcZjI0NVwiO1xyXG4gICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBmb250LXNpemU6IDgwcHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBtYXJnaW46IDIwcHg7XHJcbiAgICBvcGFjaXR5OiAwLjI7XHJcbiAgfVxyXG4gIFxyXG4gIC50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW46IDE1cHggMHB4IDE1cHggMTBweDtcclxuICB9XHJcbiAgXHJcbiAgLmFjdGlvbi1jb3VudGVyIHtcclxuICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgIG1hcmdpbjogMHB4IDBweCAwcHggMTBweDtcclxuICB9XHJcbiAgXHJcbiAgLmFjdGlvbi1wcm9ncmVzcyB7XHJcbiAgICBoZWlnaHQ6IDVweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcclxuICAgIG1hcmdpbjogMTBweCAwcHggMTBweCAwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG4gIFxyXG4gIC5hY3Rpb24tcHJvZ3Jlc3MtYmFyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgaGVpZ2h0OiA1cHg7XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcbiAgXHJcbiAgLm5vdGUge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggMTBweDtcclxuICB9XHJcbiAgIl19 */\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n{{title}}\\r\\n{{actionCounter}}\\r\\n
\\r\\n
\\r\\n
\\r\\n{{note}}\\r\\n\"","import { Component, Input, ViewChild, ElementRef, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-metric-rectangle',\r\n templateUrl: './metric-rectangle.component.html',\r\n styleUrls: ['metric-rectangle.component.css']\r\n})\r\n\r\nexport class MetricRectangleComponent implements OnInit {\r\n @Input('title') title: string;\r\n @Input('actionCounter') actionCounter: number;\r\n @Input('actionProgress') actionProgress: string;\r\n @Input('note') note: string;\r\n @Input('icon') icon: string;\r\n @Input('color') color: string;\r\n\r\n @ViewChild('progressBar') progressBar: ElementRef;\r\n \r\n self:ElementRef;\r\n\r\n constructor(myElement: ElementRef) {\r\n this.self = myElement;\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.progressBar.nativeElement.style.width = this.actionProgress + \"%\";\r\n this.self.nativeElement.style.backgroundColor = this.color;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n // ngOnInit() {\r\n // this.animateNumber(2000);\r\n // }\r\n\r\n // animateNumber(duration) {\r\n // var range = this.actionCounter - 0;\r\n // var current = 0;\r\n // var increment = this.actionCounter > 0 ? 1 : -1;\r\n // var stepTime = Math.abs(Math.floor(duration / range));\r\n // var timer = setInterval(function () {\r\n // current += increment;\r\n // // el.nativeElement.innerText = current;\r\n // if (current == this.actionCounter) {\r\n // clearInterval(timer);\r\n // }\r\n // }, stepTime);\r\n // }\r\n}\r\n","module.exports = \"/* i.fa-life-ring a {\\r\\n color: #E58929 !important;\\r\\n}\\r\\n */\\r\\n.container {\\r\\n position: absolute;\\r\\n z-index: 2;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n top: 0;\\r\\n left: 0;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n background-color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n.content {\\r\\n width: 80%;\\r\\n height: 80%;\\r\\n position: relative;\\r\\n}\\r\\n.hidden {\\r\\n display: none;\\r\\n}\\r\\n.visible {\\r\\n display: flex;\\r\\n -webkit-animation-name: AnimateModalIn;\\r\\n animation-name: AnimateModalIn;\\r\\n -webkit-animation-duration: 1s;\\r\\n animation-duration: 1s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n@-webkit-keyframes AnimateModalIn {\\r\\n 0% {\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n@keyframes AnimateModalIn {\\r\\n 0% {\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n.edit-profile .close-container {\\r\\n padding-right: 7px;\\r\\n}\\r\\n.hc-projections .close-modal {\\r\\n margin-right: 2px;\\r\\n}\\r\\n.close-modal {\\r\\n position: fixed;\\r\\n margin: 10px 25px 0 0;\\r\\n font-size: 1.3rem;\\r\\n color: #E58929;\\r\\n cursor: pointer;\\r\\n z-index: 1;\\r\\n}\\r\\n.modal-header {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n}\\r\\n.modal-content {\\r\\n background-color: #f5f5f5;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n overflow: hidden;\\r\\n -webkit-animation-name: animate-modal-content-in;\\r\\n animation-name: animate-modal-content-in;\\r\\n -webkit-animation-duration: 1.5s;\\r\\n animation-duration: 1.5s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n.modal-header-title {\\r\\n font-size: 24px;\\r\\n color: #555;\\r\\n margin-top: 25px;\\r\\n -webkit-animation-name: animate-header-title;\\r\\n animation-name: animate-header-title;\\r\\n -webkit-animation-duration: 1s;\\r\\n animation-duration: 1s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n@-webkit-keyframes animate-header-title {\\r\\n 0% {\\r\\n margin-right: -700px;\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n margin-right: 0px;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n@keyframes animate-header-title {\\r\\n 0% {\\r\\n margin-right: -700px;\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n margin-right: 0px;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n.view-client .modal-header-icon {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n -webkit-animation-name: animate-header-icon;\\r\\n animation-name: animate-header-icon;\\r\\n -webkit-animation-duration: 1s;\\r\\n animation-duration: 1s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n /* animation-timing-function: ease-out; */\\r\\n}\\r\\n.edit-profile .modal-header-icon {\\r\\n width: 75px;\\r\\n height: 75px;\\r\\n margin-top: 15px;\\r\\n -webkit-animation-name: animate-header-icon;\\r\\n animation-name: animate-header-icon;\\r\\n -webkit-animation-duration: 1s;\\r\\n animation-duration: 1s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n.edit-profile .modal-buttons {\\r\\n flex: 1;\\r\\n display: flex;\\r\\n margin-top: 10px;\\r\\n}\\r\\n.edit-profile .input-item {\\r\\n /* display: flex;\\r\\n flex-direction: column; */\\r\\n}\\r\\n.edit-profile input {\\r\\n height: 42px;\\r\\n width: 235px;\\r\\n margin-top: 6px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n border: none;\\r\\n flex: 1;\\r\\n margin-right: 10px;\\r\\n padding-left: 17px;\\r\\n}\\r\\n.edit-profile .label-title {\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n.edit-profile input::-moz-placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n.edit-profile input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n.edit-profile input::placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n.edit-profile .general-information-inputs {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n.edit-profile-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n padding: 0 50px 0 50px;\\r\\n max-width: 700px;\\r\\n margin: 0 auto;\\r\\n}\\r\\n.edit-profile .button-upload {\\r\\n height: 35px!important;\\r\\n}\\r\\n.edit-profile .company-logo img {\\r\\n width: 100px;\\r\\n height: 50px;\\r\\n}\\r\\n.edit-profile .company-logo {\\r\\n display: flex;\\r\\n}\\r\\n.edit-profile .top-row img {\\r\\n border-radius: 100%;\\r\\n width: 55px;\\r\\n height: 55px;\\r\\n border: 2px #E58929 solid;\\r\\n margin-right: 5px;\\r\\n display: block;\\r\\n}\\r\\n.edit-profile .top-row {\\r\\n display: flex;\\r\\n}\\r\\n.contact-support .modal-header-icon {\\r\\n width: 75px;\\r\\n height: 75px;\\r\\n margin-top: 15px;\\r\\n -webkit-animation-name: animate-header-icon;\\r\\n animation-name: animate-header-icon;\\r\\n -webkit-animation-duration: 1s;\\r\\n animation-duration: 1s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n.contact-support .modal-buttons {\\r\\n flex: 1;\\r\\n display: flex;\\r\\n margin-top: 10px;\\r\\n}\\r\\n.contact-support .input-item {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n.contact-support input {\\r\\n height: 42px;\\r\\n width: 235px;\\r\\n margin-top: 6px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n border: none;\\r\\n flex: 1;\\r\\n margin-right: 10px;\\r\\n /* padding-left: 17px; */\\r\\n padding: 10px;\\r\\n}\\r\\n.contact-support textarea {\\r\\n margin-top: 6px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n padding-top: 10px;\\r\\n border: none;\\r\\n flex: 1;\\r\\n margin-right: 10px;\\r\\n /* padding-left: 17px; */\\r\\n padding: 10px;\\r\\n font-family: unset;\\r\\n}\\r\\n.contact-support input::-moz-placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n.contact-support input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n.contact-support input::placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n@-webkit-keyframes animate-header-icon {\\r\\n 0% {\\r\\n margin-left: -300px;\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n margin-left: 0px;\\r\\n opacity: 0.7;\\r\\n }\\r\\n}\\r\\n@keyframes animate-header-icon {\\r\\n 0% {\\r\\n margin-left: -300px;\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n margin-left: 0px;\\r\\n opacity: 0.7;\\r\\n }\\r\\n}\\r\\n.view-client {\\r\\n height: 100%;\\r\\n position: relative;\\r\\n -webkit-animation-name: animate-modal-in;\\r\\n animation-name: animate-modal-in;\\r\\n -webkit-animation-duration: 2s;\\r\\n animation-duration: 2s;\\r\\n}\\r\\n@-webkit-keyframes animate-modal-content-in {\\r\\n 0% {\\r\\n opacity: 0;\\r\\n }\\r\\n 40% {\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n@keyframes animate-modal-content-in {\\r\\n 0% {\\r\\n opacity: 0;\\r\\n }\\r\\n 40% {\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n@-webkit-keyframes animate-modal-title-in {\\r\\n 0% {\\r\\n opacity: 0;\\r\\n margin-left: -100px;\\r\\n }\\r\\n 100% {\\r\\n opacity: 1;\\r\\n margin-left: 0;\\r\\n }\\r\\n}\\r\\n@keyframes animate-modal-title-in {\\r\\n 0% {\\r\\n opacity: 0;\\r\\n margin-left: -100px;\\r\\n }\\r\\n 100% {\\r\\n opacity: 1;\\r\\n margin-left: 0;\\r\\n }\\r\\n}\\r\\n/* MODAL - BOX OUTLINE ON TRIGGER */\\r\\n.border-animation {\\r\\n background-color: #555;\\r\\n position: absolute;\\r\\n}\\r\\n.border-animation-top {\\r\\n height: 2px;\\r\\n width: 0%;\\r\\n -webkit-animation-name: animate-border-top;\\r\\n animation-name: animate-border-top;\\r\\n -webkit-animation-duration: 0.5s;\\r\\n animation-duration: 0.5s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n -webkit-animation-timing-function: linear;\\r\\n animation-timing-function: linear;\\r\\n top: 0;\\r\\n}\\r\\n.border-animation-right {\\r\\n height: 0%;\\r\\n width: 2px;\\r\\n -webkit-animation-name: animate-border-right;\\r\\n animation-name: animate-border-right;\\r\\n -webkit-animation-duration: 0.7s;\\r\\n animation-duration: 0.7s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n -webkit-animation-timing-function: linear;\\r\\n animation-timing-function: linear;\\r\\n right: 0;\\r\\n}\\r\\n.border-animation-bottom {\\r\\n height: 2px;\\r\\n width: 0%;\\r\\n -webkit-animation-name: animate-border-bottom;\\r\\n animation-name: animate-border-bottom;\\r\\n -webkit-animation-duration: 0.9s;\\r\\n animation-duration: 0.9s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n -webkit-animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);\\r\\n animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n}\\r\\n.border-animation-left {\\r\\n height: 0%;\\r\\n width: 2px;\\r\\n -webkit-animation-name: animate-border-left;\\r\\n animation-name: animate-border-left;\\r\\n -webkit-animation-duration: 1.1s;\\r\\n animation-duration: 1.1s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n -webkit-animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);\\r\\n animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);\\r\\n left: 0;\\r\\n bottom: 0;\\r\\n}\\r\\n@-webkit-keyframes animate-border-top {\\r\\n 0% {\\r\\n width: 0%;\\r\\n opacity: 1;\\r\\n }\\r\\n 100% {\\r\\n width: 100%;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n@keyframes animate-border-top {\\r\\n 0% {\\r\\n width: 0%;\\r\\n opacity: 1;\\r\\n }\\r\\n 100% {\\r\\n width: 100%;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n@-webkit-keyframes animate-border-right {\\r\\n 0% {\\r\\n height: 0%;\\r\\n }\\r\\n 50% {\\r\\n height: 0%;\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n height: 100%;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n@keyframes animate-border-right {\\r\\n 0% {\\r\\n height: 0%;\\r\\n }\\r\\n 50% {\\r\\n height: 0%;\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n height: 100%;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n@-webkit-keyframes animate-border-bottom {\\r\\n 0% {\\r\\n width: 0%;\\r\\n }\\r\\n 33% {\\r\\n width: 0%;\\r\\n }\\r\\n 66% {\\r\\n width: 0%;\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n width: 100%;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n@keyframes animate-border-bottom {\\r\\n 0% {\\r\\n width: 0%;\\r\\n }\\r\\n 33% {\\r\\n width: 0%;\\r\\n }\\r\\n 66% {\\r\\n width: 0%;\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n width: 100%;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n@-webkit-keyframes animate-border-left {\\r\\n 0% {\\r\\n height: 0%;\\r\\n }\\r\\n 25% {\\r\\n height: 0%;\\r\\n }\\r\\n 50% {\\r\\n height: 0%;\\r\\n }\\r\\n 75% {\\r\\n height: 0%;\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n height: 100%;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n@keyframes animate-border-left {\\r\\n 0% {\\r\\n height: 0%;\\r\\n }\\r\\n 25% {\\r\\n height: 0%;\\r\\n }\\r\\n 50% {\\r\\n height: 0%;\\r\\n }\\r\\n 75% {\\r\\n height: 0%;\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n height: 100%;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n.edit-advisor {\\r\\n height: 100%;\\r\\n position: relative;\\r\\n -webkit-animation-name: animate-modal-in;\\r\\n animation-name: animate-modal-in;\\r\\n -webkit-animation-duration: 2s;\\r\\n animation-duration: 2s;\\r\\n}\\r\\n.edit-advisor .modal-header-icon {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n -webkit-animation-name: animate-header-icon;\\r\\n animation-name: animate-header-icon;\\r\\n -webkit-animation-duration: 1s;\\r\\n animation-duration: 1s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n.edit-advisor .advisor-form-edit {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n}\\r\\n.edit-advisor .form-input {\\r\\n /* width: 100%; */\\r\\n margin: 10px;\\r\\n display: flex;\\r\\n flex: 1 0 300px;\\r\\n margin: 25px;\\r\\n}\\r\\n.edit-advisor .form-input span {\\r\\n font-size: 12px;\\r\\n top: 5px;\\r\\n left: 5px;\\r\\n color: #555;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n flex: 1;\\r\\n max-width: 100px;\\r\\n}\\r\\n.edit-advisor .form-input input {\\r\\n flex: 1;\\r\\n border: none;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n outline: none;\\r\\n color: #555;\\r\\n}\\r\\n.remove-spouse {\\r\\n color: #c6989b;\\r\\n cursor: pointer;\\r\\n}\\r\\n.edit-client {\\r\\n height: 100%;\\r\\n position: relative;\\r\\n -webkit-animation-name: animate-modal-in;\\r\\n animation-name: animate-modal-in;\\r\\n -webkit-animation-duration: 2s;\\r\\n animation-duration: 2s;\\r\\n}\\r\\n.edit-client .child {\\r\\n width: 100%;\\r\\n}\\r\\n.edit-client .spouse {\\r\\n width: 100%;\\r\\n}\\r\\n.edit-client .modal-header-icon {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n -webkit-animation-name: animate-header-icon;\\r\\n animation-name: animate-header-icon;\\r\\n -webkit-animation-duration: 1s;\\r\\n animation-duration: 1s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n.edit-client .client-form-edit {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n}\\r\\n.edit-client .form-input {\\r\\n /* width: 100%; */\\r\\n margin: 10px;\\r\\n display: flex;\\r\\n flex: 1 0 300px;\\r\\n margin: 25px;\\r\\n}\\r\\n.edit-client .form-input span {\\r\\n font-size: 12px;\\r\\n top: 5px;\\r\\n left: 5px;\\r\\n color: #555;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n flex: 1;\\r\\n max-width: 100px;\\r\\n}\\r\\n.edit-client .form-input input {\\r\\n flex: 1;\\r\\n border: none;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n outline: none;\\r\\n color: #555;\\r\\n}\\r\\n.edit-client .section {\\r\\n flex: 1;\\r\\n width: 100%;\\r\\n}\\r\\n/* .create-client {\\r\\n height: 100%;\\r\\n position: relative;\\r\\n animation-name: animate-modal-in;\\r\\n animation-duration: 2s;\\r\\n}\\r\\n\\r\\n.create-client .modal-header-icon {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n animation-name: animate-header-icon;\\r\\n animation-duration: 1s;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n\\r\\n.create-client .client-form-create {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.create-client .form-input {\\r\\n margin: 10px;\\r\\n display: flex;\\r\\n flex: 1 0 300px;\\r\\n margin: 25px;\\r\\n}\\r\\n\\r\\n.create-client .form-input span {\\r\\n font-size: 12px;\\r\\n top: 5px;\\r\\n left: 5px;\\r\\n color: #555;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n flex: 1;\\r\\n max-width: 100px;\\r\\n}\\r\\n\\r\\n.create-client .form-input input {\\r\\n flex: 1;\\r\\n border: none;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n outline: none;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.create-client .section {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.create-client .children, .create-client .spouses {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin: 25px;\\r\\n}\\r\\n\\r\\n.create-client .end {\\r\\n margin-bottom: 200px;\\r\\n} */\\r\\n.create-client {\\r\\n padding: 25px;\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n.create-client .modal-header-title {\\r\\n font-size: 1.2rem;\\r\\n color: #333;\\r\\n}\\r\\n.create-client div {\\r\\n \\r\\n}\\r\\n.create-client .form-input \\r\\n{\\r\\n width: 100%;\\r\\n /* flex: 1; */\\r\\n /* display: flex; */\\r\\n align-items: flex-end;\\r\\n}\\r\\n.create-client .financial-information .form-input {\\r\\n /* flex: 1; */\\r\\n width: 100%;\\r\\n}\\r\\n.create-client .form-input select {\\r\\n height: 42px;\\r\\n width: 235px;\\r\\n margin-top: 6px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n border: none;\\r\\n flex: 1;\\r\\n margin-right: 10px;\\r\\n padding-left: 17px;\\r\\n}\\r\\n.create-client .marital-status select {\\r\\n height: 35px;\\r\\n margin-top: 6px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n border: none;\\r\\n margin-right: 10px;\\r\\n width: 150px;\\r\\n padding-left: 17px;\\r\\n}\\r\\n.create-client .children select {\\r\\n width: 100px;\\r\\n flex: none;\\r\\n}\\r\\n.create-client .child-section {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n flex: 1;\\r\\n}\\r\\n.create-client .children .form-input {\\r\\n flex: 1;\\r\\n align-items: center;\\r\\n justify-content: space-between;\\r\\n}\\r\\n.spouse-item {\\r\\n border-top: 1px #d5d5d5 dashed;\\r\\n border-bottom: 1px #d5d5d5 dashed;\\r\\n padding: 10px 0 10px 0;\\r\\n width: 100%;\\r\\n}\\r\\n.child-item {\\r\\n border-top: 1px #d5d5d5 dashed;\\r\\n border-bottom: 1px #d5d5d5 dashed;\\r\\n padding: 10px 0 10px 0;\\r\\n min-width: 350px;\\r\\n}\\r\\n.create-client .spouses .modal-button {\\r\\n margin: 10px 0 15px 0;\\r\\n background-color: #d5d5d5;\\r\\n}\\r\\n.create-client .spouses .modal-button button {\\r\\n background-color: #d5d5d5;\\r\\n}\\r\\n.create-client .children .modal-button {\\r\\n margin: 10px 0 15px 0;\\r\\n background-color: #d5d5d5;\\r\\n}\\r\\n.create-client .modal-buttons {\\r\\n padding: 15px 0 0 0;\\r\\n display: flex;\\r\\n}\\r\\n.contact-input-label{\\r\\n font-size: unset !important;\\r\\n}\\r\\n.input-label {\\r\\n font-size: 0.75rem;\\r\\n /* font-weight: bold; */\\r\\n display: flex;\\r\\n margin: 5px 0 0 0;\\r\\n}\\r\\n.input-label-question {\\r\\n font-size: 0.75rem;\\r\\n /* font-weight: bold; */\\r\\n}\\r\\n.pension-question {\\r\\n flex: 1;\\r\\n min-width: 200px;\\r\\n}\\r\\n/* .create-client .children .modal-button:hover {\\r\\n border: 2px #fff solid;\\r\\n}\\r\\n\\r\\n.create-client .spouses .modal-button:hover {\\r\\n border: 2px #fff solid;\\r\\n} */\\r\\n/* .create-client .children .modal-button button:hover {\\r\\n background-color: #999;\\r\\n} */\\r\\n.create-client .children .modal-button button {\\r\\n background-color: #d5d5d5;\\r\\n}\\r\\n.create-client .children {\\r\\n border-top: 1px #d5d5d5 solid;\\r\\n padding: 10px 0 10px 0;\\r\\n margin-top: 5px 0 5px 0;\\r\\n border-bottom: 1px #d5d5d5 solid;\\r\\n}\\r\\n.create-client .form-input input {\\r\\n background-color: #d5d5d5;\\r\\n border: none;\\r\\n color: #555;\\r\\n padding: 10px 0px 10px 20px;\\r\\n font-size: 1rem;\\r\\n margin: 10px 10px 0 0;\\r\\n /* flex: 1; */\\r\\n width: 80%;\\r\\n}\\r\\n.create-client .financial-information .section {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: left;\\r\\n}\\r\\n.create-client .form-input input::-moz-placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n.create-client .form-input input:-ms-input-placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n.create-client .form-input input::placeholder {\\r\\n color: #555;\\r\\n margin: 15px;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n.create-client .section {\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.create-client .general-information {\\r\\n flex: 1 0 400px;\\r\\n max-width: 500px;\\r\\n width: 100%;\\r\\n}\\r\\n.create-client .section {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n flex: 1;\\r\\n}\\r\\n.create-client .financial-retirement-row {\\r\\n flex: 1 0 400px;\\r\\n /* flex-wrap: wrap; */\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n /* align-items: flex-end; */\\r\\n}\\r\\n.input-error {\\r\\n outline: 2px #ff7f7f solid!important;\\r\\n}\\r\\n.error-example {\\r\\n margin-left: 20px;\\r\\n color: #c6989b!important;\\r\\n}\\r\\n.create-client .section-title {\\r\\n width: 100%;\\r\\n font-weight: bold;\\r\\n color: #666;\\r\\n}\\r\\n.create-client .retirement-information {\\r\\n flex: 1;\\r\\n padding-top: 25px;\\r\\n}\\r\\n.create-client .top-inputs {\\r\\n display: flex;\\r\\n margin: 15px 0 15px 0;\\r\\n flex-wrap: wrap;\\r\\n border-top: 1px #d5d5d5 solid;\\r\\n padding-top: 10px;\\r\\n width: 100%;\\r\\n}\\r\\n.create-client .pia-years {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n align-items: center;\\r\\n \\r\\n}\\r\\n.create-client .pia-years input {\\r\\n background-color: #d5d5d5;\\r\\n border: none;\\r\\n color: #555;\\r\\n font-size: 0.8rem;\\r\\n padding: 5px;\\r\\n}\\r\\n.spouse-group {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n.spouse-group .form-input {\\r\\n margin-right: 15px;\\r\\n min-width: 300px;\\r\\n}\\r\\n.spouse-inputs .form-input {\\r\\n width: auto!important;\\r\\n}\\r\\n.create-client .pia-years-item {\\r\\n padding: 10px;\\r\\n font-size: 0.8rem;\\r\\n border: 1px #d5d5d5 solid;\\r\\n margin: 5px;\\r\\n}\\r\\n.disable-pia {\\r\\n cursor: not-allowed;\\r\\n}\\r\\n.client-container {\\r\\n width: 100%;\\r\\n}\\r\\n.create-client .health-conditions {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n padding: 5px 0 5px 0;\\r\\n border-top: 1px #d5d5d5 solid;\\r\\n}\\r\\n.create-client .health-conditions label {\\r\\n font-size: 0.7rem;\\r\\n}\\r\\n.create-client .spouse-sub-title {\\r\\n font-size: 0.8rem;\\r\\n font-weight: bold;\\r\\n}\\r\\n.create-client .health-conditions-spouse {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n padding: 5px 0 5px 0;\\r\\n font-size: 0.8rem;\\r\\n}\\r\\n.create-client .health-conditions .conditions-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n.create-client .form-checkbox {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n justify-content: space-between;\\r\\n margin: 3px 0 3px 0;\\r\\n padding-right: 30px;\\r\\n}\\r\\n.create-client .checkbox-group {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n}\\r\\n.conditions-container .checkbox-group {\\r\\n margin-top: 5px;\\r\\n}\\r\\n.conditions-container .checkbox-group-vertical {\\r\\n margin-top: 5px;\\r\\n display: flex;\\r\\n}\\r\\n.create-client .end {\\r\\n margin-bottom: 200px;\\r\\n justify-content: center;\\r\\n}\\r\\n.create-client .end div {\\r\\n margin: 15px;\\r\\n}\\r\\n/* .close-modal { */\\r\\n/* margin: 10px 25px 0 0;\\r\\n cursor: pointer;\\r\\n font-size: 1.3rem;\\r\\n color: #E58929; */\\r\\n/* } */\\r\\n.create-client .spouses {\\r\\n border-top: 1px #d5d5d5 solid;\\r\\n padding-top: 10px;\\r\\n margin-top: 5px;\\r\\n}\\r\\n.create-client .spouses .section {\\r\\n margin-top: 15px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: left;\\r\\n align-items: left;\\r\\n}\\r\\n.create-client .children .section {\\r\\n margin-top: 15px;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: left;\\r\\n align-items: left;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n.create-client .spouses .spouse-inputs {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n.modal-button {\\r\\n background-color: #E58929;\\r\\n /* width: 200px; */\\r\\n \\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 5px;\\r\\n cursor: pointer;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n}\\r\\n.modal-button-secondary {\\r\\n background-color: #fff;\\r\\n border: 1px solid #E58929;\\r\\n /* width: 200px; */\\r\\n \\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 5px;\\r\\n cursor: pointer;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n.button-container {\\r\\n justify-content: flex-end;\\r\\n padding: 20px;\\r\\n display: flex;\\r\\n}\\r\\n.button-container-risk-tolerance {\\r\\n justify-content: flex-end;\\r\\n display: flex;\\r\\n width: 100%;\\r\\n position: absolute;\\r\\n bottom: 50px;\\r\\n right: 20px;\\r\\n}\\r\\n.not-candidate-msg {\\r\\n color: #ff7f7f;\\r\\n justify-content: flex-end;\\r\\n display: flex;\\r\\n /* position: absolute;\\r\\n bottom: 115px;\\r\\n right: 20px; */\\r\\n width: 70%;\\r\\n margin: 0 auto;\\r\\n border: solid 1px #eee;\\r\\n padding: 15px;\\r\\n}\\r\\n.modal-button button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 0.9rem;\\r\\n outline: none;\\r\\n /* margin-left: 20px; */\\r\\n}\\r\\n.modal-button i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin: 0;\\r\\n}\\r\\n.edit-organization {\\r\\n height: 100%;\\r\\n position: relative;\\r\\n -webkit-animation-name: animate-modal-in;\\r\\n animation-name: animate-modal-in;\\r\\n -webkit-animation-duration: 2s;\\r\\n animation-duration: 2s;\\r\\n}\\r\\n.edit-organization .modal-header-icon {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n -webkit-animation-name: animate-header-icon;\\r\\n animation-name: animate-header-icon;\\r\\n -webkit-animation-duration: 1s;\\r\\n animation-duration: 1s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n.edit-organization .client-form-edit {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n}\\r\\n.edit-organization .form-input {\\r\\n /* width: 100%; */\\r\\n margin: 10px;\\r\\n display: flex;\\r\\n flex: 1 0 300px;\\r\\n margin: 25px;\\r\\n}\\r\\n.edit-organization .form-input span {\\r\\n font-size: 12px;\\r\\n top: 5px;\\r\\n left: 5px;\\r\\n color: #555;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n flex: 1;\\r\\n max-width: 100px;\\r\\n}\\r\\n.edit-organization .form-input input {\\r\\n flex: 1;\\r\\n border: none;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n outline: none;\\r\\n color: #555;\\r\\n}\\r\\n.hc-projections {\\r\\n height: 100%;\\r\\n position: relative;\\r\\n -webkit-animation-name: animate-modal-in;\\r\\n animation-name: animate-modal-in;\\r\\n -webkit-animation-duration: 2s;\\r\\n animation-duration: 2s;\\r\\n overflow: scroll;\\r\\n}\\r\\n.hc-projections .modal-header-icon {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n -webkit-animation-name: animate-header-icon;\\r\\n animation-name: animate-header-icon;\\r\\n -webkit-animation-duration: 1s;\\r\\n animation-duration: 1s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n.hc-projections .client-form-edit {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n}\\r\\n.hc-projections .form-input {\\r\\n /* width: 100%; */\\r\\n margin: 10px;\\r\\n display: flex;\\r\\n flex: 1 0 300px;\\r\\n margin: 25px;\\r\\n}\\r\\n.hc-projections i {\\r\\n margin: 10px 25px 0 0;\\r\\n cursor: pointer;\\r\\n font-size: 1.3rem;\\r\\n color: #E58929;\\r\\n}\\r\\n.hc-projections .form-input span {\\r\\n font-size: 12px;\\r\\n top: 5px;\\r\\n left: 5px;\\r\\n color: #555;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n flex: 1;\\r\\n max-width: 100px;\\r\\n}\\r\\n.hc-projections .form-input input {\\r\\n flex: 1;\\r\\n border: none;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n outline: none;\\r\\n color: #555;\\r\\n}\\r\\n.hc-projections .advisor-form-edit {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n}\\r\\n.hc-projections table {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n padding: 10px;\\r\\n margin-bottom: 50px;\\r\\n}\\r\\n.hc-projections td, .hc-projections th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n.hc-projections .projections {\\r\\n padding: 10px 25px 10px 10px;\\r\\n}\\r\\n.mmt-projections {\\r\\n /* height: 100%; */\\r\\n position: relative;\\r\\n -webkit-animation-name: animate-modal-in;\\r\\n animation-name: animate-modal-in;\\r\\n -webkit-animation-duration: 2s;\\r\\n animation-duration: 2s;\\r\\n height: 100%;\\r\\n /* overflow-y: scroll; */\\r\\n}\\r\\n.mmt-projections table tbody {\\r\\n /* height: 500px!important; */\\r\\n overflow: scroll!important;\\r\\n}\\r\\n.mmt-projections .modal-header-icon {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n -webkit-animation-name: animate-header-icon;\\r\\n animation-name: animate-header-icon;\\r\\n -webkit-animation-duration: 1s;\\r\\n animation-duration: 1s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n.mmt-projections .client-form-edit {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n}\\r\\n.mmt-projections .form-input {\\r\\n /* width: 100%; */\\r\\n margin: 10px;\\r\\n display: flex;\\r\\n flex: 1 0 300px;\\r\\n margin: 25px;\\r\\n}\\r\\n.mmt-projections i {\\r\\n margin: 10px 25px 0 0;\\r\\n cursor: pointer;\\r\\n font-size: 1.3rem;\\r\\n color: #E58929;\\r\\n}\\r\\n.mmt-projections .form-input span {\\r\\n font-size: 12px;\\r\\n top: 5px;\\r\\n left: 5px;\\r\\n color: #555;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n flex: 1;\\r\\n max-width: 100px;\\r\\n}\\r\\n.mmt-projections .form-input input {\\r\\n flex: 1;\\r\\n border: none;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n outline: none;\\r\\n color: #555;\\r\\n}\\r\\n.mmt-projections .advisor-form-edit {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n}\\r\\n.mmt-projections table {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n padding: 10px;\\r\\n table-layout: fixed;\\r\\n\\r\\n}\\r\\n/* .mmt-projects .projections {\\r\\n height: 500px;\\r\\n} */\\r\\n.mmt-bracket-total td {\\r\\n color: #555!important;\\r\\n border-top: 1px #555 double;\\r\\n font-weight: bold;\\r\\n}\\r\\n.mmt-projections td, .mmt-projections th {\\r\\n border: 1px #fff solid;\\r\\n color: #fff;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n.mmt-projections .projections tr:hover {\\r\\n background-color: #d5d5d5!important;\\r\\n}\\r\\n.mmt-projections .projections {\\r\\n padding: 0px 45px 0px 10px;\\r\\n margin: 10px 0 0 0;\\r\\n overflow-y: auto;\\r\\n height: 91%;\\r\\n}\\r\\n.mmt-projections th { \\r\\n position: -webkit-sticky; \\r\\n position: sticky; \\r\\n top: 0; \\r\\n background-color: #fff!important;\\r\\n color: #555!important;\\r\\n}\\r\\n.mmt-projections .close-container {\\r\\n position: relative;\\r\\n margin-right: 50px!important;\\r\\n}\\r\\n/* \\r\\n.mmt-projections .close-container .close-modal {\\r\\n margin: 0px!important;\\r\\n top: 20px;\\r\\n right: 20px;\\r\\n} */\\r\\n.create-organization {\\r\\n height: 100%;\\r\\n position: relative;\\r\\n -webkit-animation-name: animate-modal-in;\\r\\n animation-name: animate-modal-in;\\r\\n -webkit-animation-duration: 2s;\\r\\n animation-duration: 2s;\\r\\n}\\r\\n.create-organization .modal-header-icon {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n -webkit-animation-name: animate-header-icon;\\r\\n animation-name: animate-header-icon;\\r\\n -webkit-animation-duration: 1s;\\r\\n animation-duration: 1s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n.create-organization .client-form-edit {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n}\\r\\n.create-organization .form-input {\\r\\n /* width: 100%; */\\r\\n margin: 10px;\\r\\n display: flex;\\r\\n flex: 1 0 300px;\\r\\n margin: 25px;\\r\\n}\\r\\n.create-organization .form-input span {\\r\\n font-size: 12px;\\r\\n top: 5px;\\r\\n left: 5px;\\r\\n color: #555;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n flex: 1;\\r\\n max-width: 100px;\\r\\n}\\r\\n.create-organization .form-input input {\\r\\n flex: 1;\\r\\n border: none;\\r\\n border-bottom: 2px #f5f5f5 solid;\\r\\n outline: none;\\r\\n color: #555;\\r\\n}\\r\\n.create-organization .advisor-form-edit {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n}\\r\\n.disabled {\\r\\n cursor: not-allowed!important;\\r\\n}\\r\\n.disabled input {\\r\\n cursor: not-allowed!important;\\r\\n}\\r\\n.disabled:hover {\\r\\n cursor: not-allowed!important;\\r\\n}\\r\\n.file-select {\\r\\n height: 22px!important;\\r\\n background-color: #f5f5f5!important;\\r\\n max-width: 100px;\\r\\n color: transparent!important;\\r\\n}\\r\\n.username {\\r\\n font-size: 0.9rem!important;\\r\\n}\\r\\n.disabled i {\\r\\n cursor: not-allowed!important;\\r\\n}\\r\\n.disabled button {\\r\\n cursor: not-allowed!important;\\r\\n}\\r\\n.company-logo img {\\r\\n padding: 10px;\\r\\n}\\r\\n.pia-date {\\r\\n display: block;\\r\\n margin: 5px 0 5px 0;\\r\\n}\\r\\n.pia-warning {\\r\\n color: red;\\r\\n}\\r\\n.scroll {\\r\\n /* overflow-y: scroll;\\r\\n height: 100%; */\\r\\n height: 100%;\\r\\n overflow-y: scroll;\\r\\n}\\r\\n.spacer {\\r\\n background-color: #d5d5d5;\\r\\n height: 1px;\\r\\n width: 80%;\\r\\n}\\r\\n.assign-lead .content {\\r\\n width: 95%;\\r\\n}\\r\\n.assign-lead table {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n padding: 10px;\\r\\n margin-bottom: 50px;\\r\\n margin-top: 10px;\\r\\n overflow-y: scroll;\\r\\n}\\r\\n.assign-lead td, .hc-projections th {\\r\\n border: 1px #e5e5e5 solid;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n padding: 10px;\\r\\n}\\r\\n.assign-lead-button {\\r\\n color: #0000EE;\\r\\n cursor: pointer;\\r\\n text-decoration: underline; \\r\\n}\\r\\n.view-lead .content {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-between;\\r\\n}\\r\\n.view-lead .content .field {\\r\\n min-width: 300px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin: 10px 0 10px 0;\\r\\n}\\r\\n.view-lead .content .field .label {\\r\\n font-size: 12px;\\r\\n\\r\\n}\\r\\n.view-lead .content .field .val {\\r\\n background-color: #d5d5d5;\\r\\n padding: 10px;\\r\\n width: 100%;\\r\\n}\\r\\n.marital-status-header{\\r\\n margin-bottom: -5px;\\r\\n margin-top: 23px;\\r\\n}\\r\\n/*
\\r\\nCreate New Client\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n General Information\\r\\n
\\r\\n
\\r\\n
\\r\\n Financial Information\\r\\n
\\r\\n
\\r\\n
\\r\\n Health Conditions\\r\\n
\\r\\n
\\r\\n
\\r\\n Current Marital Status\\r\\n
\\r\\n
\\r\\n
\\r\\n Marital History\\r\\n
\\r\\n
\\r\\n
\\r\\n Dependent Children\\r\\n
\\r\\n
*/\\r\\n.add-edit-client {\\r\\n /* min-height: 500px; */\\r\\n height: 100%;\\r\\n padding: 0 20px 0 20px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n.add-edit-client .general-information {\\r\\n margin: 0px 0 25px 0;\\r\\n}\\r\\n.add-edit-client .anticipated-retirement-information {\\r\\n margin: 25px 0 25px 0;\\r\\n}\\r\\n.add-edit-client h1 {\\r\\n font-size: 16px;\\r\\n font-weight: bold;\\r\\n color: #555;\\r\\n}\\r\\n.top-header-row {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin-bottom: 25px;\\r\\n}\\r\\n.top-header-row span {\\r\\n margin: 10px 0 0px 0;\\r\\n font-weight: bold;\\r\\n font-size: 16px;\\r\\n color: #555;\\r\\n}\\r\\n.add-edit-client hr, hr {\\r\\n border-top: 1px #d5d5d5 solid;\\r\\n}\\r\\n.save-continue {\\r\\n margin-left: 10px;\\r\\n position: relative;\\r\\n}\\r\\n.mydp {\\r\\n display: block!important;\\r\\n}\\r\\n.input-error-v2 {\\r\\n outline: 2px #ff7f7f solid!important;\\r\\n}\\r\\n.btn-new-client {\\r\\n width: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n.opacity5 {\\r\\n opacity: 0.5!important;\\r\\n}\\r\\n.save-continue-prev i {\\r\\n transform: rotate(-180deg);\\r\\n}\\r\\n.add-edit-client .cb-item {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n font-size: 12px;\\r\\n min-width: 300px;\\r\\n width: 100%;\\r\\n justify-content: space-between;\\r\\n margin-right: 20px;\\r\\n}\\r\\n.marital-history .checkbox-group {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n align-items: center;\\r\\n}\\r\\n.dependent-children .checkbox-group {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n align-items: center;\\r\\n}\\r\\n.health-conditions .sub-title {\\r\\n font-style: italic;\\r\\n font-size: 12px;\\r\\n font-weight: bold;\\r\\n color: #555;\\r\\n}\\r\\n.current-marital-status .sub-title, .marital-history .sub-title, .dependent-children .sub-title {\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n}\\r\\n.add-edit-client .cb-item input {\\r\\n float: right;\\r\\n}\\r\\n.add-edit-client .pia-years {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n.add-edit-client .pia-years-item {\\r\\n display: flex;\\r\\n padding: 10px;\\r\\n border: 1px #d5d5d5 solid;\\r\\n margin: 10px;\\r\\n flex-direction: column;\\r\\n color: #555;\\r\\n font-size: 12px;\\r\\n}\\r\\n.error-input input:invalid {\\r\\n border: 2px #ff7f7f solid!important;\\r\\n}\\r\\n.add-edit-client .modal-button button {\\r\\n color: #fff;\\r\\n}\\r\\n.add-edit-client .modal-button i {\\r\\n color: #fff;\\r\\n}\\r\\n.add-edit-client select {\\r\\n height: 37px;\\r\\n /* width: 235px; */\\r\\n background-color: #d5d5d5;\\r\\n margin-right: 20px;\\r\\n color: #555;\\r\\n border: none;\\r\\n}\\r\\n.top-header-row span {\\r\\n\\r\\n}\\r\\n.top-header-row i {\\r\\n\\r\\n}\\r\\n.mydp .selection {\\r\\n background-color: #d3d3d3!important;\\r\\n}\\r\\n.top-header-navigation {\\r\\n position: relative;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n width: 100%;\\r\\n justify-content: space-between;\\r\\n}\\r\\n.top-header-navigation {\\r\\n font-weight: bold;\\r\\n font-size: 10px;\\r\\n color: #555;\\r\\n margin: 0 0 15px 0;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: flex-end;\\r\\n}\\r\\n.top-header-progress {\\r\\n height: 8px;\\r\\n width: 100%;\\r\\n background-color: #d5d5d5;\\r\\n top: calc(50% - 14px);\\r\\n position: absolute;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n pointer-events: none;\\r\\n}\\r\\n.input-container {\\r\\n flex: 3;\\r\\n overflow-y: scroll;\\r\\n height: 375px;\\r\\n background-color: #f9f9f9;\\r\\n padding: 15px;\\r\\n}\\r\\n.top-header-progress .progress {\\r\\n /* height: 4px;\\r\\n width: 10%;\\r\\n background-color: #E58929; */\\r\\n}\\r\\n.child-select {\\r\\n width: 65px;\\r\\n}\\r\\n.top-header-progress-item {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n position: relative;\\r\\n width: 100%;\\r\\n}\\r\\n.top-header-progress-item span {\\r\\n margin-top: 10px;\\r\\n}\\r\\n.top-header-progress-item .progress-active {\\r\\n position: absolute;\\r\\n z-index: 0;\\r\\n background-color: #E58929;\\r\\n width: 0%;\\r\\n left: 0;\\r\\n top: calc(50% - 24px);\\r\\n height: 8px;\\r\\n -webkit-animation-name: ProgressHalf;\\r\\n animation-name: ProgressHalf;\\r\\n -webkit-animation-delay: 0.2s;\\r\\n animation-delay: 0.2s;\\r\\n -webkit-animation-duration: 0.2s;\\r\\n animation-duration: 0.2s;\\r\\n -webkit-animation-timing-function: linear;\\r\\n animation-timing-function: linear;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n.top-header-progress-item .progress-full {\\r\\n position: absolute;\\r\\n z-index: 0;\\r\\n background-color: #E58929;\\r\\n width: 50%;\\r\\n top: calc(50% - 24px);\\r\\n height: 8px;\\r\\n -webkit-animation-name: ProgressFill;\\r\\n animation-name: ProgressFill;\\r\\n -webkit-animation-timing-function: linear;\\r\\n animation-timing-function: linear;\\r\\n -webkit-animation-duration: 0.2s;\\r\\n animation-duration: 0.2s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n left: 0;\\r\\n}\\r\\n.top-header-progress-item .progress-shrink {\\r\\n position: absolute;\\r\\n z-index: 0;\\r\\n background-color: #E58929;\\r\\n width: 100%;\\r\\n top: calc(50% - 24px);\\r\\n height: 8px;\\r\\n -webkit-animation-name: ProgressShrink;\\r\\n animation-name: ProgressShrink;\\r\\n -webkit-animation-timing-function: linear;\\r\\n animation-timing-function: linear;\\r\\n -webkit-animation-duration: 0.2s;\\r\\n animation-duration: 0.2s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n left: 0;\\r\\n}\\r\\n.top-header-progress-item .progress-active-shrink {\\r\\n position: absolute;\\r\\n z-index: 0;\\r\\n background-color: #E58929;\\r\\n width: 100%;\\r\\n top: calc(50% - 24px);\\r\\n height: 8px;\\r\\n -webkit-animation-name: ProgressActiveShrink;\\r\\n animation-name: ProgressActiveShrink;\\r\\n -webkit-animation-timing-function: linear;\\r\\n animation-timing-function: linear;\\r\\n -webkit-animation-duration: 0.2s;\\r\\n animation-duration: 0.2s;\\r\\n -webkit-animation-delay: 0.2s;\\r\\n animation-delay: 0.2s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n left: 0;\\r\\n}\\r\\n@-webkit-keyframes ProgressFill {\\r\\n 0% { width: 50%; }\\r\\n 100% { width: 100%; }\\r\\n}\\r\\n@keyframes ProgressFill {\\r\\n 0% { width: 50%; }\\r\\n 100% { width: 100%; }\\r\\n}\\r\\n@-webkit-keyframes ProgressHalf {\\r\\n 0% { width: 0%; }\\r\\n 100% { width: 50%; }\\r\\n}\\r\\n@keyframes ProgressHalf {\\r\\n 0% { width: 0%; }\\r\\n 100% { width: 50%; }\\r\\n}\\r\\n@-webkit-keyframes ProgressShrink {\\r\\n 0% { width: 50%; }\\r\\n 100% { width: 0%; }\\r\\n}\\r\\n@keyframes ProgressShrink {\\r\\n 0% { width: 50%; }\\r\\n 100% { width: 0%; }\\r\\n}\\r\\n@-webkit-keyframes ProgressActiveShrink {\\r\\n 0% { width: 100%; }\\r\\n 100% { width: 50%; }\\r\\n}\\r\\n@keyframes ProgressActiveShrink {\\r\\n 0% { width: 100%; }\\r\\n 100% { width: 50%; }\\r\\n}\\r\\n.top-header-circle-checkmark {\\r\\n background: #E58929 !important;\\r\\n}\\r\\n.top-header-circle {\\r\\n border-radius: 100%;\\r\\n background-color: #d5d5d5;\\r\\n width: 38px;\\r\\n height: 38px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n position: relative;\\r\\n}\\r\\n.circle-inactive {\\r\\n position: relative;\\r\\n z-index: 10;\\r\\n cursor: not-allowed!important;\\r\\n}\\r\\n.button-active::before {\\r\\n content: '';\\r\\n cursor: not-allowed;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n background-color: #fff;\\r\\n opacity: 0.6;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n.circle-active::before {\\r\\n content: '';\\r\\n cursor: not-allowed;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n/* background-color: #ffcccc;\\r\\n border: 5px #ffe5e5 solid; */\\r\\n opacity: 0.8;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n border-radius: 100%;\\r\\n z-index: 1;\\r\\n}\\r\\n.top-header-circle .is-valid {\\r\\n position: absolute;\\r\\n border-radius: 100%;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n background-color: #E58929;\\r\\n}\\r\\n.top-header-circle .circle-number {\\r\\n z-index: 1;\\r\\n font-weight: bold;\\r\\n color: #fff;\\r\\n font-size: 20px;\\r\\n}\\r\\n.input-section {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n margin-bottom: 11px;\\r\\n align-items: center;\\r\\n /* padding-bottom: 5px; */\\r\\n color: #555;\\r\\n /* font-weight: 800; */\\r\\n}\\r\\ntable.header td div {\\r\\n display: unset !important;\\r\\n}\\r\\n.input-section div {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n font-size: 11px;\\r\\n /* padding-bottom: 5px; */\\r\\n\\r\\n /* font-weight: 800; */\\r\\n}\\r\\n.input-section div span{\\r\\n padding-bottom: 5px;\\r\\n font-weight: 800;\\r\\n}\\r\\n/* Create a custom checkbox */\\r\\n.checkmark {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n height: 25px;\\r\\n width: 25px;\\r\\n}\\r\\n/* On mouse-over, add a grey background color */\\r\\n.containerCheckbox:hover input ~ .checkmark {\\r\\n background-color: #ccc;\\r\\n}\\r\\n/* When the checkbox is checked, add a blue background */\\r\\n.containerCheckbox input:checked ~ .checkmark {\\r\\n background-color: #555;\\r\\n border: unset !important;\\r\\n}\\r\\n/* Create the checkmark/indicator (hidden when not checked) */\\r\\n.checkmark:after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n display: none;\\r\\n}\\r\\n/* Show the checkmark when checked */\\r\\n.containerCheckbox input:checked ~ .checkmark:after {\\r\\n display: block;\\r\\n}\\r\\n/* Style the checkmark/indicator */\\r\\n.containerCheckbox .checkmark:after {\\r\\n left: 9px;\\r\\n top: 5px;\\r\\n width: 5px;\\r\\n height: 10px;\\r\\n border: solid white;\\r\\n border-width: 0 3px 3px 0;\\r\\n transform: rotate(45deg);\\r\\n}\\r\\n.mainContainerCheckbox .containerCheckbox{\\r\\n margin-left: -35px;\\r\\n margin-bottom: unset !important;\\r\\n}\\r\\n.left-margin-sm {\\r\\n margin-left: 10px;\\r\\n}\\r\\n.radio-text {\\r\\n font-size: 12px;\\r\\n font-weight: bold;\\r\\n color: #555;\\r\\n}\\r\\n.selection-item {\\r\\n padding: 5px 5px 5px 5px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n.margin-left-lg {\\r\\n margin-left: 50px;\\r\\n}\\r\\n.margin-top-sm {\\r\\n margin-top: 15px;\\r\\n}\\r\\n.margin-top-lg {\\r\\n margin-top: 40px;\\r\\n}\\r\\n.margin-bottom-sm {\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n/* .margin-right-sm {\\r\\n margin-top: 5px;\\r\\n} */\\r\\n.input-section div span{\\r\\n padding-bottom: unset !important;\\r\\n}\\r\\n.input-section input[type='text'] {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n text-indent: 15px;\\r\\n border: none;\\r\\n font-size: 12px;\\r\\n width: 160px;\\r\\n margin-right: 20px;\\r\\n height: 35px;\\r\\n}\\r\\n.input-section div.tool-tip-modal span{\\r\\n font-weight: unset !important;\\r\\n}\\r\\n.tool-tip-modal{\\r\\n font-weight: unset !important;\\r\\n}\\r\\n.marital-history .input-section span, .dependent-children .input-section span {\\r\\n font-size: 12px;\\r\\n}\\r\\n.children-container {\\r\\n display: flex;\\r\\n\\r\\n}\\r\\n.circle-selected {\\r\\n background-color: #E58929!important;\\r\\n z-index: 1;\\r\\n}\\r\\n.check-icon {\\r\\n position: absolute;\\r\\n z-index: 5000;\\r\\n font-size: 2rem;\\r\\n color: #fff;\\r\\n}\\r\\n.child-con {\\r\\n display: flex!important;\\r\\n flex-direction: row!important;\\r\\n padding: 10px 10px 0 10px;\\r\\n align-items: center;\\r\\n}\\r\\n.child-container {\\r\\n border: 1px #d5d5d5 solid;\\r\\n display: flex;\\r\\n margin: 5px;\\r\\n}\\r\\n.input-section .sub-title {\\r\\n font-weight: bold;\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n}\\r\\n.description {\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n}\\r\\n.spouse-container {\\r\\n border: 1px #d5d5d5 solid;\\r\\n padding: 15px;\\r\\n}\\r\\n.spouses-container {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.marital-status {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n font-size: 12px;\\r\\n}\\r\\n.marital-status .mainContainerCheckbox {\\r\\n margin-left: 7px;\\r\\n}\\r\\n.print-modal i {\\r\\n margin: 10px;\\r\\n}\\r\\n@media print {\\r\\n .mmt-projections {\\r\\n width: auto!important;\\r\\n height: auto!important;\\r\\n overflow: visible!important;\\r\\n }\\r\\n\\r\\n .content-area .content {\\r\\n width: auto!important;\\r\\n height: auto!important;\\r\\n }\\r\\n\\r\\n app-topnav {\\r\\n display: none!important;\\r\\n }\\r\\n\\r\\n app-sidebar {\\r\\n display: none!important;\\r\\n }\\r\\n\\r\\n .print-modal, .close-modal {\\r\\n display: none!important;\\r\\n }\\r\\n}\\r\\n.upload {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n padding: 10px;\\r\\n justify-content: center;\\r\\n align-content: center;\\r\\n}\\r\\n.upload input, .upload textarea {\\r\\n height: 42px;\\r\\n margin-top: 6px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n border: none;\\r\\n flex: 1;\\r\\n padding: 17px;\\r\\n}\\r\\n.upload .btn {\\r\\n background-color: #E58929;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 25px 0 25px;\\r\\n cursor: pointer;\\r\\n margin: 10px 10px 10px 0;\\r\\n width: 125px;\\r\\n}\\r\\n.upload .btn button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #555;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n.uplaod-content {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: left;\\r\\n width: 75%;\\r\\n margin: 0 auto;\\r\\n /* overflow-y: scroll; */\\r\\n}\\r\\n.upload .browse-file {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n}\\r\\n.upload textarea {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n border: none;\\r\\n font-size: 12px;\\r\\n padding: 10px!important;\\r\\n margin: 0!important;\\r\\n font-family: 'Roboto', sans-serif;\\r\\n line-height: 1.3rem;\\r\\n /* width: 95%; */\\r\\n height: 150px;\\r\\n resize: none;\\r\\n}\\r\\n.upload select {\\r\\n height: 37px;\\r\\n margin-top: 6px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n border: none;\\r\\n flex: 1;\\r\\n margin-right: 10px;\\r\\n padding: 17px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.browse-file .file-select {\\r\\n width: 0.1px;\\r\\n\\theight: 0.1px;\\r\\n\\topacity: 0;\\r\\n\\toverflow: hidden;\\r\\n\\tposition: absolute;\\r\\n\\tz-index: -1;\\r\\n}\\r\\n.browse-file .file-select + label {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #FFF;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n width: 125px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n margin: 10px;\\r\\n}\\r\\n.close-container {\\r\\n float: right;\\r\\n margin-right: 20px;\\r\\n}\\r\\n.wrapper-content {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 100%;\\r\\n}\\r\\n.input-example {\\r\\n font-size: 10px;\\r\\n font-weight: 500;\\r\\n color: #555;\\r\\n}\\r\\n@media (max-width:641px) {\\r\\n .content {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n }\\r\\n}\\r\\n.hvs-radio {\\r\\n position: relative;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n.hvs-radio::before {\\r\\n content: '';\\r\\n position: absolute;\\r\\n background-color: #b7b7b7;\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n border-radius: 15px;\\r\\n}\\r\\n.hvs-radio:checked::before {\\r\\n content: '';\\r\\n position: absolute;\\r\\n background-color: #555;\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n border-radius: 15px;\\r\\n}\\r\\n.hvs-radio:checked::after {\\r\\n content: '';\\r\\n position: absolute;\\r\\n background-color: #fff;\\r\\n width: 5px;\\r\\n height: 5px;\\r\\n border-radius: 5px;\\r\\n}\\r\\n.file-select {\\r\\n cursor: pointer;\\r\\n display: block;\\r\\n filter: alpha(opacity=0);\\r\\n min-height: 100%;\\r\\n min-width: 100%;\\r\\n opacity: 0;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n}\\r\\n.upload-button {\\r\\n position: relative;\\r\\n justify-content: center;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n height: 50px;\\r\\n outline: none;\\r\\n width: 175px;\\r\\n}\\r\\n.upload-button i {\\r\\n cursor: pointer;\\r\\n}\\r\\n.mmt-bracket-one {\\r\\n background-color: #e37f5b;\\r\\n}\\r\\n.mmt-bracket-two {\\r\\n background-color: #9ab3bc;\\r\\n}\\r\\n.mmt-bracket-three {\\r\\n background-color: #e7b053;\\r\\n}\\r\\n.mmt-bracket-four {\\r\\n background-color: #67acc3;\\r\\n}\\r\\n.mmt-bracket-five {\\r\\n background-color: #a7bf87;\\r\\n}\\r\\n.mmt-bracket-six {\\r\\n background-color: #29748d;\\r\\n}\\r\\ninput:invalid {\\r\\n border: 2px #ff7f7f solid!important;\\r\\n}\\r\\n.ageError {\\r\\n color: #ff7f7f !important;\\r\\n}\\r\\n.risk-tolerance {\\r\\n padding: 0 20px 0 20px;\\r\\n}\\r\\n.risk-tolerance select {\\r\\n height: 37px;\\r\\n background-color: #d5d5d5;\\r\\n margin-right: 20px;\\r\\n color: #555;\\r\\n border: none;\\r\\n}\\r\\n.risk-tolerance-questionnaire-input-gap {\\r\\n padding: 0 0 30px 0;\\r\\n}\\r\\n.risk-tolerance-questionnaire-container {\\r\\n max-width: 700px;\\r\\n margin: 0 auto 70px auto;\\r\\n padding: 50px 0 0 0px;\\r\\n}\\r\\n.risk-tolerance-questionnaire-container .input-txt-email{\\r\\n margin-left: 20px;\\r\\n margin-top: 10px;\\r\\n padding: 15px;\\r\\n}\\r\\n.input-txt {\\r\\n margin-top: 5px;\\r\\n margin-left: 20px;\\r\\n}\\r\\n/* The Modal (background) */\\r\\n.modal {\\r\\n display: block; /* Hidden by default */\\r\\n position: fixed; /* Stay in place */\\r\\n z-index: 1; /* Sit on top */\\r\\n padding-top: 100px; /* Location of the box */\\r\\n left: 0;\\r\\n top: 0;\\r\\n width: 100%; /* Full width */\\r\\n height: 100%; /* Full height */\\r\\n overflow: auto; /* Enable scroll if needed */\\r\\n background-color: rgb(0,0,0); /* Fallback color */\\r\\n background-color: rgba(0,0,0,0.4); /* Black w/ opacity */\\r\\n}\\r\\n/* Modal Content */\\r\\n.modal-content {\\r\\n background-color: #fefefe;\\r\\n margin: auto;\\r\\n padding: 20px;\\r\\n border: 1px solid #888;\\r\\n position: relative;\\r\\n height: 90%;\\r\\n}\\r\\n#agrement-report {\\r\\n height: 300px;\\r\\n width: 100%;\\r\\n overflow-y: scroll;\\r\\n\\r\\n border: solid 1px #eee;\\r\\n padding: 10px;\\r\\n color: #555;\\r\\n}\\r\\n.unfundedCost .title, .investment-information .title {\\r\\n font-size: 28px;\\r\\n margin-top: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.investment-information .title {\\r\\n color: #383489;\\r\\n}\\r\\n.investment-information .sub-title {\\r\\n font-size: 24px;\\r\\n margin: 10px 0 10px 0;\\r\\n font-weight: 600;\\r\\n}\\r\\n.blue-color {\\r\\n color: #438CC5;\\r\\n}\\r\\n.font-bold {\\r\\n font-weight: 600;\\r\\n}\\r\\n.font-italic {\\r\\n font-style: italic;\\r\\n}\\r\\n.formula-icon {\\r\\n border-radius: 100%;\\r\\n background-color: #555;\\r\\n color: #fff;\\r\\n font-weight: bold;\\r\\n font-size: 22px;\\r\\n padding: 13px 20px 13px 20px;\\r\\n margin: 30px 15px 0 15px;\\r\\n}\\r\\n.number-card-container {\\r\\n display: inline-block;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n margin-top: 20px;\\r\\n}\\r\\n.number-card-container .number-card, .number-card-container .formula-icon {\\r\\n float: left;\\r\\n}\\r\\n.number-card {\\r\\n max-width: 300px;\\r\\n border-radius: 20px;\\r\\n padding: 15px;\\r\\n display: flex;\\r\\n background-color: #383489;\\r\\n color: #fff;\\r\\n flex-direction: column;\\r\\n width: 180px;\\r\\n height: 80px;\\r\\n}\\r\\n.number-card .value {\\r\\n font-size: 20px;\\r\\n margin-top: 5px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.number-card-container .number-card:nth-child(1), .number-card-container .number-card:nth-child(2) {\\r\\n background-color: #0089c4;\\r\\n}\\r\\n.number-card-container .number-card:nth-child(3), .number-card-container .number-card:nth-child(4) {\\r\\n background-color: #383489;\\r\\n}\\r\\n.risk-meter {\\r\\n width: 100%;\\r\\n}\\r\\n.risk-meter div {\\r\\n text-align: center;\\r\\n padding: 35px 5px 35px 5px;\\r\\n min-width: 75px;\\r\\n max-width: 125px;\\r\\n width: 100%;\\r\\n display: inline-block;\\r\\n margin-right: 5px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.risk-meter div:nth-child(1) {\\r\\n border-top-left-radius: 15px;\\r\\n border-bottom-left-radius: 15px;\\r\\n background-color: #e4f2f3;\\r\\n}\\r\\n.risk-meter div:nth-child(2) {\\r\\n background-color: #d8eced;\\r\\n}\\r\\n.risk-meter div:nth-child(3) {\\r\\n background-color: #cde7e8;\\r\\n}\\r\\n.risk-meter div:nth-child(4) {\\r\\n background-color: #afd8da;\\r\\n}\\r\\n.risk-meter div:nth-child(5) {\\r\\n background-color: #afd8da;\\r\\n}\\r\\n.risk-meter div:nth-child(6) {\\r\\n background-color: #a6d3d8;\\r\\n border-top-right-radius: 15px;\\r\\n border-bottom-right-radius: 15px;\\r\\n}\\r\\n.riskSelected {\\r\\n background-color: #7574c0!important;\\r\\n color: #fff!important;\\r\\n}\\r\\n.rate-table {\\r\\n width: 100%;\\r\\n background-color: #05006b;\\r\\n}\\r\\n.rate-table tr td, .rate-table tr th {\\r\\n padding: 10px;\\r\\n color: #fff;\\r\\n font-weight: 500;\\r\\n}\\r\\n.rate-table tr:nth-child(2) td:not(:first-child), .rate-table tr:nth-child(3) td:not(:first-child) {\\r\\n background-color: #fff;\\r\\n color: #262f34;\\r\\n}\\r\\n.strategy-table {\\r\\n width: 100%;\\r\\n border: 1px #000 solid;\\r\\n border-spacing: inherit;\\r\\n border-top: 2px #000 solid;\\r\\n border-left: 2px #000 solid;\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n}\\r\\n.rt-format-values span {\\r\\n padding: 10px 0 10px 0;\\r\\n min-height: 15px;\\r\\n}\\r\\n.strategy-table tr td {\\r\\n background-color: #fff;\\r\\n border-right: 1px #000 solid;\\r\\n border-bottom: 1px #000 solid;\\r\\n padding: 10px;\\r\\n /*height: 50px;*/\\r\\n}\\r\\n.strategy-table tr td:nth-child(1) {\\r\\n background-color: #383489;\\r\\n color: #fff;\\r\\n}\\r\\n.strategy-table .profile-growth {\\r\\n width: 30px;\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NoYXJlZC9tb2RhbC9tb2RhbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7RUFHRTtBQUNGO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixXQUFXO0VBQ1gsWUFBWTtFQUNaLE1BQU07RUFDTixPQUFPO0VBQ1AsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsb0NBQW9DO0FBQ3RDO0FBRUE7RUFDRSxVQUFVO0VBQ1YsV0FBVztFQUNYLGtCQUFrQjtBQUNwQjtBQUVBO0VBQ0UsYUFBYTtBQUNmO0FBRUE7RUFDRSxhQUFhO0VBQ2Isc0NBQThCO1VBQTlCLDhCQUE4QjtFQUM5Qiw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHFDQUE2QjtVQUE3Qiw2QkFBNkI7QUFDL0I7QUFFQTtFQUNFO0lBQ0UsVUFBVTtFQUNaO0VBQ0E7SUFDRSxVQUFVO0VBQ1o7QUFDRjtBQVBBO0VBQ0U7SUFDRSxVQUFVO0VBQ1o7RUFDQTtJQUNFLFVBQVU7RUFDWjtBQUNGO0FBR0E7RUFDRSxrQkFBa0I7QUFDcEI7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjtBQUVBO0VBQ0UsZUFBZTtFQUNmLHFCQUFxQjtFQUNyQixpQkFBaUI7RUFDakIsY0FBYztFQUNkLGVBQWU7RUFDZixVQUFVO0FBQ1o7QUFFQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsbUJBQW1CO0FBQ3JCO0FBRUE7RUFDRSx5QkFBeUI7RUFDekIsV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsZ0RBQXdDO1VBQXhDLHdDQUF3QztFQUN4QyxnQ0FBd0I7VUFBeEIsd0JBQXdCO0VBQ3hCLHFDQUE2QjtVQUE3Qiw2QkFBNkI7QUFDL0I7QUFFQTtFQUNFLGVBQWU7RUFDZixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLDRDQUFvQztVQUFwQyxvQ0FBb0M7RUFDcEMsOEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixxQ0FBNkI7VUFBN0IsNkJBQTZCO0FB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LGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gscUJBQXFCO0VBQ3JCLGlCQUFpQjtFQUNqQixnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLDRCQUE0QjtFQUM1QiwrQkFBK0I7RUFDL0IseUJBQXlCO0FBQzNCO0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjtBQUVBO0VBQ0UseUJBQXlCO0FBQzNCO0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7QUFFQTtFQUNFLHlCQUF5QjtFQUN6Qiw2QkFBNkI7RUFDN0IsZ0NBQWdDO0FBQ2xDO0FBRUE7RUFDRSxtQ0FBbUM7RUFDbkMscUJBQXFCO0FBQ3ZCO0FBRUE7RUFDRSxXQUFXO0VBQ1gseUJBQXlCO0FBQzNCO0FBRUE7RUFDRSxhQUFhO0VBQ2IsV0FBVztFQUNYLGdCQUFnQjtBQUNsQjtBQUdBO0VBQ0Usc0JBQXNCO0VBQ3RCLGNBQWM7QUFDaEI7QUFFQTtFQUNFLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLDBCQUEwQjtFQUMxQiwyQkFBMkI7RUFDM0IsVUFBVTtFQUNWLFNBQVM7QUFDWDtBQUVBO0VBQ0Usc0JBQXNCO0VBQ3RCLGdCQUFnQjtBQUNsQjtBQUVBO0VBQ0Usc0JBQXNCO0VBQ3RCLDRCQUE0QjtFQUM1Qiw2QkFBNkI7RUFDN0IsYUFBYTtFQUNiLGdCQUFnQjtBQUNsQjtBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLFdBQVc7QUFDYjtBQUVBO0VBQ0UsV0FBVztFQUNYLHlCQUF5QjtBQUMzQiIsImZpbGUiOiIuLi9zaGFyZWQvbW9kYWwvbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGkuZmEtbGlmZS1yaW5nIGEge1xyXG4gIGNvbG9yOiAjRTU4OTI5ICFpbXBvcnRhbnQ7XHJcbn1cclxuICovXHJcbi5jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG59XHJcblxyXG4uY29udGVudCB7XHJcbiAgd2lkdGg6IDgwJTtcclxuICBoZWlnaHQ6IDgwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5oaWRkZW4ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi52aXNpYmxlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBBbmltYXRlTW9kYWxJbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIEFuaW1hdGVNb2RhbEluIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLmVkaXQtcHJvZmlsZSAuY2xvc2UtY29udGFpbmVyIHtcclxuICBwYWRkaW5nLXJpZ2h0OiA3cHg7XHJcbn1cclxuXHJcbi5oYy1wcm9qZWN0aW9ucyAuY2xvc2UtbW9kYWwge1xyXG4gIG1hcmdpbi1yaWdodDogMnB4O1xyXG59XHJcblxyXG4uY2xvc2UtbW9kYWwge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBtYXJnaW46IDEwcHggMjVweCAwIDA7XHJcbiAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5tb2RhbC1oZWFkZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubW9kYWwtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1tb2RhbC1jb250ZW50LWluO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxufVxyXG5cclxuLm1vZGFsLWhlYWRlci10aXRsZSB7XHJcbiAgZm9udC1zaXplOiAyNHB4O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtaGVhZGVyLXRpdGxlO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZS1oZWFkZXItdGl0bGUge1xyXG4gIDAlIHtcclxuICAgIG1hcmdpbi1yaWdodDogLTcwMHB4O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4udmlldy1jbGllbnQgLm1vZGFsLWhlYWRlci1pY29uIHtcclxuICB3aWR0aDogMTAwcHg7XHJcbiAgaGVpZ2h0OiAxMDBweDtcclxuICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1oZWFkZXItaWNvbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIC8qIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyAqL1xyXG59XHJcblxyXG4uZWRpdC1wcm9maWxlIC5tb2RhbC1oZWFkZXItaWNvbiB7XHJcbiAgd2lkdGg6IDc1cHg7XHJcbiAgaGVpZ2h0OiA3NXB4O1xyXG4gIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtaGVhZGVyLWljb247XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxufVxyXG5cclxuLmVkaXQtcHJvZmlsZSAubW9kYWwtYnV0dG9ucyB7XHJcbiAgZmxleDogMTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcblxyXG4uZWRpdC1wcm9maWxlIC5pbnB1dC1pdGVtIHtcclxuICAvKiBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47ICovXHJcbn1cclxuXHJcbi5lZGl0LXByb2ZpbGUgaW5wdXQge1xyXG4gIGhlaWdodDogNDJweDtcclxuICB3aWR0aDogMjM1cHg7XHJcbiAgbWFyZ2luLXRvcDogNnB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGZsZXg6IDE7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMTdweDtcclxufVxyXG5cclxuLmVkaXQtcHJvZmlsZSAubGFiZWwtdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMC44cmVtO1xyXG59XHJcblxyXG4uZWRpdC1wcm9maWxlIGlucHV0OjpwbGFjZWhvbGRlciB7XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgbWFyZ2luOiAxNXB4O1xyXG4gIGZvbnQtc2l6ZTogMC44cmVtO1xyXG59XHJcblxyXG4uZWRpdC1wcm9maWxlIC5nZW5lcmFsLWluZm9ybWF0aW9uLWlucHV0cyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi5lZGl0LXByb2ZpbGUtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgcGFkZGluZzogMCA1MHB4IDAgNTBweDtcclxuICBtYXgtd2lkdGg6IDcwMHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uZWRpdC1wcm9maWxlIC5idXR0b24tdXBsb2FkIHtcclxuICBoZWlnaHQ6IDM1cHghaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZWRpdC1wcm9maWxlIC5jb21wYW55LWxvZ28gaW1nIHtcclxuICB3aWR0aDogMTAwcHg7XHJcbiAgaGVpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG4uZWRpdC1wcm9maWxlIC5jb21wYW55LWxvZ28ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcblxyXG4uZWRpdC1wcm9maWxlIC50b3Atcm93IGltZyB7XHJcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICB3aWR0aDogNTVweDtcclxuICBoZWlnaHQ6IDU1cHg7XHJcbiAgYm9yZGVyOiAycHggI0U1ODkyOSBzb2xpZDtcclxuICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmVkaXQtcHJvZmlsZSAudG9wLXJvdyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmNvbnRhY3Qtc3VwcG9ydCAubW9kYWwtaGVhZGVyLWljb24ge1xyXG4gIHdpZHRoOiA3NXB4O1xyXG4gIGhlaWdodDogNzVweDtcclxuICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLWhlYWRlci1pY29uO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbn1cclxuXHJcbi5jb250YWN0LXN1cHBvcnQgLm1vZGFsLWJ1dHRvbnMge1xyXG4gIGZsZXg6IDE7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG5cclxuLmNvbnRhY3Qtc3VwcG9ydCAuaW5wdXQtaXRlbSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uY29udGFjdC1zdXBwb3J0IGlucHV0IHtcclxuICBoZWlnaHQ6IDQycHg7XHJcbiAgd2lkdGg6IDIzNXB4O1xyXG4gIG1hcmdpbi10b3A6IDZweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBmbGV4OiAxO1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAvKiBwYWRkaW5nLWxlZnQ6IDE3cHg7ICovXHJcbiAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLmNvbnRhY3Qtc3VwcG9ydCB0ZXh0YXJlYSB7XHJcbiAgbWFyZ2luLXRvcDogNnB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGZsZXg6IDE7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gLyogIHBhZGRpbmctbGVmdDogMTdweDsgKi9cclxuIHBhZGRpbmc6IDEwcHg7XHJcbiAgZm9udC1mYW1pbHk6IHVuc2V0O1xyXG59XHJcblxyXG4uY29udGFjdC1zdXBwb3J0IGlucHV0OjpwbGFjZWhvbGRlciB7XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgbWFyZ2luOiAxNXB4O1xyXG4gIGZvbnQtc2l6ZTogMC44cmVtO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtaGVhZGVyLWljb24ge1xyXG4gIDAlIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMzAwcHg7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICBvcGFjaXR5OiAwLjc7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi52aWV3LWNsaWVudCB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1tb2RhbC1pbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtbW9kYWwtY29udGVudC1pbiB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgNDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZS1tb2RhbC10aXRsZS1pbiB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMTAwcHg7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qIE1PREFMIC0gQk9YIE9VVExJTkUgT04gVFJJR0dFUiAqL1xyXG4uYm9yZGVyLWFuaW1hdGlvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5ib3JkZXItYW5pbWF0aW9uLXRvcCB7XHJcbiAgaGVpZ2h0OiAycHg7XHJcbiAgd2lkdGg6IDAlO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLWJvcmRlci10b3A7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICB0b3A6IDA7XHJcbn1cclxuXHJcbi5ib3JkZXItYW5pbWF0aW9uLXJpZ2h0IHtcclxuICBoZWlnaHQ6IDAlO1xyXG4gIHdpZHRoOiAycHg7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtYm9yZGVyLXJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43cztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5ib3JkZXItYW5pbWF0aW9uLWJvdHRvbSB7XHJcbiAgaGVpZ2h0OiAycHg7XHJcbiAgd2lkdGg6IDAlO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLWJvcmRlci1ib3R0b207XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjlzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xyXG4gIGJvdHRvbTogMDtcclxuICByaWdodDogMDtcclxufVxyXG5cclxuLmJvcmRlci1hbmltYXRpb24tbGVmdCB7XHJcbiAgaGVpZ2h0OiAwJTtcclxuICB3aWR0aDogMnB4O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLWJvcmRlci1sZWZ0O1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4xcztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcclxuICBsZWZ0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlLWJvcmRlci10b3Age1xyXG4gIDAlIHtcclxuICAgICAgd2lkdGg6IDAlO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtYm9yZGVyLXJpZ2h0IHtcclxuICAwJSB7XHJcbiAgICAgIGhlaWdodDogMCU7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICBoZWlnaHQ6IDAlO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZS1ib3JkZXItYm90dG9tIHtcclxuICAwJSB7XHJcbiAgICAgIHdpZHRoOiAwJTtcclxuICB9XHJcbiAgMzMlIHtcclxuICAgIHdpZHRoOiAwJTtcclxuICB9XHJcbiAgNjYlIHtcclxuICAgIHdpZHRoOiAwJTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlLWJvcmRlci1sZWZ0IHtcclxuICAwJSB7XHJcbiAgICAgIGhlaWdodDogMCU7XHJcbiAgfVxyXG4gIDI1JSB7XHJcbiAgICBoZWlnaHQ6IDAlO1xyXG4gIH1cclxuICA1MCUge1xyXG4gICAgaGVpZ2h0OiAwJTtcclxuICB9XHJcbiAgNzUlIHtcclxuICAgIGhlaWdodDogMCU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5lZGl0LWFkdmlzb3Ige1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtbW9kYWwtaW47XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcclxufVxyXG5cclxuLmVkaXQtYWR2aXNvciAubW9kYWwtaGVhZGVyLWljb24ge1xyXG4gIHdpZHRoOiAxMDBweDtcclxuICBoZWlnaHQ6IDEwMHB4O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLWhlYWRlci1pY29uO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbn1cclxuXHJcbi5lZGl0LWFkdmlzb3IgLmFkdmlzb3ItZm9ybS1lZGl0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5lZGl0LWFkdmlzb3IgLmZvcm0taW5wdXQge1xyXG4gIC8qIHdpZHRoOiAxMDAlOyAqL1xyXG4gIG1hcmdpbjogMTBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXg6IDEgMCAzMDBweDtcclxuICBtYXJnaW46IDI1cHg7XHJcbn1cclxuXHJcbi5lZGl0LWFkdmlzb3IgLmZvcm0taW5wdXQgc3BhbiB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIHRvcDogNXB4O1xyXG4gIGxlZnQ6IDVweDtcclxuICBjb2xvcjogIzU1NTtcclxuICBib3JkZXItYm90dG9tOiAycHggI2Y1ZjVmNSBzb2xpZDtcclxuICBmbGV4OiAxO1xyXG4gIG1heC13aWR0aDogMTAwcHg7XHJcbn1cclxuXHJcbi5lZGl0LWFkdmlzb3IgLmZvcm0taW5wdXQgaW5wdXQge1xyXG4gIGZsZXg6IDE7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1ib3R0b206IDJweCAjZjVmNWY1IHNvbGlkO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5yZW1vdmUtc3BvdXNlIHtcclxuICBjb2xvcjogI2M2OTg5YjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5lZGl0LWNsaWVudCB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1tb2RhbC1pbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xyXG59XHJcblxyXG4uZWRpdC1jbGllbnQgLmNoaWxkIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmVkaXQtY2xpZW50IC5zcG91c2Uge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZWRpdC1jbGllbnQgLm1vZGFsLWhlYWRlci1pY29uIHtcclxuICB3aWR0aDogMTAwcHg7XHJcbiAgaGVpZ2h0OiAxMDBweDtcclxuICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1oZWFkZXItaWNvbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG59XHJcblxyXG4uZWRpdC1jbGllbnQgLmNsaWVudC1mb3JtLWVkaXQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmVkaXQtY2xpZW50IC5mb3JtLWlucHV0IHtcclxuICAvKiB3aWR0aDogMTAwJTsgKi9cclxuICBtYXJnaW46IDEwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4OiAxIDAgMzAwcHg7XHJcbiAgbWFyZ2luOiAyNXB4O1xyXG59XHJcblxyXG4uZWRpdC1jbGllbnQgLmZvcm0taW5wdXQgc3BhbiB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIHRvcDogNXB4O1xyXG4gIGxlZnQ6IDVweDtcclxuICBjb2xvcjogIzU1NTtcclxuICBib3JkZXItYm90dG9tOiAycHggI2Y1ZjVmNSBzb2xpZDtcclxuICBmbGV4OiAxO1xyXG4gIG1heC13aWR0aDogMTAwcHg7XHJcbn1cclxuXHJcbi5lZGl0LWNsaWVudCAuZm9ybS1pbnB1dCBpbnB1dCB7XHJcbiAgZmxleDogMTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm9yZGVyLWJvdHRvbTogMnB4ICNmNWY1ZjUgc29saWQ7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLmVkaXQtY2xpZW50IC5zZWN0aW9uIHtcclxuICBmbGV4OiAxO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLyogLmNyZWF0ZS1jbGllbnQge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtbW9kYWwtaW47XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLm1vZGFsLWhlYWRlci1pY29uIHtcclxuICB3aWR0aDogMTAwcHg7XHJcbiAgaGVpZ2h0OiAxMDBweDtcclxuICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1oZWFkZXItaWNvbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuY2xpZW50LWZvcm0tY3JlYXRlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5jcmVhdGUtY2xpZW50IC5mb3JtLWlucHV0IHtcclxuICBtYXJnaW46IDEwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4OiAxIDAgMzAwcHg7XHJcbiAgbWFyZ2luOiAyNXB4O1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuZm9ybS1pbnB1dCBzcGFuIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgdG9wOiA1cHg7XHJcbiAgbGVmdDogNXB4O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGJvcmRlci1ib3R0b206IDJweCAjZjVmNWY1IHNvbGlkO1xyXG4gIGZsZXg6IDE7XHJcbiAgbWF4LXdpZHRoOiAxMDBweDtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLmZvcm0taW5wdXQgaW5wdXQge1xyXG4gIGZsZXg6IDE7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1ib3R0b206IDJweCAjZjVmNWY1IHNvbGlkO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5jcmVhdGUtY2xpZW50IC5zZWN0aW9uIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLmNoaWxkcmVuLCAuY3JlYXRlLWNsaWVudCAuc3BvdXNlcyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIG1hcmdpbjogMjVweDtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLmVuZCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XHJcbn0gKi9cclxuXHJcbi5jcmVhdGUtY2xpZW50IHtcclxuICBwYWRkaW5nOiAyNXB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAubW9kYWwtaGVhZGVyLXRpdGxlIHtcclxuICBmb250LXNpemU6IDEuMnJlbTtcclxuICBjb2xvcjogIzMzMztcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgZGl2IHtcclxuICBcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLmZvcm0taW5wdXQgXHJcbntcclxuICB3aWR0aDogMTAwJTtcclxuICAvKiBmbGV4OiAxOyAqL1xyXG4gIC8qIGRpc3BsYXk6IGZsZXg7ICovXHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuZmluYW5jaWFsLWluZm9ybWF0aW9uIC5mb3JtLWlucHV0IHtcclxuICAvKiBmbGV4OiAxOyAqL1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuZm9ybS1pbnB1dCBzZWxlY3Qge1xyXG4gIGhlaWdodDogNDJweDtcclxuICB3aWR0aDogMjM1cHg7XHJcbiAgbWFyZ2luLXRvcDogNnB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGZsZXg6IDE7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMTdweDtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLm1hcml0YWwtc3RhdHVzIHNlbGVjdCB7XHJcbiAgaGVpZ2h0OiAzNXB4O1xyXG4gIG1hcmdpbi10b3A6IDZweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgd2lkdGg6IDE1MHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMTdweDtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLmNoaWxkcmVuIHNlbGVjdCB7XHJcbiAgd2lkdGg6IDEwMHB4O1xyXG4gIGZsZXg6IG5vbmU7XHJcbn1cclxuXHJcbi5jcmVhdGUtY2xpZW50IC5jaGlsZC1zZWN0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZmxleDogMTtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLmNoaWxkcmVuIC5mb3JtLWlucHV0IHtcclxuICBmbGV4OiAxO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG5cclxuLnNwb3VzZS1pdGVtIHtcclxuICBib3JkZXItdG9wOiAxcHggI2Q1ZDVkNSBkYXNoZWQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4ICNkNWQ1ZDUgZGFzaGVkO1xyXG4gIHBhZGRpbmc6IDEwcHggMCAxMHB4IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jaGlsZC1pdGVtIHtcclxuICBib3JkZXItdG9wOiAxcHggI2Q1ZDVkNSBkYXNoZWQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4ICNkNWQ1ZDUgZGFzaGVkO1xyXG4gIHBhZGRpbmc6IDEwcHggMCAxMHB4IDA7XHJcbiAgbWluLXdpZHRoOiAzNTBweDtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLnNwb3VzZXMgLm1vZGFsLWJ1dHRvbiB7XHJcbiAgbWFyZ2luOiAxMHB4IDAgMTVweCAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbn1cclxuXHJcbi5jcmVhdGUtY2xpZW50IC5zcG91c2VzIC5tb2RhbC1idXR0b24gYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuY2hpbGRyZW4gLm1vZGFsLWJ1dHRvbiB7XHJcbiAgbWFyZ2luOiAxMHB4IDAgMTVweCAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbn1cclxuXHJcbi5jcmVhdGUtY2xpZW50IC5tb2RhbC1idXR0b25zIHtcclxuICBwYWRkaW5nOiAxNXB4IDAgMCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuLmNvbnRhY3QtaW5wdXQtbGFiZWx7XHJcbiAgZm9udC1zaXplOiB1bnNldCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5wdXQtbGFiZWwge1xyXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAvKiBmb250LXdlaWdodDogYm9sZDsgKi9cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG1hcmdpbjogNXB4IDAgMCAwO1xyXG59XHJcblxyXG4uaW5wdXQtbGFiZWwtcXVlc3Rpb24ge1xyXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAvKiBmb250LXdlaWdodDogYm9sZDsgKi9cclxufVxyXG5cclxuLnBlbnNpb24tcXVlc3Rpb24ge1xyXG4gIGZsZXg6IDE7XHJcbiAgbWluLXdpZHRoOiAyMDBweDtcclxufVxyXG5cclxuLyogLmNyZWF0ZS1jbGllbnQgLmNoaWxkcmVuIC5tb2RhbC1idXR0b246aG92ZXIge1xyXG4gIGJvcmRlcjogMnB4ICNmZmYgc29saWQ7XHJcbn1cclxuXHJcbi5jcmVhdGUtY2xpZW50IC5zcG91c2VzIC5tb2RhbC1idXR0b246aG92ZXIge1xyXG4gIGJvcmRlcjogMnB4ICNmZmYgc29saWQ7XHJcbn0gKi9cclxuXHJcblxyXG4vKiAuY3JlYXRlLWNsaWVudCAuY2hpbGRyZW4gLm1vZGFsLWJ1dHRvbiBidXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XHJcbn0gKi9cclxuXHJcbi5jcmVhdGUtY2xpZW50IC5jaGlsZHJlbiAubW9kYWwtYnV0dG9uIGJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLmNoaWxkcmVuIHtcclxuICBib3JkZXItdG9wOiAxcHggI2Q1ZDVkNSBzb2xpZDtcclxuICBwYWRkaW5nOiAxMHB4IDAgMTBweCAwO1xyXG4gIG1hcmdpbi10b3A6IDVweCAwIDVweCAwO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCAjZDVkNWQ1IHNvbGlkO1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuZm9ybS1pbnB1dCBpbnB1dCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgcGFkZGluZzogMTBweCAwcHggMTBweCAyMHB4O1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBtYXJnaW46IDEwcHggMTBweCAwIDA7XHJcbiAgLyogZmxleDogMTsgKi9cclxuICB3aWR0aDogODAlO1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuZmluYW5jaWFsLWluZm9ybWF0aW9uIC5zZWN0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGp1c3RpZnktY29udGVudDogbGVmdDtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLmZvcm0taW5wdXQgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcclxuICBjb2xvcjogIzU1NTtcclxuICBtYXJnaW46IDE1cHg7XHJcbiAgZm9udC1zaXplOiAwLjhyZW07XHJcbn1cclxuXHJcbi5jcmVhdGUtY2xpZW50IC5zZWN0aW9uIHtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuZ2VuZXJhbC1pbmZvcm1hdGlvbiB7XHJcbiAgZmxleDogMSAwIDQwMHB4O1xyXG4gIG1heC13aWR0aDogNTAwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jcmVhdGUtY2xpZW50IC5zZWN0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBmbGV4OiAxO1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuZmluYW5jaWFsLXJldGlyZW1lbnQtcm93IHtcclxuICBmbGV4OiAxIDAgNDAwcHg7XHJcbiAgLyogZmxleC13cmFwOiB3cmFwOyAqL1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAvKiBhbGlnbi1pdGVtczogZmxleC1lbmQ7ICovXHJcbn1cclxuXHJcbi5pbnB1dC1lcnJvciB7XHJcbiAgb3V0bGluZTogMnB4ICNmZjdmN2Ygc29saWQhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZXJyb3ItZXhhbXBsZSB7XHJcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgY29sb3I6ICNjNjk4OWIhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuc2VjdGlvbi10aXRsZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY29sb3I6ICM2NjY7XHJcbn1cclxuXHJcbi5jcmVhdGUtY2xpZW50IC5yZXRpcmVtZW50LWluZm9ybWF0aW9uIHtcclxuICBmbGV4OiAxO1xyXG4gIHBhZGRpbmctdG9wOiAyNXB4O1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAudG9wLWlucHV0cyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBtYXJnaW46IDE1cHggMCAxNXB4IDA7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGJvcmRlci10b3A6IDFweCAjZDVkNWQ1IHNvbGlkO1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAucGlhLXllYXJzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIFxyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAucGlhLXllYXJzIGlucHV0IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBjb2xvcjogIzU1NTtcclxuICBmb250LXNpemU6IDAuOHJlbTtcclxuICBwYWRkaW5nOiA1cHg7XHJcbn1cclxuXHJcbi5zcG91c2UtZ3JvdXAge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4uc3BvdXNlLWdyb3VwIC5mb3JtLWlucHV0IHtcclxuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgbWluLXdpZHRoOiAzMDBweDtcclxufVxyXG5cclxuLnNwb3VzZS1pbnB1dHMgLmZvcm0taW5wdXQge1xyXG4gIHdpZHRoOiBhdXRvIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLnBpYS15ZWFycy1pdGVtIHtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gIGJvcmRlcjogMXB4ICNkNWQ1ZDUgc29saWQ7XHJcbiAgbWFyZ2luOiA1cHg7XHJcbn1cclxuXHJcbi5kaXNhYmxlLXBpYSB7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cclxuLmNsaWVudC1jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuaGVhbHRoLWNvbmRpdGlvbnMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBwYWRkaW5nOiA1cHggMCA1cHggMDtcclxuICBib3JkZXItdG9wOiAxcHggI2Q1ZDVkNSBzb2xpZDtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLmhlYWx0aC1jb25kaXRpb25zIGxhYmVsIHtcclxuICBmb250LXNpemU6IDAuN3JlbTtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLnNwb3VzZS1zdWItdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuaGVhbHRoLWNvbmRpdGlvbnMtc3BvdXNlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgcGFkZGluZzogNXB4IDAgNXB4IDA7XHJcbiAgZm9udC1zaXplOiAwLjhyZW07XHJcbn1cclxuXHJcbi5jcmVhdGUtY2xpZW50IC5oZWFsdGgtY29uZGl0aW9ucyAuY29uZGl0aW9ucy1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLmZvcm0tY2hlY2tib3gge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleDogMTtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgbWFyZ2luOiAzcHggMCAzcHggMDtcclxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuY2hlY2tib3gtZ3JvdXAge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleDogMTtcclxufVxyXG5cclxuLmNvbmRpdGlvbnMtY29udGFpbmVyIC5jaGVja2JveC1ncm91cCB7XHJcbiAgbWFyZ2luLXRvcDogNXB4O1xyXG59XHJcblxyXG4uY29uZGl0aW9ucy1jb250YWluZXIgLmNoZWNrYm94LWdyb3VwLXZlcnRpY2FsIHtcclxuICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLmVuZCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jcmVhdGUtY2xpZW50IC5lbmQgZGl2IHtcclxuICBtYXJnaW46IDE1cHg7XHJcbn1cclxuXHJcbi8qIC5jbG9zZS1tb2RhbCB7ICovXHJcbiAgLyogbWFyZ2luOiAxMHB4IDI1cHggMCAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBmb250LXNpemU6IDEuM3JlbTtcclxuICBjb2xvcjogI0U1ODkyOTsgKi9cclxuLyogfSAqL1xyXG5cclxuLmNyZWF0ZS1jbGllbnQgLnNwb3VzZXMge1xyXG4gIGJvcmRlci10b3A6IDFweCAjZDVkNWQ1IHNvbGlkO1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIG1hcmdpbi10b3A6IDVweDtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLnNwb3VzZXMgLnNlY3Rpb24ge1xyXG4gIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGp1c3RpZnktY29udGVudDogbGVmdDtcclxuICBhbGlnbi1pdGVtczogbGVmdDtcclxufVxyXG5cclxuLmNyZWF0ZS1jbGllbnQgLmNoaWxkcmVuIC5zZWN0aW9uIHtcclxuICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgYWxpZ24taXRlbXM6IGxlZnQ7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4uY3JlYXRlLWNsaWVudCAuc3BvdXNlcyAuc3BvdXNlLWlucHV0cyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcblxyXG5cclxuLm1vZGFsLWJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuIC8qICB3aWR0aDogMjAwcHg7ICovXHJcbiBcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5tb2RhbC1idXR0b24tc2Vjb25kYXJ5IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNFNTg5Mjk7XHJcbiAvKiAgd2lkdGg6IDIwMHB4OyAqL1xyXG4gXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDVweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5idXR0b24tY29udGFpbmVyIHtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuXHJcbi5idXR0b24tY29udGFpbmVyLXJpc2stdG9sZXJhbmNlIHtcclxuICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDUwcHg7XHJcbiAgcmlnaHQ6IDIwcHg7XHJcbn1cclxuLm5vdC1jYW5kaWRhdGUtbXNnIHtcclxuICBjb2xvcjogI2ZmN2Y3ZjtcclxuICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIC8qIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDExNXB4O1xyXG4gIHJpZ2h0OiAyMHB4OyAqL1xyXG4gIHdpZHRoOiA3MCU7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2VlZTtcclxuICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4ubW9kYWwtYnV0dG9uIGJ1dHRvbiB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgaGVpZ2h0OiAzNXB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBmb250LXNpemU6IDAuOXJlbTtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIC8qIG1hcmdpbi1sZWZ0OiAyMHB4OyAqL1xyXG59XHJcblxyXG4ubW9kYWwtYnV0dG9uIGkge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLmVkaXQtb3JnYW5pemF0aW9uIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLW1vZGFsLWluO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XHJcbn1cclxuXHJcbi5lZGl0LW9yZ2FuaXphdGlvbiAubW9kYWwtaGVhZGVyLWljb24ge1xyXG4gIHdpZHRoOiAxMDBweDtcclxuICBoZWlnaHQ6IDEwMHB4O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLWhlYWRlci1pY29uO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbn1cclxuXHJcbi5lZGl0LW9yZ2FuaXphdGlvbiAuY2xpZW50LWZvcm0tZWRpdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uZWRpdC1vcmdhbml6YXRpb24gLmZvcm0taW5wdXQge1xyXG4gIC8qIHdpZHRoOiAxMDAlOyAqL1xyXG4gIG1hcmdpbjogMTBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXg6IDEgMCAzMDBweDtcclxuICBtYXJnaW46IDI1cHg7XHJcbn1cclxuXHJcbi5lZGl0LW9yZ2FuaXphdGlvbiAuZm9ybS1pbnB1dCBzcGFuIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgdG9wOiA1cHg7XHJcbiAgbGVmdDogNXB4O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGJvcmRlci1ib3R0b206IDJweCAjZjVmNWY1IHNvbGlkO1xyXG4gIGZsZXg6IDE7XHJcbiAgbWF4LXdpZHRoOiAxMDBweDtcclxufVxyXG5cclxuLmVkaXQtb3JnYW5pemF0aW9uIC5mb3JtLWlucHV0IGlucHV0IHtcclxuICBmbGV4OiAxO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBib3JkZXItYm90dG9tOiAycHggI2Y1ZjVmNSBzb2xpZDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4uaGMtcHJvamVjdGlvbnMge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtbW9kYWwtaW47XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcclxuICBvdmVyZmxvdzogc2Nyb2xsO1xyXG59XHJcblxyXG4uaGMtcHJvamVjdGlvbnMgLm1vZGFsLWhlYWRlci1pY29uIHtcclxuICB3aWR0aDogMTAwcHg7XHJcbiAgaGVpZ2h0OiAxMDBweDtcclxuICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1oZWFkZXItaWNvbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG59XHJcblxyXG4uaGMtcHJvamVjdGlvbnMgLmNsaWVudC1mb3JtLWVkaXQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmhjLXByb2plY3Rpb25zIC5mb3JtLWlucHV0IHtcclxuICAvKiB3aWR0aDogMTAwJTsgKi9cclxuICBtYXJnaW46IDEwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4OiAxIDAgMzAwcHg7XHJcbiAgbWFyZ2luOiAyNXB4O1xyXG59XHJcblxyXG4uaGMtcHJvamVjdGlvbnMgaSB7XHJcbiAgbWFyZ2luOiAxMHB4IDI1cHggMCAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBmb250LXNpemU6IDEuM3JlbTtcclxuICBjb2xvcjogI0U1ODkyOTtcclxufVxyXG5cclxuLmhjLXByb2plY3Rpb25zIC5mb3JtLWlucHV0IHNwYW4ge1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICB0b3A6IDVweDtcclxuICBsZWZ0OiA1cHg7XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgYm9yZGVyLWJvdHRvbTogMnB4ICNmNWY1ZjUgc29saWQ7XHJcbiAgZmxleDogMTtcclxuICBtYXgtd2lkdGg6IDEwMHB4O1xyXG59XHJcblxyXG4uaGMtcHJvamVjdGlvbnMgLmZvcm0taW5wdXQgaW5wdXQge1xyXG4gIGZsZXg6IDE7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1ib3R0b206IDJweCAjZjVmNWY1IHNvbGlkO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5oYy1wcm9qZWN0aW9ucyAuYWR2aXNvci1mb3JtLWVkaXQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmhjLXByb2plY3Rpb25zIHRhYmxlIHtcclxuICB3aWR0aDogMTAwJTtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbn1cclxuXHJcbi5oYy1wcm9qZWN0aW9ucyB0ZCwgLmhjLXByb2plY3Rpb25zIHRoIHtcclxuICBib3JkZXI6IDFweCAjZTVlNWU1IHNvbGlkO1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4uaGMtcHJvamVjdGlvbnMgLnByb2plY3Rpb25zIHtcclxuICBwYWRkaW5nOiAxMHB4IDI1cHggMTBweCAxMHB4O1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi5tbXQtcHJvamVjdGlvbnMge1xyXG4gIC8qIGhlaWdodDogMTAwJTsgKi9cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtbW9kYWwtaW47XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgLyogb3ZlcmZsb3cteTogc2Nyb2xsOyAqL1xyXG59XHJcblxyXG4ubW10LXByb2plY3Rpb25zIHRhYmxlIHRib2R5IHtcclxuICAvKiBoZWlnaHQ6IDUwMHB4IWltcG9ydGFudDsgKi9cclxuICBvdmVyZmxvdzogc2Nyb2xsIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi5tbXQtcHJvamVjdGlvbnMgLm1vZGFsLWhlYWRlci1pY29uIHtcclxuICB3aWR0aDogMTAwcHg7XHJcbiAgaGVpZ2h0OiAxMDBweDtcclxuICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1oZWFkZXItaWNvbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG59XHJcblxyXG4ubW10LXByb2plY3Rpb25zIC5jbGllbnQtZm9ybS1lZGl0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5tbXQtcHJvamVjdGlvbnMgLmZvcm0taW5wdXQge1xyXG4gIC8qIHdpZHRoOiAxMDAlOyAqL1xyXG4gIG1hcmdpbjogMTBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXg6IDEgMCAzMDBweDtcclxuICBtYXJnaW46IDI1cHg7XHJcbn1cclxuXHJcbi5tbXQtcHJvamVjdGlvbnMgaSB7XHJcbiAgbWFyZ2luOiAxMHB4IDI1cHggMCAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBmb250LXNpemU6IDEuM3JlbTtcclxuICBjb2xvcjogI0U1ODkyOTtcclxufVxyXG5cclxuLm1tdC1wcm9qZWN0aW9ucyAuZm9ybS1pbnB1dCBzcGFuIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgdG9wOiA1cHg7XHJcbiAgbGVmdDogNXB4O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGJvcmRlci1ib3R0b206IDJweCAjZjVmNWY1IHNvbGlkO1xyXG4gIGZsZXg6IDE7XHJcbiAgbWF4LXdpZHRoOiAxMDBweDtcclxufVxyXG5cclxuLm1tdC1wcm9qZWN0aW9ucyAuZm9ybS1pbnB1dCBpbnB1dCB7XHJcbiAgZmxleDogMTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm9yZGVyLWJvdHRvbTogMnB4ICNmNWY1ZjUgc29saWQ7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLm1tdC1wcm9qZWN0aW9ucyAuYWR2aXNvci1mb3JtLWVkaXQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm1tdC1wcm9qZWN0aW9ucyB0YWJsZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG5cclxufVxyXG5cclxuLyogLm1tdC1wcm9qZWN0cyAucHJvamVjdGlvbnMge1xyXG4gIGhlaWdodDogNTAwcHg7XHJcbn0gKi9cclxuXHJcblxyXG4ubW10LWJyYWNrZXQtdG90YWwgdGQge1xyXG4gIGNvbG9yOiAjNTU1IWltcG9ydGFudDtcclxuICBib3JkZXItdG9wOiAxcHggIzU1NSBkb3VibGU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5tbXQtcHJvamVjdGlvbnMgdGQsIC5tbXQtcHJvamVjdGlvbnMgdGgge1xyXG4gIGJvcmRlcjogMXB4ICNmZmYgc29saWQ7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5tbXQtcHJvamVjdGlvbnMgLnByb2plY3Rpb25zIHRyOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1IWltcG9ydGFudDtcclxufVxyXG5cclxuLm1tdC1wcm9qZWN0aW9ucyAucHJvamVjdGlvbnMge1xyXG4gIHBhZGRpbmc6IDBweCA0NXB4IDBweCAxMHB4O1xyXG4gIG1hcmdpbjogMTBweCAwIDAgMDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIGhlaWdodDogOTElO1xyXG59XHJcblxyXG4ubW10LXByb2plY3Rpb25zIHRoIHsgXHJcbiAgcG9zaXRpb246IHN0aWNreTsgXHJcbiAgdG9wOiAwOyBcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmIWltcG9ydGFudDtcclxuICBjb2xvcjogIzU1NSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tbXQtcHJvamVjdGlvbnMgIC5jbG9zZS1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tcmlnaHQ6IDUwcHghaW1wb3J0YW50O1xyXG59XHJcbi8qIFxyXG4ubW10LXByb2plY3Rpb25zIC5jbG9zZS1jb250YWluZXIgLmNsb3NlLW1vZGFsIHtcclxuICBtYXJnaW46IDBweCFpbXBvcnRhbnQ7XHJcbiAgdG9wOiAyMHB4O1xyXG4gIHJpZ2h0OiAyMHB4O1xyXG59ICovXHJcblxyXG4uY3JlYXRlLW9yZ2FuaXphdGlvbiB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1tb2RhbC1pbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xyXG59XHJcblxyXG4uY3JlYXRlLW9yZ2FuaXphdGlvbiAubW9kYWwtaGVhZGVyLWljb24ge1xyXG4gIHdpZHRoOiAxMDBweDtcclxuICBoZWlnaHQ6IDEwMHB4O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLWhlYWRlci1pY29uO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbn1cclxuXHJcbi5jcmVhdGUtb3JnYW5pemF0aW9uIC5jbGllbnQtZm9ybS1lZGl0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jcmVhdGUtb3JnYW5pemF0aW9uIC5mb3JtLWlucHV0IHtcclxuICAvKiB3aWR0aDogMTAwJTsgKi9cclxuICBtYXJnaW46IDEwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4OiAxIDAgMzAwcHg7XHJcbiAgbWFyZ2luOiAyNXB4O1xyXG59XHJcblxyXG4uY3JlYXRlLW9yZ2FuaXphdGlvbiAuZm9ybS1pbnB1dCBzcGFuIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgdG9wOiA1cHg7XHJcbiAgbGVmdDogNXB4O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGJvcmRlci1ib3R0b206IDJweCAjZjVmNWY1IHNvbGlkO1xyXG4gIGZsZXg6IDE7XHJcbiAgbWF4LXdpZHRoOiAxMDBweDtcclxufVxyXG5cclxuLmNyZWF0ZS1vcmdhbml6YXRpb24gLmZvcm0taW5wdXQgaW5wdXQge1xyXG4gIGZsZXg6IDE7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1ib3R0b206IDJweCAjZjVmNWY1IHNvbGlkO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5jcmVhdGUtb3JnYW5pemF0aW9uIC5hZHZpc29yLWZvcm0tZWRpdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG5cclxuXHJcbi5kaXNhYmxlZCB7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kaXNhYmxlZCBpbnB1dCB7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kaXNhYmxlZDpob3ZlciB7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5maWxlLXNlbGVjdCB7XHJcbiAgaGVpZ2h0OiAyMnB4IWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1IWltcG9ydGFudDtcclxuICBtYXgtd2lkdGg6IDEwMHB4O1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi51c2VybmFtZSB7XHJcbiAgZm9udC1zaXplOiAwLjlyZW0haW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGlzYWJsZWQgaSB7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kaXNhYmxlZCBidXR0b24ge1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY29tcGFueS1sb2dvIGltZyB7XHJcbiAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLnBpYS1kYXRlIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDVweCAwIDVweCAwO1xyXG59XHJcblxyXG4ucGlhLXdhcm5pbmcge1xyXG4gIGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbi5zY3JvbGwge1xyXG4gIC8qIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICBoZWlnaHQ6IDEwMCU7ICovXHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG5cclxuLnNwYWNlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICBoZWlnaHQ6IDFweDtcclxuICB3aWR0aDogODAlO1xyXG59XHJcblxyXG4uYXNzaWduLWxlYWQgLmNvbnRlbnQge1xyXG4gIHdpZHRoOiA5NSU7XHJcbn1cclxuXHJcbi5hc3NpZ24tbGVhZCB0YWJsZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcblxyXG4uYXNzaWduLWxlYWQgdGQsIC5oYy1wcm9qZWN0aW9ucyB0aCB7XHJcbiAgYm9yZGVyOiAxcHggI2U1ZTVlNSBzb2xpZDtcclxuICBjb2xvcjogIzU1NTtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLmFzc2lnbi1sZWFkLWJ1dHRvbiB7XHJcbiAgY29sb3I6ICMwMDAwRUU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAgXHJcbn1cclxuXHJcbi52aWV3LWxlYWQgLmNvbnRlbnQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLnZpZXctbGVhZCAuY29udGVudCAuZmllbGQge1xyXG4gIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIG1hcmdpbjogMTBweCAwIDEwcHggMDtcclxufVxyXG5cclxuLnZpZXctbGVhZCAuY29udGVudCAuZmllbGQgLmxhYmVsIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcblxyXG59XHJcblxyXG4udmlldy1sZWFkIC5jb250ZW50IC5maWVsZCAudmFsIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5tYXJpdGFsLXN0YXR1cy1oZWFkZXJ7XHJcbiAgbWFyZ2luLWJvdHRvbTogLTVweDtcclxuICBtYXJnaW4tdG9wOiAyM3B4O1xyXG59XHJcblxyXG5cclxuLyogPGRpdiBjbGFzcz1cInRvcC1oZWFkZXItcm93XCI+XHJcbjxzcGFuPkNyZWF0ZSBOZXcgQ2xpZW50PC9zcGFuPlxyXG48aSAoY2xpY2spPVwiY2xvc2UoJGV2ZW50KVwiIGNsYXNzPVwiZmEgZmEtdGltZXMtY2lyY2xlIGNsb3NlLW1vZGFsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInRvcC1oZWFkZXItbmF2aWdhdGlvblwiPlxyXG48ZGl2IGNsYXNzPVwidG9wLWhlYWRlci1wcm9ncmVzc1wiPjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwidG9wLWhlYWRlci1wcm9ncmVzcy1pdGVtXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRvcC1oZWFkZXItY2lyY2xlXCI+PC9kaXY+XHJcbiAgPHNwYW4+R2VuZXJhbCBJbmZvcm1hdGlvbjwvc3Bhbj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJ0b3AtaGVhZGVyLXByb2dyZXNzLWl0ZW1cIj5cclxuICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlci1jaXJjbGVcIj48L2Rpdj5cclxuICA8c3Bhbj5GaW5hbmNpYWwgSW5mb3JtYXRpb248L3NwYW4+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwidG9wLWhlYWRlci1wcm9ncmVzcy1pdGVtXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRvcC1oZWFkZXItY2lyY2xlXCI+PC9kaXY+XHJcbiAgPHNwYW4+SGVhbHRoIENvbmRpdGlvbnM8L3NwYW4+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwidG9wLWhlYWRlci1wcm9ncmVzcy1pdGVtXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRvcC1oZWFkZXItY2lyY2xlXCI+PC9kaXY+XHJcbiAgPHNwYW4+Q3VycmVudCBNYXJpdGFsIFN0YXR1czwvc3Bhbj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJ0b3AtaGVhZGVyLXByb2dyZXNzLWl0ZW1cIj5cclxuICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlci1jaXJjbGVcIj48L2Rpdj5cclxuICA8c3Bhbj5NYXJpdGFsIEhpc3Rvcnk8L3NwYW4+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwidG9wLWhlYWRlci1wcm9ncmVzcy1pdGVtXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRvcC1oZWFkZXItY2lyY2xlXCI+PC9kaXY+XHJcbiAgPHNwYW4+RGVwZW5kZW50IENoaWxkcmVuPC9zcGFuPlxyXG48L2Rpdj5cclxuPC9kaXY+ICovXHJcblxyXG4uYWRkLWVkaXQtY2xpZW50IHtcclxuICAvKiBtaW4taGVpZ2h0OiA1MDBweDsgKi9cclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcGFkZGluZzogMCAyMHB4IDAgMjBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5hZGQtZWRpdC1jbGllbnQgLmdlbmVyYWwtaW5mb3JtYXRpb24ge1xyXG4gIG1hcmdpbjogMHB4IDAgMjVweCAwO1xyXG59XHJcblxyXG4uYWRkLWVkaXQtY2xpZW50IC5hbnRpY2lwYXRlZC1yZXRpcmVtZW50LWluZm9ybWF0aW9uIHtcclxuICBtYXJnaW46IDI1cHggMCAyNXB4IDA7XHJcbn1cclxuXHJcbi5hZGQtZWRpdC1jbGllbnQgaDEge1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLnRvcC1oZWFkZXItcm93IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLnRvcC1oZWFkZXItcm93IHNwYW4ge1xyXG4gIG1hcmdpbjogMTBweCAwIDBweCAwO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLmFkZC1lZGl0LWNsaWVudCBociwgaHIge1xyXG4gIGJvcmRlci10b3A6IDFweCAjZDVkNWQ1IHNvbGlkO1xyXG59XHJcblxyXG4uc2F2ZS1jb250aW51ZSB7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ubXlkcCB7XHJcbiAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5wdXQtZXJyb3ItdjIge1xyXG4gIG91dGxpbmU6IDJweCAjZmY3ZjdmIHNvbGlkIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ0bi1uZXctY2xpZW50IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5vcGFjaXR5NSB7XHJcbiAgb3BhY2l0eTogMC41IWltcG9ydGFudDtcclxufVxyXG5cclxuLnNhdmUtY29udGludWUtcHJldiBpIHtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcclxufVxyXG5cclxuLmFkZC1lZGl0LWNsaWVudCAuY2ItaXRlbSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5tYXJpdGFsLWhpc3RvcnkgLmNoZWNrYm94LWdyb3VwIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmRlcGVuZGVudC1jaGlsZHJlbiAuY2hlY2tib3gtZ3JvdXAge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uaGVhbHRoLWNvbmRpdGlvbnMgLnN1Yi10aXRsZSB7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLmN1cnJlbnQtbWFyaXRhbC1zdGF0dXMgLnN1Yi10aXRsZSwgLm1hcml0YWwtaGlzdG9yeSAuc3ViLXRpdGxlLCAuZGVwZW5kZW50LWNoaWxkcmVuIC5zdWItdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuXHJcbi5hZGQtZWRpdC1jbGllbnQgLmNiLWl0ZW0gaW5wdXQge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLmFkZC1lZGl0LWNsaWVudCAucGlhLXllYXJzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4uYWRkLWVkaXQtY2xpZW50IC5waWEteWVhcnMtaXRlbSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGJvcmRlcjogMXB4ICNkNWQ1ZDUgc29saWQ7XHJcbiAgbWFyZ2luOiAxMHB4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG4uZXJyb3ItaW5wdXQgaW5wdXQ6aW52YWxpZCB7XHJcbiAgYm9yZGVyOiAycHggI2ZmN2Y3ZiBzb2xpZCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hZGQtZWRpdC1jbGllbnQgLm1vZGFsLWJ1dHRvbiBidXR0b24ge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uYWRkLWVkaXQtY2xpZW50IC5tb2RhbC1idXR0b24gaSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5hZGQtZWRpdC1jbGllbnQgc2VsZWN0IHtcclxuICBoZWlnaHQ6IDM3cHg7XHJcbiAgLyogd2lkdGg6IDIzNXB4OyAqL1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLnRvcC1oZWFkZXItcm93IHNwYW4ge1xyXG5cclxufVxyXG5cclxuLnRvcC1oZWFkZXItcm93IGkge1xyXG5cclxufVxyXG5cclxuLm15ZHAgLnNlbGVjdGlvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMyFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50b3AtaGVhZGVyLW5hdmlnYXRpb24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4udG9wLWhlYWRlci1uYXZpZ2F0aW9uIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LXNpemU6IDEwcHg7XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxufVxyXG5cclxuLnRvcC1oZWFkZXItcHJvZ3Jlc3Mge1xyXG4gIGhlaWdodDogOHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgdG9wOiBjYWxjKDUwJSAtIDE0cHgpO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5pbnB1dC1jb250YWluZXIge1xyXG4gIGZsZXg6IDM7XHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gIGhlaWdodDogMzc1cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcclxuICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4udG9wLWhlYWRlci1wcm9ncmVzcyAucHJvZ3Jlc3Mge1xyXG4gIC8qIGhlaWdodDogNHB4O1xyXG4gIHdpZHRoOiAxMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTsgKi9cclxufVxyXG5cclxuLmNoaWxkLXNlbGVjdCB7XHJcbiAgd2lkdGg6IDY1cHg7XHJcbn1cclxuXHJcbi50b3AtaGVhZGVyLXByb2dyZXNzLWl0ZW0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnRvcC1oZWFkZXItcHJvZ3Jlc3MtaXRlbSBzcGFuIHtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4udG9wLWhlYWRlci1wcm9ncmVzcy1pdGVtIC5wcm9ncmVzcy1hY3RpdmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgd2lkdGg6IDAlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiBjYWxjKDUwJSAtIDI0cHgpO1xyXG4gIGhlaWdodDogOHB4O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBQcm9ncmVzc0hhbGY7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjJzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbn1cclxuXHJcbi50b3AtaGVhZGVyLXByb2dyZXNzLWl0ZW0gLnByb2dyZXNzLWZ1bGwge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgd2lkdGg6IDUwJTtcclxuICB0b3A6IGNhbGMoNTAlIC0gMjRweCk7XHJcbiAgaGVpZ2h0OiA4cHg7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IFByb2dyZXNzRmlsbDtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi50b3AtaGVhZGVyLXByb2dyZXNzLWl0ZW0gLnByb2dyZXNzLXNocmluayB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICB3aWR0aDogMTAwJTtcclxuICB0b3A6IGNhbGMoNTAlIC0gMjRweCk7XHJcbiAgaGVpZ2h0OiA4cHg7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IFByb2dyZXNzU2hyaW5rO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgbGVmdDogMDtcclxufVxyXG5cclxuLnRvcC1oZWFkZXItcHJvZ3Jlc3MtaXRlbSAucHJvZ3Jlc3MtYWN0aXZlLXNocmluayB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICB3aWR0aDogMTAwJTtcclxuICB0b3A6IGNhbGMoNTAlIC0gMjRweCk7XHJcbiAgaGVpZ2h0OiA4cHg7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IFByb2dyZXNzQWN0aXZlU2hyaW5rO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjJzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgUHJvZ3Jlc3NGaWxsIHtcclxuICAwJSAgIHsgd2lkdGg6IDUwJTsgfVxyXG4gIDEwMCUgeyB3aWR0aDogMTAwJTsgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIFByb2dyZXNzSGFsZiB7XHJcbiAgMCUgICB7IHdpZHRoOiAwJTsgfVxyXG4gIDEwMCUgeyB3aWR0aDogNTAlOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgUHJvZ3Jlc3NTaHJpbmsge1xyXG4gIDAlICAgeyB3aWR0aDogNTAlOyB9XHJcbiAgMTAwJSB7IHdpZHRoOiAwJTsgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIFByb2dyZXNzQWN0aXZlU2hyaW5rIHtcclxuICAwJSAgIHsgd2lkdGg6IDEwMCU7IH1cclxuICAxMDAlIHsgd2lkdGg6IDUwJTsgfVxyXG59XHJcbi50b3AtaGVhZGVyLWNpcmNsZS1jaGVja21hcmsge1xyXG4gIGJhY2tncm91bmQ6ICNFNTg5MjkgIWltcG9ydGFudDtcclxufVxyXG4udG9wLWhlYWRlci1jaXJjbGUge1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICB3aWR0aDogMzhweDtcclxuICBoZWlnaHQ6IDM4cHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5jaXJjbGUtaW5hY3RpdmUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAxMDtcclxuICBjdXJzb3I6IG5vdC1hbGxvd2VkIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ1dHRvbi1hY3RpdmU6OmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBvcGFjaXR5OiAwLjY7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uY2lyY2xlLWFjdGl2ZTo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuLyogICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjY2NjO1xyXG4gIGJvcmRlcjogNXB4ICNmZmU1ZTUgc29saWQ7ICovXHJcbiAgb3BhY2l0eTogMC44O1xyXG4gIHdpZHRoOiAzMHB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi50b3AtaGVhZGVyLWNpcmNsZSAuaXMtdmFsaWQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gIHdpZHRoOiAzMnB4O1xyXG4gIGhlaWdodDogMzJweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG59XHJcblxyXG4udG9wLWhlYWRlci1jaXJjbGUgLmNpcmNsZS1udW1iZXIge1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG59XHJcblxyXG4uaW5wdXQtc2VjdGlvbiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIG1hcmdpbi1ib3R0b206IDExcHg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuIC8qICBwYWRkaW5nLWJvdHRvbTogNXB4OyAqL1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIC8qIGZvbnQtd2VpZ2h0OiA4MDA7ICovXHJcbn1cclxudGFibGUuaGVhZGVyIHRkIGRpdiB7XHJcbiAgZGlzcGxheTogdW5zZXQgIWltcG9ydGFudDtcclxufVxyXG4uaW5wdXQtc2VjdGlvbiBkaXYge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBmb250LXNpemU6IDExcHg7XHJcbiAgLyogcGFkZGluZy1ib3R0b206IDVweDsgKi9cclxuXHJcbiAvKiAgZm9udC13ZWlnaHQ6IDgwMDsgKi9cclxufVxyXG5cclxuLmlucHV0LXNlY3Rpb24gZGl2IHNwYW57XHJcbiAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICBmb250LXdlaWdodDogODAwO1xyXG59XHJcblxyXG4vKiBDcmVhdGUgYSBjdXN0b20gY2hlY2tib3ggKi9cclxuLmNoZWNrbWFyayB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGhlaWdodDogMjVweDtcclxuICB3aWR0aDogMjVweDtcclxufVxyXG5cclxuLyogT24gbW91c2Utb3ZlciwgYWRkIGEgZ3JleSBiYWNrZ3JvdW5kIGNvbG9yICovXHJcbi5jb250YWluZXJDaGVja2JveDpob3ZlciBpbnB1dCB+IC5jaGVja21hcmsge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XHJcbn1cclxuXHJcbi8qIFdoZW4gdGhlIGNoZWNrYm94IGlzIGNoZWNrZWQsIGFkZCBhIGJsdWUgYmFja2dyb3VuZCAqL1xyXG4uY29udGFpbmVyQ2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM1NTU7XHJcbiAgYm9yZGVyOiB1bnNldCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBDcmVhdGUgdGhlIGNoZWNrbWFyay9pbmRpY2F0b3IgKGhpZGRlbiB3aGVuIG5vdCBjaGVja2VkKSAqL1xyXG4uY2hlY2ttYXJrOmFmdGVyIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBTaG93IHRoZSBjaGVja21hcmsgd2hlbiBjaGVja2VkICovXHJcbi5jb250YWluZXJDaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyazphZnRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8qIFN0eWxlIHRoZSBjaGVja21hcmsvaW5kaWNhdG9yICovXHJcbi5jb250YWluZXJDaGVja2JveCAuY2hlY2ttYXJrOmFmdGVyIHtcclxuICBsZWZ0OiA5cHg7XHJcbiAgdG9wOiA1cHg7XHJcbiAgd2lkdGg6IDVweDtcclxuICBoZWlnaHQ6IDEwcHg7XHJcbiAgYm9yZGVyOiBzb2xpZCB3aGl0ZTtcclxuICBib3JkZXItd2lkdGg6IDAgM3B4IDNweCAwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG59XHJcblxyXG5cclxuLm1haW5Db250YWluZXJDaGVja2JveCAuY29udGFpbmVyQ2hlY2tib3h7XHJcbiAgbWFyZ2luLWxlZnQ6IC0zNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5sZWZ0LW1hcmdpbi1zbSB7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5yYWRpby10ZXh0IHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5zZWxlY3Rpb24taXRlbSB7XHJcbiAgcGFkZGluZzogNXB4IDVweCA1cHggNXB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm1hcmdpbi1sZWZ0LWxnIHtcclxuICBtYXJnaW4tbGVmdDogNTBweDtcclxufVxyXG5cclxuLm1hcmdpbi10b3Atc20ge1xyXG4gIG1hcmdpbi10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5tYXJnaW4tdG9wLWxnIHtcclxuICBtYXJnaW4tdG9wOiA0MHB4O1xyXG59XHJcblxyXG4ubWFyZ2luLWJvdHRvbS1zbSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLyogLm1hcmdpbi1yaWdodC1zbSB7XHJcbiAgbWFyZ2luLXRvcDogNXB4O1xyXG59ICovXHJcblxyXG4uaW5wdXQtc2VjdGlvbiBkaXYgc3BhbntcclxuICBwYWRkaW5nLWJvdHRvbTogdW5zZXQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlucHV0LXNlY3Rpb24gaW5wdXRbdHlwZT0ndGV4dCddIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzO1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgdGV4dC1pbmRlbnQ6IDE1cHg7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICB3aWR0aDogMTYwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gIGhlaWdodDogMzVweDtcclxufVxyXG5cclxuLmlucHV0LXNlY3Rpb24gZGl2LnRvb2wtdGlwLW1vZGFsIHNwYW57XHJcbiAgZm9udC13ZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnRvb2wtdGlwLW1vZGFse1xyXG4gIGZvbnQtd2VpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWFyaXRhbC1oaXN0b3J5IC5pbnB1dC1zZWN0aW9uIHNwYW4sIC5kZXBlbmRlbnQtY2hpbGRyZW4gLmlucHV0LXNlY3Rpb24gc3BhbiB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG4uY2hpbGRyZW4tY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG5cclxufVxyXG5cclxuLmNpcmNsZS1zZWxlY3RlZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOSFpbXBvcnRhbnQ7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG5cclxuLmNoZWNrLWljb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiA1MDAwO1xyXG4gIGZvbnQtc2l6ZTogMnJlbTtcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmNoaWxkLWNvbiB7XHJcbiAgZGlzcGxheTogZmxleCFpbXBvcnRhbnQ7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdyFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogMTBweCAxMHB4IDAgMTBweDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uY2hpbGQtY29udGFpbmVyIHtcclxuICBib3JkZXI6IDFweCAjZDVkNWQ1IHNvbGlkO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgbWFyZ2luOiA1cHg7XHJcbn1cclxuXHJcbi5pbnB1dC1zZWN0aW9uIC5zdWItdGl0bGUge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLmRlc2NyaXB0aW9uIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5zcG91c2UtY29udGFpbmVyIHtcclxuICBib3JkZXI6IDFweCAjZDVkNWQ1IHNvbGlkO1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbn1cclxuXHJcbi5zcG91c2VzLWNvbnRhaW5lciB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLm1hcml0YWwtc3RhdHVzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG4ubWFyaXRhbC1zdGF0dXMgLm1haW5Db250YWluZXJDaGVja2JveCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDdweDtcclxufVxyXG5cclxuLnByaW50LW1vZGFsIGkge1xyXG4gIG1hcmdpbjogMTBweDtcclxufVxyXG5cclxuXHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4gIC5tbXQtcHJvamVjdGlvbnMge1xyXG4gICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5jb250ZW50LWFyZWEgLmNvbnRlbnQge1xyXG4gICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIGFwcC10b3BuYXYge1xyXG4gICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBhcHAtc2lkZWJhciB7XHJcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5wcmludC1tb2RhbCwgLmNsb3NlLW1vZGFsIHtcclxuICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4udXBsb2FkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi51cGxvYWQgaW5wdXQsIC51cGxvYWQgdGV4dGFyZWEge1xyXG4gIGhlaWdodDogNDJweDtcclxuICBtYXJnaW4tdG9wOiA2cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICBjb2xvcjogIzU1NTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgZmxleDogMTtcclxuICBwYWRkaW5nOiAxN3B4O1xyXG59XHJcblxyXG4udXBsb2FkIC5idG4ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDAgMjVweCAwIDI1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIG1hcmdpbjogMTBweCAxMHB4IDEwcHggMDtcclxuICB3aWR0aDogMTI1cHg7XHJcbn1cclxuXHJcbi51cGxvYWQgLmJ0biBidXR0b24ge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGhlaWdodDogMzVweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi51cGxhb2QtY29udGVudCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgd2lkdGg6IDc1JTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICAvKiBvdmVyZmxvdy15OiBzY3JvbGw7ICovXHJcbn1cclxuXHJcbi51cGxvYWQgLmJyb3dzZS1maWxlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udXBsb2FkIHRleHRhcmVhIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzO1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBwYWRkaW5nOiAxMHB4IWltcG9ydGFudDtcclxuICBtYXJnaW46IDAhaW1wb3J0YW50O1xyXG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcclxuICBsaW5lLWhlaWdodDogMS4zcmVtO1xyXG4gIC8qIHdpZHRoOiA5NSU7ICovXHJcbiAgaGVpZ2h0OiAxNTBweDtcclxuICByZXNpemU6IG5vbmU7XHJcbn1cclxuXHJcbi51cGxvYWQgc2VsZWN0IHtcclxuICBoZWlnaHQ6IDM3cHg7XHJcbiAgbWFyZ2luLXRvcDogNnB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGZsZXg6IDE7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIHBhZGRpbmc6IDE3cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uYnJvd3NlLWZpbGUgLmZpbGUtc2VsZWN0IHtcclxuICB3aWR0aDogMC4xcHg7XHJcblx0aGVpZ2h0OiAwLjFweDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHotaW5kZXg6IC0xO1xyXG59XHJcblxyXG4uYnJvd3NlLWZpbGUgLmZpbGUtc2VsZWN0ICsgbGFiZWwge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gIGNvbG9yOiAjRkZGO1xyXG4gIGhlaWdodDogMzVweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgd2lkdGg6IDEyNXB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW46IDEwcHg7XHJcbn1cclxuXHJcblxyXG4uY2xvc2UtY29udGFpbmVyIHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4ud3JhcHBlci1jb250ZW50IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uaW5wdXQtZXhhbXBsZSB7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDo2NDFweCkge1xyXG4gIC5jb250ZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLmh2cy1yYWRpbyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmh2cy1yYWRpbzo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I3YjdiNztcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxufVxyXG5cclxuLmh2cy1yYWRpbzpjaGVja2VkOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xyXG4gIHdpZHRoOiAxNXB4O1xyXG4gIGhlaWdodDogMTVweDtcclxuICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG59XHJcblxyXG4uaHZzLXJhZGlvOmNoZWNrZWQ6OmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICB3aWR0aDogNXB4O1xyXG4gIGhlaWdodDogNXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG4uZmlsZS1zZWxlY3Qge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XHJcbiAgbWluLWhlaWdodDogMTAwJTtcclxuICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgb3BhY2l0eTogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG59XHJcblxyXG4udXBsb2FkLWJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICBjb2xvcjogI2ZmZjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG4gIGhlaWdodDogNTBweDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHdpZHRoOiAxNzVweDtcclxufVxyXG5cclxuLnVwbG9hZC1idXR0b24gaSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubW10LWJyYWNrZXQtb25lIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTM3ZjViO1xyXG59XHJcblxyXG4ubW10LWJyYWNrZXQtdHdvIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWFiM2JjO1xyXG59XHJcblxyXG4ubW10LWJyYWNrZXQtdGhyZWUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlN2IwNTM7XHJcbn1cclxuXHJcbi5tbXQtYnJhY2tldC1mb3VyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjdhY2MzO1xyXG59XHJcblxyXG4ubW10LWJyYWNrZXQtZml2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E3YmY4NztcclxufVxyXG5cclxuLm1tdC1icmFja2V0LXNpeCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI5NzQ4ZDtcclxufVxyXG5cclxuXHJcbmlucHV0OmludmFsaWQge1xyXG4gIGJvcmRlcjogMnB4ICNmZjdmN2Ygc29saWQhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWdlRXJyb3Ige1xyXG4gIGNvbG9yOiAjZmY3ZjdmICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5yaXNrLXRvbGVyYW5jZSB7XHJcbiAgcGFkZGluZzogMCAyMHB4IDAgMjBweDtcclxufVxyXG5cclxuLnJpc2stdG9sZXJhbmNlIHNlbGVjdCB7XHJcbiAgaGVpZ2h0OiAzN3B4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLnJpc2stdG9sZXJhbmNlLXF1ZXN0aW9ubmFpcmUtaW5wdXQtZ2FwIHtcclxuICBwYWRkaW5nOiAwIDAgMzBweCAwO1xyXG59XHJcblxyXG4ucmlzay10b2xlcmFuY2UtcXVlc3Rpb25uYWlyZS1jb250YWluZXIge1xyXG4gIG1heC13aWR0aDogNzAwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG8gNzBweCBhdXRvO1xyXG4gIHBhZGRpbmc6IDUwcHggMCAwIDBweDtcclxufVxyXG5cclxuLnJpc2stdG9sZXJhbmNlLXF1ZXN0aW9ubmFpcmUtY29udGFpbmVyIC5pbnB1dC10eHQtZW1haWx7XHJcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxuICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4uaW5wdXQtdHh0IHtcclxuICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi8qIFRoZSBNb2RhbCAoYmFja2dyb3VuZCkgKi9cclxuLm1vZGFsIHtcclxuICBkaXNwbGF5OiBibG9jazsgLyogSGlkZGVuIGJ5IGRlZmF1bHQgKi9cclxuICBwb3NpdGlvbjogZml4ZWQ7IC8qIFN0YXkgaW4gcGxhY2UgKi9cclxuICB6LWluZGV4OiAxOyAvKiBTaXQgb24gdG9wICovXHJcbiAgcGFkZGluZy10b3A6IDEwMHB4OyAvKiBMb2NhdGlvbiBvZiB0aGUgYm94ICovXHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggKi9cclxuICBoZWlnaHQ6IDEwMCU7IC8qIEZ1bGwgaGVpZ2h0ICovXHJcbiAgb3ZlcmZsb3c6IGF1dG87IC8qIEVuYWJsZSBzY3JvbGwgaWYgbmVlZGVkICovXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsMCwwKTsgLyogRmFsbGJhY2sgY29sb3IgKi9cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNCk7IC8qIEJsYWNrIHcvIG9wYWNpdHkgKi9cclxufVxyXG5cclxuLyogTW9kYWwgQ29udGVudCAqL1xyXG4ubW9kYWwtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcclxuICBtYXJnaW46IGF1dG87XHJcbiAgcGFkZGluZzogMjBweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjODg4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDkwJTtcclxufVxyXG5cclxuI2FncmVtZW50LXJlcG9ydCB7XHJcbiAgaGVpZ2h0OiAzMDBweDtcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcblxyXG4gIGJvcmRlcjogc29saWQgMXB4ICNlZWU7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLnVuZnVuZGVkQ29zdCAudGl0bGUsIC5pbnZlc3RtZW50LWluZm9ybWF0aW9uIC50aXRsZSB7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmludmVzdG1lbnQtaW5mb3JtYXRpb24gLnRpdGxlIHtcclxuICBjb2xvcjogIzM4MzQ4OTtcclxufVxyXG5cclxuLmludmVzdG1lbnQtaW5mb3JtYXRpb24gLnN1Yi10aXRsZSB7XHJcbiAgZm9udC1zaXplOiAyNHB4O1xyXG4gIG1hcmdpbjogMTBweCAwIDEwcHggMDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uYmx1ZS1jb2xvciB7XHJcbiAgY29sb3I6ICM0MzhDQzU7XHJcbn1cclxuLmZvbnQtYm9sZCB7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4uZm9udC1pdGFsaWMge1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG4uZm9ybXVsYS1pY29uIHtcclxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM1NTU7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zaXplOiAyMnB4O1xyXG4gIHBhZGRpbmc6IDEzcHggMjBweCAxM3B4IDIwcHg7XHJcbiAgbWFyZ2luOiAzMHB4IDE1cHggMCAxNXB4O1xyXG59XHJcblxyXG4ubnVtYmVyLWNhcmQtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLm51bWJlci1jYXJkLWNvbnRhaW5lciAubnVtYmVyLWNhcmQsIC5udW1iZXItY2FyZC1jb250YWluZXIgLmZvcm11bGEtaWNvbiB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5udW1iZXItY2FyZCB7XHJcbiAgbWF4LXdpZHRoOiAzMDBweDtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzNDg5O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgd2lkdGg6IDE4MHB4O1xyXG4gIGhlaWdodDogODBweDtcclxufVxyXG4ubnVtYmVyLWNhcmQgLnZhbHVlIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbWFyZ2luLXRvcDogNXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcblxyXG4ubnVtYmVyLWNhcmQtY29udGFpbmVyIC5udW1iZXItY2FyZDpudGgtY2hpbGQoMSksIC5udW1iZXItY2FyZC1jb250YWluZXIgLm51bWJlci1jYXJkOm50aC1jaGlsZCgyKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODljNDtcclxufVxyXG5cclxuLm51bWJlci1jYXJkLWNvbnRhaW5lciAubnVtYmVyLWNhcmQ6bnRoLWNoaWxkKDMpLCAubnVtYmVyLWNhcmQtY29udGFpbmVyIC5udW1iZXItY2FyZDpudGgtY2hpbGQoNCkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzODM0ODk7XHJcbn1cclxuXHJcbi5yaXNrLW1ldGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnJpc2stbWV0ZXIgZGl2IHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMzVweCA1cHggMzVweCA1cHg7XHJcbiAgbWluLXdpZHRoOiA3NXB4O1xyXG4gIG1heC13aWR0aDogMTI1cHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5yaXNrLW1ldGVyIGRpdjpudGgtY2hpbGQoMSkge1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE1cHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRmMmYzO1xyXG59XHJcblxyXG4ucmlzay1tZXRlciBkaXY6bnRoLWNoaWxkKDIpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhlY2VkO1xyXG59XHJcblxyXG4ucmlzay1tZXRlciBkaXY6bnRoLWNoaWxkKDMpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RlN2U4O1xyXG59XHJcblxyXG4ucmlzay1tZXRlciBkaXY6bnRoLWNoaWxkKDQpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWZkOGRhO1xyXG59XHJcblxyXG4ucmlzay1tZXRlciBkaXY6bnRoLWNoaWxkKDUpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWZkOGRhO1xyXG59XHJcblxyXG4ucmlzay1tZXRlciBkaXY6bnRoLWNoaWxkKDYpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZkM2Q4O1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxNXB4O1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxNXB4O1xyXG59XHJcblxyXG4ucmlza1NlbGVjdGVkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzU3NGMwIWltcG9ydGFudDtcclxuICBjb2xvcjogI2ZmZiFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5yYXRlLXRhYmxlIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDUwMDZiO1xyXG59XHJcblxyXG4ucmF0ZS10YWJsZSB0ciB0ZCwgLnJhdGUtdGFibGUgdHIgdGgge1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuXHJcbi5yYXRlLXRhYmxlIHRyOm50aC1jaGlsZCgyKSB0ZDpub3QoOmZpcnN0LWNoaWxkKSwgLnJhdGUtdGFibGUgdHI6bnRoLWNoaWxkKDMpIHRkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGNvbG9yOiAjMjYyZjM0O1xyXG59XHJcblxyXG4uc3RyYXRlZ3ktdGFibGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogMXB4ICMwMDAgc29saWQ7XHJcbiAgYm9yZGVyLXNwYWNpbmc6IGluaGVyaXQ7XHJcbiAgYm9yZGVyLXRvcDogMnB4ICMwMDAgc29saWQ7XHJcbiAgYm9yZGVyLWxlZnQ6IDJweCAjMDAwIHNvbGlkO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcbiAgXHJcbi5ydC1mb3JtYXQtdmFsdWVzIHNwYW4ge1xyXG4gIHBhZGRpbmc6IDEwcHggMCAxMHB4IDA7XHJcbiAgbWluLWhlaWdodDogMTVweDtcclxufVxyXG5cclxuLnN0cmF0ZWd5LXRhYmxlIHRyIHRkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGJvcmRlci1yaWdodDogMXB4ICMwMDAgc29saWQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4ICMwMDAgc29saWQ7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICAvKmhlaWdodDogNTBweDsqL1xyXG59XHJcblxyXG4uc3RyYXRlZ3ktdGFibGUgdHIgdGQ6bnRoLWNoaWxkKDEpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzNDg5O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uc3RyYXRlZ3ktdGFibGUgLnByb2ZpbGUtZ3Jvd3RoIHtcclxuICB3aWR0aDogMzBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG59XHJcblxyXG5cclxuIl19 */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Contact Support\\r\\n
\\r\\n
\\r\\n 800-969-6518\\r\\n support@hvs.supportsystem.com\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Please fill out the form below, and someone will respond to your inquiry in a timely manner.\\r\\n
\\r\\n
\\r\\n Subject:\\r\\n \\r\\n
\\r\\n
\\r\\n Message:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Client Details\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Lead Details\\r\\n \\r\\n
\\r\\n
\\r\\n First Name\\r\\n {{modalData.FirstName || '- -'}}\\r\\n
\\r\\n
\\r\\n Last Name\\r\\n {{modalData.LastName || '- -'}}\\r\\n
\\r\\n
\\r\\n Email\\r\\n {{modalData.Email || '- -'}}\\r\\n
\\r\\n
\\r\\n Phone\\r\\n {{modalData.Phone || '- -'}}\\r\\n
\\r\\n
\\r\\n Zip\\r\\n {{modalData.zip || '- -'}}\\r\\n
\\r\\n
\\r\\n Age\\r\\n {{modalData[\\\"0Age\\\"] || '- -'}}\\r\\n
\\r\\n
\\r\\n Married\\r\\n {{modalData.isMarried || '- -'}}\\r\\n
\\r\\n
\\r\\n Last Activity\\r\\n {{formatDate(modalData.lastActivityDate) || '- -'}}\\r\\n
\\r\\n \\r\\n
\\r\\n Current Income\\r\\n {{formatCurrencyV2(modalData[\\\"0CurrentIncome\\\"]) || '- -'}}\\r\\n
\\r\\n
\\r\\n PIA\\r\\n {{formatCurrencyV2(modalData[\\\"0PIA\\\"]) || '- -'}}\\r\\n
\\r\\n
\\r\\n Minimal Benefit\\r\\n {{formatCurrencyV2(modalData.minimalBenefit) || '- -'}}\\r\\n
\\r\\n
\\r\\n Optimal Benefit\\r\\n {{formatCurrencyV2(modalData.optimalBenefit) || '- -'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Assign Lead\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
AdvisorAction
{{advisor.c.FirstName + ' ' + advisor.c.LastName}}Assign Lead
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Create New Advisor\\r\\n 0\\\">Edit Advisor \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

General Information

\\r\\n
\\r\\n
\\r\\n
\\r\\n First Name*\\r\\n \\r\\n
\\r\\n
\\r\\n Last Name*\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Title\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Address\\r\\n \\r\\n
\\r\\n
\\r\\n City\\r\\n \\r\\n
\\r\\n
\\r\\n State\\r\\n \\r\\n
\\r\\n
\\r\\n Zip\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Phone*\\r\\n \\r\\n
\\r\\n
\\r\\n Email*\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Edit Advisor\\r\\n
\\r\\n
\\r\\n
\\r\\n First Name:\\r\\n \\r\\n
\\r\\n
\\r\\n Last Name:\\r\\n \\r\\n
\\r\\n
\\r\\n Phone:\\r\\n \\r\\n
\\r\\n
\\r\\n Email:\\r\\n \\r\\n
\\r\\n
\\r\\n Date of Birth:\\r\\n \\r\\n
\\r\\n
\\r\\n State:\\r\\n \\r\\n
\\r\\n
\\r\\n City:\\r\\n \\r\\n
\\r\\n
\\r\\n Address:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Edit Profile\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Profile Picture\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Username: {{advisor.Username}}\\r\\n
\\r\\n Cancel Subscription\\r\\n
\\r\\n
\\r\\n General Information\\r\\n
\\r\\n
\\r\\n
\\r\\n First Name\\r\\n \\r\\n
\\r\\n
\\r\\n Last Name\\r\\n \\r\\n
\\r\\n
\\r\\n Phone\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Edit Organization\\r\\n
\\r\\n
\\r\\n
\\r\\n Name:\\r\\n \\r\\n
\\r\\n
\\r\\n Email:\\r\\n \\r\\n
\\r\\n
\\r\\n Phone:\\r\\n \\r\\n
\\r\\n
\\r\\n ParentID:\\r\\n \\r\\n
\\r\\n
\\r\\n State:\\r\\n \\r\\n
\\r\\n
\\r\\n City:\\r\\n \\r\\n
\\r\\n
\\r\\n Zip:\\r\\n \\r\\n
\\r\\n
\\r\\n Address:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
Year (Age)Proj. Household Income{{ modalData.mmtModalData && modalData.mmtModalData[0] ? modalData.mmtModalData[0].magi : '' }}% MAGIIRMAA BracketPremiumsSurchargeTotal CostSavings
{{ data.yearWithAge }} {{ data.fullMAGI }} {{ data.percentMAGI }} {{ data.updatedBracket }} {{ data.premiums }} {{ data.surcharges }} {{ data.total }} {{ data.savings }}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Document Upload\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Select a file to upload(uploaded file cannot exceed 500mb)\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Document Category\\r\\n \\r\\n Document Title\\r\\n \\r\\n Document Description\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Savings Illustration\\r\\n

The cost and investment projections displayed in this illustration are shown in the future value.

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Year (Age)Beginning ValueContributionExpected Rate of ReturnTotal Healthcare ExpenseNet of SS DeductionsEnding Value
{{data.Year + i }} ({{data.clientAge + i}}{{(data.spouseAge == 0) ? ')' : ', '}}{{(data.spouseAge == 0) ? '' : data.spouseAge + i + ')'}}{{data.BeginningBalance}}{{data.Contribution}}{{data.ExpectedRateReturn}}{{data.Total}}{{data.NetOfSSDeductions}}{{data.EngingBalance}}
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Long-Term Care Illustration\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Settings\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Create Organization\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Create New Client\\r\\n 0\\\">Edit Client\\r\\n Create new client on behalf of: {{this.selectedAdvisor.c.FirstName + \\\" \\\" + this.selectedAdvisor.c.LastName}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n firstPage, 'progress-active-shrink': currentAddEditClientScreen === firstPage && previousAddEditClientScreen > firstPage }\\\">\\r\\n
firstPage && validFormInputs[firstPage].isValid, 'circle-selected': currentAddEditClientScreen === firstPage }\\\" (click)=\\\"updateAddEditClientScreen(firstPage)\\\">\\r\\n \\r\\n
{{secondPage}}
\\r\\n
\\r\\n General Information\\r\\n
\\r\\n
\\r\\n secondPage, 'progress-shrink' : currentAddEditClientScreen < secondPage, 'progress-active-shrink': currentAddEditClientScreen === secondPage && previousAddEditClientScreen > secondPage }\\\">\\r\\n
secondPage && validFormInputs[secondPage].isValid, 'circle-selected': currentAddEditClientScreen === secondPage, 'circle-active' : !canContinue(secondPage), 'circle-inactive' : !validFormInputs[firstPage].isValid}\\\" (click)=\\\"validFormInputs[firstPage].isValid && updateAddEditClientScreen(secondPage)\\\">\\r\\n secondPage\\\" class=\\\"fa fa-check-circle check-icon\\\" aria-hidden=\\\"true\\\">\\r\\n\\r\\n
{{thirdPage}}
\\r\\n \\r\\n
\\r\\n Financial Information\\r\\n
\\r\\n \\r\\n
\\r\\n thirdPage, 'progress-shrink' : currentAddEditClientScreen < thirdPage, 'progress-active-shrink': currentAddEditClientScreen === thirdPage && previousAddEditClientScreen > thirdPage}\\\">\\r\\n
thirdPage && validFormInputs[thirdPage].isValid,'circle-selected': currentAddEditClientScreen === thirdPage, 'circle-active' : !canContinue(thirdPage), 'circle-inactive' : !validFormInputs[secondPage].isValid}\\\" (click)=\\\"validFormInputs[secondPage].isValid && updateAddEditClientScreen(thirdPage)\\\" >\\r\\n thirdPage\\\" class=\\\"fa fa-check-circle check-icon\\\" aria-hidden=\\\"true\\\">\\r\\n
{{forthPage}}
\\r\\n
\\r\\n Health Conditions\\r\\n
\\r\\n\\r\\n
\\r\\n forthPage, 'progress-shrink' : currentAddEditClientScreen < forthPage, 'progress-active-shrink': currentAddEditClientScreen === forthPage && previousAddEditClientScreen > forthPage}\\\">\\r\\n
forthPage && validFormInputs[forthPage].isValid,'circle-selected': currentAddEditClientScreen === forthPage, 'circle-active' : !canContinue(forthPage), 'circle-inactive' : !validFormInputs[1].isValid}\\\" (click)=\\\"validFormInputs[secondPage].isValid && updateAddEditClientScreen(forthPage)\\\" >\\r\\n forthPage\\\" class=\\\"fa fa-check-circle check-icon\\\" aria-hidden=\\\"true\\\">\\r\\n
{{fifthPage}}
\\r\\n
\\r\\n Marital History\\r\\n
\\r\\n
\\r\\n fifthPage, 'progress-shrink' : currentAddEditClientScreen < fifthPage, 'progress-active-shrink': currentAddEditClientScreen === fifthPage && previousAddEditClientScreen > fifthPage}\\\">\\r\\n
fifthPage && validFormInputs[fifthPage].isValid,'circle-selected': currentAddEditClientScreen === fifthPage, 'circle-active' : !canContinue(fifthPage), 'circle-inactive' : !validFormInputs[1].isValid}\\\" (click)=\\\"validFormInputs[secondPage].isValid && updateAddEditClientScreen(fifthPage)\\\" >\\r\\n fifthPage\\\" class=\\\"fa fa-check-circle check-icon\\\" aria-hidden=\\\"true\\\">\\r\\n
{{sixthPage}}
\\r\\n
\\r\\n Dependent Children\\r\\n
\\r\\n
\\r\\n fifthPage}\\\">\\r\\n
\\r\\n \\r\\n
{{sixthPage}}
\\r\\n
\\r\\n Dependent Children\\r\\n
\\r\\n \\r\\n
\\r\\n sixthPage}\\\">\\r\\n
\\r\\n \\r\\n
{{seventhPage}}
\\r\\n
\\r\\n Advisory Info\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

General Information

\\r\\n \\r\\n
\\r\\n
\\r\\n

Assign Organization

\\r\\n Please select the Organization under which this client will fall.\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

Assign Advisor

\\r\\n Please select the advisor you would like to create a client for.\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n First Name*\\r\\n \\r\\n
\\r\\n
\\r\\n Last Name*\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Gender*\\r\\n \\r\\n
\\r\\n
\\r\\n Date of Birth* (xx/xx/xxxx)\\r\\n \\r\\n {{ageOverEighty}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Address\\r\\n \\r\\n
\\r\\n
\\r\\n City\\r\\n \\r\\n
\\r\\n
\\r\\n State\\r\\n \\r\\n
\\r\\n
\\r\\n Zip\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Phone\\r\\n \\r\\n
\\r\\n
\\r\\n Email\\r\\n \\r\\n
\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n

Anticipated Retirement Information

\\r\\n
\\r\\n
\\r\\n Retirement Age*\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Retirement State*\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Marital Status

\\r\\n
\\r\\n What is your current (most recent) marital status?*\\r\\n \\r\\n
\\r\\n

\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n

Ex-\\r\\n Late Spouse's General Information

\\r\\n
\\r\\n
\\r\\n Date of Marriage\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n First Name*\\r\\n \\r\\n
\\r\\n
\\r\\n Last Name*\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Gender*\\r\\n \\r\\n
\\r\\n
\\r\\n Date of Birth* (xx/xx/xxxx)\\r\\n \\r\\n {{spouseAgeOverEighty}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n Is this ex-spouse still alive?*  \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Were you married 10 years or more?* \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

\\r\\n Ex-Spouse's Anticipated Retirement Information\\r\\n

\\r\\n
\\r\\n
\\r\\n Retirement Age*\\r\\n \\r\\n
\\r\\n
\\r\\n Retirement State*\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n

Data Projections

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Omit retirement state specificity and display outputting illustrations and reports based on national averages?\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n

Client's Financial Information

\\r\\n
\\r\\n
\\r\\n Client's Current Annual Income*\\r\\n \\r\\n
\\r\\n
\\r\\n Client's Primary Insurance Amount (Monthly)*\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Would you like to use our PIA calculator? \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Enter the client's first and last year of work (which may be a future year). Then, enter gross annual earnings in the fields that open below. Earnings totals should not be adjusted for inflation. For years with no earnings, leave the field at $0. To include fture earned income (if applicable), input your best estimate for the appropriate years.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Start Year \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n End Year\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Year: {{year.Year}}\\r\\n \\r\\n Income:\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Do you or will you have access to a public pension? \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Annual Pension Value\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Start Month\\r\\n \\r\\n
\\r\\n
\\r\\n Start Year\\r\\n \\r\\n
\\r\\n
\\r\\n Substantial Earning Years\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n

Ex-\\r\\n Late Spouse's Financial Information

\\r\\n
\\r\\n
\\r\\n Spouse's Current Annual Income*\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Ex-\\r\\n Late\\r\\n Spouse's Primary Insurance Amount (Monthly)*\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Would you like to use our PIA calculator?\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Enter the client's first and last year of work (which may be a future year). Then, enter gross annual earnings in the\\r\\n fields that open below. Earnings totals should not be adjusted for inflation. For years with no earnings, leave the\\r\\n field at $0. To include fture earned income (if applicable), input your best estimate for the appropriate years.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Start Year\\r\\n \\r\\n
\\r\\n
\\r\\n End Year\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Year: {{year.Year}}\\r\\n \\r\\n Income:\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Do you or will you have access to a public pension?\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Annual Pension Value\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Start Month\\r\\n \\r\\n
\\r\\n
\\r\\n Start Year\\r\\n \\r\\n
\\r\\n
\\r\\n Substantial Earning Years\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Household Information

\\r\\n
\\r\\n
\\r\\n Income Replacement Ratio*\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n

Health Information

\\r\\n \\r\\n
\\r\\n Please check all that apply:\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Calculated Life Expectancy

\\r\\n
\\r\\n \\r\\n
\\r\\n
this.clientModelV2.healthInformation.lifeExpectancy\\\">\\r\\n Life expectancy cannot be lower than Retirement Age. Please return to the General Information tab and decrease Retirement Age.\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n Ex-\\r\\n Spouse's Health Information\\r\\n

\\r\\n Please check all that apply:\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Calculated Life Expectancy

\\r\\n
\\r\\n \\r\\n
\\r\\n
this.clientModelV2.maritalStatus.lifeExpectancy\\\">\\r\\n Life expectancy cannot be lower than Retirement Age. Please return to the General Information tab and decrease Retirement Age.\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Ex-Spouse's Projected Life Expectancy

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Marital History

\\r\\n
\\r\\n

\\r\\n You have indicated that you are single (never married). If this is inaccurate, hit the “Previous” button at the bottom of this page and update your current marital status. When you return to this page with the proper information, you can add any past marriages that may apply.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n Were you ever married previously, prior to your current marriage?*\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Prior to your current marriage, how many times were you previously married? \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Former Spouse #{{ i + 1 }}

\\r\\n
\\r\\n What is the nature of your prior marriage\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

General Information

\\r\\n
\\r\\n
\\r\\n First Name*\\r\\n \\r\\n
\\r\\n
\\r\\n Last Name*\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Gender*\\r\\n \\r\\n
\\r\\n
\\r\\n Date of Birth* (xx/xx/xxxx)\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Is this ex-spouse still alive?*\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Were you married 10 years or more?*\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Financial Information

\\r\\n
\\r\\n
\\r\\n Primary Insurance Amount*\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Health Information

\\r\\n Please check all that apply:\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Ex-Spouse's Projected Life Expectancy

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Was your spouse ever married previously, prior to your current marriage?*\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Prior to your current marriage, how many times was your late ex-spouse previously married?\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Late Ex-Spouse's Prior Marriage {{i + 1}}

\\r\\n
\\r\\n What is the nature of your prior marriage\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

General Information

\\r\\n
\\r\\n
\\r\\n First Name*\\r\\n \\r\\n
\\r\\n
\\r\\n Last Name*\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Gender*\\r\\n \\r\\n
\\r\\n
\\r\\n Date of Birth* (xx/xx/xxxx)\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Is this ex-spouse still alive?*\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Were you married 10 years or more?*\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Financial Information

\\r\\n
\\r\\n
\\r\\n Primary Insurance Amount* \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Health Information

\\r\\n Please check all that apply:\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Ex-Spouse-Spouse's Projected Life Expectancy

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

Dependent Children

\\r\\n
\\r\\n Do you have any dependent children (age 18 or younger)?*\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Note: Child benefits are not pro-rated by month because current age - not date of birth - is required.\\r\\n
\\r\\n How many dependent children do you have?*\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Child {{i + 1}} current age:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Advisory Info

\\r\\n
\\r\\n
\\r\\n Annual Program Fee*\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n *The entered Advisory Fee, plus the RIA fee of {{OrgRIAFee}}%, is the amount shown in Section 3 of the Advisory Agreement.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
0 && currentAddEditClientScreen <= 5\\\">\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Edit Client\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n General Information\\r\\n
\\r\\n *Client First Name> ex. John\\r\\n \\r\\n
\\r\\n
\\r\\n *Client Last Name ex. Smith\\r\\n \\r\\n
\\r\\n
\\r\\n Address\\r\\n \\r\\n
\\r\\n
\\r\\n City ex. Boston\\r\\n \\r\\n
\\r\\n
\\r\\n State\\r\\n \\r\\n
\\r\\n
\\r\\n Zip ex. 02472\\r\\n \\r\\n
\\r\\n
\\r\\n Phone ex. (555) 123-1234\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Email 1\\\"> ex. client@gmail.com\\r\\n 1}\\\" type=\\\"text\\\" placeholder=\\\"Email\\\" [(ngModel)]=\\\"editClientModel.client.Email\\\" />\\r\\n
\\r\\n \\r\\n
\\r\\n *Date of Birth ex. 3/4/1967\\r\\n \\r\\n
\\r\\n
\\r\\n *Gender\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Financial Information\\r\\n
\\r\\n
\\r\\n *Current Income ex. $0 - $999,999\\r\\n \\r\\n
\\r\\n
\\r\\n *Income Replacement Ratio ex. 10% - 200%\\r\\n \\r\\n
\\r\\n
\\r\\n *Primary Insurance Amount ex. $0-$5,000\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Would you like to use our PIA calculator?\\r\\n \\r\\n \\r\\n
\\r\\n Enter the client's first and last year of work (which may be a future year). Then, enter gross annual earnings in the fields that open below. Earnings totals should not be adjusted for inflation. For years with no earnings, leave the field at $0. To include future earned income (if applicable), input your best estimate for the appropriate years.\\r\\n \\r\\n Please fill out date of birth first\\r\\n
\\r\\n Start Year: \\r\\n End Year: \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Year: {{year.Year}}\\r\\n Income: \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Do you or will you have access to a public pension?\\r\\n \\r\\n
\\r\\n
\\r\\n Annual Pension Value ex. $1 - $399,999\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Pension Start Year ex. 1900 - 2060\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Pension Start Month\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Substantial Earning Years ex. 0 - 30\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Retirement Information\\r\\n
\\r\\n
\\r\\n *Retirement Age ex. 65\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n *Retirement State \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Life Expectancy\\r\\n
\\r\\n
\\r\\n Calculated Life Expectancy \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Health Conditions\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{ editClientModel.client && editClientModel.client.FirstName ? editClientModel.client.FirstName + \\\"'s\\\" : 'Complete' }} Marital Status\\r\\n
\\r\\n Add {{ editClientModel.client && editClientModel.client.FirstName ? editClientModel.client.FirstName + \\\"'s\\\" : '' }} current or former spouse, if applicable.\\r\\n
\\r\\n
\\r\\n \\r\\n Spouse {{partnerIndex + 1}}\\r\\n
\\r\\n *Current Relationship to {{ editClientModel.client && editClientModel.client.FirstName ? editClientModel.client.FirstName : 'Spouse' }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n *First Name ex. Jane\\r\\n \\r\\n
\\r\\n
\\r\\n *Last Name ex. Smith\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n *Date of Birth ex. 5/2/1966\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n *Date of Marriage ex. 8/5/1980\\r\\n \\r\\n
\\r\\n
\\r\\n *Current Income ex. $0 - $999,999\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n *Primary Insurance Amount ex. $0 - $10,000\\r\\n \\r\\n
\\r\\n
\\r\\n *Gender\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Would you like to use our PIA calculator?\\r\\n \\r\\n\\r\\n
\\r\\n Enter the client's first and last year of work (which may be a future year). Then, enter gross annual earnings in the fields that open below. Earnings totals should not be adjusted for inflation. For years with no earnings, leave the field at $0. To include future earned income (if applicable), input your best estimate for the appropriate years.\\r\\n \\r\\n Please fill out date of birth first\\r\\n
\\r\\n Start Year: \\r\\n End Year: \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Year: {{year.Year}}\\r\\n Income: \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Do you or will you have access to a public pension? \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n Annual Pension Value ex. $1 - $399,999\\r\\n \\r\\n
\\r\\n
\\r\\n Pension Start Year ex. 2000 - 2060\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Pension Start Month \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Substantial Earning Years ex. 0-30\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n *Retirement Age ex. 65\\r\\n \\r\\n
\\r\\n
\\r\\n *Retirement State\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Calculated Life Expectancy\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Spouse Health Conditions\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Dependent Children\\r\\n
\\r\\n Add dependent child, if applicable.\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Child {{childIndex + 1}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Create New Client\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n General Information\\r\\n
\\r\\n *Client First Name ex. John\\r\\n \\r\\n
\\r\\n
\\r\\n *Client Last Name ex. Smith\\r\\n \\r\\n
\\r\\n
\\r\\n Address\\r\\n \\r\\n
\\r\\n
\\r\\n City ex. Boston\\r\\n \\r\\n
\\r\\n
\\r\\n State\\r\\n \\r\\n
\\r\\n
\\r\\n Zip ex. 02472\\r\\n \\r\\n
\\r\\n
\\r\\n Phone ex. (555) 123-1234\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Email 1\\\"> ex. client@gmail.com\\r\\n 1}\\\" type=\\\"text\\\" placeholder=\\\"Email\\\" [(ngModel)]=\\\"createClientModel.client.email\\\" />\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n *Date of Birth ex. 3/4/1967\\r\\n \\r\\n
\\r\\n
\\r\\n *Gender\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Financial Information\\r\\n \\r\\n
\\r\\n
\\r\\n *Current Income ex. $0 - $999,999\\r\\n \\r\\n
\\r\\n
\\r\\n *Income Replacement Ratio ex. 10% - 200%\\r\\n \\r\\n
\\r\\n
\\r\\n *Primary Insurance Amount ex. $0-$5,000\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Would you like to use our PIA calculator? \\r\\n \\r\\n
\\r\\n Enter the client's first and last year of work (which may be a future year). Then, enter gross annual earnings in the fields that open below. Earnings totals should not be adjusted for inflation. For years with no earnings, leave the field at $0. To include future earned income (if applicable), input your best estimate for the appropriate years.\\r\\n \\r\\n Please fill out date of birth first\\r\\n
\\r\\n Start Year: \\r\\n End Year: \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Year: {{year.Year}}\\r\\n Income: \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Do you or will you have access to a public pension? \\r\\n \\r\\n
\\r\\n
\\r\\n Annual Pension Value ex. $1 - $399,999\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Pension Start Year ex. 1900 - 2060\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Pension Start Month\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Substantial Earning Years ex. 0 - 30\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n Retirement Information\\r\\n
\\r\\n
\\r\\n *Retirement Age ex. 65\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n *Retirement State \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Life Expectancy \\r\\n
\\r\\n
\\r\\n Calculated Life Expectancy \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Health Conditions\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ createClientModel.client && createClientModel.client.firstName ? createClientModel.client.firstName + \\\"'s\\\" : 'Complete' }} Marital Status\\r\\n
\\r\\n Add {{ createClientModel.client && createClientModel.client.firstName ? createClientModel.client.firstName + \\\"'s\\\" : '' }} current or former spouse, if applicable.\\r\\n
\\r\\n
\\r\\n \\r\\n Spouse {{partnerIndex + 1}}\\r\\n
\\r\\n *Current Relationship to {{ createClientModel.client && createClientModel.client.firstName ? createClientModel.client.firstName : 'Spouse' }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n *First Name ex. Jane\\r\\n \\r\\n
\\r\\n
\\r\\n *Last Name ex. Smith\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n *Gender\\r\\n \\r\\n
\\r\\n
\\r\\n *Date of Birth ex. 5/2/1966\\r\\n \\r\\n
\\r\\n
\\r\\n *Date of Marriage ex. 8/5/1980\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n *Current Income ex. $0 - $999,999\\r\\n \\r\\n
\\r\\n
\\r\\n *Primary Insurance Amount ex. $0 - $10,000\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Would you like to use our PIA calculator?\\r\\n \\r\\n
\\r\\n Enter the client's first and last year of work (which may be a future year). Then, enter gross annual earnings in the fields that open below. Earnings totals should not be adjusted for inflation. For years with no earnings, leave the field at $0. To include future earned income (if applicable), input your best estimate for the appropriate years.\\r\\n \\r\\n Please fill out date of birth first\\r\\n
\\r\\n Start Year: \\r\\n End Year: \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Year: {{year.Year}}\\r\\n Income: \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Do you or will you have access to a public pension?\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Annual Pension Value ex. $1 - $399,999\\r\\n \\r\\n
\\r\\n
\\r\\n Pension Start Year ex. 2000 - 2060\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Pension Start Month\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Substantial Earning Years ex. 0-30\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n *Retirement Age ex. 65\\r\\n \\r\\n
\\r\\n
\\r\\n *Retirement State\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Calculated Life Expectancy \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Spouse Health Conditions\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Dependent Children\\r\\n
\\r\\n Add dependent child, if applicable.\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Child {{childIndex + 1}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Risk Tolerance Questionnaire\\r\\n
\\r\\n
\\r\\n
\\r\\n Fill out the information below to generate a personalized risk tolerance, which will help determine the investment strategy that is most suitable for you, based on on your unique situation.\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Level of Investment Experience & Knowledge\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n How Long Have You Been Investing?\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Which of the following statements most accurately describe your tolerance for risk?\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n If you need money due to an unexpected financial obligation, would you need to redeem it from this account?\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Unfunded Costs\\r\\n

Based on your coverage selections, your total out-of-pocket medical expenses are expected to be \\r\\n {{estimatedCosts | currency:'USD':true:'1.0-0'}} during retirement. Social \\r\\n Security automatically deducts {{ssDeductions | currency:'USD': true:'1.0-0'}} of benefits to pay for Medicare expenses.\\r\\n The following personal investment plan will address the remaining unfunded amount of {{remainingUnfunded | currency:'USD': true:'1.0-0'}}.\\r\\n

\\r\\n

\\r\\n Based on your profile and assumptions, your long-term care expenses are projected to be \\r\\n {{estimatedCosts | currency:'USD':true:'1.0-0'}}. The following personal investment plan \\r\\n will address the future costs shown below. \\r\\n

\\r\\n
\\r\\n
\\r\\n Estimated
Lifetime Costs:
\\r\\n

{{estimatedCosts | currency: 'USD': true:'1.0-0'}}

\\r\\n
\\r\\n -\\r\\n
\\r\\n Social Security
Deductions:
\\r\\n

{{ssDeductions | currency :'USD':true:'1.0-0'}}

\\r\\n
\\r\\n =\\r\\n
\\r\\n Remaining
Unfunded Costs:
\\r\\n

{{remainingUnfunded | currency:'USD':true:'1.0-0'}}

\\r\\n
\\r\\n
\\r\\n Total
Long-Term Care Costs:
\\r\\n

{{estimatedCosts | currency:'USD':true:'1.0-0'}}

\\r\\n
\\r\\n
\\r\\n
Asset Allocation
\\r\\n

\\r\\n The specific blend of asset classes — your asset allocation — is based on your personal profile.\\r\\n Spreading your investments across different asset classes can help reduce the impact of a downturn\\r\\n and can be an effective tool for managing risk.\\r\\n

\\r\\n Portfolio Risk Meter\\r\\n

\\r\\n The Portfolio Risk Meter indicates risk/volatility associated with different asset allocation strategies.\\r\\n Your investor profile suggests a {{phase1Portfolio}} strategy would be appropriate at this time\\r\\n

\\r\\n
\\r\\n
Conservative Income
\\r\\n
Income
\\r\\n
Income & Growth
\\r\\n
Growth & Income
\\r\\n
Growth
\\r\\n
Aggressive
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Investment Information
\\r\\n
\\r\\n
Solution
\\r\\n
\\r\\n Your suggested strategy uses {{getRiskTolPhaseAOrAn(phase1Portfolio)}} {{phase1Portfolio}} portfolio during the accumulation period (Phase I) and will transition to {{getRiskTolPhaseAOrAn(phase2Portfolio)}}\\r\\n {{phase2Portfolio}} portfolio in retirement (Phase 2).\\r\\n Your suggested strategy uses a {{phase1Portfolio}} portfolio during the accumulation period (Phase I)\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Period CoveredProjected Rate of Return
Phase 1{{rorPhaseOneYear}}{{rorPhaseOneRate}}%
Phase 2Through RetirementThrough Life Expectancy{{rorPhaseTwoRate}}%
\\r\\n
\\r\\n *The performance data quoted representing past performance is provided solely for informational purposes and does not guarantee future results.\\r\\n
\\r\\n
\\r\\n A single investment of {{portfolioRecommendationObject.singleInvestment}} in the suggested strategy is projected to cover your unfunded retirement healthcare costs of\\r\\n {{portfolioRecommendationObject.unfundedAmount}}, based on these historic return assumptions.\\r\\n
\\r\\n
Putting the Investment Strategy to Work
\\r\\n
\\r\\n This is the recommended strategy for the accumulation phase. Based on your profile and asset-allocation\\r\\n strategy, securities will be selected in each asset class deemed most appropriate for your needs (as detailed below). \\r\\n We believe this combination of securities should over time, achieve your specific investment goals within the selected time horizon and risk tolerance.\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Equities\\r\\n Large Companies
\\r\\n Mid-to-Small Size Companies
\\r\\n Small Companies
\\r\\n International Companies
\\r\\n
\\r\\n {{equitiesLargeCap}}%
\\r\\n {{equitiesMidCap}}%
\\r\\n {{equitiesSmallCap}}%
\\r\\n {{equitiesInternational}}%
\\r\\n
{{equitiesReturn}}%\\r\\n
\\r\\n Fixed Income\\r\\n \\r\\n Government Bonds
\\r\\n Corporate Bonds
\\r\\n
\\r\\n {{fixedGovBonds}}%
\\r\\n {{fixedCorpBonds}}%\\r\\n
{{fixedReturn}}%\\r\\n
CashMoney Market{{cashMoneyMarket}}%{{cashMoneyMarketReturn}}%
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ (riskToleranceQuestionnaire.value.accountType == '2') ? 'Joint Owner Information' : 'Minor Information' }}\\r\\n
\\r\\n
\\r\\n
\\r\\n Fill out the information below about the minor child being included in this account.\\r\\n Fill out the information below about the other owner of this account.\\r\\n
\\r\\n
\\r\\n First Name:
\\r\\n \\r\\n
\\r\\n
\\r\\n Last Name:
\\r\\n \\r\\n
\\r\\n
\\r\\n Email Address (Optional):
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Investment Advisory Agreement\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

{{ clientModelV2.riskTolerance.hasSignedAgreement ? lastClickedSignedAgreement : ''}}

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Account Documents\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n Select the desired account document destination:\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n What type of account do you wish to open?
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Fill out the information below about the other owner of this account.\\r\\n
\\r\\n
\\r\\n *First Name:
\\r\\n \\r\\n
\\r\\n
\\r\\n *Last Name:
\\r\\n \\r\\n
\\r\\n
\\r\\n Email(Optional):
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
Unfortunately, you are not a candidate for HealthView Asset management. Based on your risk tolerance response, we suggest a portfolio of money market and CDs.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, Input, ViewChild, ElementRef, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n// import { NgForm } from '@angular/forms';\r\n\r\nimport { ModalService } from './modal.service';\r\nimport { GlobalService } from '../../services/global.service';\r\nimport { SnackBarService } from '../snackbar/snackbar.service';\r\n\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\nimport { Advisor } from '../../models/advisor';\r\nimport { Client } from '../../models/client';\r\nimport { Organization } from '../../models/organization';\r\n\r\nimport Utils from '../utility';\r\nimport { RequestOptions } from '@angular/http';\r\n\r\nimport { IMyDpOptions, IMyDateModel, IMyDate } from 'mydatepicker';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { LoadingService } from '../../shared/loading/loading.service';\r\n\r\n// import { UploadOutput, UploadInput, UploadFile, humanizeBytes, UploaderOptions, UploadStatus } from 'ngx-uploader';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n '(document:click)': 'onClick($event)',\r\n }\r\n})\r\n\r\nexport class ModalComponent implements OnInit {\r\n\r\n public dateofBirth;\r\n public currentYear;\r\n public yob;\r\n public endYear1;\r\n public endYear2;\r\n public endOfPIAStartYear;\r\n public endOfPIAEndYear;\r\n public age;\r\n public showAge;\r\n public min;\r\n public maxAge;\r\n public minAge;\r\n public showAgeSpouse;\r\n public spouseAgeOver;\r\n public spouseAgeOverEighty;\r\n\r\n public spouseDateofBirth;\t\t\t\r\n public spouseYob;\r\n public spouseEndOfPIAStartYear;\r\n public spouseEndYear1;\r\n public spouseEndYear2;\r\n public spouseEndOfPIAEndYear;\r\n public spouseShowAge;\r\n public spouseMinAge;\r\n public spouseMaxAge;\r\n public SpouseMin;\r\n public ageOverEighty;\r\n ageOver: boolean; \r\n\r\n public pensionMinYear;\r\n public pensionMaxYear;\r\n public spousePensionMinYear;\r\n public spousePensionMaxYear;\r\n public endOfPensionYear;\r\n public spouseEndOfPensionYear;\r\n\r\n public clientPreviousSpouseMaxAge;\r\n public clientPreviousSpouseMinAge;\r\n\r\n public spousePreviousSpouseMaxAge;\r\n public spousePreviousSpouseMinAge;\r\n\r\n public fullYear;\r\n public convertSpouseYear;\r\n public SpouseFullYear;\r\n\r\n public ageEighteen;\r\n public eighteenYearsAgo;\r\n private today = new Date();\r\n\r\n public firstPage;\r\n public secondPage;\r\n public thirdPage;\r\n public forthPage;\r\n public fifthPage;\r\n public sixthPage;\r\n public seventhPage;\r\n\r\n public isRiskTolerance: boolean = false;\r\n\r\n public aggrementSrc: string;\r\n\r\n isChecked: boolean;\r\n isClientEmailChecked: boolean;\r\n isFinalAgreementChecked: boolean;\r\n\r\n riskToleranceQuestionnaire: FormGroup;\r\n riskToleranceNames: FormGroup;\r\n riskToleranceAggrement: FormGroup;\r\n riskToleranceMail: FormGroup;\r\n\r\n riskTolernaceSection: string = 'riskToleranceQuestionnaire';\r\n dateTimeNow: string;\r\n clientFirstName: string;\r\n clientLastName: string;\r\n spouseFirstName: string;\r\n spouseLastName: string;\r\n isNotCandidate: boolean;\r\n lastClickedSignedAgreement: string;\r\n reportObj;\r\n AssetManagementAdv2DocUrl;\r\n AssetManagementAgreement;\r\n OrgRIAFee;\r\n advisoryFee: number;\r\n AssetManagementAgreementChangedDate;\r\n\r\n futureTotalCost: number;\r\n portfolioRecommendationObject: any;\r\n\r\n\r\n\r\n\r\n\r\n\r\n @ViewChild('container') container: ElementRef;\r\n @ViewChild('scrollEl') scrollEl: ElementRef;\r\n private selDate: IMyDate = { year: 0, month: 0, day: 0 };\r\n public myDatePickerOptions: IMyDpOptions = {\r\n // other options...\r\n dateFormat: \"mm/dd/yyyy\",\r\n editableDateField: true,\r\n showTodayBtn: false,\r\n /* disableUntil: { year: 1930, month: 1, day: 1 },\r\n disableSince: { year: 2000, month: 1, day: 1 } */\r\n disableUntil: { year: 1930, month: 1, day: 1 },\r\n disableSince: { year: this.today.getFullYear() - 18, month: this.today.getMonth() + 1 , day: this.today.getDate() + 1 }\r\n\r\n };\r\n\r\n public myDatePickerOptionsAnn: IMyDpOptions = {\r\n // other options...\r\n dateFormat: \"mm/dd/yyyy\",\r\n editableDateField: true,\r\n showTodayBtn: false,\r\n disableUntil: { year: 1948, month: this.today.getMonth() + 1 , day: this.today.getDate() + 1 },\r\n disableSince: { year: this.today.getFullYear(), month: this.today.getMonth() + 1 , day: this.today.getDate() + 1 }\r\n };\r\n\r\n // Initialized to specific date (09.10.2018).\r\n public defaultDateModel: any = { date: { year: 1960, month: 1, day: 1 } };\r\n\r\n public currentAddEditClientScreen: Number = 0;\r\n public previousAddEditClientScreen: Number = 0;\r\n\r\n public selectedDocFilePath: string;\r\n public selectedDocEvent: any;\r\n public selectedDocCategory: string;\r\n\r\n public currentRiskToleranceScreen: Number = 1;\r\n\r\n public isValidAdvisor = false;\r\n\r\n\r\n public selectedDocument: any = {\r\n title: '',\r\n description: '',\r\n category: '',\r\n }\r\n\r\n public healthInformationInfo: string = \"These inputs will impact life expectancy projections (see below), which is featured within every illustration and report, as well as annual out-of-pocket health care costs.\";\r\n\r\n public validFormInputs: any = [\r\n { isValid: false },\r\n { isValid: false },\r\n { isValid: false },\r\n { isValid: false },\r\n { isValid: false },\r\n { isValid: false },\r\n { isValid: false },\r\n ]\r\n\r\n public advisorModal: any = {\r\n generalInformation: {\r\n firstName: '',\r\n lastName: '',\r\n title:'',\r\n address: '',\r\n city: '',\r\n state: '',\r\n zip: '',\r\n phone: '',\r\n email: '',\r\n id: ''\r\n }\r\n }\r\n public clientModal: any = {\r\n generalInformation: {\r\n generalInformation: {\r\n firstName: '',\r\n lastName: '',\r\n gender: '',\r\n dob: '',\r\n address: '',\r\n city: '',\r\n state: '',\r\n zip: '',\r\n phone: '',\r\n email: '',\r\n },\r\n anticipatedRetirementInformation: {\r\n retirementAge: '',\r\n retirementState: '',\r\n },\r\n },\r\n financialInformation: {\r\n PIAYears: {\r\n IncludePIA: false,\r\n StartYear: '',\r\n EndYear: '',\r\n Years: []\r\n },\r\n hasPension: false,\r\n },\r\n maritalStatus: {\r\n firstName: '',\r\n lastName: '',\r\n },\r\n healthConditions: {},\r\n currentMaritalStatus: {},\r\n maritalHistory: {\r\n previouslyMarried: {},\r\n\r\n },\r\n spouses: [\r\n { firstName: '', lastName: '' }\r\n ],\r\n dependentChildren: {},\r\n }\r\n\r\n prepSpouses(count) {\r\n this.clientModal.maritalHistory.spouses = new Array(count);\r\n }\r\n\r\n handlePrint(e) {\r\n window.print();\r\n }\r\n\r\n prepSpousesSpouse(count) {\r\n this.clientModelV2.maritalHistory.spousesSpouse = [];\r\n\r\n for (var i = 0; i < count; i++) {\r\n if (this.clientModelV2.maritalHistory.spousesSpouse[i]) {\r\n this.clientModelV2.maritalHistory.spousesSpouse.push(this.clientModelV2.maritalHistory.spousesSpouse[i]);\r\n } else {\r\n this.clientModelV2.maritalHistory.spousesSpouse.push({\r\n tenyears: false,\r\n alive: true,\r\n });\r\n }\r\n }\r\n\r\n }\r\n\r\n prepChildren(count) {\r\n this.clientModelV2.dependentChildren.children = [];\r\n\r\n for (var i = 0; i < count; i++) {\r\n this.clientModelV2.dependentChildren.children.push({\r\n DependentChildAge: 0,\r\n })\r\n }\r\n }\r\n\r\n dissabledConinueBtn: boolean = false;\r\n updateAddEditClientScreen(page) {\r\n \r\n if (page == 1 && this.ID == 0) {\r\n this.minAge = this.min = Math.min(this.clientModelV2.healthInformation.lifeExpectancy, this.showAge); \r\n this.maxAge = 100 - this.minAge + 1; \r\n }\r\n this.dissabledConinueBtn = false;\r\n if (page == -1) {\r\n this.isSelectingAdvisor = false;\r\n\r\n this.advisors.forEach((a) => {\r\n if (a.c.ID == this.selectedAdvisor) {\r\n this.selectedAdvisor = a;\r\n }\r\n });\r\n\r\n\r\n this.validateFields(page);\r\n return;\r\n }\r\n\r\n if (page !== this.currentAddEditClientScreen) {\r\n this.previousAddEditClientScreen = this.currentAddEditClientScreen;\r\n this.currentAddEditClientScreen = page;\r\n // console.log('validateFields 01');\r\n this.validateFields(page);\r\n }\r\n\r\n if (page == this.fifthPage && !this.featRiskTolerance) {\r\n // console.log('validateFields 02');\r\n this.validateFields(page);\r\n // this.validateFields(page);\r\n \r\n this.dissabledConinueBtn = true;\r\n }\r\n if (page == this.sixthPage && this.featRiskTolerance) {\r\n // console.log('validateFields 03');\r\n this.validateFields(page);\r\n \r\n this.dissabledConinueBtn = true;\r\n } \r\n\r\n }\r\n\r\n uploadFileChanged(e) {\r\n this.selectedDocEvent = e;\r\n this.selectedDocFilePath = e.target.files[0].name;\r\n }\r\n\r\n test(e) {\r\n }\r\n\r\n\r\n validateAge() {\r\n var eighteenYearsAgo = new Date();\r\n this.eighteenYearsAgo = eighteenYearsAgo.setFullYear(eighteenYearsAgo.getFullYear() - 18);\r\n this.ageEighteen = eighteenYearsAgo.getFullYear();\r\n }\r\n\r\n\r\n validateDefaultDate: boolean;\r\n validateDefaultDate2: boolean;\r\n\r\n validateDefaultDate3: boolean;\r\n\r\n \r\n\r\n\r\n validateFields(page) {\r\n var isValid = true;\r\n if (page === -1) {\r\n if (this.clientModelV2.generalInformation.dob === undefined || this.clientModelV2.generalInformation.dob === '' || this.clientModelV2.generalInformation.dob >= 80) {\r\n //this.validateDefaultDate = true;\r\n //this.clientModelV2.generalInformation.dob = this.defaultDOB;\r\n //this.clientModelV2.generalInformation.dobStr = this.defaultDOBStr;//this.clientModelV2.generalInformation.dob;\r\n } else {\r\n //isValid = isValid && this.clientModelV2.generalInformation.dobStr.length > 0;\r\n this.validateDefaultDate = this.validateDate(this.clientModelV2.generalInformation.dobStr, true); \r\n }\r\n\r\n }\r\n if (page === this.firstPage) {\r\n // console.log('button disable 08');\r\n this.clientModelV2.generalInformation.dobStr; \r\n this.clientModelV2.maritalStatus.dobStr; \r\n\r\n if (this.clientModelV2.generalInformation.dobStr) {\r\n const convertAge = new Date(this.clientModelV2.generalInformation.dobStr);\r\n const timeDiff = Math.abs(Date.now() - convertAge.getTime());\r\n this.showAge = Math.floor((timeDiff / (1000 * 3600 * 24))/365); \r\n } \r\n\r\n\r\n if (this.clientModelV2.maritalStatus.dobStr) {\r\n const spouseConvertAge = new Date(this.clientModelV2.maritalStatus.dobStr);\r\n const SpouseTimeDiff = Math.abs(Date.now() - spouseConvertAge.getTime());\r\n this.showAgeSpouse = Math.floor((SpouseTimeDiff / (1000 * 3600 * 24))/365); \r\n } \r\n\r\n if (this.clientModelV2.generalInformation.dobStr) {\r\n // console.log('button disable 09');\r\n const convertYear = new Date(this.clientModelV2.generalInformation.dobStr); \r\n this.currentYear = new Date().getFullYear();\r\n this.fullYear = convertYear.getFullYear(); \r\n this.yob = this.fullYear + 14;\r\n \r\n this.endOfPIAStartYear = this.currentYear - this.yob + 1; \r\n this.endYear1 = this.fullYear + 30;\r\n this.endYear2 = this.fullYear + 80; \r\n this.endOfPIAEndYear = this.endYear2 - this.endYear1 + 1; \r\n \r\n this.pensionMinYear = this.fullYear + 50;\r\n this.pensionMaxYear = this.fullYear + 75;\r\n this.endOfPensionYear = this.pensionMaxYear - this.pensionMinYear + 1; \r\n }\r\n\r\n if (this.clientModelV2.maritalStatus.dobStr) {\r\n const convertSpouseYear = new Date(this.clientModelV2.maritalStatus.dobStr); \r\n this.currentYear = new Date().getFullYear();\r\n this.SpouseFullYear = convertSpouseYear.getFullYear();\r\n this.spouseYob = this.SpouseFullYear + 14;\r\n\r\n this.spouseEndOfPIAStartYear = this.currentYear - this.spouseYob + 1; \r\n this.spouseEndYear1 = this.SpouseFullYear + 30;\r\n this.spouseEndYear2 = this.SpouseFullYear + 80; \r\n this.spouseEndOfPIAEndYear = this.spouseEndYear2 - this.spouseEndYear1 + 1; \r\n\r\n this.spousePensionMinYear = this.SpouseFullYear + 50;\r\n this.spousePensionMaxYear = this.SpouseFullYear + 75;\r\n this.spouseEndOfPensionYear = this.spousePensionMaxYear - this.spousePensionMinYear + 1; \r\n }\r\n\r\n isValid = isValid && this.clientModelV2.generalInformation.firstName.length > 0;\r\n isValid = isValid && this.clientModelV2.generalInformation.lastName.length > 0;\r\n isValid = isValid && (this.clientModelV2.generalInformation.gender == 1 || this.clientModelV2.generalInformation.gender == 2);\r\n // console.log('button disable 10');\r\n // console.log(this.clientModelV2.generalInformation.firstName.length);\r\n // console.log(this.clientModelV2.generalInformation.lastName.length);\r\n // console.log(this.clientModelV2.generalInformation.gender);\r\n // console.log('this.clientModelV2.generalInformation.dob');\r\n // console.log(this.clientModelV2.generalInformation.dob);\r\n //isValid = isValid && this.clientModelV2.generalInformation.dobStr.length > 0; \r\n if (this.clientModelV2.generalInformation.dob === undefined || this.clientModelV2.generalInformation.dob === '' || this.clientModelV2.generalInformation.dob === this.defaultDOB || this.clientModelV2.generalInformation.dob >= 80) {\r\n //this.validateDefaultDate = true;\r\n //this.clientModelV2.generalInformation.dob = this.defaultDOB;\r\n //this.clientModelV2.generalInformation.dobStr = this.defaultDOBStr;//this.clientModelV2.generalInformation.dob;\r\n // console.log('if check this.clientModelV2.generalInformation.dob');\r\n isValid = false;\r\n\r\n } \r\n else { \r\n isValid = isValid && this.clientModelV2.generalInformation.dobStr && this.clientModelV2.generalInformation.dobStr.length > 0;\r\n this.validateDefaultDate = this.validateDate(this.clientModelV2.generalInformation.dobStr, true);\r\n \r\n }\r\n\r\n if (page === 0) {\r\n // console.log('button disable 11');\r\n // console.log(isValid);\r\n isValid = isValid && this.clientModelV2.healthInformation && this.clientModelV2.healthInformation.lifeExpectancy && this.clientModelV2.healthInformation.lifeExpectancy > 0;\r\n // console.log('button disable 12');\r\n // console.log(isValid);\r\n if (isValid) {\r\n if (this.clientModelV2.maritalStatus && this.clientModelV2.maritalStatus.maritalStatus === 'Single') {\r\n // console.log('button disable 13');\r\n isValid = true;\r\n } else if (this.clientModelV2.maritalStatus && this.clientModelV2.maritalStatus.maritalStatus === 'Married') {\r\n\r\n\r\n if (this.clientModelV2.maritalStatus.dob === undefined) {\r\n this.validateDefaultDate = true;\r\n\r\n } else {\r\n isValid = isValid && this.clientModelV2.maritalStatus.dobStr && this.clientModelV2.maritalStatus.dobStr.length > 0;\r\n this.validateDefaultDate2 = isValid && this.validateDate(this.clientModelV2.maritalStatus.dobStr, true);\r\n }\r\n\r\n isValid = isValid && this.clientModelV2.maritalStatus.firstName != \"\";\r\n isValid = isValid && this.clientModelV2.maritalStatus.lastName != \"\";\r\n //isValid = isValid && this.clientModelV2.maritalStatus.anniversaryStr && this.clientModelV2.maritalStatus.anniversaryStr.length > 0;\r\n\r\n let clientAge = this.calculateAge(this.clientModelV2.generalInformation.dobStr);\r\n let spouseAge = this.calculateAge(this.clientModelV2.maritalStatus.dobStr);\r\n if (this.clientModelV2.maritalStatus.anniversaryStr) {\r\n let yearsMarried = this.calculateAge(this.clientModelV2.maritalStatus.anniversaryStr);\r\n isValid = isValid && (clientAge - yearsMarried >= 18 && spouseAge - yearsMarried >= 18);\r\n }\r\n\r\n\r\n isValid = isValid && this.clientModelV2.maritalStatus.dobStr.length > 0;\r\n isValid = isValid && (this.clientModelV2.maritalStatus.gender == 1 || this.clientModelV2.maritalStatus.gender == 2);\r\n\r\n isValid = isValid && this.clientModelV2.maritalStatus.retirementAge > 0;\r\n isValid = isValid && this.clientModelV2.maritalStatus.retirementState != '' && this.clientModelV2.maritalStatus.retirementState.length > 1;\r\n\r\n } else if (this.clientModelV2.maritalStatus && this.clientModelV2.maritalStatus.maritalStatus === 'Divorced') {\r\n if (this.clientModelV2.maritalStatus.dob === undefined) {\r\n\r\n } else {\r\n isValid = isValid && this.clientModelV2.maritalStatus.dobStr && this.clientModelV2.maritalStatus.dobStr.length > 0;\r\n this.validateDefaultDate2 = isValid && this.validateDate(this.clientModelV2.maritalStatus.dobStr, true);\r\n }\r\n\r\n if (this.clientModelV2.maritalHistory.alive) {\r\n isValid = isValid && this.clientModelV2.maritalStatus.firstName != \"\";\r\n isValid = isValid && this.clientModelV2.maritalStatus.lastName != \"\";\r\n isValid = isValid && this.clientModelV2.maritalStatus.dobStr && this.clientModelV2.maritalStatus.dobStr.length > 0;\r\n isValid = isValid && (this.clientModelV2.maritalStatus.gender == 1 || this.clientModelV2.maritalStatus.gender == 2);\r\n\r\n if (this.clientModelV2.maritalHistory.tenyears) {\r\n isValid = isValid && this.clientModelV2.maritalStatus.retirementAge > 0;\r\n isValid = isValid && this.clientModelV2.maritalStatus.retirementState != '' && this.clientModelV2.maritalStatus.retirementState.length > 1;\r\n }\r\n }\r\n\r\n isValid = isValid && (this.clientModelV2.maritalHistory.alive == true || this.clientModelV2.maritalHistory.alive == false);\r\n\r\n\r\n if (this.clientModelV2.maritalHistory.alive)\r\n isValid = isValid && (this.clientModelV2.maritalHistory.tenyears == true || this.clientModelV2.maritalHistory.tenyears == false);\r\n\r\n if (!this.clientModelV2.maritalHistory.alive) {\r\n isValid = isValid && this.clientModelV2.maritalStatus.dobStr && this.clientModelV2.maritalStatus.dobStr.length > 0;\r\n\r\n }\r\n\r\n } else if (this.clientModelV2.maritalStatus && this.clientModelV2.maritalStatus.maritalStatus === 'Widowed' || this.clientModelV2.maritalStatus && this.clientModelV2.maritalStatus.maritalStatus === 'Widow') {\r\n isValid = isValid && this.clientModelV2.maritalStatus.firstName != \"\";\r\n isValid = isValid && this.clientModelV2.maritalStatus.lastName != \"\";\r\n }\r\n }\r\n }\r\n // console.log('button disable 14');\r\n // console.log(isValid);\r\n isValid = isValid && this.clientModelV2.generalInformation.retirementAge >= 30;\r\n // console.log('button disable 15');\r\n // console.log(isValid);\r\n // console.log(this.clientModelV2.generalInformation.retirementAge);\r\n isValid = isValid && this.clientModelV2.generalInformation.retirementState.length > 0;\r\n // console.log('button disable 15');\r\n // console.log(isValid);\r\n isValid = isValid && this.validateString(this.clientModelV2.generalInformation.firstName, true);\r\n // console.log('button disable 16');\r\n // console.log(isValid);\r\n isValid = isValid && this.validateString(this.clientModelV2.generalInformation.lastName, true);\r\n // console.log('button disable 17');\r\n // console.log(isValid);\r\n isValid = isValid && this.showAge < 80\r\n // console.log('button disable 18');\r\n // console.log(isValid);\r\n \r\n if (this.showAge >= 80) { \r\n this.ageOver = true;\r\n this.ageOverEighty = \"Client age cannot be greater than 80.\";\r\n } else {\r\n this.ageOver = false;\r\n }\r\n if (this.clientModelV2.maritalStatus && (this.clientModelV2.maritalStatus.maritalStatus != 'Single' && this.clientModelV2.maritalStatus.maritalStatus != 'Widowed')) {\r\n \r\n isValid = isValid && this.validateString(this.clientModelV2.maritalStatus.firstName, true);\r\n isValid = isValid && this.validateString(this.clientModelV2.maritalStatus.lastName, true);\r\n \r\n\r\n isValid = isValid && this.showAgeSpouse < 80\r\n if (this.showAgeSpouse >= 80) {\r\n this.spouseAgeOver = true;\r\n this.spouseAgeOverEighty = \"Spouse age cannot be greater than 80.\";\r\n } else {\r\n this.spouseAgeOver = false;\r\n }\r\n }\r\n } \r\n \r\n //PAGE 1\r\n else if (page === this.secondPage) {\r\n isValid = isValid && this.clientModelV2.financialInformation.currentIncome != \"\" && this.clientModelV2.financialInformation.currentIncome.length > 1;\r\n isValid = isValid && this.clientModelV2.financialInformation.irr != \"\" && this.clientModelV2.financialInformation.irr.length > 0;\r\n isValid = isValid && this.clientModelV2.financialInformation.pia != \"\" && this.clientModelV2.financialInformation.pia.length > 1;\r\n \r\n isValid = isValid && this.clientModelV2.generalInformation.dob;\r\n \r\n if (this.clientModelV2.financialInformation.PIAYears.IncludePIA) {\r\n isValid = isValid && Number(this.clientModelV2.financialInformation.PIAYears.StartYear) > 1900;\r\n isValid = isValid && Number(this.clientModelV2.financialInformation.PIAYears.EndYear) > 1900;\r\n isValid = isValid && this.clientModelV2.financialInformation.PIAYears.Years.length > 0;\r\n }\r\n\r\n if (this.clientModelV2.financialInformation.hasPension) {\r\n isValid = isValid && this.clientModelV2.financialInformation.pensionAmount.length > 1;\r\n isValid = isValid && this.clientModelV2.financialInformation.pensionStartMonth > 0;\r\n isValid = isValid && this.clientModelV2.financialInformation.pensionStartYear > 0;\r\n isValid = isValid && this.clientModelV2.financialInformation.pensionSubEarnings > 0;\r\n }\r\n\r\n\r\n if (page === this.firstPage) {\r\n\r\n isValid = isValid && this.clientModelV2.healthInformation && this.clientModelV2.healthInformation.lifeExpectancy && this.clientModelV2.healthInformation.lifeExpectancy > 0;\r\n \r\n if (isValid) {\r\n if (this.clientModelV2.maritalStatus && this.clientModelV2.maritalStatus.maritalStatus === 'Single') {\r\n isValid = true;\r\n } else if (this.clientModelV2.maritalStatus && this.clientModelV2.maritalStatus.maritalStatus === 'Married') {\r\n \r\n if (this.clientModelV2.maritalStatus.dob === undefined) {\r\n this.validateDefaultDate = true;\r\n \r\n } else {\r\n isValid = isValid && this.clientModelV2.maritalStatus.dobStr && this.clientModelV2.maritalStatus.dobStr.length > 0;\r\n this.validateDefaultDate2 = isValid && this.validateDate(this.clientModelV2.maritalStatus.dobStr, true);\r\n }\r\n \r\n isValid = isValid && this.clientModelV2.maritalStatus && this.clientModelV2.maritalStatus.lifeExpectancy && this.clientModelV2.maritalStatus.lifeExpectancy > 0;\r\n isValid = isValid && this.clientModelV2.maritalStatus.currentIncome != \"\" && this.clientModelV2.maritalStatus.currentIncome.length > 1;\r\n isValid = isValid && this.clientModelV2.maritalStatus.pia.length > 1;\r\n \r\n if (this.clientModelV2.maritalStatus.PIAYears.includePIA === true) {\r\n isValid = isValid && Number(this.clientModelV2.maritalStatus.PIAYears.startYear) > 1900;\r\n isValid = isValid && Number(this.clientModelV2.maritalStatus.PIAYears.endYear) > 1900;\r\n isValid = isValid && this.clientModelV2.maritalStatus.PIAYears.years.length > 0;\r\n }\r\n \r\n if (this.clientModelV2.maritalStatus.includePension === true) {\r\n isValid = isValid && this.clientModelV2.maritalStatus.pensionAmount && this.clientModelV2.maritalStatus.pensionAmount.length > 1;\r\n isValid = isValid && this.clientModelV2.maritalStatus.pensionMonths > 0;\r\n isValid = isValid && this.clientModelV2.maritalStatus.pensionYears > 0;\r\n isValid = isValid && this.clientModelV2.maritalStatus.subEarnings > 0;\r\n }\r\n \r\n \r\n } else if (this.clientModelV2.maritalStatus && this.clientModelV2.maritalStatus.maritalStatus === 'Divorced') {\r\n\r\n if (this.clientModelV2.maritalHistory.alive) {\r\n isValid = isValid && this.clientModelV2.maritalStatus.firstName != \"\";\r\n isValid = isValid && this.clientModelV2.maritalStatus.lastName != \"\";\r\n isValid = isValid && this.clientModelV2.maritalStatus.dobStr && this.clientModelV2.maritalStatus.dobStr.length > 0;\r\n isValid = isValid && (this.clientModelV2.maritalStatus.gender == 1 || this.clientModelV2.maritalStatus.gender == 2);\r\n \r\n if (this.clientModelV2.maritalHistory.tenyears) {\r\n isValid = isValid && this.clientModelV2.maritalStatus.pia != \"\";\r\n }\r\n }\r\n\r\n isValid = isValid && (this.clientModelV2.maritalHistory.alive == true || this.clientModelV2.maritalHistory.alive == false);\r\n \r\n if (this.clientModelV2.maritalHistory.alive)\r\n isValid = isValid && (this.clientModelV2.maritalHistory.tenyears == true || this.clientModelV2.maritalHistory.tenyears == false);\r\n \r\n if (!this.clientModelV2.maritalHistory.alive) {\r\n isValid = isValid && this.clientModelV2.maritalStatus.pia != \"\";\r\n }\r\n \r\n } else if (this.clientModelV2.maritalStatus && this.clientModelV2.maritalStatus.maritalStatus === 'Widow') {\r\n isValid = isValid && this.clientModelV2.maritalStatus.pia != \"\";\r\n }\r\n }\r\n \r\n }\r\n\r\n\r\n // new logic\r\n isValid = isValid && this.validateCurrency(this.getNumber(this.clientModelV2.financialInformation.currentIncome), 0, 5000001, true);\r\n isValid = isValid && this.validateCurrency(this.getNumber(this.clientModelV2.financialInformation.pia), 0, 4001, true);\r\n isValid = isValid && this.validatePercent(this.getNumber(this.clientModelV2.financialInformation.irr), 10, 201, true);\r\n if (this.clientModelV2.maritalStatus && (this.clientModelV2.maritalStatus.maritalStatus === 'Married')) {\r\n isValid = isValid && this.validateCurrency(this.getNumber(this.clientModelV2.maritalStatus.currentIncome), 0, 5000001, true);\r\n }\r\n if (this.clientModelV2.maritalStatus && (this.clientModelV2.maritalStatus.maritalStatus != 'Single')) {\r\n isValid = isValid && this.validateCurrency(this.getNumber(this.clientModelV2.maritalStatus.pia), 0, 4001, true);\r\n if (this.clientModelV2.maritalStatus && (this.clientModelV2.maritalStatus.maritalStatus != 'Widowed')) {\r\n // isValid = isValid && this.validateCurrency(this.getNumber(this.clientModelV2.maritalStatus.currentIncome), 0, 5000001, true);\r\n }\r\n }\r\n\r\n\r\n } \r\n \r\n //PAGE 2\r\n /* else if (page === this.thirdPage) {\r\n isValid = isValid && this.clientModelV2.riskTolerance.financialObjective && this.clientModelV2.riskTolerance.levelOfInvestment && this.clientModelV2.riskTolerance.lengthOfInvestment > 0;\r\n } */\r\n\r\n // PAGE 3\r\n else if (page === this.thirdPage) {\r\n isValid = isValid && this.clientModelV2.healthInformation && this.clientModelV2.healthInformation.lifeExpectancy && this.clientModelV2.healthInformation.lifeExpectancy > 0;\r\n } \r\n \r\n //PAGE 3 REFACTORED//\r\n else if (page === this.forthPage) {\r\n isValid = isValid && this.clientModelV2.healthInformation && this.clientModelV2.healthInformation.lifeExpectancy && this.clientModelV2.healthInformation.lifeExpectancy > 0;\r\n if (isValid) {\r\n if (!this.clientModelV2.maritalHistory.previouslyMarried && !this.clientModelV2.maritalHistory.spousePreviouslyMarried) {\r\n isValid = true;\r\n } else {\r\n if (this.clientModelV2.maritalHistory.previouslyMarried) {\r\n isValid = isValid && this.clientModelV2.maritalHistory.previousSpouseCount > 0;\r\n\r\n for (var spouse in this.clientModelV2.spouses) {\r\n if (Number(spouse) != 0) {\r\n isValid = isValid && this.clientModelV2.spouses[spouse].firstName.length > 0;\r\n isValid = isValid && this.clientModelV2.spouses[spouse].lastName.length > 0;\r\n isValid = isValid && this.clientModelV2.spouses[spouse].pia.length >= 0;\r\n\r\n if (this.clientModelV2.spouses[spouse].maritalStatus === 'Divorced') {\r\n isValid = isValid && (this.clientModelV2.spouses[spouse].gender == 1 || isValid && this.clientModelV2.spouses[spouse].gender == 2);\r\n isValid = isValid && this.clientModelV2.spouses[spouse].dobStr && this.clientModelV2.spouses[spouse].dobStr.length > 0;\r\n isValid = isValid && (typeof this.clientModelV2.spouses[spouse].alive != 'undefined');\r\n\r\n if (this.clientModelV2.spouses[spouse].alive) {\r\n isValid = isValid && (typeof this.clientModelV2.spouses[spouse].tenyears != 'undefined');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.clientModelV2.maritalHistory.spousePreviouslyMarried) {\r\n isValid = isValid && this.clientModelV2.maritalHistory.spousesSpouseCount > 0;\r\n for (var spouse in this.clientModelV2.maritalHistory.spousesSpouse) {\r\n isValid = isValid && this.clientModelV2.maritalHistory.spousesSpouse[spouse].firstName.length > 0;\r\n isValid = isValid && this.clientModelV2.maritalHistory.spousesSpouse[spouse].lastName.length > 0;\r\n isValid = isValid && this.clientModelV2.maritalHistory.spousesSpouse[spouse].pia.length > 0;\r\n if (this.clientModelV2.maritalHistory.spousesSpouse[spouse].maritalStatus === 'Divorced') {\r\n isValid = isValid && this.clientModelV2.maritalHistory.spousesSpouse[spouse].gender == 1 || isValid && this.clientModelV2.maritalHistory.spousesSpouse[spouse].gender == 2;\r\n isValid = isValid && this.clientModelV2.maritalHistory.spousesSpouse[spouse].dobStr.length > 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n else if (page === this.fifthPage) {\r\n isValid = isValid && this.clientModelV2.healthInformation && this.clientModelV2.healthInformation.lifeExpectancy && this.clientModelV2.healthInformation.lifeExpectancy > 0;\r\n\r\n if (isValid) {\r\n if (this.clientModelV2.dependentChildren.hasKids) {\r\n for (var child in this.clientModelV2.dependentChildren.children) {\r\n isValid = isValid && this.clientModelV2.dependentChildren.children[child].DependentChildAge > 0;\r\n }\r\n } else {\r\n isValid = true;\r\n }\r\n }\r\n }\r\n else if (page === this.sixthPage && this.featRiskTolerance ) {\r\n let re = /\\%/gi;\r\n let annualProgramFee = this.advisorModal.generalInformation.annualProgramFee.replace(re, \"\");\r\n let isAnnularProgramFee = (annualProgramFee != 'null' && annualProgramFee) ? true : false;\r\n isValid = isValid && isAnnularProgramFee;\r\n if (annualProgramFee != 'null' && annualProgramFee) {\r\n isValid = isValid && this.validatePercentDecimal(this.advisorModal.generalInformation.annualProgramFee, 0.1, 9.99, true);\r\n }\r\n\r\n }\r\n\r\n\r\n if (page >= this.firstPage) {\r\n this.validFormInputs[page].isValid = isValid;\r\n }\r\n \r\n }\r\n\r\n ValidateInputScreen(page) {\r\n if (page === 0) {\r\n\r\n }\r\n }\r\n\r\n mapToSpouses(model) {\r\n }\r\n\r\n updateSpouses(model) {\r\n if (model.spouses.length - 1 > this.clientModelV2.maritalHistory.previousSpouseCount) {\r\n this.clientModelV2.spouses.splice(Number(this.clientModelV2.maritalHistory.previousSpouseCount) + 1, (model.spouses.length - (Number(this.clientModelV2.maritalHistory.previousSpouseCount) + 1)));\r\n }\r\n if (model.maritalStatus.maritalStatus == 'Single' || model.maritalStatus.maritalStatus == 'Married' || model.maritalStatus.maritalStatus == 'Divorced' || model.maritalStatus.maritalStatus == 'Widow') {\r\n\r\n }\r\n\r\n if (model.spouses.length - 1 < this.clientModelV2.maritalHistory.previousSpouseCount) {\r\n for (var i = 0; i <= this.clientModelV2.maritalHistory.previousSpouseCount; i++) {\r\n if (model.spouses[i] && model.spouses[i].maritalStatus) {\r\n\r\n } else {\r\n this.clientModelV2.spouses.push({\r\n maritalStatus: '',\r\n firstName: '',\r\n lastName: '',\r\n pia: 0,\r\n gender: 0,\r\n dobStr: '',\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n public allStates: any[] = Utils.allStates;\r\n public allStates2: any[] = Utils.allStates;\r\n\r\n public months: any[] = Utils.months;\r\n\r\n public categories: any = {};\r\n\r\n public error: string;\r\n\r\n public modalName: string;\r\n private ID: number; // ID of whatever entity we need to get data for\r\n\r\n public advisorOrganization: string = \"This input field will allow you to create a client on behalf of, and assign it to the selected organization. PDF reports generated will show information and brand logos for the selected organization.\";\r\n public assignAdvisor: string = \"This input field will allow you to create a client on behalf of, and assign it to the selected organization. PDF reports generated will show information and brand logos for the selected advisor.\";\r\n public currentAgeMessage: string = \"Your date of birth allows us to project inflation and other factors that will occur over time, leading up to your retirement.\";\r\n public retirementAgeMessage: string = \"This is the year at which your income switches to an amount affected by your Income Replacement Ratio. This is not your Social Security Full Retirement Age or claim age, but for income calculation purposes on the Medicare Means Testing tool, this is the age when income switches from the amount earned as a worker to an amount earned in retirement.\";\r\n public currentIncomeMessage: string = \"This amount will be inflated out to retirement age and then multiplied by the income replacement ratio to determine projected retirement income. This should include income off of which the client currently maintains their standard of living, like compensation, bonuses, investment income, or rental income, for example.\";\r\n public maritalStatusMessage: string = \"This affects your Social Security claiming options, and for those currently married, all reports with run for both you and your spouse.\";\r\n //public retirementStateMessage: string = \"Retirement health care costs vary based on state of residence. Your retirement state may be different than your state of residence\";\r\n public retirementStateMessage: string = \"Retirement health care costs vary based on state of residence. Your retirement state may be different than your state of residence. Medicare Part D premiums, supplemental insurance, and out-of-pocket costs may vary depending on state.\";\r\n public currentIRRMessage: string = \"This is the percentage of pre-retirement income that the entire household (spouse included, if applicable) will need in retirement. For example, those earning $100,000 entering retirement age with an 80% IRR would need $80,000 per year to maintain their standard of living.\";\r\n public nationalAvgMessage: string = \"This should be used if the client is not sure where they might retire, even if a retirement state is selected.\";\r\n public highBloodPressureMessage: string = 'Clients diagnosed with high blood pressure by a doctor should answer yes to this question. High blood pressure indicates high pressure (tension) in the arteries and is typically a blood pressure of 140/90 or higher. Normal blood pressure is below 120/80. Blood pressure between 120/80 and 139/89 is called \"pre-hypertension\".';\r\n public highCholesterolMessage: string = \"Clients diagnosed with high cholesterol by a doctor should answer yes to this question. High levels of cholesterol in the blood is not a disease but a condition that lead to other diseases, most notably cardiovascular disease. A doctor typically considers high cholesterol a measurement greater than 200 mg/dL, LDL cholesterol levels greater than 130 mg/dL and HDL cholesterol levels less than 60 mg/dL.\";\r\n public type2DiabetesMessage: string = \"Clients diagnosed with type 2 diabetes (managed or unmanaged) by a doctor should answer yes to this question. Type 2 diabetes is a chronic condition that affects the way someone’s body metabolizes sugar (glucose); a condition characterized by high blood glucose levels caused by either a lack of insulin or the body's inability to use insulin efficiently.\";\r\n public cardiovascularDiseaseMessage: string = \"Clients diagnosed as having cardiovascular disease by a doctor should answer yes to this question. Cardiovascular disease is a disease affecting the heart or blood vessels. Some conditions that fall under the umbrella of cardiovascular disease are aneurysm, angina, arrhythmia, cardiomyopathy, congenital cardiovascular defects, congenital heart disease, congestive heart failure, heart attack, diseases of pulmonary circulation, endocarditis, rheumatic fever, stroke, heart valve disease, diseases of the circulatory system.\";\r\n public tobaccoMessage: string = \"Clients having used tobacco in any form (cigarettes, cigars, pipes etc..) on a consistent basis within the last 5 years should answer yes to this question.\";\r\n public cancerMessage: string = \"Clients should answer yes to this question if they have ever been diagnosed with any type of cancer, including breast cancer, skin cancer, lung cancer, colon cancer, prostate cancer, lymphoma, or other type of cancer.\";\r\n\r\n public piaMessage: string = \"If you don’t know your client’s PIA and want to calculate it manually, check this box and follow the instructions that appear.\";\r\n public pensionMessage: string = \"Individuals who are receiving (or are going to receive) a pension during their retirement based on working years during which they did not pay into Social Security should check this box.\";\r\n public pensionBaseMessage: string = \"The government applies provisions to Social Security regulations which may decrease or eliminate a benefit or spousal benefit given to someone who is receiving a pension.\";\r\n public pensionStartMessage: string = \"Please identify when the client will start receiving a pension. Social Security does not make deductions unless the client is currently receiving a pension. A start year is needed so as not to impose deductions in our projections that do not actually apply at that time.\";\r\n public pensionStartMonthMessage: string = \"Please identify when the client will start receiving a pension. Social Security does not make deductions unless the client is currently receiving a pension. A start month is needed so as not to impose deductions in our projections that do not actually apply at that time.\";\r\n public pensionSubMessage: string = \"Social Security measures Substantial Earnings Years by the amount of money an individual earns in a calendar year on income that is taxed by Social Security. This metric is needed to calculate deductions made to the client’s Social Security benefit by the Windfall Elimination Provision. A chart with these measures for each year can be found at http://www.ssa.gov/pubs/EN-05-10045.pdf.\";\r\n\r\n public lifeExpectancyMessage: string = \"Appropriately assessing your client’s health and longevity is a top consideration for each tool on this platform. Primary drivers of life expectancy include gender, current age, and health conditions/lifestyle. The amount defaulted in the input field is based on those variables, but you may override this result if you desire.\";\r\n public primaryInsuranceAmountMessage: string = \"Primary Insurance Amount is the monthly benefit the client will receive from Social Security at Full Retirement Age based on their earnings record. This amount is needed to project benefits throughout the client’s lifetime. This amount can be found at https://secure.ssa.gov/RIL/SiView.do\"\r\n public nationalAverageMessage: string = `Selecting \"Yes\" will show all projections based on national average instead of featuring the data specific to the chosen retirement state above. This selection may be made is the client is unsure of where they will spend their retirement years or if you are running a case study and looking for generic data.`;\r\n public previouslyMarriedMessage: string = \"Aside from a current marriage, how many times have you been legally married?\";\r\n\r\n public annualProgramFeeMessage: string = \"Enter the percentage between 0.10 to 9.99\"\r\n\r\n private advisor: Advisor;\r\n public client: any = {};\r\n public clientData = false;\r\n private organization: Organization;\r\n\r\n private modalData: any;\r\n\r\n public dobYear;\r\n\r\n private createClientModel: any = {\r\n client: {\r\n HCHBP: false,\r\n HCHC: false,\r\n HCT2D: false,\r\n HCCD: false,\r\n HCC: false,\r\n HCT: false,\r\n },\r\n clientProfile: {\r\n HCHBP: false,\r\n HCHC: false,\r\n HCT2D: false,\r\n HCCD: false,\r\n HCC: false,\r\n HCT: false,\r\n // LifeExpectancy: 88,\r\n clientSpouses: [],\r\n clientChildren: [],\r\n PIAYears: {\r\n IncludePIA: false,\r\n }\r\n },\r\n };\r\n\r\n private editClientModel: any = {\r\n loaded: false,\r\n client: {\r\n HCHBP: false,\r\n HCHC: false,\r\n HCT2D: false,\r\n HCCD: false,\r\n HCC: false,\r\n HCT: false,\r\n },\r\n clientProfile: {\r\n HCHBP: false,\r\n HCHC: false,\r\n HCT2D: false,\r\n HCCD: false,\r\n HCC: false,\r\n HCT: false,\r\n clientSpouses: [],\r\n clientChildren: [],\r\n PIAYears: {\r\n IncludePIA: false,\r\n }\r\n },\r\n };\r\n\r\n public modalSubscription;\r\n\r\n public clientDOB: IMyDate = {\r\n year: 1970,\r\n month: 1,\r\n day: 1,\r\n };\r\n\r\n public annDate: IMyDate = {\r\n year: 1970,\r\n month: 1,\r\n day: 1,\r\n };\r\n\r\n public testDate: IMyDate = {\r\n year: 0,\r\n month: 0,\r\n day: 0,\r\n }\r\n\r\n public clientModelV2: any = {\r\n generalInformation: {\r\n firstName: '',\r\n lastName: '',\r\n gender: '',\r\n dob: '',\r\n address: '',\r\n city: '',\r\n state: '',\r\n zip: '',\r\n phone: '',\r\n email: '',\r\n retirementAge: '',\r\n retirementState: '',\r\n },\r\n financialInformation: {\r\n currentIncome: '',\r\n irr: '',\r\n pia: '',\r\n PIAYears: {},\r\n pensionAmount: 0,\r\n pensionStartMonth: '',\r\n pensionStartYear: '',\r\n pensionSubEarnings: '',\r\n hasPension: '',\r\n },\r\n\r\n riskTolerance: {\r\n financialObjective:'',\r\n levelOfInvestment:'',\r\n lengthOfInvestment:'',\r\n toleranceOfRisk:'',\r\n isRedeemAccount:'',\r\n hasSignedAgreement: '',\r\n hasSignedUpForManagedAccount: ''\r\n },\r\n healthInformation: {\r\n HCC: false,\r\n HCCD: false,\r\n HCHBP: false,\r\n HCHC: false,\r\n HCT: false,\r\n HCT2D: false,\r\n lifeExpectancy: '',\r\n },\r\n maritalStatus: {\r\n maritalStatus: 'Single',\r\n firstName: '',\r\n lastName: '',\r\n gender: '',\r\n lifeExpectancy: '',\r\n currentIncome: '',\r\n pia: '',\r\n PIAYears: {\r\n includePIA: '',\r\n startYear: '',\r\n endYear: '',\r\n years: [],\r\n },\r\n },\r\n spouses: [\r\n { maritalStatus: 'Single' }\r\n ],\r\n maritalHistory: {\r\n previousSpouseCount: 0,\r\n previouslyMarried: false,\r\n },\r\n dependentChildren: {\r\n children: [],\r\n hasKids: false,\r\n }\r\n }\r\n\r\n d: Date = new Date();\r\n defaultDOB = { date: { year: this.d.getFullYear() - 55, month: this.d.getMonth() + 1, day: this.d.getDate() } };\r\n defaultDOBStr = ((this.d.getMonth() + 1 <= 9) ? \"0\" + (this.d.getMonth() + 1) : (this.d.getMonth() + 1)) + \"/\" + ((this.d.getDate() <= 9) ? \"0\" + this.d.getDate() : this.d.getDate()) + \"/\" + (this.d.getFullYear() - 55);\r\n \r\n isHCIllustration: boolean = false;\r\n\r\n estimatedCosts: number;\r\n ssDeductions: number;\r\n remainingUnfunded: number;\r\n phase1Portfolio: string;\r\n phase2Portfolio: string;\r\n isRetired: boolean = false;\r\n rorPhaseOneRate: number;\r\n rorPhaseTwoRate: number;\r\n rorPhaseOneYear: string;\r\n equitiesLargeCap: number;\r\n equitiesMidCap: number;\r\n equitiesSmallCap: number;\r\n equitiesInternational: number;\r\n equitiesReturn: number;\r\n fixedGovBonds: number;\r\n fixedCorpBonds: number;\r\n fixedReturn: number;\r\n cashMoneyMarket: number;\r\n cashMoneyMarketReturn: number;\r\n displayCancelBtn: boolean = false;\r\n\r\n constructor(private modalService: ModalService, private globalService: GlobalService, private snackBarService: SnackBarService, private loadingService: LoadingService, private router: Router, private sanitizer: DomSanitizer, private fb: FormBuilder) {\r\n this.modalSubscription = modalService.modal$.subscribe(modal => {\r\n this.featRiskTolerance = JSON.parse(localStorage.getItem('featRiskTolerance'));\r\n console.log('this.featRiskTolerance', this.featRiskTolerance);\r\n this.isHCIllustration = (modal.data.Page == 'HC');\r\n if (modal.modalName.indexOf('Closed') == -1) {\r\n this.modalName = modal.modalName;\r\n this.modalData = modal.data;\r\n // console.log('this.modalData');\r\n // console.log(this.modalData);\r\n this.ID = modal.data.ID;\r\n\r\n this.currentAddEditClientScreen = 0;\r\n\r\n //hide for PacLife and OA\r\n this.displayCancelBtn = (Number(localStorage.getItem('orgID')) === 761 || Number(localStorage.getItem('orgID')) === 2 || Number(localStorage.getItem('parentID')) === 2) ? false : true;\r\n\r\n this.selectedAdvisor = null;\r\n this.selectedOrganization = null;\r\n this.organizations = [];\r\n this.selectedAdvisors = [];\r\n\r\n this.clientModelV2 = {\r\n generalInformation: {\r\n firstName: '',\r\n lastName: '',\r\n gender: '',\r\n dob: '',//this.defaultDOB, //avg user is 55yo\r\n address: '',\r\n city: '',\r\n state: '',\r\n zip: '',\r\n phone: '',\r\n email: '',\r\n useNationalAverage: false,\r\n retirementAge: '',\r\n retirementState: '',\r\n },\r\n financialInformation: {\r\n currentIncome: '',\r\n irr: '',\r\n pia: '',\r\n PIAYears: {},\r\n pensionAmount: 0,\r\n pensionStartMonth: '',\r\n pensionStartYear: '',\r\n pensionSubEarnings: '',\r\n hasPension: '',\r\n },\r\n\r\n riskTolerance: {\r\n financialObjective:'',\r\n levelOfInvestment:'',\r\n lengthOfInvestment:'',\r\n toleranceOfRisk:'1',\r\n isRedeemAccount:'1',\r\n },\r\n\r\n healthInformation: {\r\n HCC: false,\r\n HCCD: false,\r\n HCHBP: false,\r\n HCHC: false,\r\n HCT: false,\r\n HCT2D: false,\r\n lifeExpectancy: '',\r\n },\r\n maritalStatus: {\r\n maritalStatus: 'Single',\r\n firstName: '',\r\n lastName: '',\r\n gender: '',\r\n lifeExpectancy: '',\r\n currentIncome: '',\r\n pia: '',\r\n PIAYears: {\r\n includePIA: '',\r\n startYear: '',\r\n endYear: '',\r\n years: [],\r\n },\r\n },\r\n spouses: [\r\n { maritalStatus: 'Single' }\r\n ],\r\n maritalHistory: {\r\n previousSpouseCount: 0,\r\n previouslyMarried: false,\r\n spousePreviouslyMarried: false,\r\n },\r\n dependentChildren: {\r\n children: [],\r\n hasKids: false,\r\n }\r\n }\r\n this.advisorModal = {\r\n generalInformation: {\r\n firstName: '',\r\n lastName: '',\r\n title:'',\r\n address: '',\r\n city: '',\r\n state: '',\r\n zip: '',\r\n phone: '',\r\n email: '',\r\n id: '',\r\n annualProgramFee: ''\r\n }\r\n }\r\n\r\n this.setPageDynamically();\r\n\r\n this.validFormInputs = [\r\n { isValid: false },\r\n { isValid: false },\r\n { isValid: false },\r\n { isValid: false },\r\n { isValid: false },\r\n { isValid: false },\r\n ];\r\n \r\n this.createClientModel = {\r\n client: {\r\n\r\n },\r\n clientProfile: {\r\n HCHBP: false,\r\n HCHC: false,\r\n HCT2D: false,\r\n HCCD: false,\r\n HCC: false,\r\n HCT: false,\r\n clientSpouses: [],\r\n clientChildren: [],\r\n PIAYears: {\r\n IncludePIA: false,\r\n }\r\n },\r\n };\r\n\r\n this.editClientModel = {\r\n loaded: false,\r\n client: {\r\n\r\n },\r\n clientProfile: {\r\n HCHBP: false,\r\n HCHC: false,\r\n HCT2D: false,\r\n HCCD: false,\r\n HCC: false,\r\n HCT: false,\r\n clientSpouses: [],\r\n clientChildren: [],\r\n PIAYears: {\r\n IncludePIA: false,\r\n }\r\n },\r\n };\r\n\r\n if (this.modalName == 'risk-tolerance') {\r\n let totalSocialSecurity = 0;\r\n if (this.isHCIllustration) {\r\n totalSocialSecurity = modal.data.TotalSocialSecurity;\r\n }\r\n this.futureTotalCost = modal.data.FurureTotalCost;\r\n this.portfolioRecommendationObject = modal.data.PortfolioRecommendationObject;\r\n this.riskToleranceWhileInstantiate(totalSocialSecurity, this.futureTotalCost, this.portfolioRecommendationObject);\r\n }\r\n\r\n \r\n if (this.modalName === 'close-now') {\r\n return this.close();\r\n }\r\n\r\n this.getData();\r\n this.open();\r\n }\r\n })\r\n }\r\n\r\n riskToleranceWhileInstantiate(totalSocialSecurity, furureTotalCost, portfolioRecommendationObject) {\r\n\r\n let date = new Date();\r\n let dateMonth = date.toLocaleString('en-us', { month: 'short' });\r\n let dateDay = (\"0\" + date.getDate()).slice(-2);\r\n let dateYear = date.getFullYear();\r\n this.dateTimeNow = date +' ' + dateMonth +','+ dateYear;\r\n this.clientFirstName = this.modalData.FirstName;\r\n this.clientLastName = this.modalData.LastName;\r\n this.spouseFirstName = portfolioRecommendationObject.spouseFirstName;\r\n this.spouseLastName = portfolioRecommendationObject.spouseLastName;\r\n this.advisoryFee = this.modalData.AdvisorFee;\r\n this.isChecked = false;\r\n this.isNotCandidate = false;\r\n this.isClientEmailChecked = false;\r\n this.riskToleranceQuestionnaire = this.fb.group({\r\n levelOfInvestment: ['', [Validators.required]],\r\n lengthOfInvestment: ['', [Validators.required]],\r\n toleranceOfRisk: ['', [Validators.required]],\r\n isRedeemAccount:['', [Validators.required]],\r\n });\r\n\r\n this.riskToleranceNames = this.fb.group({\r\n firstName: ['', [Validators.required]],\r\n lastName: ['', [Validators.required]],\r\n email: ['']\r\n });\r\n\r\n this.riskToleranceAggrement = this.fb.group({\r\n aggrement: ['', [Validators.required]], \r\n });\r\n this.riskToleranceMail = this.fb.group({\r\n email: ['', [Validators.required]],\r\n txtEmailAddress: [''],\r\n accountType: ['', [Validators.required]],\r\n jointOwnerFirstName: [portfolioRecommendationObject.spouseFirstName],\r\n jointOwnerLastName: [portfolioRecommendationObject.spouseLastName],\r\n jointOwnerEmail: [''],\r\n aggrement: ['']\r\n });\r\n\r\n this.estimatedCosts = furureTotalCost;\r\n this.ssDeductions = totalSocialSecurity;\r\n this.remainingUnfunded = this.estimatedCosts - this.ssDeductions;\r\n this.isRetired = this.isBothRetired(portfolioRecommendationObject);\r\n // SMALLA 01/24/22 : New Requirement\r\n this.phase1Portfolio = this.isRetired && (portfolioRecommendationObject.phase1Portfolio == 'Aggressive' || portfolioRecommendationObject.phase1Portfolio == 'Growth') ? 'Growth & Income': portfolioRecommendationObject.phase1Portfolio;\r\n this.phase2Portfolio = portfolioRecommendationObject.phase2Portfolio;\r\n this.rorPhaseOneRate = portfolioRecommendationObject.phase1Val;\r\n this.rorPhaseTwoRate = portfolioRecommendationObject.phase2Val;\r\n let isClientRetiringFirst = portfolioRecommendationObject.isMarried ? Number(portfolioRecommendationObject.clientRetirementAge - portfolioRecommendationObject.clientAge) >= Number(portfolioRecommendationObject.spouseRetirementAge - portfolioRecommendationObject.spouseAge) : true;\r\n let age;\r\n if (portfolioRecommendationObject.isMarried && !this.isHCIllustration) {\r\n age = isClientRetiringFirst ? (Math.max(portfolioRecommendationObject.clientAge, portfolioRecommendationObject.clientRetirementAge) + \"/\" + Math.max(portfolioRecommendationObject.spouseAge && portfolioRecommendationObject.spouseRetirementAge)): (Math.max(portfolioRecommendationObject.spouseAge && portfolioRecommendationObject.spouseRetirementAge) + \"/\" + Math.max(portfolioRecommendationObject.clientAge, portfolioRecommendationObject.clientRetirementAge));\r\n } else {\r\n age = Math.max(portfolioRecommendationObject.clientAge, portfolioRecommendationObject.clientRetirementAge);\r\n }\r\n if (this.isHCIllustration) {\r\n this.rorPhaseOneYear = this.isRetired ? \"Through Retirement\" : \"Through \" + portfolioRecommendationObject.year + \" (Age \"+ age + \")\"\r\n } else {\r\n this.rorPhaseOneYear = this.isRetired ? \"Distribution Through Retirement\" : \"Through \" + portfolioRecommendationObject.year + \" (Age \"+ age + \")\"\r\n }\r\n this.setRiskTolRates(this.phase1Portfolio);\r\n\r\n }\r\n\r\n isBothRetired(portfolioRecommendationObject) {\r\n let isRetired = false;\r\n if (Number(portfolioRecommendationObject.clientRealAge) >= Number(portfolioRecommendationObject.clientRealRetirementAge)) {\r\n isRetired = true;\r\n }\r\n if(portfolioRecommendationObject.spouseAge && portfolioRecommendationObject.spouseRetirementAge) {\r\n if (Number(portfolioRecommendationObject.spouseAge) >= Number(portfolioRecommendationObject.spouseRetirementAge)) {\r\n isRetired = isRetired && true;\r\n } else {\r\n isRetired = false;\r\n }\r\n }\r\n return isRetired;\r\n }\r\n\r\n setRiskTolRates(phase) {\r\n console.log('phase', phase);\r\n if (phase == \"Conservative Income\" || phase == \"Stable Value\")\r\n {\r\n this.equitiesLargeCap = 5;\r\n this.equitiesMidCap = 2;\r\n this.equitiesSmallCap = 0;\r\n this.equitiesInternational = 3;\r\n this.equitiesReturn = 10;\r\n this.fixedGovBonds = 60;\r\n this.fixedCorpBonds = 10;\r\n this.fixedReturn = 70;\r\n this.cashMoneyMarket = 20;\r\n this.cashMoneyMarketReturn = 20;\r\n }\r\n else if (phase == \"Income\")\r\n {\r\n this.equitiesLargeCap = 10;\r\n this.equitiesMidCap = 5;\r\n this.equitiesSmallCap = 0;\r\n this.equitiesInternational = 5;\r\n this.equitiesReturn = 20;\r\n this.fixedGovBonds = 50;\r\n this.fixedCorpBonds = 25;\r\n this.fixedReturn = 75;\r\n this.cashMoneyMarket = 5;\r\n this.cashMoneyMarketReturn = 5;\r\n }\r\n else if (phase == \"Growth & Income\")\r\n {\r\n this.equitiesLargeCap = 20;\r\n this.equitiesMidCap = 15;\r\n this.equitiesSmallCap = 10;\r\n this.equitiesInternational = 15;\r\n this.equitiesReturn = 60;\r\n this.fixedGovBonds = 20;\r\n this.fixedCorpBonds = 18;\r\n this.fixedReturn = 38;\r\n this.cashMoneyMarket = 2;\r\n this.cashMoneyMarketReturn = 2;\r\n }\r\n else if (phase == \"Growth\")\r\n {\r\n this.equitiesLargeCap = 22;\r\n this.equitiesMidCap = 20;\r\n this.equitiesSmallCap = 18;\r\n this.equitiesInternational = 20;\r\n this.equitiesReturn = 80;\r\n this.fixedGovBonds = 9;\r\n this.fixedCorpBonds = 10;\r\n this.fixedReturn = 19;\r\n this.cashMoneyMarket = 1;\r\n this.cashMoneyMarketReturn = 1;\r\n }\r\n else if (phase == \"Income & Growth\")\r\n {\r\n this.equitiesLargeCap = 15;\r\n this.equitiesMidCap = 10;\r\n this.equitiesSmallCap = 5;\r\n this.equitiesInternational = 10;\r\n this.equitiesReturn = 40;\r\n this.fixedGovBonds = 32;\r\n this.fixedCorpBonds = 25;\r\n this.fixedReturn = 57;\r\n this.cashMoneyMarket = 3;\r\n this.cashMoneyMarketReturn = 3;\r\n }\r\n else if (phase == \"Aggressive\")\r\n {\r\n this.equitiesLargeCap = 25;\r\n this.equitiesMidCap = 23;\r\n this.equitiesSmallCap = 20;\r\n this.equitiesInternational = 22;\r\n this.equitiesReturn = 90;\r\n this.fixedGovBonds = 4;\r\n this.fixedCorpBonds = 5;\r\n this.fixedReturn = 9;\r\n this.cashMoneyMarket = 1;\r\n this.cashMoneyMarketReturn = 1;\r\n }\r\n }\r\n\r\n getPortfolioRecommendation() {\r\n\r\n let isClientRetiringFirst = this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? Number(this.client.clientProfile.RetirementAge - this.client.clientProfile.currentAge) >= Number(this.client.clientProfile.Spouses[0].retirementAge - this.calculateAge(this.client.clientProfile.Spouses[0].dob)) : true;\r\n // RiskTolerance = {\r\n // AccountType: this.getNumber(this.riskToleranceQuestionnaire.value.accountType),\r\n // FinancialObjID: this.getNumber(this.riskToleranceQuestionnaire.value.financialObjective),\r\n // LvlOfInvestExpID: this.getNumber(this.riskToleranceQuestionnaire.value.levelOfInvestment),\r\n // LngthOfInvestID: this.getNumber(this.riskToleranceQuestionnaire.value.lengthOfInvestment),\r\n // ToleranceOfRiskID: this.getNumber(this.riskToleranceQuestionnaire.value.toleranceOfRisk),\r\n // NeedRedeemID: this.getNumber(this.riskToleranceQuestionnaire.value.isRedeemAccount),\r\n\r\n // Email: (this.riskToleranceMail.value.email == '1') ? this.riskToleranceMail.value.txtEmailAddress : (this.client.advisor ? this.client.advisor.Email : ''),\r\n\r\n // JointOwnerFirstName: (this.riskToleranceNames.value.firstName) ? this.riskToleranceNames.value.firstName : '',\r\n // JointOwnerLastName: (this.riskToleranceNames.value.lastName) ? this.riskToleranceNames.value.lastName : '',\r\n // JointOwnerEmail: (this.riskToleranceNames.value.email) ? this.riskToleranceNames.value.email : (this.riskToleranceMail.value.email == '1') ? this.riskToleranceMail.value.txtEmailAddress : (this.client.advisor ? this.client.advisor.Email : ''),\r\n // HasSignedAdvisoryAgreement: (this.clientModelV2.riskTolerance.hasSignedAgreement) ? this.clientModelV2.riskTolerance.hasSignedAgreement : this.isChecked \r\n\r\n // }\r\n var riskTolerance = {\r\n ClientID: localStorage.getItem('selectedClient'),\r\n ClientAge: this.portfolioRecommendationObject.clientAge,\r\n ClientRetirementAge: this.portfolioRecommendationObject.clientRetirementAge,\r\n estimateLifeTimeCostInFuture: JSON.stringify(this.futureTotalCost),\r\n unfundedHealthCareCost: JSON.stringify(this.remainingUnfunded),\r\n AccountType: this.getNumber(this.riskToleranceMail.value.accountType),\r\n FinancialObjectiveID: this.getNumber(this.riskToleranceQuestionnaire.value.financialObjective),\r\n LevelOfInvestmentID: this.getNumber(this.riskToleranceQuestionnaire.value.levelOfInvestment),\r\n LengthOfInvestmentID: this.getNumber(this.riskToleranceQuestionnaire.value.lengthOfInvestment),\r\n ToleranceOfRiskID: this.getNumber(this.riskToleranceQuestionnaire.value.toleranceOfRisk),\r\n NeedRedeemID: this.getNumber(this.riskToleranceQuestionnaire.value.isRedeemAccount),\r\n }\r\n console.log('riskTolerance',riskTolerance);\r\n this.globalService.getRiskTolerancePortfolio(riskTolerance).subscribe(\r\n resp => {\r\n let clientAge = JSON.stringify(this.calculateAge(this.client.client.DOB));\r\n this.portfolioRecommendationObject = {\r\n year: String(isClientRetiringFirst ? this.getRetirementYear(this.client.clientProfile.RetirementAge, this.client.client.DOB) : this.getRetirementYear(this.client.clientProfile.Spouses[0].retirementAge, this.client.clientProfile.Spouses[0].dob)),\r\n phase1Portfolio: resp.PhaseOneRecommend,\r\n phase2Portfolio: resp.PhaseTwoRecommend,\r\n phase1Val: resp.PhaseOneROR,\r\n phase2Val: resp.PhaseTwoROR,\r\n clientAge: clientAge,\r\n spouseAge: this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? `${this.calculateAge(this.client.clientProfile.Spouses[0].dob)}` : '0' ,\r\n clientRetirementAge: this.portfolioRecommendationObject.clientRetirementAge,\r\n spouseRetirementAge: this.client.clientProfile.Spouses[0].maritalStatus == 'Married' ? this.client.clientProfile.Spouses[0].retirementAge : '0' ,\r\n singleInvestment: (resp.SingleInvestment && resp.SingleInvestment != 0) ? Utils.formatToCurrency(resp.SingleInvestment) : this.portfolioRecommendationObject.singleInvestment,\r\n unfundedAmount: this.futureTotalCost ? String(Utils.formatToCurrency(this.futureTotalCost)): '$0',\r\n hcReport: this.portfolioRecommendationObject.hcReport,\r\n user: this.portfolioRecommendationObject.user,\r\n ltcReport: this.portfolioRecommendationObject.ltcReport\r\n }\r\n console.log('this.portfolioRecommendationObject.hcReport 01',this.portfolioRecommendationObject);\r\n // calculating single investment for HC Report\r\n if (this.portfolioRecommendationObject.hcReport) {\r\n this.portfolioRecommendationObject.hcReport.FrmPhase1Rate = this.portfolioRecommendationObject.phase1Val || 0;\r\n this.portfolioRecommendationObject.hcReport.FrmPhase1Periods = this.getPhaseDiff(1);\r\n this.portfolioRecommendationObject.hcReport.FrmPhase2Rate = this.isRetired ? this.portfolioRecommendationObject.phase1Val || 0: this.portfolioRecommendationObject.phase2Val || 0;\r\n this.portfolioRecommendationObject.hcReport.FrmPhase2Periods = this.getPhaseDiff(2);\r\n this.portfolioRecommendationObject.hcReport.FrmPhase3Rate = this.isRetired ? this.portfolioRecommendationObject.phase1Val || 0: this.portfolioRecommendationObject.phase2Val || 0;\r\n //FrmPhase1Rate: includeSingleInvestment ? (this.portfolioRecommendationObject.phase1Val ? Number(this.portfolioRecommendationObject.phase1Val):0): (this.p1Percent ? (Number(this.p1Percent.nativeElement.value)) : 6),\r\n //FrmPhase1Periods: this.riskToleranceEnabled ? this.getPhaseDiff(1) : (this.p1EndAge ? Number(this.p1EndAge.nativeElement.value) - this.calculateAge(this.client.client.DOB) : Math.max(65 - Number(this.calculateAge(this.client.client.DOB)))),\r\n \r\n //FrmPhase2Rate: includeSingleInvestment ? (this.portfolioRecommendationObject.phase2Val ? Number(this.portfolioRecommendationObject.phase2Val):0): (this.p2Percent ? (Number(this.p2Percent.nativeElement.value)) : 6),\r\n \r\n //FrmPhase2Periods: this.riskToleranceEnabled ? this.getPhaseDiff(2) : (this.p2EndAge ? (Number(this.p2EndAge.nativeElement.value) - (Number(this.p1EndAge.nativeElement.value))) : 10),\r\n //FrmPhase3Rate: includeSingleInvestment ? (this.portfolioRecommendationObject.phase2Val ? Number(this.portfolioRecommendationObject.phase2Val):0):(this.p3Percent ? (Number(this.p3Percent.nativeElement.value)) : 6),\r\n console.log('this.portfolioRecommendationObject.hcReport',this.portfolioRecommendationObject.hcReport);\r\n this.globalService.getHCDataV2(this.portfolioRecommendationObject.hcReport, this.portfolioRecommendationObject.user)\r\n .subscribe(\r\n data => {\r\n let hcData = data;\r\n hcData.Illustrations = JSON.parse(hcData.Illustrations);\r\n console.log('data', data);\r\n this.portfolioRecommendationObject.singleInvestment = hcData.Illustrations[0] && hcData.Illustrations[0].BeginningBalance ? Utils.formatToCurrency(hcData.Illustrations[0].BeginningBalance.toFixed(0)) : '$0'\r\n this.portfolioRecommendationObject.unfundedAmount = hcData.TotalProjectedCost;\r\n },\r\n error => {\r\n this.error = error;\r\n });\r\n }\r\n\r\n // calculating single investment for LTC Report\r\n if (this.portfolioRecommendationObject.ltcReport) {\r\n this.portfolioRecommendationObject.ltcReport.FrmPhase1Rate = this.portfolioRecommendationObject.phase1Val || 0;\r\n this.portfolioRecommendationObject.ltcReport.FrmPhase1Periods = this.getPhaseDiff(1);\r\n this.portfolioRecommendationObject.ltcReport.FrmPhase2Rate = this.isRetired ? this.portfolioRecommendationObject.phase1Val || 0: this.portfolioRecommendationObject.phase2Val || 0;\r\n this.portfolioRecommendationObject.ltcReport.FrmPhase2Periods = this.getPhaseDiff(2);\r\n this.portfolioRecommendationObject.ltcReport.FrmPhase3Rate = this.isRetired ? this.portfolioRecommendationObject.phase1Val || 0: this.portfolioRecommendationObject.phase2Val || 0;\r\n \r\n console.log('this.portfolioRecommendationObject.ltcReport',this.portfolioRecommendationObject.ltcReport);\r\n this.globalService.getLTCData(this.portfolioRecommendationObject.ltcReport, this.portfolioRecommendationObject.user)\r\n .subscribe(\r\n data => {\r\n let ltcData = data;\r\n console.log('ltcData', ltcData);\r\n ltcData.depositedToday = Utils.formatToCurrency(ltcData.depositedToday.toFixed(0));\r\n this.portfolioRecommendationObject.singleInvestment = ltcData.depositedToday;\r\n },\r\n error => {\r\n this.error = error;\r\n });\r\n }\r\n \r\n \r\n this.phase1Portfolio = this.isRetired && (this.portfolioRecommendationObject.phase1Portfolio == 'Aggressive' || this.portfolioRecommendationObject.phase1Portfolio == 'Growth') ? 'Growth & Income': this.portfolioRecommendationObject.phase1Portfolio;\r\n this.phase2Portfolio = this.portfolioRecommendationObject.phase2Portfolio;\r\n this.rorPhaseOneRate = this.portfolioRecommendationObject.phase1Val;\r\n this.rorPhaseTwoRate = this.portfolioRecommendationObject.phase2Val;\r\n this.setRiskTolRates(this.phase1Portfolio);\r\n },\r\n error => {\r\n this.error = error;\r\n });\r\n \r\n }\r\n\r\n getRetirementYear(retirementAge, dob) {\r\n var currentAge = this.calculateAge(dob);\r\n var diff = retirementAge - currentAge;\r\n var year = new Date().getFullYear();\r\n return year + diff;\r\n }\r\n\r\n setPageDynamically() {\r\n\r\n this.firstPage = 0;\r\n this.secondPage = 1;\r\n this.thirdPage = 2;\r\n this.forthPage = 3;\r\n this.fifthPage = 4;\r\n this.sixthPage = 5;\r\n this.seventhPage = 6;\r\n \r\n /* if (JSON.parse(localStorage.getItem('featRiskTolerance'))) {\r\n this.firstPage = 0; //GeneralInfo\r\n this.secondPage = 1; //FinancialInfo\r\n this.thirdPage = 2; // Risk Tolerance\r\n this.forthPage = 3; //HealthCondition\r\n this.fifthPage = 4; //Marital\r\n this.sixthPage = 5; //Dependent\r\n this.seventhPage = 6;\r\n\r\n } else {\r\n this.firstPage = 0;\r\n this.secondPage = 1;\r\n // this.thirdPage = 2;\r\n this.forthPage = 2;\r\n this.fifthPage = 3;\r\n this.sixthPage = 4;\r\n this.seventhPage = 5;\r\n } */\r\n }\r\n\r\n ngOnDestroy() {\r\n this.modalSubscription.unsubscribe();\r\n }\r\n\r\n onDateChanged(e, model, validationIndex) {\r\n\r\n if (validationIndex === 0) {\r\n this.clientModelV2.generalInformation.dobStr = e.formatted;\r\n this.recalcLEV2(this.clientModelV2, 0)\r\n } else if (validationIndex === 3) {\r\n this.clientModelV2.maritalStatus.dobStr = e.formatted;\r\n this.recalcLEV2(this.clientModelV2, 3)\r\n } else if (validationIndex === 4) {\r\n model.dobStr = e.formatted;\r\n this.formerSpouseLE(model, validationIndex);\r\n\r\n } else if (validationIndex === 5) {\r\n model.dobStr = e.formatted;\r\n this.formerSpouseLE(model, validationIndex);\r\n }\r\n }\r\n\r\nformerSpouseLE (model, validationIndex) {\r\n if (model.gender && model.dobStr) {\r\n var LEObject;\r\n LEObject = {\r\n gender: Number(model.gender),\r\n age: this.calculateAge(model.dobStr),\r\n healthConditions: {\r\n HCC: model.HCC ? 1 : 0,\r\n HCCD: model.HCCD ? 1 : 0,\r\n HCHBP: model.HCHBP ? 1 : 0,\r\n HCHC: model.HCHC ? 1 : 0,\r\n HCT: model.HCT ? 1 : 0,\r\n HCT2D: model.HCT2D ? 1 : 0,\r\n },\r\n }\r\n this.globalService.getLE(LEObject)\r\n .subscribe(\r\n le => {\r\n model.lifeExpectancy = le;\r\n if (validationIndex === 4) {\r\n this.clientPreviousSpouseMinAge = Math.min(le, LEObject.age); \r\n this.clientPreviousSpouseMaxAge = 100 - this.clientPreviousSpouseMinAge + 1;\r\n }\r\n if (validationIndex === 5) {\r\n this.spousePreviousSpouseMinAge = Math.min(le, LEObject.age); \r\n this.spousePreviousSpouseMaxAge = 100 - this.spousePreviousSpouseMinAge + 1;\r\n }\r\n \r\n },\r\n error => this.error = error);\r\n }\r\n\r\n this.validateFields(validationIndex);\r\n\r\n }\r\n\r\n onAnnDateChanged(e, model, validationIndex) {\r\n this.clientModelV2.maritalStatus.anniversaryStr = e.formatted;\r\n this.validateFields(validationIndex);\r\n }\r\n\r\n canContinue(i, isButton) {\r\n if (this.isSelectingAdvisor && this.selectedAdvisor && this.selectedOrganization) {\r\n return true;\r\n }\r\n if (this.clientModelV2.generalInformation.retirementAge > this.clientModelV2.healthInformation.lifeExpectancy) {\r\n // console.log('button disable 01');\r\n return false;\r\n }\r\n if (this.clientModelV2.maritalStatus.maritalStatus === 'Married') {\r\n if (this.clientModelV2.maritalStatus.retirementAge > this.clientModelV2.maritalStatus.lifeExpectancy) {\r\n return false;\r\n }\r\n }\r\n // console.log('button disable 02');\r\n // console.log(isButton);\r\n // console.log(this.validFormInputs[i].isValid);\r\n if (this.validFormInputs[i - 1]) {\r\n // console.log(this.validFormInputs[i - 1].isValid);\r\n }\r\n isButton = isButton ? this.validFormInputs[i].isValid : this.validFormInputs[i - 1] && this.validFormInputs[i - 1].isValid;\r\n // console.log(isButton);\r\n return isButton;//&& i < 5;\r\n }\r\n\r\n uploadAndSave() {\r\n if (this.modalData.Data.section === 'marketing-material') {\r\n this.uploadAndSaveMM();\r\n } else if (this.modalData.Data.section === 'info-center') {\r\n this.uploadAndSaveIC();\r\n }\r\n }\r\n\r\n uploadAndSaveMM() {\r\n let file;\r\n\r\n if (this.selectedDocEvent && this.selectedDocEvent.target && this.selectedDocument.category && this.selectedDocument.title) {\r\n file = this.selectedDocEvent.target.files[0];\r\n let formData: FormData = new FormData();\r\n var date = new Date().getTime() / 1000;\r\n\r\n formData.append('uploadFile', file, this.advisor.OrganizationID + '_' + date + '_doc' + file.name.substring(file.name.lastIndexOf('.'), file.name.length));\r\n formData.append('Email', this.advisor.Email);\r\n formData.append('UserID', this.advisor.ID.toString());\r\n formData.append('Category', 'marketing-material');\r\n\r\n this.selectedDocument.section = \"marketing-material\";\r\n\r\n let idx = 0;\r\n\r\n for (var key in this.modalData.Data.arr) {\r\n if (this.modalData.Data.arr[key].category === this.selectedDocument.category)\r\n idx = Number(key);\r\n }\r\n\r\n this.globalService.UploadOrgDoc(formData)\r\n .subscribe(\r\n resp => {\r\n this.selectedDocument.url = \"https://web234.hvsfinancial.com/portal-shared/\" + resp._body;\r\n\r\n var item = {\r\n Category: this.selectedDocument.category,\r\n Description: this.selectedDocument.description,\r\n Section: this.selectedDocument.section,\r\n Title: this.selectedDocument.title,\r\n Url: this.selectedDocument.url\r\n }\r\n this.modalData.Data.arr[idx].items.push(item);\r\n let arr = Utils.convertMarketingMaterialOrInfoCenterToOldFormat(this.modalData.Data.arr);\r\n\r\n this.globalService.ReplaceMarketingMaterial(arr).subscribe(\r\n resp => {\r\n if (resp) {\r\n this.selectedDocument = {\r\n category: '',\r\n description: '',\r\n section: '',\r\n title: '',\r\n url: '',\r\n }\r\n\r\n this.selectedDocEvent.target.value = '';\r\n\r\n this.close();\r\n this.snackBarService.add('Document has been added', 0);\r\n } else {\r\n this.snackBarService.add('An error occurred - please contact support', 1);\r\n }\r\n },\r\n error => this.error = error);\r\n },\r\n error => this.error = error);\r\n }\r\n }\r\n\r\n uploadAndSaveIC() {\r\n let file;\r\n\r\n if (this.selectedDocEvent && this.selectedDocEvent.target) {\r\n file = this.selectedDocEvent.target.files[0];\r\n let formData: FormData = new FormData();\r\n var date = new Date().getTime() / 1000;\r\n\r\n formData.append('uploadFile', file, this.advisor.OrganizationID + '_' + date + '_doc' + file.name.substring(file.name.lastIndexOf('.'), file.name.length));\r\n formData.append('Email', this.advisor.Email);\r\n formData.append('UserID', this.advisor.ID.toString());\r\n formData.append('Category', 'info-center');\r\n\r\n this.selectedDocument.section = \"info-center\";\r\n\r\n let idx = 0;\r\n\r\n for (var key in this.modalData.Data.arr) {\r\n if (this.modalData.Data.arr[key].category === this.selectedDocument.category)\r\n idx = Number(key);\r\n }\r\n\r\n this.globalService.UploadOrgDoc(formData)\r\n .subscribe(\r\n resp => {\r\n this.selectedDocument.url = \"https://web234.hvsfinancial.com/portal-shared/\" + resp._body;\r\n\r\n var item = {\r\n Category: this.selectedDocument.category,\r\n Description: this.selectedDocument.description,\r\n Section: this.selectedDocument.section,\r\n Title: this.selectedDocument.title,\r\n Url: this.selectedDocument.url\r\n }\r\n this.modalData.Data.arr[idx].items.push(item);\r\n let arr = Utils.convertMarketingMaterialOrInfoCenterToOldFormat(this.modalData.Data.arr);\r\n\r\n this.globalService.ReplaceInfoCenter(arr).subscribe(\r\n resp => {\r\n if (resp) {\r\n this.selectedDocument = {\r\n category: '',\r\n description: '',\r\n section: '',\r\n title: '',\r\n url: '',\r\n }\r\n\r\n this.selectedDocEvent.target.value = '';\r\n\r\n this.close();\r\n\r\n this.snackBarService.add('Document has been added', 0);\r\n } else {\r\n this.snackBarService.add('An error occurred - please contact support', 1);\r\n }\r\n },\r\n error => this.error = error);\r\n },\r\n error => this.error = error);\r\n }\r\n }\r\n\r\n public featRiskTolerance: boolean = false;\r\n\r\n canSave() {\r\n if (this.clientModelV2.generalInformation.retirementAge > this.clientModelV2.healthInformation.lifeExpectancy) {\r\n return false;\r\n }\r\n if (this.clientModelV2.maritalStatus.maritalStatus === 'Married') {\r\n if (this.clientModelV2.maritalStatus.retirementAge > this.clientModelV2.maritalStatus.lifeExpectancy) {\r\n return false;\r\n }\r\n }\r\n if (this.featRiskTolerance) {\r\n return this.validFormInputs[0].isValid &&\r\n this.validFormInputs[1].isValid &&\r\n this.validFormInputs[2].isValid &&\r\n this.validFormInputs[3].isValid &&\r\n this.validFormInputs[4].isValid &&\r\n this.validFormInputs[5].isValid\r\n\r\n } else {\r\n return this.validFormInputs[0].isValid &&\r\n this.validFormInputs[1].isValid &&\r\n this.validFormInputs[2].isValid &&\r\n this.validFormInputs[3].isValid &&\r\n this.validFormInputs[4].isValid\r\n }\r\n\r\n }\r\n\r\n canSaveAdvisor() {\r\n let isValid = true;\r\n isValid = isValid && this.advisorModal.generalInformation.firstName && this.advisorModal.generalInformation.lastName && this.advisorModal.generalInformation.phone && this.advisorModal.generalInformation.email && this.validatePhoneNumber(this.advisorModal.generalInformation.phone, false) && this.validateEmail(this.advisorModal.generalInformation.email, true);\r\n return isValid;\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n // localStorage.setItem('featRiskTolerance', 'true');\r\n // this.riskTolernaceSection = 'riskToleranceQuestionnaire';\r\n // this.aggrementSrc = 'https://healthwealthhub.hvsfinancial.com/ReportTemplates/Report_AdvisoryAgreementDefault.aspx';\r\n // this.featRiskTolerance = JSON.parse(localStorage.getItem('featRiskTolerance'));\r\n // console.log('this.featRiskTolerance', this.featRiskTolerance);\r\n this.validateAge();\r\n\r\n this.isRiskTolerance = JSON.parse(localStorage.getItem('featRiskTolerance'));\r\n\r\n this.createClientModel = {\r\n client: {\r\n\r\n },\r\n clientProfile: {\r\n HCHBP: false,\r\n HCHC: false,\r\n HCT2D: false,\r\n HCCD: false,\r\n HCC: false,\r\n HCT: false,\r\n clientSpouses: [\r\n ],\r\n clientChildren: [],\r\n PIAYears: {\r\n IncludePIA: false,\r\n }\r\n },\r\n };\r\n\r\n this.editClientModel = {\r\n loaded: false,\r\n client: {\r\n\r\n },\r\n clientProfile: {\r\n HCHBP: false,\r\n HCHC: false,\r\n HCT2D: false,\r\n HCCD: false,\r\n HCC: false,\r\n HCT: false,\r\n clientSpouses: [\r\n ],\r\n clientChildren: [],\r\n PIAYears: {\r\n IncludePIA: false,\r\n }\r\n },\r\n };\r\n\r\n }\r\n\r\n piaStartYearWarning(dob, model, client) {\r\n\r\n\r\n }\r\n\r\n validateAllFields() {\r\n this.validateFields(0);\r\n this.validateFields(1);\r\n this.validateFields(2);\r\n this.validateFields(3);\r\n this.validateFields(4);\r\n this.validateFields(5);\r\n }\r\n\r\n piaEndYearWarning(dob, model, client) {\r\n }\r\n\r\n setActiveErrorPage() {\r\n var page = 0;\r\n for (var i = 0; i < this.validFormInputs.length; i++) {\r\n if (!this.validFormInputs[i].isValid && page === 0) {\r\n page = i;\r\n }\r\n }\r\n\r\n this.currentAddEditClientScreen = page;\r\n }\r\n\r\n public organizations: any;\r\n public advisors: any;\r\n\r\n public selectedOrganization: any;\r\n public selectedAdvisors: any;\r\n public selectedAdvisor: any;\r\n\r\n handleOrgSelected(auto) {\r\n this.selectedAdvisors = [];\r\n var temp = [];\r\n\r\n temp = this.advisors.sort((a, b) => {\r\n if (a.c.FirstName.toLowerCase() < b.c.FirstName.toLowerCase()) return -1;\r\n if (a.c.FirstName.toLowerCase() > b.c.FirstName.toLowerCase()) return 1;\r\n return 0;\r\n });\r\n\r\n temp.forEach((advisor) => {\r\n if (advisor.o.ID == this.selectedOrganization) {\r\n if (advisor.c.FirstName.length > 0 && advisor.c.LastName.length > 0) {\r\n if (advisor.c.IsActive) {\r\n this.selectedAdvisors.push(advisor);\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (auto) {\r\n this.selectedAdvisor = this.advisor.ID;\r\n } else {\r\n this.selectedAdvisor = 0;\r\n }\r\n }\r\n\r\n public isSelectingAdvisor: boolean = false;\r\n\r\n getData(): void {\r\n\r\n if (this.modalName === 'create-advisor') {\r\n this.globalService.getAdvisorData(this.ID)\r\n .subscribe(\r\n advisor => {\r\n this.advisor = advisor;\r\n this.mapToAdvisorObject(this.advisor);\r\n },\r\n error => this.error = error);\r\n } else if (this.modalName === 'add-edit-client' || this.modalName === 'risk-tolerance') {\r\n if (this.modalData.ID > 0) {\r\n this.isSelectingAdvisor = false;\r\n this.updateAddEditClientScreen(1);\r\n } else if ((Number(localStorage.getItem('roleId')) == 1 || Number(localStorage.getItem('roleId')) == 2) && !this.modalData.Advisor) {\r\n this.isSelectingAdvisor = true;\r\n }\r\n\r\n\r\n if (this.modalData.Advisor) {\r\n this.selectedAdvisor = {};\r\n this.selectedAdvisor.c = this.modalData.Advisor;\r\n this.selectedAdvisor.o = this.modalData.Advisor.OrganizationID;\r\n this.selectedOrganization = this.modalData.Advisor.OrganizationID;\r\n }\r\n this.globalService.getAdvisorData(Number(localStorage.getItem('userId')))\r\n .subscribe(\r\n advisor => {\r\n this.advisor = advisor;\r\n\r\n if (Number(localStorage.getItem('roleId')) == 1 || Number(localStorage.getItem('roleId')) == 2) {\r\n this.globalService.getOrganizationsData()\r\n .subscribe(\r\n organizations => {\r\n var temp = [];\r\n\r\n organizations.forEach((org) => {\r\n if (org.Name.length > 0) {\r\n org.Name = org.Name.toLowerCase().replace(/\\b\\w/g, l => l.toUpperCase());\r\n temp.push(org);\r\n }\r\n\r\n if (this.featRiskTolerance) {\r\n this.OrgRIAFee = org['RIAFee'];\r\n let totalFee = ((this.OrgRIAFee/100) + this.advisoryFee).toFixed(2);\r\n this.AssetManagementAgreement = org['AdvisoryAgreement'];\r\n this.AssetManagementAgreement = this.AssetManagementAgreement.replace('{{advisor-cost}}', totalFee);\r\n this.AssetManagementAgreementChangedDate = new Date(org['AdvisoryAgreementChangeDate']).toLocaleString();\r\n this.AssetManagementAdv2DocUrl = org['ADVPart2'];\r\n }\r\n });\r\n\r\n if (this.clientModelV2.riskTolerance.hasSignedAgreement && new Date(this.lastClickedSignedAgreement) <= new Date(this.AssetManagementAgreementChangedDate)) {\r\n this.clientModelV2.riskTolerance.hasSignedAgreement = false;\r\n this.lastClickedSignedAgreement = '';\r\n }\r\n temp = temp.sort((a, b) => {\r\n if (a.Name.toLowerCase() < b.Name.toLowerCase()) return -1;\r\n if (a.Name.toLowerCase() > b.Name.toLowerCase()) return 1;\r\n return 0;\r\n });\r\n\r\n this.organizations = temp;\r\n },\r\n error => this.error = error);\r\n\r\n this.globalService.getAdvisorsData(1)\r\n .subscribe(\r\n advisors => {\r\n this.advisors = advisors;\r\n\r\n if (this.isSelectingAdvisor) {\r\n this.selectedOrganization = advisor.OrganizationID;\r\n // // console.log('this.selectedOrganization 01')\r\n // // console.log(this.selectedOrganization);\r\n this.handleOrgSelected(true);\r\n }\r\n },\r\n error => this.error = error);\r\n }\r\n },\r\n error => this.error = error);\r\n this.clientData = false;\r\n this.globalService.getClientData(this.ID, 4)\r\n .subscribe(\r\n client => {\r\n this.client = client;\r\n console.log('client', client);\r\n this.clientData = true;\r\n this.mapToClientObject(client);\r\n\r\n this.validateAllFields();\r\n if (client.clientProfile)\r\n this.setActiveErrorPage();\r\n },\r\n error => this.error = error);\r\n\r\n } \r\n else if (this.modalName === 'edit-organization') {\r\n this.globalService.getOrganizationData(this.ID)\r\n .subscribe(\r\n organization => { this.organization = organization; },\r\n error => this.error = error);\r\n } else if (this.modalName === 'view-lead') {\r\n \r\n } else if (this.modalName === 'assign-lead') {\r\n \r\n } else if (this.modalName === 'edit-profile') {\r\n this.globalService.getAdvisorData(this.ID)\r\n .subscribe(\r\n advisor => {\r\n this.advisor = advisor;\r\n\r\n this.advisorTemp = {\r\n FirstName: this.advisor.FirstName,\r\n LastName: this.advisor.LastName,\r\n Phone: this.advisor.Phone,\r\n }\r\n },\r\n error => this.error = error);\r\n }\r\n \r\n else if (this.modalName === 'upload-doc') {\r\n this.categories = this.modalData.Data.categories;\r\n this.globalService.getAdvisorData(this.ID)\r\n .subscribe(\r\n advisor => {\r\n this.advisor = advisor;\r\n\r\n },\r\n error => this.error = error);\r\n }\r\n else if (this.modalName === 'mmt-projections') {\r\n\r\n } else if (this.modalName === 'contact-support') {\r\n this.globalService.getAdvisorData(Number(localStorage.getItem('userId')))\r\n .subscribe(\r\n advisor => {\r\n this.advisor = advisor;\r\n },\r\n error => this.error = error);\r\n } else if (this.modalName === 'hc-projections') {\r\n for (var item in this.modalData.Data) {\r\n \r\n for (var key in this.modalData.Data[item]) {\r\n if (key !== 'ExpectedRateReturn' && key !== 'Year') {\r\n this.modalData.Data[item][key] = this.modalData.Data[item][key];\r\n } else if (key == 'ExpectedRateReturn') {\r\n this.modalData.Data[item][key] = Number.parseFloat(this.modalData.Data[item][key]).toFixed(2) + '%';\r\n }\r\n }\r\n }\r\n\r\n\r\n } else if (this.modalName === 'ltc-projections') {\r\n\r\n }\r\n\r\n }\r\n\r\n public hcProjectionTotal: any = {};\r\n\r\n handleProducerClientCreation() {\r\n\r\n } \r\n \r\n mapToClientObject(client) {\r\n if (client.client && client.client.FirstName) {\r\n // General Information\r\n this.clientModelV2.generalInformation.firstName = client.client.FirstName;\r\n this.clientModelV2.generalInformation.lastName = client.client.LastName;\r\n this.clientModelV2.generalInformation.gender = client.client.GenderID;\r\n this.clientModelV2.generalInformation.dob = {\r\n date: {\r\n year: new Date(client.client.DOB).getFullYear(),\r\n month: new Date(client.client.DOB).getMonth() + 1,\r\n day: new Date(client.client.DOB).getDate()\r\n }\r\n };\r\n\r\n this.currentYear = new Date().getFullYear();\r\n this.dateofBirth = new Date(client.client.DOB).getFullYear();\r\n this.yob = this.dateofBirth + 14;\r\n this.endOfPIAStartYear = this.currentYear - this.yob + 1; \r\n this.endYear1 = this.dateofBirth + 30;\r\n this.endYear2 = this.dateofBirth + 80; \r\n this.endOfPIAEndYear = this.endYear2 - this.endYear1 + 1; \r\n \r\n this.pensionMinYear = this.dateofBirth + 50;\r\n this.pensionMaxYear = this.dateofBirth + 75;\r\n this.endOfPensionYear = this.pensionMaxYear + this.pensionMinYear + 1;\r\n \r\n\r\n this.clientModelV2.generalInformation.dobStr = client.client.DOB; \r\n\r\n if (this.clientModelV2.generalInformation.dobStr) {\r\n const convertAge = new Date(this.clientModelV2.generalInformation.dobStr);\r\n const timeDiff = Math.abs(Date.now() - convertAge.getTime());\r\n this.showAge = Math.floor((timeDiff / (1000 * 3600 * 24))/365); \r\n } \r\n\r\n this.clientModelV2.generalInformation.address = client.client.Address;\r\n this.clientModelV2.generalInformation.city = client.client.City;\r\n this.clientModelV2.generalInformation.state = client.client.State;\r\n this.clientModelV2.generalInformation.zip = client.client.Zip;\r\n this.clientModelV2.generalInformation.phone = client.client.Phone;\r\n this.clientModelV2.generalInformation.email = client.client.Email;\r\n this.clientModelV2.generalInformation.useNationalAverage = client.clientProfile.UseNationalAverage || 0; // BP -> Add national average flag\r\n this.clientModelV2.generalInformation.retirementAge = client.clientProfile.RetirementAge;\r\n this.clientModelV2.generalInformation.retirementState = client.clientProfile.RetirementState;\r\n // Financial Information\r\n this.clientModelV2.financialInformation.currentIncome = this.formatCurrencyV2(client.clientProfile.CurrentIncome);\r\n this.clientModelV2.financialInformation.irr = client.clientProfile.IRR + '%';\r\n this.clientModelV2.financialInformation.pia = this.formatCurrencyV2(client.clientProfile.PIA || 0);\r\n this.clientModelV2.financialInformation.PIAYears = JSON.parse(client.clientProfile.PIAYears) || {};\r\n this.clientModelV2.financialInformation.pensionAmount = this.formatCurrencyV2(client.clientProfile.Pension);\r\n this.clientModelV2.financialInformation.pensionStartMonth = client.clientProfile.PensionMonths;\r\n this.clientModelV2.financialInformation.pensionStartYear = client.clientProfile.PensionYears;\r\n this.clientModelV2.financialInformation.pensionSubEarnings = client.clientProfile.SubstantialEarningYears;\r\n this.clientModelV2.financialInformation.hasPension = client.clientProfile.IncludePension == 1 ? true : false;\r\n\r\n // Risk Tolerance\r\n if (client.clientRiskTolerance) {\r\n this.clientModelV2.riskTolerance.financialObjective = client.clientRiskTolerance.FinancialObjID ? String(client.clientRiskTolerance.FinancialObjID):'';\r\n this.clientModelV2.riskTolerance.levelOfInvestment = client.clientRiskTolerance.LvlOfInvestExpID ? String(client.clientRiskTolerance.LvlOfInvestExpID):'';\r\n this.clientModelV2.riskTolerance.lengthOfInvestment = client.clientRiskTolerance.LngthOfInvestID ? String(client.clientRiskTolerance.LngthOfInvestID):'';\r\n this.clientModelV2.riskTolerance.toleranceOfRisk = client.clientRiskTolerance.ToleranceOfRiskID ? String(client.clientRiskTolerance.ToleranceOfRiskID): '1';\r\n this.clientModelV2.riskTolerance.isRedeemAccount = client.clientRiskTolerance.NeedRedeemID ? String(client.clientRiskTolerance.NeedRedeemID): '1';\r\n this.clientModelV2.riskTolerance.hasSignedAgreement = client.clientRiskTolerance.HasSignedAdvisoryAgreement;\r\n this.clientModelV2.riskTolerance.hasSignedUpForManagedAccount = client.clientRiskTolerance.HasSignedUpForManagedAccount ? true: false;\r\n // temporary fix date\r\n // let timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone\r\n var d = new Date(client.clientRiskTolerance.SignedAdvisoryAgreementDate);\r\n // d.toLocaleString('en-US', { timeZone: 'America/New_York' });\r\n // d.setHours(d.getHours() + 1);\r\n this.lastClickedSignedAgreement = this.clientModelV2.riskTolerance.hasSignedAgreement ? d.toLocaleString() + ' Central Time Zone' : '';\r\n }\r\n\r\n // Health Conditions\r\n this.clientModelV2.healthInformation.HCC = client.clientProfile.HCC == 1 ? true : false;\r\n this.clientModelV2.healthInformation.HCCD = client.clientProfile.HCCD == 1 ? true : false;\r\n this.clientModelV2.healthInformation.HCHBP = client.clientProfile.HCHBP == 1 ? true : false;\r\n this.clientModelV2.healthInformation.HCHC = client.clientProfile.HCHC == 1 ? true : false;\r\n this.clientModelV2.healthInformation.HCT = client.clientProfile.HCT == 1 ? true : false;\r\n this.clientModelV2.healthInformation.HCT2D = client.clientProfile.HCT2D == 1 ? true : false;\r\n this.clientModelV2.healthInformation.lifeExpectancy = client.clientProfile.LifeExpectancy;\r\n \r\n this.min = Math.min(this.clientModelV2.healthInformation.lifeExpectancy, this.showAge); \r\n this.minAge = this.min\r\n this.maxAge = 100 - this.minAge + 1; \r\n\r\n this.clientModelV2.spouses = JSON.parse(client.clientProfile.Spouses);\r\n\r\n if (this.clientModelV2.spouses[0] && this.clientModelV2.spouses[0].maritalStatus != \"Single\") {\r\n // Marital Status\r\n this.clientModelV2.maritalStatus.maritalStatus = typeof this.clientModelV2.spouses[0].maritalStatus === 'undefined' || typeof this.clientModelV2.spouses[0] === 'undefined' ? 'Single' : this.clientModelV2.spouses[0].maritalStatus;\r\n this.clientModelV2.maritalStatus.firstName = this.clientModelV2.spouses[0].firstName;\r\n this.clientModelV2.maritalStatus.lastName = this.clientModelV2.spouses[0].lastName;\r\n this.clientModelV2.maritalStatus.gender = this.clientModelV2.spouses[0].gender;\r\n this.clientModelV2.maritalStatus.lifeExpectancy = this.clientModelV2.spouses[0].LifeExpectancy;\r\n this.clientModelV2.maritalStatus.currentIncome = Utils.formatToCurrency(this.clientModelV2.spouses[0].currentIncome);\r\n let maritalAnniversary = this.clientModelV2.spouses[0].anniversary ? {\r\n date: {\r\n year: new Date(this.clientModelV2.spouses[0].anniversary).getFullYear(),\r\n month: new Date(this.clientModelV2.spouses[0].anniversary).getMonth() + 1,\r\n day: new Date(this.clientModelV2.spouses[0].anniversary).getDate()\r\n }\r\n } : {};\r\n \r\n // console.log('maritalAnniversary', maritalAnniversary)\r\n this.clientModelV2.maritalStatus.anniversary = typeof this.clientModelV2.spouses[0].isUserProvidedAnniversary === 'undefined'? maritalAnniversary: (this.clientModelV2.spouses[0].isUserProvidedAnniversary? maritalAnniversary:'');\r\n\r\n this.spouseDateofBirth = new Date(this.clientModelV2.spouses[0].anniversary).getFullYear();\r\n this.spouseYob = this.spouseDateofBirth + 14;\r\n this.spouseEndOfPIAStartYear = this.currentYear - this.spouseYob + 1; \r\n this.spouseEndYear1 = this.spouseDateofBirth + 30;\r\n this.spouseEndYear2 = this.spouseDateofBirth + 80; \r\n this.spouseEndOfPIAEndYear = this.spouseEndYear2 - this.spouseEndYear1 + 1; \r\n\r\n this.clientModelV2.maritalStatus.anniversaryStr = this.clientModelV2.spouses[0].anniversary;\r\n\r\n\r\n\r\n this.clientModelV2.maritalStatus.dob = this.clientModelV2.spouses[0].dob ? {\r\n date: {\r\n year: new Date(this.clientModelV2.spouses[0].dob).getFullYear() || 0,\r\n month: new Date(this.clientModelV2.spouses[0].dob).getMonth() + 1 || 0,\r\n day: new Date(this.clientModelV2.spouses[0].dob).getDate() || 0\r\n }\r\n } : {};\r\n\r\n this.currentYear = new Date().getFullYear();\r\n this.spouseDateofBirth = new Date(this.clientModelV2.spouses[0].dob).getFullYear();\r\n this.spouseYob = this.spouseDateofBirth + 14;\r\n this.spouseEndOfPIAStartYear = this.currentYear - this.spouseYob + 1; \r\n this.spouseEndYear1 = this.spouseDateofBirth + 30;\r\n this.spouseEndYear2 = this.spouseDateofBirth + 80; \r\n this.spouseEndOfPIAEndYear = this.spouseEndYear2 - this.spouseEndYear1 + 1; \r\n\r\n this.spousePensionMinYear = this.spouseDateofBirth + 50;\r\n this.spousePensionMaxYear = this.spouseDateofBirth + 75;\r\n this.spouseEndOfPensionYear = this.spousePensionMaxYear + this.spousePensionMinYear + 1;\r\n \r\n this.clientModelV2.maritalStatus.dobStr = this.clientModelV2.spouses[0].dob;\r\n\r\n\r\n if (this.clientModelV2.maritalStatus.dobStr) {\r\n const convertAge = new Date(this.clientModelV2.maritalStatus.dobStr);\r\n const timeDiff = Math.abs(Date.now() - convertAge.getTime());\r\n this.spouseShowAge = Math.floor((timeDiff / (1000 * 3600 * 24))/365); \r\n } \r\n\r\n this.SpouseMin = Math.min(this.clientModelV2.maritalStatus.lifeExpectancy, this.spouseShowAge); \r\n this.spouseMinAge = this.SpouseMin\r\n this.spouseMaxAge = 100 - this.spouseMinAge + 1; \r\n\r\n this.clientModelV2.maritalStatus.pia = this.clientModelV2.spouses[0].pia ? this.formatCurrencyV2(this.clientModelV2.spouses[0].pia.replace(/,/g, '').replace('$', '')) : this.formatCurrencyV2(0);\r\n this.clientModelV2.maritalStatus.PIAYears = this.clientModelV2.spouses[0].PIAYears || {};\r\n this.clientModelV2.maritalStatus.PIAYears.includePIA = this.clientModelV2.maritalStatus.PIAYears.IncludePIA;\r\n this.clientModelV2.maritalStatus.PIAYears.startYear = this.clientModelV2.maritalStatus.PIAYears.StartYear;\r\n this.clientModelV2.maritalStatus.PIAYears.endYear = this.clientModelV2.maritalStatus.PIAYears.EndYear;\r\n this.clientModelV2.maritalStatus.PIAYears.years = this.clientModelV2.maritalStatus.PIAYears.Years;\r\n this.clientModelV2.maritalStatus.includePension = this.clientModelV2.spouses[0].includePension;\r\n this.clientModelV2.maritalStatus.pensionAmount = this.formatCurrencyV2(this.clientModelV2.spouses[0].pension || this.clientModelV2.spouses[0].pensionAmount || 0);\r\n this.clientModelV2.maritalStatus.pensionMonths = this.clientModelV2.spouses[0].pensionMonth;\r\n this.clientModelV2.maritalStatus.pensionYears = this.clientModelV2.spouses[0].pensionYear;\r\n this.clientModelV2.maritalStatus.subEarnings = this.clientModelV2.spouses[0].substantialEarningYears;\r\n this.clientModelV2.maritalStatus.retirementAge = this.clientModelV2.spouses[0].retirementAge;\r\n this.clientModelV2.maritalStatus.retirementState = this.clientModelV2.spouses[0].state;\r\n this.clientModelV2.maritalStatus.HCC = this.clientModelV2.spouses[0].HCC == 1 ? true : false;\r\n this.clientModelV2.maritalStatus.HCCD = this.clientModelV2.spouses[0].HCCD == 1 ? true : false;\r\n this.clientModelV2.maritalStatus.HCHBP = this.clientModelV2.spouses[0].HCHBP == 1 ? true : false;\r\n this.clientModelV2.maritalStatus.HCHC = this.clientModelV2.spouses[0].HCHC == 1 ? true : false;\r\n this.clientModelV2.maritalStatus.HCT = this.clientModelV2.spouses[0].HCT == 1 ? true : false;\r\n this.clientModelV2.maritalStatus.HCT2D = this.clientModelV2.spouses[0].HCT2D == 1 ? true : false;\r\n } else {\r\n this.clientModelV2.maritalStatus.maritalStatus = 'Single';\r\n }\r\n\r\n if (this.clientModelV2.maritalStatus.maritalStatus === 'Single') {\r\n // Marital History\r\n this.clientModelV2.maritalHistory.previousSpouseCount = this.clientModelV2.spouses.length > 1 ? this.clientModelV2.spouses.length - 1 : 0;\r\n this.clientModelV2.maritalHistory.previouslyMarried = this.clientModelV2.spouses.length <= 1 ? false : true; //this.clientModelV2.spouses[0] && typeof this.clientModelV2.spouses[0].previouslyMarried === 'boolean' ? this.clientModelV2.spouses[0].previouslyMarried : this.clientModelV2.spouses.length > 1;\r\n this.clientModelV2.maritalHistory.alive = this.clientModelV2.spouses[0] && typeof this.clientModelV2.spouses[0].alive === 'undefined' ? true : this.clientModelV2.spouses[0] ? this.clientModelV2.spouses[0].alive : false;\r\n this.clientModelV2.maritalHistory.tenyears = this.clientModelV2.spouses[0] && typeof this.clientModelV2.spouses[0].tenyears === 'undefined' ? false : this.clientModelV2.spouses[0] ? this.clientModelV2.spouses[0].tenyears : false;\r\n\r\n this.clientModelV2.maritalHistory.spousePreviouslyMarried = false;\r\n this.clientModelV2.maritalHistory.spousesSpouseCount = 0;\r\n this.clientModelV2.maritalHistory.spousesSpouse = [];\r\n } else {\r\n // Marital History\r\n this.clientModelV2.maritalHistory.previousSpouseCount = this.clientModelV2.spouses.length > 1 ? this.clientModelV2.spouses.length - 1 : 0;\r\n this.clientModelV2.maritalHistory.previouslyMarried = this.clientModelV2.spouses.length <= 1 ? false : true; // this.clientModelV2.spouses[0] && typeof this.clientModelV2.spouses[0].previouslyMarried === 'boolean' ? this.clientModelV2.spouses[0].previouslyMarried : this.clientModelV2.spouses.length > 1;\r\n this.clientModelV2.maritalHistory.alive = this.clientModelV2.spouses[0] && typeof this.clientModelV2.spouses[0].alive === 'undefined' ? true : this.clientModelV2.spouses[0] ? this.clientModelV2.spouses[0].alive : false;\r\n this.clientModelV2.maritalHistory.tenyears = this.clientModelV2.spouses[0] && typeof this.clientModelV2.spouses[0].tenyears === 'undefined' ? false : this.clientModelV2.spouses[0] ? this.clientModelV2.spouses[0].tenyears : false;\r\n this.clientModelV2.spouses[0].maritalHistory = this.clientModelV2.spouses[0].maritalHistory || {};\r\n this.clientModelV2.maritalHistory.spousePreviouslyMarried = this.clientModelV2.spouses[0].maritalHistory.spousePreviouslyMarried || false;\r\n this.clientModelV2.maritalHistory.spousesSpouseCount = this.clientModelV2.spouses[0].maritalHistory.spousesSpouseCount || 0;\r\n this.clientModelV2.maritalHistory.spousesSpouse = this.clientModelV2.spouses[0].spousesSpouse || [];\r\n }\r\n\r\n if (!client.clientProfile.LifeExpectancy || client.clientProfile.LifeExpectancy == null) {\r\n if (this.clientModelV2.generalInformation.dobStr && this.clientModelV2.generalInformation.gender && this.clientModelV2.generalInformation.dobStr) {\r\n //here\r\n var leModel = this.clientModelV2.healthInformation;\r\n leModel.gender = this.clientModelV2.generalInformation.gender;\r\n leModel.dob = this.clientModelV2.generalInformation.dobStr;\r\n this.recalcLEV2(this.clientModelV2, 0, true);\r\n }\r\n }\r\n\r\n // Dependent Children\r\n var children = JSON.parse(client.clientProfile.Children) || [];\r\n\r\n this.clientModelV2.dependentChildren.children = children.children || children;\r\n this.clientModelV2.dependentChildren.hasKids = children.hasKids || children.length > 0;\r\n this.clientModelV2.dependentChildren.childrenCount = children.childrenCount || children.length;\r\n this.advisorModal.generalInformation.annualProgramFee = (client.client.ProgramFeePercent && client.client.ProgramFeePercent != 'null') ? client.client.ProgramFeePercent + '%': '';\r\n\r\n }\r\n }\r\n\r\n mapToAdvisorObject(advisor) {\r\n if (advisor) {\r\n this.advisorModal.generalInformation.firstName = advisor.FirstName;\r\n this.advisorModal.generalInformation.lastName = advisor.LastName;\r\n if (advisor.Address) {\r\n this.advisorModal.generalInformation.address = advisor.Address;\r\n }\r\n if (advisor.City) {\r\n this.advisorModal.generalInformation.city = advisor.City;\r\n }\r\n if (advisor.State) {\r\n this.advisorModal.generalInformation.state = advisor.State;\r\n }\r\n if (advisor.Zip) {\r\n this.advisorModal.generalInformation.zip = advisor.Zip;\r\n }\r\n this.advisorModal.generalInformation.phone = advisor.Phone;\r\n this.advisorModal.generalInformation.email = advisor.Email;\r\n this.advisorModal.id = advisor.ID;\r\n }\r\n }\r\n\r\n onMaritalStatusChange(status) {\r\n if (this.clientData) {\r\n if (status == 'Divorced') {\r\n this.clientModelV2.maritalHistory.tenyears = this.clientModelV2.spouses[0] ? true : false;\r\n } else {\r\n this.clientModelV2.maritalHistory.tenyears = this.clientModelV2.spouses[0] && typeof this.clientModelV2.spouses[0].tenyears === 'undefined' ? false : this.clientModelV2.spouses[0] ? this.clientModelV2.spouses[0].tenyears : false;\r\n }\r\n }\r\n\r\n // if (status != 'Single' || status != 'Widow') {\r\n\r\n // } else {\r\n\r\n // }\r\n }\r\n\r\n saveClientV2(client, directToReports, isRiskTolerance, closeModal) {\r\n\r\n var isRTUsed = localStorage.getItem('featRiskTolerance');//JSON.parse(localStorage.getItem('featRiskTolerance')); \r\n\r\n if (!this.isSelectingAdvisor && this.modalData.ID == 0 && (Number(localStorage.getItem('roleId')) == 1 || Number(localStorage.getItem('roleId')) == 2)) {\r\n this.modalData.AdvisorID = this.selectedAdvisor.c.ID;\r\n this.modalData.AdvisorOrgID = this.selectedAdvisor.o.ID;\r\n }\r\n\r\n if (this.canSave() || isRiskTolerance) {\r\n let annualProgramFee = null;\r\n if (isRTUsed && this.advisorModal.generalInformation.annualProgramFee) {\r\n let re = /\\%/gi;\r\n annualProgramFee = this.advisorModal.generalInformation.annualProgramFee.replace(re, \"\");\r\n }\r\n\r\n var UserModel = {\r\n AdvisorID: this.modalData.AdvisorID || this.advisor.ID,\r\n OrganizationID: this.modalData.AdvisorOrgID || this.advisor.OrganizationID,\r\n ID: this.client.client ? this.client.client.ID : 0,\r\n Username: this.clientModelV2.generalInformation.email,\r\n Email: this.clientModelV2.generalInformation.email,\r\n FirstName: this.clientModelV2.generalInformation.firstName,\r\n LastName: this.clientModelV2.generalInformation.lastName,\r\n Address: this.clientModelV2.generalInformation.address,\r\n City: this.clientModelV2.generalInformation.city,\r\n State: this.clientModelV2.generalInformation.state,\r\n Zip: this.clientModelV2.generalInformation.zip,\r\n Phone: this.clientModelV2.generalInformation.phone,\r\n DOB: this.clientModelV2.generalInformation.dobStr,\r\n GenderID: Number(this.clientModelV2.generalInformation.gender),\r\n ProgramFeePercent: annualProgramFee ? Number(annualProgramFee): null\r\n }\r\n\r\n var tempSpouses = [];\r\n var tempSpouse = {};\r\n\r\n let youngestSpouseAge = 0;\r\n for (var i = 0; i < this.clientModelV2.spouses.length; i++) {\r\n if (this.clientModelV2.spouses[i].dobStr) {\r\n let spouseDOB = new Date(this.clientModelV2.spouses[i].dobStr);\r\n let timeDiff = Math.abs(Date.now() - spouseDOB.getTime());\r\n let age = Math.floor((timeDiff / (1000 * 3600 * 24))/365.25);\r\n youngestSpouseAge = youngestSpouseAge == 0 ? age : (age < youngestSpouseAge ? age: youngestSpouseAge);\r\n }\r\n tempSpouse = {};\r\n for (var j in this.clientModelV2.spouses[i]) {\r\n if (j === \"HCHBP\") {\r\n tempSpouse[j] = this.clientModelV2.spouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCHC\") {\r\n tempSpouse[j] = this.clientModelV2.spouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCT2D\") {\r\n tempSpouse[j] = this.clientModelV2.spouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCCD\") {\r\n tempSpouse[j] = this.clientModelV2.spouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCC\") {\r\n tempSpouse[j] = this.clientModelV2.spouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCT\") {\r\n tempSpouse[j] = this.clientModelV2.spouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"pia\") {\r\n tempSpouse[j] = this.clientModelV2.spouses[i][j].length ? this.clientModelV2.spouses[i][j].replace(/,/g, \"\").replace(\"$\", \"\") : 0;\r\n } else {\r\n tempSpouse[j] = this.clientModelV2.spouses[i][j];\r\n }\r\n }\r\n tempSpouses.push(tempSpouse);\r\n }\r\n var spouses = [];\r\n\r\n if (this.clientModelV2.maritalStatus.maritalStatus != 'Single') {\r\n let anniversaryForcedDate;\r\n if (!this.clientModelV2.maritalStatus.anniversaryStr) {\r\n let spouseDOB = new Date(this.clientModelV2.maritalStatus.dobStr);\r\n \r\n let timeDiff = Math.abs(Date.now() - spouseDOB.getTime());\r\n let age = Math.floor((timeDiff / (1000 * 3600 * 24))/365.25);\r\n if (age < youngestSpouseAge) {\r\n youngestSpouseAge = age;\r\n }\r\n let ageDifference;\r\n if (youngestSpouseAge >= 30) {\r\n ageDifference = youngestSpouseAge - 30;\r\n } else {\r\n ageDifference = youngestSpouseAge - 18;\r\n }\r\n anniversaryForcedDate = new Date();\r\n anniversaryForcedDate = (anniversaryForcedDate.getMonth() + 1).toString().padStart(2, \"0\") + '/' + (anniversaryForcedDate.getDate()).toString().padStart(2, \"0\") + '/' + (anniversaryForcedDate.getFullYear() - ageDifference);\r\n }\r\n spouses[0] = { PIAYears: {} };\r\n spouses[0].PIAYears.IncludePIA = this.clientModelV2.maritalStatus.PIAYears.includePIA;\r\n spouses[0].PIAYears.StartYear = this.clientModelV2.maritalStatus.PIAYears.startYear;\r\n spouses[0].PIAYears.EndYear = this.clientModelV2.maritalStatus.PIAYears.endYear;\r\n spouses[0].PIAYears.Years = this.clientModelV2.maritalStatus.PIAYears.years;\r\n spouses[0].previouslyMarried = this.clientModelV2.maritalHistory.previouslyMarried ? true : false;\r\n spouses[0].tenyears = this.clientModelV2.maritalHistory.tenyears;\r\n spouses[0].alive = this.clientModelV2.maritalHistory.alive;\r\n spouses[0].maritalStatus = this.clientModelV2.maritalStatus.maritalStatus;\r\n spouses[0].firstName = this.clientModelV2.maritalStatus.firstName;\r\n spouses[0].lastName = this.clientModelV2.maritalStatus.lastName;\r\n spouses[0].dob = this.clientModelV2.maritalStatus.dobStr;\r\n spouses[0].anniversary = this.clientModelV2.maritalStatus.anniversary ? this.clientModelV2.maritalStatus.anniversaryStr : anniversaryForcedDate;\r\n spouses[0].currentIncome = this.getNumber(this.clientModelV2.maritalStatus.currentIncome);\r\n spouses[0].pia = this.clientModelV2.maritalStatus.pia.replace(/,/g, \"\").replace(\"$\", \"\") || 0;\r\n spouses[0].gender = this.clientModelV2.maritalStatus.gender;\r\n spouses[0].LifeExpectancy = this.clientModelV2.maritalStatus.lifeExpectancy;\r\n spouses[0].retirementAge = this.clientModelV2.maritalStatus.retirementAge;\r\n spouses[0].state = this.clientModelV2.maritalStatus.retirementState;\r\n spouses[0].pension = this.clientModelV2.maritalStatus.pensionAmount || 0;\r\n spouses[0].includePension = this.clientModelV2.maritalStatus.includePension || false;\r\n spouses[0].pensionYear = this.clientModelV2.maritalStatus.pensionYears;\r\n spouses[0].pensionMonth = this.clientModelV2.maritalStatus.pensionMonths;\r\n spouses[0].substantialEarningYears = this.clientModelV2.maritalStatus.subEarnings;\r\n spouses[0].HCT2D = this.clientModelV2.maritalStatus.HCT2D == true ? 1 : 0;\r\n spouses[0].HCHBP = this.clientModelV2.maritalStatus.HCHBP == true ? 1 : 0;\r\n spouses[0].HCC = this.clientModelV2.maritalStatus.HCC == true ? 1 : 0;\r\n spouses[0].HCHC = this.clientModelV2.maritalStatus.HCHC == true ? 1 : 0;\r\n spouses[0].HCCD = this.clientModelV2.maritalStatus.HCCD == true ? 1 : 0;\r\n spouses[0].HCT = this.clientModelV2.maritalStatus.HCT == true ? 1 : 0;\r\n spouses[0].spousesSpouse = this.clientModelV2.maritalHistory.spousesSpouse || [];\r\n spouses[0].maritalHistory = this.clientModelV2.maritalHistory || {};\r\n spouses[0].isUserProvidedAnniversary = this.clientModelV2.maritalStatus.anniversary ? true: false;\r\n } else {\r\n spouses[0] = { PIAYears: {} };\r\n spouses[0].maritalStatus = this.clientModelV2.maritalStatus.maritalStatus;\r\n spouses[0].pia = '';\r\n spouses[0].pension = '';\r\n spouses[0].previouslyMarried = this.clientModelV2.maritalHistory.previouslyMarried ? true : false;\r\n }\r\n\r\n if (tempSpouses.length > 1) {\r\n for (var spouse in tempSpouses) {\r\n if (Number(spouse) > 0) {\r\n spouses[spouse] = tempSpouses[spouse];\r\n }\r\n }\r\n }\r\n\r\n // BP - Added national average bool\r\n\r\n var ClientProfile = {\r\n CurrentIncome: this.getNumber(this.clientModelV2.financialInformation.currentIncome),\r\n IRR: this.getNumber(this.clientModelV2.financialInformation.irr),\r\n PIA: this.getNumber(this.clientModelV2.financialInformation.pia),\r\n RetirementAge: Number(this.clientModelV2.generalInformation.retirementAge),\r\n UseNationalAverage: Number(this.clientModelV2.generalInformation.useNationalAverage || 0) || 0,\r\n Pension: this.getNumber(this.clientModelV2.financialInformation.pensionAmount),\r\n PensionMonths: this.getNumber(Number(this.clientModelV2.financialInformation.pensionStartMonth)),\r\n PensionYears: this.getNumber(Number(this.clientModelV2.financialInformation.pensionStartYear)),\r\n SubstantialEarningYears: this.getNumber(Number(this.clientModelV2.financialInformation.pensionSubEarnings)),\r\n RetirementState: this.clientModelV2.generalInformation.retirementState,\r\n HCHBP: this.clientModelV2.healthInformation.HCHBP ? 1 : 0,\r\n HCHC: this.clientModelV2.healthInformation.HCHC ? 1 : 0,\r\n HCT2D: this.clientModelV2.healthInformation.HCT2D ? 1 : 0,\r\n HCCD: this.clientModelV2.healthInformation.HCCD ? 1 : 0,\r\n HCC: this.clientModelV2.healthInformation.HCC ? 1 : 0,\r\n HCT: this.clientModelV2.healthInformation.HCT ? 1 : 0,\r\n Spouses: JSON.stringify(spouses), //this.client.clientProfile.Spouses, // order them so first is always the one being claimed off of\r\n Children: this.clientModelV2.dependentChildren.hasKids ? JSON.stringify(this.clientModelV2.dependentChildren.children) : JSON.stringify([]), //this.client.clientProfile.Children,\r\n IncludePension: this.clientModelV2.financialInformation.hasPension ? 1 : 0,\r\n LifeExpectancy: Number(this.clientModelV2.healthInformation.lifeExpectancy),\r\n PIAYears: JSON.stringify(this.clientModelV2.financialInformation.PIAYears),\r\n } \r\n var RiskTolerance = null;\r\n if(isRTUsed != 'undefined' && this.riskToleranceQuestionnaire){\r\n if (JSON.parse(localStorage.getItem('featRiskTolerance'))) {\r\n console.log('this.riskToleranceQuestionnaire', this.riskToleranceQuestionnaire);\r\n RiskTolerance = {\r\n AccountType: this.getNumber(this.riskToleranceMail.value.accountType),\r\n FinancialObjID: this.getNumber(this.riskToleranceQuestionnaire.value.financialObjective),\r\n LvlOfInvestExpID: this.getNumber(this.riskToleranceQuestionnaire.value.levelOfInvestment),\r\n LngthOfInvestID: this.getNumber(this.riskToleranceQuestionnaire.value.lengthOfInvestment),\r\n ToleranceOfRiskID: this.getNumber(this.riskToleranceQuestionnaire.value.toleranceOfRisk),\r\n NeedRedeemID: this.getNumber(this.riskToleranceQuestionnaire.value.isRedeemAccount),\r\n\r\n Email: (this.riskToleranceMail.value.email == '1') ? this.riskToleranceMail.value.txtEmailAddress : (this.client.advisor ? this.client.advisor.Email : ''),\r\n\r\n JointOwnerFirstName: this.riskToleranceMail.value.jointOwnerFirstName,\r\n JointOwnerLastName: this.riskToleranceMail.value.jointOwnerLastName,\r\n JointOwnerEmail: this.riskToleranceMail.value.jointOwnerEmail,\r\n\r\n // JointOwnerFirstName: (this.riskToleranceNames.value.firstName) ? this.riskToleranceNames.value.firstName : '',\r\n // JointOwnerLastName: (this.riskToleranceNames.value.lastName) ? this.riskToleranceNames.value.lastName : '',\r\n // JointOwnerEmail: (this.riskToleranceNames.value.email) ? this.riskToleranceNames.value.email : (this.riskToleranceMail.value.email == '1') ? this.riskToleranceMail.value.txtEmailAddress : (this.client.advisor ? this.client.advisor.Email : ''),\r\n\r\n // OtherOwnerJointOwnerFirstName: (this.riskToleranceMail.value.accountType == '2') ? this.riskToleranceMail.value.jointOwnerFirstName : '',\r\n // OtherOwnerJointOwnerLastName: (this.riskToleranceMail.value.accountType == '2') ? this.riskToleranceMail.value.jointOwnerLastName : '',\r\n // OtherOwnerJointOwnerEmail: (this.riskToleranceMail.value.accountType == '2') ? this.riskToleranceMail.value.jointOwnerEmail : '',\r\n\r\n //HACK: we should be using the commented out code on the line below; now 'checked' in a huge modal switch\r\n HasSignedAdvisoryAgreement: (this.clientModelV2.riskTolerance.hasSignedAgreement) ? this.clientModelV2.riskTolerance.hasSignedAgreement : this.isChecked \r\n //(!this.riskToleranceAggrement.invalid) ? true : false\r\n }\r\n }\r\n }\r\n console.log('UserModel', UserModel)\r\n console.log('riskTolerance', RiskTolerance)\r\n if (true) { // validate fields again?\r\n this.globalService.createClient(UserModel, ClientProfile, RiskTolerance)\r\n .subscribe(\r\n resp => {\r\n\r\n if (resp.type != 0) {\r\n\r\n if (!this.client.clientProfile) {\r\n this.globalService.getClientsData()\r\n .subscribe(\r\n clients => {\r\n var client;\r\n localStorage.setItem('selectedClient', resp.message);\r\n //UserModel.ID = resp.message;\r\n this.snackBarService.add('To create a report for ' + UserModel.FirstName + ' ' + UserModel.LastName + ', please click ', 0, 1, 10000);\r\n\r\n },\r\n error => {\r\n this.snackBarService.add('There was an issue creating new client, please try again later.', 1);\r\n this.error = error;\r\n\r\n });\r\n } else {\r\n if(closeModal){\r\n if(isRiskTolerance){\r\n this.snackBarService.add('An email has been sent! ', 0);\r\n } else {\r\n this.snackBarService.add('Client has been updated', 0);\r\n }\r\n }\r\n }\r\n\r\n if (directToReports == true) {\r\n localStorage.setItem('selectedClient', resp.message);\r\n this.router.navigate(['reports/create']);\r\n\r\n if (this.selectedAdvisor) {\r\n }\r\n }\r\n\r\n if(closeModal){\r\n this.close();\r\n }\r\n\r\n } else {\r\n this.snackBarService.add('An error occured creating this client.', 1);\r\n this.close();\r\n }\r\n\r\n },\r\n error => {\r\n this.snackBarService.add('There was an issue creating new client, please try again later.', 1);\r\n this.error = error;\r\n\r\n });\r\n\r\n } else {\r\n }\r\n }else{\r\n // console.log('cant save...');\r\n }\r\n }\r\n\r\n mapToOldObject(client) {\r\n return {\r\n client: {\r\n Address: '',\r\n Address2: '',\r\n AdvisorID: '',\r\n City: '',\r\n CreatedDate: '',\r\n DOB: '',\r\n Email: '',\r\n FirstName: '',\r\n GenderID: '',\r\n ID: '',\r\n IsActive: '',\r\n LastName: '',\r\n ModifiedBy: '',\r\n ModifiedDate: '',\r\n OrganizationID: '',\r\n Phone: '',\r\n RoleID: '',\r\n State: '',\r\n Username: '',\r\n Zip: '',\r\n },\r\n clientProfile: {\r\n Children: {},\r\n ClientID: '',\r\n CurrentIncome: '',\r\n HCC: '',\r\n HCCD: '',\r\n HCHBP: '',\r\n HCHC: '',\r\n HCT: '',\r\n HCT2D: '',\r\n IRR: '',\r\n IncludePension: '',\r\n LifeExpectancy: '',\r\n MaritalStatus: '',\r\n PIA: '',\r\n PIAYears: {},\r\n Pension: '',\r\n PensionMonths: '',\r\n PensionYears: '',\r\n RetirementAge: '',\r\n RetirementState: '',\r\n SpouseID: '',\r\n Spouses: [],\r\n SubstantialEarningYears: '',\r\n },\r\n\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n // this.scrollEl.nativeElement.scrollTop = 0;\r\n }\r\n\r\n\r\n onClick(e): void {\r\n if (this.container.nativeElement.classList.contains('visible')) {\r\n\r\n }\r\n }\r\n\r\n open(): void {\r\n this.container.nativeElement.classList.remove('hidden');\r\n this.container.nativeElement.classList.add('visible');\r\n this.scrollEl.nativeElement.scrollTop = 0;\r\n }\r\n\r\n close(): void {\r\n this.globalService.displayFAB = true;\r\n this.container.nativeElement.classList.remove('visible');\r\n this.container.nativeElement.classList.add('hidden');\r\n\r\n this.selectedDocument = {\r\n title: '',\r\n description: '',\r\n category: '',\r\n url: '',\r\n }\r\n\r\n this.selectedDocEvent = {};\r\n this.selectedDocFilePath = '';\r\n\r\n this.modalData = {};\r\n // this.modalName = '';\r\n\r\n this.createClientModel = {\r\n client: {},\r\n clientProfile: {\r\n HCHBP: false,\r\n HCHC: false,\r\n HCT2D: false,\r\n HCCD: false,\r\n HCC: false,\r\n HCT: false,\r\n clientSpouses: [],\r\n clientChildren: [],\r\n },\r\n };\r\n\r\n this.editClientModel = {\r\n loaded: false,\r\n client: {},\r\n clientProfile: {\r\n HCHBP: false,\r\n HCHC: false,\r\n HCT2D: false,\r\n HCCD: false,\r\n HCC: false,\r\n HCT: false,\r\n clientSpouses: [],\r\n clientChildren: [],\r\n },\r\n }\r\n\r\n this.validateDefaultDate = false;\r\n this.validateDefaultDate2 = false;\r\n this.validateDefaultDate3 = false;\r\n\r\n this.selectedAdvisor = null;\r\n this.selectedOrganization = null;\r\n this.isSelectingAdvisor = false;\r\n this.client = {};\r\n\r\n this.modalService.add(this.modalName + 'Closed');\r\n this.riskTolernaceSection = 'riskToleranceQuestionnaire';\r\n localStorage.removeItem('riskTolReportObject');\r\n }\r\n\r\n\r\n createOrganization(organizationName, organizationEmail, organizationPhone, organizationAddress, organizationCity, organizationState, organizationZip) {\r\n\r\n var OrganizationModel = {\r\n OrgName: organizationName.value,\r\n Email: organizationEmail.value,\r\n Phone: organizationPhone.value,\r\n Address: organizationAddress.value,\r\n Address2: '',\r\n City: organizationCity.value,\r\n State: organizationState.value,\r\n Zip: organizationZip.value,\r\n ParentID: 1,\r\n }\r\n\r\n this.globalService.createOrganization(OrganizationModel)\r\n .subscribe(\r\n resp => {\r\n if (resp.error === 1) {\r\n this.snackBarService.add(resp.message, 1);\r\n } else if (resp.error === 0) {\r\n this.snackBarService.add(resp.message, 0);\r\n this.close();\r\n }\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n saveAdvisor(advisor, directToReports) {\r\n\r\n\r\n var UserModel = {\r\n FirstName: advisor.generalInformation.firstName,\r\n LastName: advisor.generalInformation.lastName,\r\n Address: advisor.generalInformation.address,\r\n City: advisor.generalInformation.city,\r\n State: advisor.generalInformation.state,\r\n Zip: advisor.generalInformation.zip,\r\n Email: advisor.generalInformation.email,\r\n Phone: advisor.generalInformation.phone,\r\n OrganizationID: Number(localStorage.getItem('orgID')),\r\n ID: this.ID, //advisor.id\r\n UserID: this.ID\r\n }\r\n\r\n // console.log('UserModel');\r\n // console.log(UserModel);\r\n this.globalService.createAdvisor(UserModel)\r\n .subscribe(\r\n resp => {\r\n if (resp.type != 0) {\r\n this.snackBarService.add('Advisor has been updated', 0);\r\n this.close();\r\n } else {\r\n this.snackBarService.add('An error occured updating this advisor.', 1);\r\n }\r\n\r\n if (directToReports) {\r\n this.router.navigate(['clients']);\r\n }\r\n },\r\n error => {\r\n this.snackBarService.add('There was an issue updating this advisor, please try again later.', 1);\r\n this.error = error;\r\n });\r\n \r\n }\r\n\r\n createAdvisor(advisorFirstName, advisorLastName, advisorDOB, advisorEmail, advisorPhone, advisorAddress, advisorCity, advisorState, advisorZip) {\r\n var UserModel = {\r\n ID: 0,\r\n FirstName: advisorFirstName.value,\r\n LastName: advisorLastName.value,\r\n DOB: advisorDOB.value,\r\n Email: advisorEmail.value,\r\n Phone: advisorPhone.value,\r\n Address: advisorAddress.value,\r\n City: advisorCity.value,\r\n State: advisorState.value,\r\n Zip: advisorZip.value,\r\n RoleID: 3,\r\n }\r\n\r\n this.globalService.createAdvisor(UserModel)\r\n .subscribe(\r\n resp => { },\r\n error => this.error = error);\r\n }\r\n\r\n updateClient() {\r\n\r\n var UserModel = {\r\n ID: this.client.client.ID,\r\n Username: this.editClientModel.client.Email,\r\n Email: this.editClientModel.client.Email,\r\n FirstName: this.editClientModel.client.FirstName,\r\n LastName: this.editClientModel.client.LastName,\r\n Address: this.editClientModel.client.Address,\r\n City: this.editClientModel.client.City,\r\n State: this.editClientModel.client.State,\r\n Zip: this.editClientModel.client.Zip,\r\n Phone: this.editClientModel.client.Phone,\r\n DOB: this.editClientModel.client.DOB,\r\n GenderID: this.editClientModel.client.GenderID,\r\n }\r\n\r\n if (this.editClientModel.clientProfile.Spouses.length) {\r\n for (var k in this.editClientModel.clientProfile.Spouses) {\r\n this.editClientModel.clientProfile.Spouses[k].currentIncome = this.getNumber(this.editClientModel.clientProfile.Spouses[k].currentIncome);\r\n this.editClientModel.clientProfile.Spouses[k].pension = this.getNumber(this.editClientModel.clientProfile.Spouses[k].pension);\r\n }\r\n }\r\n\r\n var tempSpouses = [];\r\n var tempSpouse = {};\r\n\r\n for (var i = 0; i < this.editClientModel.clientProfile.Spouses.length; i++) {\r\n tempSpouse = {};\r\n for (var j in this.editClientModel.clientProfile.Spouses[i]) {\r\n if (j === \"HCHBP\") {\r\n tempSpouse[j] = this.editClientModel.clientProfile.Spouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCHC\") {\r\n tempSpouse[j] = this.editClientModel.clientProfile.Spouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCT2D\") {\r\n tempSpouse[j] = this.editClientModel.clientProfile.Spouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCCD\") {\r\n tempSpouse[j] = this.editClientModel.clientProfile.Spouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCC\") {\r\n tempSpouse[j] = this.editClientModel.clientProfile.Spouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCT\") {\r\n tempSpouse[j] = this.editClientModel.clientProfile.Spouses[i][j] == true ? 1 : 0;\r\n } else {\r\n tempSpouse[j] = this.editClientModel.clientProfile.Spouses[i][j];\r\n }\r\n }\r\n tempSpouses.push(tempSpouse);\r\n }\r\n\r\n var ClientProfile = {\r\n CurrentIncome: this.getNumber(this.editClientModel.clientProfile.CurrentIncome),\r\n IRR: this.getNumber(this.editClientModel.clientProfile.IRR),\r\n PIA: this.getNumber(this.editClientModel.clientProfile.PIA),\r\n RetirementAge: this.getNumber(Number(this.editClientModel.clientProfile.RetirementAge)),\r\n Pension: this.getNumber(this.editClientModel.clientProfile.Pension),\r\n PensionMonths: this.getNumber(Number(this.editClientModel.clientProfile.PensionMonths)),\r\n PensionYears: this.getNumber(Number(this.editClientModel.clientProfile.PensionYears)),\r\n SubstantialEarningYears: this.getNumber(Number(this.editClientModel.clientProfile.SubstantialEarningYears)),\r\n RetirementState: this.editClientModel.clientProfile.RetirementState,\r\n HCHBP: this.editClientModel.clientProfile.HCHBP ? 1 : 0,\r\n HCHC: this.editClientModel.clientProfile.HCHC ? 1 : 0,\r\n HCT2D: this.editClientModel.clientProfile.HCT2D ? 1 : 0,\r\n HCCD: this.editClientModel.clientProfile.HCCD ? 1 : 0,\r\n HCC: this.editClientModel.clientProfile.HCC ? 1 : 0,\r\n HCT: this.editClientModel.clientProfile.HCT ? 1 : 0,\r\n Spouses: JSON.stringify(tempSpouses), // order them so first is always the one being claimed off of\r\n Children: JSON.stringify(this.editClientModel.clientProfile.Children),\r\n IncludePension: this.editClientModel.clientProfile.IncludePension ? 1 : 0,\r\n LifeExpectancy: Number(this.editClientModel.clientProfile.LifeExpectancy),\r\n PIAYears: JSON.stringify(this.editClientModel.clientProfile.PIAYears),\r\n }\r\n\r\n /* var RiskTolerance = {\r\n FinancialObjectiveID: this.getNumber(this.clientModelV2.riskTolerance.financialObjective),\r\n LevelOfInvestmentID: this.getNumber(this.clientModelV2.riskTolerance.levelOfInvestment),\r\n LengthOfInvestmentID: this.getNumber(this.clientModelV2.riskTolerance.lengthOfInvestment),\r\n ToleranceOfRiskID: this.getNumber(this.clientModelV2.riskTolerance.toleranceOfRisk),\r\n NeedRedeemID: this.getNumber(this.clientModelV2.riskTolerance.isRedeemAccount),\r\n Email: ''\r\n } */\r\n var RiskTolerance = null;\r\n if(!this.riskToleranceQuestionnaire.invalid){\r\n //// console.log('got the new risk tolerance');\r\n RiskTolerance = {\r\n FinancialObjectiveID: this.getNumber(this.riskToleranceQuestionnaire.value.financialObjective),\r\n LevelOfInvestmentID: this.getNumber(this.riskToleranceQuestionnaire.value.levelOfInvestment),\r\n LengthOfInvestmentID: this.getNumber(this.riskToleranceQuestionnaire.value.lengthOfInvestment),\r\n ToleranceOfRiskID: this.getNumber(this.riskToleranceQuestionnaire.value.toleranceOfRisk),\r\n NeedRedeemID: this.getNumber(this.riskToleranceQuestionnaire.value.isRedeemAccount),\r\n Email: (this.riskToleranceMail.value.email == 'clientEmail') ? this.riskToleranceMail.value.txtEmailAddress : this.client.advisor.Email\r\n }\r\n }\r\n \r\n var validationErrors = this.validateEditClient();\r\n\r\n if (validationErrors) {\r\n this.globalService.createClient(UserModel, ClientProfile, RiskTolerance)\r\n .subscribe(\r\n resp => {\r\n if (resp.type != 0) {\r\n this.snackBarService.add('Client has been updated', 0);\r\n this.close();\r\n } else {\r\n this.snackBarService.add('An error occured updating this client.', 1);\r\n }\r\n },\r\n error => {\r\n this.snackBarService.add('There was an issue updating this client, please try again later.', 1);\r\n this.error = error;\r\n });\r\n } else {\r\n this.snackBarService.add('Please make sure all fields are properly filled out', 1);\r\n }\r\n\r\n\r\n }\r\n\r\n createClient() {\r\n var UserModel = {\r\n AdvisorID: this.advisor.ID,\r\n OrganizationID: this.advisor.OrganizationID,\r\n Username: this.createClientModel.client.email || \" \",\r\n Email: this.createClientModel.client.email || \" \",\r\n FirstName: this.createClientModel.client.firstName,\r\n LastName: this.createClientModel.client.lastName,\r\n Address: this.createClientModel.client.address,\r\n City: this.createClientModel.client.city,\r\n State: this.createClientModel.client.state,\r\n Zip: Number(this.createClientModel.client.zip.toString().substring(0, 5)),\r\n Phone: this.createClientModel.client.phone,\r\n DOB: this.createClientModel.client.DOB,\r\n GenderID: Number(this.createClientModel.client.gender),\r\n }\r\n\r\n\r\n if (this.createClientModel.clientProfile.clientSpouses.length) {\r\n for (var k in this.createClientModel.clientProfile.clientSpouses) {\r\n this.createClientModel.clientProfile.clientSpouses[k].currentIncome = this.getNumber(this.createClientModel.clientProfile.clientSpouses[k].currentIncome);\r\n this.createClientModel.clientProfile.clientSpouses[k].pension = this.getNumber(this.createClientModel.clientProfile.clientSpouses[k].pension);\r\n this.createClientModel.clientProfile.clientSpouses[k].PIAYears = this.createClientModel.clientProfile.clientSpouses[k].PIAYears;\r\n }\r\n }\r\n\r\n var tempSpouses = [];\r\n var tempSpouse = {};\r\n\r\n for (var i = 0; i < this.createClientModel.clientProfile.clientSpouses.length; i++) {\r\n tempSpouse = {};\r\n for (var j in this.createClientModel.clientProfile.clientSpouses[i]) {\r\n if (j === \"HCHBP\") {\r\n tempSpouse[j] = this.createClientModel.clientProfile.clientSpouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCHC\") {\r\n tempSpouse[j] = this.createClientModel.clientProfile.clientSpouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCT2D\") {\r\n tempSpouse[j] = this.createClientModel.clientProfile.clientSpouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCCD\") {\r\n tempSpouse[j] = this.createClientModel.clientProfile.clientSpouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCC\") {\r\n tempSpouse[j] = this.createClientModel.clientProfile.clientSpouses[i][j] == true ? 1 : 0;\r\n } else if (j === \"HCT\") {\r\n tempSpouse[j] = this.createClientModel.clientProfile.clientSpouses[i][j] == true ? 1 : 0;\r\n } else {\r\n tempSpouse[j] = this.createClientModel.clientProfile.clientSpouses[i][j];\r\n }\r\n }\r\n\r\n tempSpouses.push(tempSpouse);\r\n }\r\n\r\n var ClientProfile = {\r\n CurrentIncome: this.getNumber(this.createClientModel.clientProfile.currentIncome),\r\n IRR: this.getNumber(this.createClientModel.clientProfile.IRR),\r\n PIA: this.getNumber(this.createClientModel.clientProfile.PIA),\r\n PIAYears: JSON.stringify(this.createClientModel.clientProfile.PIAYears),\r\n RetirementAge: this.getNumber(Number(this.createClientModel.clientProfile.retirementAge)),\r\n Pension: this.getNumber(this.createClientModel.clientProfile.pension),\r\n PensionMonths: this.getNumber(Number(this.createClientModel.clientProfile.pensionMonth)),\r\n PensionYears: this.getNumber(Number(this.createClientModel.clientProfile.pensionYear)),\r\n SubstantialEarningYears: this.getNumber(Number(this.createClientModel.clientProfile.substantialEarningYears)),\r\n RetirementState: this.createClientModel.clientProfile.retirementState,\r\n HCHBP: this.createClientModel.clientProfile.HCHBP ? 1 : 0,\r\n HCHC: this.createClientModel.clientProfile.HCHC ? 1 : 0,\r\n HCT2D: this.createClientModel.clientProfile.HCT2D ? 1 : 0,\r\n HCCD: this.createClientModel.clientProfile.HCCD ? 1 : 0,\r\n HCC: this.createClientModel.clientProfile.HCC ? 1 : 0,\r\n HCT: this.createClientModel.clientProfile.HCT ? 1 : 0,\r\n Spouses: JSON.stringify(tempSpouses), // order them so first is always the one being claimed off of\r\n Children: JSON.stringify(this.createClientModel.clientProfile.clientChildren),\r\n IncludePension: this.createClientModel.clientProfile.includePension ? 1 : 0,\r\n LifeExpectancy: Number(this.createClientModel.clientProfile.LifeExpectancy),\r\n }\r\n\r\n var RiskTolerance = {\r\n FinancialObjectiveID: this.getNumber(this.clientModelV2.riskTolerance.financialObjective),\r\n LevelOfInvestmentID: this.getNumber(this.clientModelV2.riskTolerance.levelOfInvestment),\r\n LengthOfInvestmentID: this.getNumber(this.clientModelV2.riskTolerance.lengthOfInvestment),\r\n ToleranceOfRiskID: this.getNumber(this.clientModelV2.riskTolerance.toleranceOfRisk),\r\n NeedRedeemID: this.getNumber(this.clientModelV2.riskTolerance.isRedeemAccount)\r\n }\r\n\r\n var validationErrors = this.validateCreateClient();\r\n\r\n if (validationErrors) {\r\n this.globalService.createClient(UserModel, ClientProfile, RiskTolerance)\r\n .subscribe(\r\n resp => {\r\n if (resp.type != 0) {\r\n this.close();\r\n this.globalService.getClientsData()\r\n .subscribe(\r\n clients => {\r\n var client = clients[clients.length - 1].c || clients[clients.length - 1];\r\n\r\n localStorage.setItem('selectedClient', client.ID);\r\n this.snackBarService.add('To create a report for ' + client.FirstName + ' ' + client.LastName + ', please click ', 0, 1, 10000);\r\n },\r\n error => {\r\n this.snackBarService.add('There was an issue creating new client, please try again later.', 1);\r\n this.error = error;\r\n });\r\n } else {\r\n this.snackBarService.add('An error occured creating this client.', 1);\r\n }\r\n\r\n },\r\n error => {\r\n this.snackBarService.add('There was an issue creating new client, please try again later.', 1);\r\n this.error = error;\r\n\r\n });\r\n } else {\r\n this.snackBarService.add('Please make sure all fields are properly filled out', 1);\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n removeSpouse(index, from) {\r\n\r\n if (!this.editClientModel.clientProfile.Spouses) {\r\n this.editClientModel.clientProfile.Spouses = [];\r\n }\r\n\r\n if (from == 'edit') {\r\n this.editClientModel.clientProfile.Spouses.splice(index, 1);\r\n } else if (from == 'create') {\r\n this.createClientModel.clientProfile.clientSpouses.splice(index, 1);\r\n }\r\n\r\n if (from == 'marital-history') {\r\n this.clientModelV2.maritalHistory.previousSpouseCount = this.clientModelV2.maritalHistory.previousSpouseCount - 1;\r\n this.clientModelV2.spouses.splice(index + 1, 1);\r\n } else if (from == 'spouse-history') {\r\n this.clientModelV2.maritalHistory.spousesSpouseCount = this.clientModelV2.maritalHistory.spousesSpouseCount - 1;\r\n this.clientModelV2.maritalHistory.spousesSpouse.splice(index, 1);\r\n }\r\n\r\n this.validateAllFields();\r\n }\r\n\r\n spouseMaritalChange(e, partner) {\r\n }\r\n\r\n addPartner(from) {\r\n if (!this.editClientModel.clientProfile.Spouses) {\r\n this.editClientModel.clientProfile.Spouses = [];\r\n }\r\n\r\n if (from == 'edit') {\r\n this.editClientModel.clientProfile.Spouses.push({\r\n PIAYears: {\r\n IncludePIA: false,\r\n },\r\n tenyears: true,\r\n alive: true,\r\n });\r\n }\r\n else if (from == 'create') {\r\n this.createClientModel.clientProfile.clientSpouses.push({\r\n PIAYears: {\r\n IncludePIA: false,\r\n },\r\n tenyears: true,\r\n alive: true,\r\n });\r\n }\r\n }\r\n\r\n removeChild(index, from) {\r\n if (!this.editClientModel.clientProfile.Children) {\r\n this.editClientModel.clientProfile.Children = [];\r\n }\r\n\r\n if (from == 'edit')\r\n this.editClientModel.clientProfile.Children.splice(index, 1);\r\n else if (from == 'create')\r\n this.createClientModel.clientProfile.clientChildren.splice(index, 1);\r\n }\r\n\r\n addDependentChild(from) {\r\n if (!this.editClientModel.clientProfile.Children) {\r\n this.editClientModel.clientProfile.Children = [];\r\n }\r\n\r\n if (from == 'edit') {\r\n this.editClientModel.clientProfile.Children.push({});\r\n }\r\n else if (from == 'create') {\r\n this.createClientModel.clientProfile.clientChildren.push({});\r\n }\r\n }\r\n\r\n convertMartialStatus(status) {\r\n if (status === \"Single\") {\r\n return 0;\r\n } else if (status === \"Married\") {\r\n return 1;\r\n } else if (status === \"Divorced\") {\r\n return 2;\r\n } else if (status === \"Widowed\") {\r\n return 3;\r\n }\r\n }\r\n\r\n validateString(val, isRequired) {\r\n var regex = /^[a-zA-Z][a-zA-Z .,'-]{2,30}$/;\r\n if (val) {\r\n if (val.indexOf('-') > 0 && val.indexOf('-') != val.length - 1) {\r\n return val ? regex.test(val.replace('-')) : !isRequired;\r\n } else {\r\n return val ? regex.test(val) : !isRequired;\r\n }\r\n }\r\n }\r\n\r\n validatePhoneNumber(val, isRequired) {\r\n var numbers = val ? val.match(/\\d/g) : '';\r\n return val ? numbers.length === 10 : !isRequired;\r\n }\r\n\r\n validateZip(val, isRequired) {\r\n return true;\r\n }\r\n\r\n validateCurrency(val, min, max, isRequired) {\r\n val = val ? val.toString() : '';\r\n var numbers = val ? val.match(/\\d/g).join('') : '';\r\n return val ? (numbers >= min && numbers < max) ? true : false : !isRequired;\r\n }\r\n\r\n validateEmail(val, isRequired) {\r\n var regex = /^([a-z\\d!#$%&'*+\\-\\/=?^_`{|}~\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+(\\.[a-z\\d!#$%&'*+\\-\\/=?^_`{|}~\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+)*|\"((([ \\t]*\\r\\n)?[ \\t]+)?([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))*(([ \\t]*\\r\\n)?[ \\t]+)?\")@(([a-z\\d\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]|[a-z\\d\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF][a-z\\d\\-._~\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]*[a-z\\d\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])\\.)+([a-z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]|[a-z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF][a-z\\d\\-._~\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]*[a-z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])\\.?$/i;\r\n return val ? regex.test(val) : !isRequired;\r\n }\r\n\r\n\r\n validateDate(val, isRequired) {\r\n var regex = /^([0-9]{1}|[0-9]{2})\\/([0-9]{1}|[0-9]{2})\\/([0-9]{4})$/;\r\n return val ? regex.test(val) : !isRequired;\r\n }\r\n\r\n validateAnnDate(val, isRequired) {\r\n const regex = /^([0-9]{1}|[0-9]{2})\\/([0-9]{1}|[0-9]{2})\\/([0-9]{4})$/;\r\n \r\n const clientAge = this.calculateAge(this.clientModelV2.generalInformation.dobStr);\r\n const spouseAge = this.calculateAge(this.clientModelV2.maritalStatus.dobStr);\r\n const yearsMarried = this.calculateAge(this.clientModelV2.maritalStatus.anniversaryStr);\r\n\r\n return val && (clientAge - yearsMarried >= 18 && spouseAge - yearsMarried >= 18) ? regex.test(val) : !isRequired;\r\n }\r\n\r\n validatePercent(val, min, max, isRequired) {\r\n val = val ? val.toString() : '';\r\n var numbers = val ? val.match(/\\d/g).join('') : '';\r\n return val ? (numbers >= min && numbers < max) ? true : false : !isRequired;\r\n }\r\n\r\n validatePercentDecimal(val, min, max, isRequired) {\r\n if (val.toString().substring(0,1) === '.')\r\n val = `0${val}`;\r\n\r\n let re = /\\%/gi;\r\n val = val.replace(re, \"\");\r\n val = (val && val != 'null') ? val.toString() : '';\r\n var numbers = val ? val.match(/\\d+(?:\\.\\d+)?/g).join('') : '';\r\n return val ? (numbers >= min && numbers <= max) ? true : false : !isRequired;\r\n }\r\n\r\n validateNumber(val, min, max, isRequired) {\r\n val = val ? val.toString() : '';\r\n var numbers = val ? val.match(/\\d/g).join('') : '';\r\n return val ? (numbers >= min && numbers < max) ? true : false : !isRequired;\r\n }\r\n\r\n getNumber(val) {\r\n val = val ? val.toString() : '';\r\n val = val.replace('$', '').replace(',', '');\r\n var numbers = val ? val.match(/\\d/g).join('') : '';\r\n return val ? numbers : 0\r\n }\r\n\r\n formatString(model, field) {\r\n if (model[field])\r\n model[field] = model[field].charAt(0).toUpperCase() + model[field].slice(1);\r\n }\r\n\r\n\r\n\r\n\r\n formatNumber(model, field) {\r\n var numbers = model[field] ? model[field].match(/\\d/g) : '';\r\n model[field] = numbers.join('');\r\n }\r\n\r\n formatPercent(model, field, e) {\r\n if (model[field]) {\r\n model[field] = model[field].toString();\r\n var numbers = model[field] ? model[field].match(/\\d/g) : '';\r\n if (e.keyCode && (e.keyCode == 8 || e.keyCode == 46))\r\n numbers.pop();\r\n\r\n model[field] = numbers.join('') + '%';\r\n }\r\n }\r\n\r\n formatPercentDecimal(model, page, e) {\r\n // console.log('model', model);\r\n // console.log('keycode', e.keyCode);\r\n\r\n let re = /\\%/gi;\r\n let annualProgramFee = model.replace(re, \"\");\r\n \r\n // console.log(annualProgramFee);\r\n if (model.includes(\"%\")) {\r\n model.replace(\"%\", \"\");\r\n }\r\n\r\n if ((e.keyCode >= 96 && e.keyCode <= 105) || (e.keyCode == 110) || (e.keyCode >= 49 && e.keyCode <= 57) || (e.keyCode == 48) || (e.keyCode == 190)) {\r\n // console.log('95')\r\n this.advisorModal.generalInformation.annualProgramFee = annualProgramFee + '%';\r\n } else {\r\n // console.log('none')\r\n this.advisorModal.generalInformation.annualProgramFee = '';\r\n }\r\n this.validateFields(page);\r\n }\r\n\r\n\r\n formatCurrency(model, field) {\r\n if (model[field]) {\r\n model[field] = model[field].toString();\r\n var numbers = model[field] ? model[field].match(/\\d/g) : '';\r\n model[field] = '$' + numbers.join('').toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, \"$1,\");\r\n }\r\n }\r\n\r\n formatCurrencyV2(amount) {\r\n amount = amount.toString().replace(/,/g, \"\").replace(\"$\", \"\");\r\n return Utils.formatToCurrency(amount);\r\n }\r\n\r\n formatPhoneNumber(model, field) {\r\n if (model[field]) {\r\n model[field] = model[field].toString();\r\n var numbers = model[field] ? model[field].match(/\\d/g) : '';\r\n if (numbers.length < 3) {\r\n model[field] = \"(\" + numbers.join('');\r\n } else if (numbers.length < 4) {\r\n model[field] = \"(\" + numbers.join('') + \")\";\r\n } else if (numbers.length < 7) {\r\n model[field] = \"(\" + numbers.join('').substring(0, 3) + \") \" + numbers.join('').substring(3, numbers.length);\r\n } else if (numbers.length >= 7) {\r\n model[field] = \"(\" + numbers.join('').substring(0, 3) + \") \" + numbers.join('').substring(3, 6) + \"-\" + numbers.join('').substring(6, 10);\r\n }\r\n }\r\n\r\n }\r\n\r\n validateCreateClient() {\r\n var result = true;\r\n\r\n result = result && this.validateString(this.createClientModel.client.firstName, true);\r\n result = result && this.validateString(this.createClientModel.client.lastName, true);\r\n\r\n result = result && this.validateString(this.createClientModel.client.state, false);\r\n result = result && this.validateZip(this.createClientModel.client.zip, false);\r\n result = result && this.validatePhoneNumber(this.createClientModel.client.phone, false);\r\n result = result && this.validateDate(this.createClientModel.client.DOB, true);\r\n result = result && this.validateNumber(this.createClientModel.client.gender, 1, 3, true);\r\n\r\n result = result && this.validateCurrency(this.createClientModel.clientProfile.currentIncome, 0, 1000000, true);\r\n result = result && this.validatePercent(this.createClientModel.clientProfile.IRR, 10, 201, true);\r\n result = result && this.validateCurrency(this.createClientModel.clientProfile.PIA, 0, 5000, true);\r\n result = result && this.validateNumber(this.createClientModel.clientProfile.retirementAge, 1, 71, true);\r\n result = result && this.validateCurrency(this.createClientModel.clientProfile.pension, 1, 400000, false);\r\n result = result && this.validateNumber(this.createClientModel.clientProfile.pensionMonth, 1, 13, false);\r\n result = result && this.validateNumber(this.createClientModel.clientProfile.pensionYear, 2000, 2061, false);\r\n result = result && this.validateNumber(this.createClientModel.clientProfile.substantialEarningYears, 0, 31, false);\r\n result = result && this.validateString(this.createClientModel.clientProfile.retirementState, true);\r\n\r\n for (var k in this.createClientModel.clientProfile.clientSpouses) {\r\n if (this.createClientModel.clientProfile.clientSpouses[k].maritalStatus == 'Married') {\r\n result = result && this.validateString(this.createClientModel.clientProfile.clientSpouses[k].maritalStatus, true);\r\n result = result && this.validateString(this.createClientModel.clientProfile.clientSpouses[k].firstName, true);\r\n result = result && this.validateString(this.createClientModel.clientProfile.clientSpouses[k].lastName, true);\r\n result = result && this.validateNumber(this.createClientModel.clientProfile.clientSpouses[k].gender, 1, 3, true);\r\n result = result && this.validateCurrency(this.createClientModel.clientProfile.clientSpouses[k].pia, 0, 10001, false);\r\n result = result && this.validateDate(this.createClientModel.clientProfile.clientSpouses[k].dob, true);\r\n result = result && this.validateCurrency(this.createClientModel.clientProfile.clientSpouses[k].currentIncome, 0, 1000000, true);\r\n result = result && this.validateCurrency(this.createClientModel.clientProfile.clientSpouses[k].pension, 0, 400000, false);\r\n result = result && this.validateNumber(this.createClientModel.clientProfile.clientSpouses[k].pensionYear, 2000, 2061, false);\r\n result = result && this.validateNumber(this.createClientModel.clientProfile.clientSpouses[k].pensionMonth, 1, 13, false);\r\n result = result && this.validateNumber(this.createClientModel.clientProfile.clientSpouses[k].substantialEarningYears, 1, 400000, false);\r\n result = result && this.validateNumber(this.createClientModel.clientProfile.clientSpouses[k].retirementAge, 1, 71, true);\r\n result = result && this.validateString(this.createClientModel.clientProfile.clientSpouses[k].state, true);\r\n } else if (this.createClientModel.clientProfile.clientSpouses[k].maritalStatus == 'Divorced') {\r\n result = result && this.validateString(this.createClientModel.clientProfile.clientSpouses[k].maritalStatus, true);\r\n result = result && this.validateString(this.createClientModel.clientProfile.clientSpouses[k].firstName, true);\r\n result = result && this.validateString(this.createClientModel.clientProfile.clientSpouses[k].lastName, true);\r\n result = result && this.validateCurrency(this.createClientModel.clientProfile.clientSpouses[k].pia, 0, 10001, false);\r\n\r\n if (this.createClientModel.clientProfile.clientSpouses[k].alive == 'true') {\r\n result = result && this.validateDate(this.createClientModel.clientProfile.clientSpouses[k].dob, true);\r\n result = result && this.validateNumber(this.createClientModel.clientProfile.clientSpouses[k].gender, 1, 3, true);\r\n }\r\n\r\n result = result && this.validateCurrency(this.createClientModel.clientProfile.clientSpouses[k].pension, 0, 400000, false);\r\n result = result && this.validateNumber(this.createClientModel.clientProfile.clientSpouses[k].pensionYear, 2000, 2061, false);\r\n result = result && this.validateNumber(this.createClientModel.clientProfile.clientSpouses[k].pensionMonth, 1, 13, false);\r\n result = result && this.validateNumber(this.createClientModel.clientProfile.clientSpouses[k].substantialEarningYears, 1, 400000, false);\r\n } else if (this.createClientModel.clientProfile.clientSpouses[k].maritalStatus == 'Widowed') {\r\n result = result && this.validateString(this.createClientModel.clientProfile.clientSpouses[k].maritalStatus, true);\r\n result = result && this.validateString(this.createClientModel.clientProfile.clientSpouses[k].firstName, true);\r\n result = result && this.validateString(this.createClientModel.clientProfile.clientSpouses[k].lastName, true);\r\n result = result && this.validateCurrency(this.createClientModel.clientProfile.clientSpouses[k].pia, 0, 10001, true);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n\r\n validateEditClient() {\r\n var result = true;\r\n\r\n result = result && this.validateString(this.editClientModel.client.FirstName, true);\r\n result = result && this.validateString(this.editClientModel.client.LastName, true);\r\n result = result && this.validateString(this.editClientModel.client.State, false);\r\n result = result && this.validateZip(this.editClientModel.client.Zip, false);\r\n result = result && this.validatePhoneNumber(this.editClientModel.client.Phone, false);\r\n result = result && this.validateDate(this.editClientModel.client.DOB, true);\r\n result = result && this.validateNumber(this.editClientModel.client.GenderID, 1, 3, true);\r\n\r\n result = result && this.validateCurrency(this.editClientModel.clientProfile.CurrentIncome, 0, 1000000, true);\r\n result = result && this.validatePercent(this.editClientModel.clientProfile.IRR, 10, 201, true);\r\n result = result && this.validateCurrency(this.editClientModel.clientProfile.PIA, 0, 5000, true);\r\n result = result && this.validateNumber(this.editClientModel.clientProfile.RetirementAge, 1, 71, true);\r\n result = result && this.validateCurrency(this.editClientModel.clientProfile.Pension, 0, 400000, false);\r\n result = result && this.validateNumber(this.editClientModel.clientProfile.PensionMonth, 1, 13, false);\r\n result = result && this.validateNumber(this.editClientModel.clientProfile.PensionYear, 2000, 2061, false);\r\n result = result && this.validateNumber(this.editClientModel.clientProfile.SubstantialEarningYears, 0, 31, false);\r\n result = result && this.validateString(this.editClientModel.clientProfile.RetirementState, true);\r\n for (var k in this.editClientModel.clientProfile.Spouses) {\r\n if (this.editClientModel.clientProfile.Spouses[k].maritalStatus == 'Married') {\r\n result = result && this.validateString(this.editClientModel.clientProfile.Spouses[k].maritalStatus, true);\r\n result = result && this.validateString(this.editClientModel.clientProfile.Spouses[k].firstName, true);\r\n result = result && this.validateString(this.editClientModel.clientProfile.Spouses[k].lastName, true);\r\n result = result && this.validateNumber(this.editClientModel.clientProfile.Spouses[k].gender, 1, 3, true);\r\n result = result && this.validateCurrency(this.editClientModel.clientProfile.Spouses[k].pia, 0, 10001, false);\r\n result = result && this.validateDate(this.editClientModel.clientProfile.Spouses[k].dob, true);\r\n result = result && this.validateCurrency(this.editClientModel.clientProfile.Spouses[k].currentIncome, 0, 1000000, true);\r\n result = result && this.validateCurrency(this.editClientModel.clientProfile.Spouses[k].pension, 0, 400000, false);\r\n result = result && this.validateNumber(this.editClientModel.clientProfile.Spouses[k].pensionYear, 2000, 2061, false);\r\n result = result && this.validateNumber(this.editClientModel.clientProfile.Spouses[k].pensionMonth, 1, 13, false);\r\n result = result && this.validateNumber(this.editClientModel.clientProfile.Spouses[k].substantialEarningYears, 1, 400000, false);\r\n result = result && this.validateNumber(this.editClientModel.clientProfile.Spouses[k].retirementAge, 1, 71, true);\r\n result = result && this.validateString(this.editClientModel.clientProfile.Spouses[k].state, true);\r\n } else if (this.editClientModel.clientProfile.Spouses[k].maritalStatus == 'Divorced') {\r\n result = result && this.validateString(this.editClientModel.clientProfile.Spouses[k].maritalStatus, true);\r\n result = result && this.validateString(this.editClientModel.clientProfile.Spouses[k].firstName, true);\r\n result = result && this.validateString(this.editClientModel.clientProfile.Spouses[k].lastName, true);\r\n result = result && this.validateCurrency(this.editClientModel.clientProfile.Spouses[k].pia, 0, 10001, true);\r\n\r\n if (this.editClientModel.clientProfile.Spouses[k].alive == \"true\") {\r\n result = result && this.validateDate(this.editClientModel.clientProfile.Spouses[k].dob, true);\r\n result = result && this.validateNumber(this.editClientModel.clientProfile.Spouses[k].gender, 1, 3, true);\r\n }\r\n\r\n result = result && this.validateCurrency(this.editClientModel.clientProfile.Spouses[k].pension, 0, 400000, false);\r\n result = result && this.validateNumber(this.editClientModel.clientProfile.Spouses[k].pensionYear, 2000, 2061, false);\r\n result = result && this.validateNumber(this.editClientModel.clientProfile.Spouses[k].pensionMonth, 1, 13, false);\r\n result = result && this.validateNumber(this.editClientModel.clientProfile.Spouses[k].substantialEarningYears, 1, 400000, false);\r\n } else if (this.editClientModel.clientProfile.Spouses[k].maritalStatus == 'Widowed') {\r\n result = result && this.validateString(this.editClientModel.clientProfile.Spouses[k].maritalStatus, true);\r\n result = result && this.validateString(this.editClientModel.clientProfile.Spouses[k].firstName, true);\r\n result = result && this.validateString(this.editClientModel.clientProfile.Spouses[k].lastName, true);\r\n result = result && this.validateCurrency(this.editClientModel.clientProfile.Spouses[k].pia, 0, 10001, true);\r\n } else {\r\n result = false;\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n return result;\r\n }\r\n\r\n formatEditClientModel() {\r\n this.formatString(this.editClientModel.client, 'firstName');\r\n this.formatString(this.editClientModel.client, 'lastName');\r\n this.formatPhoneNumber(this.editClientModel.client, 'phone');\r\n\r\n this.formatCurrency(this.editClientModel.clientProfile, 'CurrentIncome');\r\n this.formatPercent(this.editClientModel.clientProfile, 'IRR', {});\r\n this.formatCurrency(this.editClientModel.clientProfile, 'PIA');\r\n this.formatCurrency(this.editClientModel.clientProfile, 'pension');\r\n\r\n for (var k in this.editClientModel.clientProfile.Spouses) {\r\n this.formatString(this.editClientModel.clientProfile.Spouses[k], 'firstName');\r\n this.formatString(this.editClientModel.clientProfile.Spouses[k], 'lastName');\r\n this.formatCurrency(this.editClientModel.clientProfile.Spouses[k], 'currentIncome');\r\n this.formatCurrency(this.editClientModel.clientProfile.Spouses[k], 'pension');\r\n this.formatCurrency(this.editClientModel.clientProfile.Spouses[k], 'pia');\r\n\r\n }\r\n }\r\n\r\n submitSupportTicket(subject, message) {\r\n this.snackBarService.add('Thank you for submitting a ticket. A support specialist will be in touch.', 0);\r\n this.close();\r\n var SupportModel = {\r\n AdvisorID: Number(this.advisor.ID),\r\n OrgID: Number(this.advisor.OrganizationID),\r\n Subject: subject.value.toString(),\r\n Message: message.value.toString(),\r\n }\r\n\r\n this.globalService.createSupportTicket(SupportModel)\r\n .subscribe(\r\n data => { },\r\n error => this.error = error);\r\n }\r\n\r\n public profileImage = localStorage.getItem('profilePhotoPath') && localStorage.getItem('profilePhotoPath').length > 1 ? 'https://web234.hvsfinancial.com/portal-shared/' + localStorage.getItem('profilePhotoPath') : 'https://web234.hvsfinancial.com/portal-shared/anon_user.png';\r\n public logoImage = localStorage.getItem('logoPhotoPath') && localStorage.getItem('logoPhotoPath').length > 1 ? 'https://web234.hvsfinancial.com/portal-shared/' + localStorage.getItem('logoPhotoPath') : 'https://web234.hvsfinancial.com/portal-shared/logo.png';\r\n public userRole = localStorage.getItem('roleId');\r\n\r\n uploadProfilePicture(e) {\r\n let file: File = e.target.files[0];\r\n let formData: FormData = new FormData();\r\n var date = new Date().getTime() / 1000;\r\n formData.append('uploadFile', file, file.name);\r\n formData.append('Email', this.advisor.Email);\r\n formData.append('UserID', this.advisor.ID.toString());\r\n this.globalService.saveProfileImage(formData)\r\n .subscribe(\r\n data => {\r\n localStorage.setItem('profilePhotoPath', data._body);\r\n this.profileImage = \"https://web234.hvsfinancial.com/portal-shared/\" + localStorage.getItem('profilePhotoPath');\r\n },\r\n error => this.error = error);\r\n\r\n }\r\n\r\n public advisorTemp: any = {};\r\n\r\n updateAdvisor(advisor) {\r\n\r\n\r\n\r\n var UserModel = {\r\n UserID: this.advisor.ID,\r\n FirstName: advisor.FirstName,\r\n LastName: advisor.LastName,\r\n Phone: advisor.Phone,\r\n }\r\n\r\n var validation = this.validateEditProfile(UserModel);\r\n\r\n if (!validation.status) {\r\n this.snackBarService.add('Please make sure your ' + validation.message, 1);\r\n } else {\r\n this.globalService.updateAdvisor(UserModel)\r\n .subscribe(\r\n data => {\r\n if (data) {\r\n localStorage.setItem('firstName', UserModel.FirstName);\r\n localStorage.setItem('lastName', UserModel.LastName);\r\n }\r\n\r\n this.snackBarService.add('Your profile has been updated.', 0);\r\n this.close();\r\n },\r\n error => {\r\n this.error = error;\r\n this.close();\r\n });\r\n }\r\n }\r\n submitCancellation() {\r\n this.snackBarService.add('Your cancellation request has been sent to our Support Team. Please allow 1-2 business days for your account to be closed,
after which no additional charges will be issued. You will receive any additional correspondence via email.', 0, 0, 15000);\r\n \r\n this.close();\r\n\r\n var SupportModel = {\r\n AdvisorID: Number(localStorage.getItem('selectedAdvisorID')),\r\n OrgID: Number(localStorage.getItem('orgID')),\r\n Subject: \"Cancellation Request\",\r\n Message: \"User has clicked the Cancel Subscription button in their profile. Please close out this account and stop all charges.\"\r\n }\r\n\r\n this.globalService.createSupportTicket(SupportModel)\r\n .subscribe(\r\n data => { });\r\n //,error => this.error = error);\r\n }\r\n validateEditProfile(UserModel) {\r\n var result = { status: true, message: '' };\r\n if (UserModel.Phone.length < 10) {\r\n result.message = 'phone number meets this format (xxx) xxx-xxxx.';\r\n result.status = false;\r\n } else if (!this.validateString(UserModel.FirstName, true) || !this.validateString(UserModel.LastName, true)) {\r\n result.message = 'first name or last name contains no numbers.';\r\n result.status = false;\r\n }\r\n return result;\r\n }\r\n\r\n uploadOrgLogo(e) {\r\n let file: File = e.target.files[0];\r\n let formData: FormData = new FormData();\r\n var date = new Date().getTime() / 1000;\r\n formData.append('uploadFile', file, this.advisor.OrganizationID + '_' + date + '_logo' + file.name.substring(file.name.lastIndexOf('.'), file.name.length));\r\n formData.append('Email', this.advisor.Email);\r\n formData.append('UserID', this.advisor.ID.toString());\r\n\r\n this.globalService.uploadOrgLogo(formData)\r\n .subscribe(\r\n data => {\r\n localStorage.setItem('logoPhotoPath', data._body);\r\n this.logoImage = \"https://web234.hvsfinancial.com/portal-shared/\" + localStorage.getItem('logoPhotoPath');\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n\r\n formatPIAYearV2(model, isSpouse) {\r\n var startYear = isSpouse ? model.PIAYears.startYear : model.PIAYears.StartYear;\r\n var endYear = isSpouse ? model.PIAYears.endYear : model.PIAYears.EndYear;\r\n var currentAge = isSpouse ? this.calculateAge(this.clientModelV2.maritalStatus.dobStr) : this.calculateAge(this.clientModelV2.generalInformation.dobStr);\r\n var year = new Date().getFullYear();\r\n \r\n if (isSpouse)\r\n model.PIAYears.years = [];\r\n else\r\n model.PIAYears.Years = [];\r\n\r\n if (endYear > startYear) {\r\n for (var i = 0; i < endYear - startYear + 1; i++) {\r\n if (isSpouse) {\r\n\r\n model.PIAYears.years.push(\r\n {\r\n Year: Number(model.PIAYears.startYear) + i,\r\n Age: Number(startYear) > year ? Math.abs(endYear - year) + currentAge + i : currentAge - Math.abs(startYear - year) + i,\r\n ActualEarnings: this.formatCurrencyV2(0),\r\n }\r\n );\r\n } else {\r\n model.PIAYears.Years.push(\r\n {\r\n Year: Number(model.PIAYears.StartYear) + i,\r\n Age: Number(startYear) > year ? Math.abs(endYear - year) + currentAge + i : currentAge - Math.abs(startYear - year) + i,\r\n ActualEarnings: this.formatCurrencyV2(0),\r\n }\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n formatPIAYear(model, client) {\r\n var startYear = client ? model.clientProfile.PIAYears.StartYear.match(/\\d/g) : model.PIAYears.StartYear.match(/\\d/g);\r\n var endYear = client ? model.clientProfile.PIAYears.EndYear.match(/\\d/g) : model.PIAYears.EndYear.match(/\\d/g);\r\n var year = new Date().getFullYear();\r\n\r\n var currentAge = client ? this.calculateAge(model.client.DOB) : this.calculateAge(model.dob);\r\n\r\n if (client) {\r\n model.clientProfile.PIAYears.StartYear = startYear.join('').substring(0, 4);\r\n model.clientProfile.PIAYears.EndYear = endYear.join('').substring(0, 4);\r\n\r\n if (model.clientProfile.PIAYears.StartYear.length === 4 && model.clientProfile.PIAYears.EndYear.length === 4) {\r\n model.clientProfile.PIAYears.Years = [];\r\n for (var i = 0; i < model.clientProfile.PIAYears.EndYear - model.clientProfile.PIAYears.StartYear + 1; i++) {\r\n model.clientProfile.PIAYears.Years.push(\r\n {\r\n Year: Number(model.clientProfile.PIAYears.StartYear) + i,\r\n ActualEarnings: this.formatCurrencyV2(0),\r\n Age: Number(model.clientProfile.PIAYears.StartYear) > year ? Math.abs(model.clientProfile.PIAYears.StartYear - year) + currentAge + i : currentAge - Math.abs(model.clientProfile.PIAYears.StartYear - year) + i\r\n }\r\n );\r\n }\r\n }\r\n\r\n } else {\r\n model.PIAYears.StartYear = startYear.join('').substring(0, 4);\r\n model.PIAYears.EndYear = endYear.join('').substring(0, 4);\r\n\r\n if (model.PIAYears.StartYear.length === 4 && model.PIAYears.EndYear.length === 4) {\r\n model.PIAYears.Years = [];\r\n for (var i = 0; i < model.PIAYears.EndYear - model.PIAYears.StartYear + 1; i++) {\r\n model.PIAYears.Years.push(\r\n {\r\n Year: Number(model.PIAYears.StartYear) + i,\r\n ActualEarnings: this.formatCurrencyV2(0),\r\n Age: Number(model.PIAYears.StartYear) > year ? Math.abs(model.PIAYears.StartYear - year) + currentAge + i : currentAge - Math.abs(model.PIAYears.StartYear - year) + i\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n calculateAge(birthday) {\r\n birthday = new Date(birthday);\r\n var ageDifMs = Date.now() - birthday;\r\n var ageDate = new Date(ageDifMs);\r\n\r\n return Math.abs(ageDate.getUTCFullYear() - 1970);\r\n }\r\n\r\n calculatePIAV2(model, isSpouse) {\r\n var PIACalculator = {\r\n currentAge: Number(this.calculateAge(!isSpouse ? model.generalInformation.dobStr : model.maritalStatus.dobStr)),\r\n earningYear: this.removePIACurrency(!isSpouse ? model.financialInformation.PIAYears.Years : model.maritalStatus.PIAYears.years)\r\n }\r\n\r\n\r\n this.globalService.getPIA(PIACalculator)\r\n .subscribe(\r\n data => {\r\n if (isSpouse) {\r\n model.maritalStatus.pia = this.formatCurrencyV2(data);\r\n model.maritalStatus.PIAYears.years = this.addPIACurrency(model.maritalStatus.PIAYears.years);\r\n this.validateFields(3);\r\n } else {\r\n model.financialInformation.pia = this.formatCurrencyV2(data);\r\n model.financialInformation.PIAYears.Years = this.addPIACurrency(model.financialInformation.PIAYears.Years);\r\n this.validateFields(1);\r\n }\r\n\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n calculatePIA(model, client) {\r\n var PIACalculator = {};\r\n\r\n if (client) {\r\n PIACalculator = {\r\n currentAge: Number(this.calculateAge(model.client.DOB)),\r\n earningYear: this.removePIACurrency(model.clientProfile.PIAYears.Years)\r\n }\r\n } else {\r\n PIACalculator = {\r\n currentAge: Number(this.calculateAge(model.dob)),\r\n earningYear: this.removePIACurrency(model.PIAYears.Years)\r\n }\r\n }\r\n\r\n this.globalService.getPIA(PIACalculator)\r\n .subscribe(\r\n data => {\r\n if (client) {\r\n model.clientProfile.PIA = this.formatCurrencyV2(data);\r\n model.clientProfile.PIAYears.Years = this.addPIACurrency(model.clientProfile.PIAYears.Years);\r\n } else {\r\n model.pia = this.formatCurrencyV2(data);\r\n model.PIAYears.Years = this.addPIACurrency(model.PIAYears.Years);\r\n }\r\n\r\n\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n removePIACurrency(years) {\r\n var temp = [];\r\n\r\n for (var item in years) {\r\n temp.push(years[item]);\r\n temp[item].ActualEarnings = Number(temp[item].ActualEarnings.replace(/,/g, \"\").replace(\"$\", \"\"));\r\n }\r\n\r\n return temp;\r\n }\r\n\r\n addPIACurrency(years) {\r\n var temp = [];\r\n\r\n for (var item in years) {\r\n temp.push(years[item]);\r\n temp[item].ActualEarnings = this.formatCurrencyV2(temp[item].ActualEarnings)\r\n }\r\n\r\n return temp;\r\n }\r\n\r\n recalcLEV2(model, index, firstLoad = false) {\r\n // console.log('button disable 03');\r\n var LEObject;\r\n\r\n if (index === 0) {\r\n if (model.generalInformation.dobStr && model.generalInformation.gender) {\r\n LEObject = {\r\n gender: Number(model.generalInformation.gender),\r\n age: this.calculateAge(model.generalInformation.dobStr),\r\n healthConditions: {\r\n HCC: model.healthInformation.HCC ? 1 : 0,\r\n HCCD: model.healthInformation.HCCD ? 1 : 0,\r\n HCHBP: model.healthInformation.HCHBP ? 1 : 0,\r\n HCHC: model.healthInformation.HCHC ? 1 : 0,\r\n HCT: model.healthInformation.HCT ? 1 : 0,\r\n HCT2D: model.healthInformation.HCT2D ? 1 : 0,\r\n }\r\n }\r\n }\r\n // console.log('button disable 04');\r\n // console.log(LEObject);\r\n } else if (index === 3) {\r\n if (model.maritalStatus.dobStr && model.maritalStatus.gender) {\r\n LEObject = {\r\n gender: Number(model.maritalStatus.gender),\r\n age: this.calculateAge(model.maritalStatus.dobStr),\r\n healthConditions: {\r\n HCC: model.maritalStatus.HCC ? 1 : 0,\r\n HCCD: model.maritalStatus.HCCD ? 1 : 0,\r\n HCHBP: model.maritalStatus.HCHBP ? 1 : 0,\r\n HCHC: model.maritalStatus.HCHC ? 1 : 0,\r\n HCT: model.maritalStatus.HCT ? 1 : 0,\r\n HCT2D: model.maritalStatus.HCT2D ? 1 : 0,\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (LEObject && LEObject.gender && LEObject.age) {\r\n // console.log('button disable 05');\r\n this.globalService.getLE(LEObject)\r\n .subscribe(\r\n le => {\r\n if (index === 0) {\r\n // console.log('button disable 06');\r\n // console.log(le);\r\n this.clientModelV2.healthInformation.lifeExpectancy = le;\r\n this.min = Math.min(le, this.showAge);\r\n this.minAge = this.min;\r\n this.maxAge = 100 - this.minAge + 1;\r\n } else if (index === 3) {\r\n this.clientModelV2.maritalStatus.lifeExpectancy = le;\r\n if (this.clientModelV2.maritalStatus.dobStr) {\r\n const convertAge = new Date(this.clientModelV2.maritalStatus.dobStr);\r\n const timeDiff = Math.abs(Date.now() - convertAge.getTime());\r\n this.spouseShowAge = Math.floor((timeDiff / (1000 * 3600 * 24))/365);\r\n } \r\n \r\n this.SpouseMin = Math.min(le, this.spouseShowAge);\r\n this.spouseMinAge = this.SpouseMin;\r\n this.spouseMaxAge = 100 - this.spouseMinAge + 1;\r\n }\r\n\r\n if (this.client.clientProfile && firstLoad) {\r\n // console.log('button disable 07');\r\n this.setActiveErrorPage();\r\n }\r\n\r\n },\r\n error => { this.error = error; });\r\n }\r\n \r\n this.validateAllFields();\r\n }\r\n\r\n recalcLE(model, type) {\r\n\r\n if (model.dob) { // hack to check if it's a partner (clients dont have alive property)\r\n var LEObject;\r\n\r\n if (this.validateDate(model.dob, true) && model.gender) {\r\n LEObject = {\r\n gender: Number(model.gender),\r\n age: this.calculateAge(model.dob),\r\n healthConditions: {\r\n HCC: model.HCC ? 1 : 0,\r\n HCCD: model.HCCD ? 1 : 0,\r\n HCHBP: model.HCHBP ? 1 : 0,\r\n HCHC: model.HCHC ? 1 : 0,\r\n HCT: model.HCT ? 1 : 0,\r\n HCT2D: model.HCT2D ? 1 : 0,\r\n },\r\n }\r\n this.globalService.getLE(LEObject)\r\n .subscribe(\r\n le => {\r\n if (!type)\r\n model.LifeExpectancy = le;\r\n else if (type === 'client')\r\n this.clientModelV2.healthInformation.lifeExpectancy = le;\r\n },\r\n error => this.error = error);\r\n }\r\n } else {\r\n if (model.client && this.validateDate(model.client.DOB, true) && (model.client.GenderID || model.client.gender)) {\r\n LEObject = {\r\n gender: model.client.GenderID || model.client.gender,\r\n age: this.calculateAge(model.client.DOB),\r\n healthConditions: {\r\n HCC: model.clientProfile.HCC ? 1 : 0,\r\n HCCD: model.clientProfile.HCCD ? 1 : 0,\r\n HCHBP: model.clientProfile.HCHBP ? 1 : 0,\r\n HCHC: model.clientProfile.HCHC ? 1 : 0,\r\n HCT: model.clientProfile.HCT ? 1 : 0,\r\n HCT2D: model.clientProfile.HCT2D ? 1 : 0,\r\n },\r\n }\r\n\r\n this.globalService.getLE(LEObject)\r\n .subscribe(\r\n le => { model.clientProfile.LifeExpectancy = le },\r\n error => this.error = error);\r\n }\r\n }\r\n }\r\n\r\n assignLead(leadRelationshipId, advisor) {\r\n this.globalService.assignLead(leadRelationshipId, advisor.c.ID)\r\n .subscribe(\r\n resp => {\r\n this.snackBarService.add(\"Lead has been assigned to: \" + advisor.c.FirstName + ' ' + advisor.c.LastName, 0);\r\n this.close();\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n formatDate(date) {\r\n date = new Date(date);\r\n return date > 1 / 1 / 1900 ? (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear() : '--';\r\n }\r\n\r\n handleEsc(e) {\r\n if (e.keyCode == 27) {\r\n this.close();\r\n }\r\n }\r\n\r\n onDateKeyUp(scenario) {\r\n if (scenario == 'client') {\r\n this.clientModelV2.generalInformation.dobStr = this.clientModelV2.generalInformation.dob?this.clientModelV2.generalInformation.dob.formatted:'';\r\n } else if (scenario == 'dateOfMarriage') {\r\n this.clientModelV2.maritalStatus.anniversaryStr = this.clientModelV2.maritalStatus.anniversary?this.clientModelV2.maritalStatus.anniversary.formatted:'';\r\n } else if (scenario == 'spouse') {\r\n this.clientModelV2.maritalStatus.dobStr = this.clientModelV2.maritalStatus.dob?this.clientModelV2.maritalStatus.dob.formatted:'';\r\n }\r\n }\r\n\r\n openRiskTolernaceModal(section) {\r\n //is form validated\r\n if(!this.riskToleranceQuestionnaire.invalid){\r\n if (section != 'done') {\r\n this.riskTolernaceSection = section\r\n }\r\n\r\n // if (section == 'riskToleranceQuestionnaire') {\r\n // this.riskTolernaceSection = 'riskToleranceQuestionnaire'\r\n // }\r\n // if (section == 'riskToleranceNames') {\r\n // this.riskTolernaceSection = 'riskToleranceNames'\r\n // }\r\n // if (section == 'riskToleranceAggrement') {\r\n // this.riskTolernaceSection = 'riskToleranceAggrement'\r\n // }\r\n // if (section == 'riskToleranceEmail') {\r\n // this.riskTolernaceSection = 'riskToleranceEmail'\r\n // }\r\n if (section == 'done') {\r\n if (this.riskToleranceQuestionnaire.value.toleranceOfRisk == '1') {\r\n this.isNotCandidate = true;\r\n } else {\r\n this.isNotCandidate = false;\r\n this.riskTolernaceSection = 'riskToleranceQuestionnaire';\r\n \r\n // update the user\r\n this.saveClientV2(this.clientModelV2, false, true, true);\r\n }\r\n\r\n }\r\n this.getPortfolioRecommendation();\r\n }\r\n\r\n }\r\n\r\n changedClientEmail(evt, scenario) {\r\n if (scenario == 'clientEmail') {\r\n this.isClientEmailChecked = evt.target.checked;\r\n if (this.isClientEmailChecked) {\r\n this.riskToleranceMail.get(\"txtEmailAddress\").setValidators([Validators.required, Validators.pattern('^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$')]);\r\n this.riskToleranceMail.get(\"txtEmailAddress\").updateValueAndValidity();\r\n }\r\n } else {\r\n this.isClientEmailChecked = false;\r\n this.riskToleranceMail.get(\"txtEmailAddress\").setValidators([]);\r\n this.riskToleranceMail.get(\"txtEmailAddress\").updateValueAndValidity();\r\n }\r\n\r\n }\r\n\r\n canContinueRiskTolerance(page) {\r\n if (page == '2') {\r\n if (this.isChecked) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n }\r\n\r\n openADVPart2(){\r\n window.open(this.AssetManagementAdv2DocUrl, '_blank');\r\n //window.open('http://healthviewria.com/docs/report/HVAM-PART2A.pdf','_blank');\r\n }\r\n\r\n openRiskTolerancePDF(createClient: boolean = true) {\r\n //need to update the users risk tol\r\n this.saveClientV2(this.clientModelV2, false, true, false);\r\n if (createClient) {\r\n this.openRiskTolernaceModal('riskToleranceEmail')\r\n }\r\n\r\n if (!createClient && this.client && this.client.clientRiskTolerance && this.client.clientRiskTolerance.SignedAdvisoryAgreementDate > this.AssetManagementAgreementChangedDate) {\r\n this.saveClientV2(this.clientModelV2, false, true, false);\r\n }\r\n \r\n let Values = JSON.parse(localStorage.getItem('riskTolReportObject'));\r\n //need to modify/add fields to the HCValues now since it does not have the values from the first page (they could have also gone back to change them too before clicking the PDF button)\r\n //HC = 5 | LTC = 7 //why 7???? because SS is 6\r\n Values.Report.ReportTypeID = (this.isHCIllustration) ? 5 : 7;\r\n\r\n if(this.isHCIllustration){\r\n //healthcare\r\n Values.ReportHC.FrmPhase1Periods = this.getPhaseDiff(1);\r\n Values.ReportHC.FrmPhase1Rate = this.portfolioRecommendationObject.phase1Val || 0;\r\n Values.ReportHC.FrmPhase2Periods = this.getPhaseDiff(2);\r\n Values.ReportHC.FrmPhase2Rate = this.isRetired ? this.portfolioRecommendationObject.phase1Val || 0: this.portfolioRecommendationObject.phase2Val || 0;\r\n Values.ReportHC.FrmPhase3Rate = this.isRetired ? this.portfolioRecommendationObject.phase1Val || 0: this.portfolioRecommendationObject.phase2Val || 0;\r\n\r\n Values.ReportHC.FinancialObjectiveID = this.getNumber(this.riskToleranceQuestionnaire.value.financialObjective) || 0;\r\n Values.ReportHC.LevelOfInvestmentID = this.getNumber(this.riskToleranceQuestionnaire.value.levelOfInvestment) || 0;\r\n Values.ReportHC.LengthOfInvestmentID = this.getNumber(this.riskToleranceQuestionnaire.value.lengthOfInvestment) || 0;\r\n Values.ReportHC.ToleranceOfRiskID = this.getNumber(this.riskToleranceQuestionnaire.value.toleranceOfRisk) || 0;\r\n Values.ReportHC.NeedRedeemID = this.getNumber(this.riskToleranceQuestionnaire.value.isRedeemAccount) || 0;\r\n\r\n this.globalService.createReportHC(Values.Report, Values.ReportHC)\r\n .subscribe(\r\n resp => {\r\n this.snackBarService.add(\"Please wait while your risk tolerance healthcare report is being generated.\", 0);\r\n \r\n this.downloadReportRiskTolPDF(resp.ReportID, resp.AdvisorID, resp.ClientID, resp.CompanyCode, resp.ReportTypeID);\r\n },\r\n error => this.error = error);\r\n } else {\r\n //long term care\r\n Values.ReportLTC.FrmPhase1Periods = this.getPhaseDiff(1);\r\n Values.ReportLTC.FrmPhase1Rate = this.portfolioRecommendationObject.phase1Val || 0;\r\n Values.ReportLTC.FrmPhase2Periods = this.getPhaseDiff(2);\r\n Values.ReportLTC.FrmPhase2Rate = this.isRetired ? this.portfolioRecommendationObject.phase1Val || 0: this.portfolioRecommendationObject.phase2Val || 0;\r\n Values.ReportLTC.FrmPhase3Rate = this.isRetired ? this.portfolioRecommendationObject.phase1Val || 0: this.portfolioRecommendationObject.phase2Val || 0;\r\n\r\n Values.ReportLTC.FinancialObjectiveID = this.getNumber(this.riskToleranceQuestionnaire.value.financialObjective) || 0;\r\n Values.ReportLTC.LevelOfInvestmentID = this.getNumber(this.riskToleranceQuestionnaire.value.levelOfInvestment) || 0;\r\n Values.ReportLTC.LengthOfInvestmentID = this.getNumber(this.riskToleranceQuestionnaire.value.lengthOfInvestment) || 0;\r\n Values.ReportLTC.ToleranceOfRiskID = this.getNumber(this.riskToleranceQuestionnaire.value.toleranceOfRisk) || 0;\r\n Values.ReportLTC.NeedRedeemID = this.getNumber(this.riskToleranceQuestionnaire.value.isRedeemAccount) || 0;\r\n\r\n this.globalService.createReportLTC(Values.Report, Values.ReportLTC)\r\n .subscribe(\r\n resp => {\r\n this.snackBarService.add(\"Please wait while your risk tolerance long-term care report is being generated.\", 0);\r\n \r\n this.downloadReportRiskTolPDF(resp.ReportID, resp.AdvisorID, resp.ClientID, resp.CompanyCode, resp.ReportTypeID);\r\n },\r\n error => this.error = error);\r\n }\r\n }\r\n\r\n downloadReportRiskTolPDF(reportID, advisorID, clientID, orgID, reportTypeID) {\r\n this.loadingService.isLoading(true);\r\n let spouse = JSON.parse(this.client.clientProfile.Spouses);\r\n var ReportFields = { reportID, advisorID, clientID, orgID, ReportTypeID: reportTypeID, token: localStorage.getItem(\"bearer\"), retirementAge: this.client.clientProfile.RetirementAge, spouseRetirementAge: spouse[0].retirementAge || 0 };\r\n\r\n this.globalService.generateReport(ReportFields, this.client.client, ReportFields)\r\n .subscribe(\r\n resp => {\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error;\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n getPhaseDiff(phase) {\r\n const clientAge = Number(this.calculateAge(this.client.client.DOB));\r\n const clientRetirementAge = Number(this.client.clientProfile.RetirementAge);\r\n const clientLE = Number(this.client.clientProfile.LifeExpectancy);\r\n const spouseAge = Number(this.calculateAge(this.client.clientProfile.Spouses[0].dob)) || 0;\r\n const spouseRetirementAge = Number(this.client.clientProfile.Spouses[0].retirementAge) || 0;\r\n const spouseLE = Number(this.client.clientProfile.Spouses[0].LifeExpectancy) || 0;\r\n console.log('getPhaseDiff');\r\n console.log(\r\n clientAge,\r\n clientRetirementAge,\r\n clientLE,\r\n spouseAge,\r\n spouseRetirementAge,\r\n spouseLE\r\n );\r\n\r\n if (spouseAge && spouseRetirementAge) {\r\n if (phase == 1)\r\n return Math.min(Math.max(0, clientRetirementAge - clientAge), Math.max(0, spouseRetirementAge - spouseAge));\r\n if (phase == 2)\r\n return Math.min(Math.max(0, clientLE - clientRetirementAge), Math.max(0, spouseLE - spouseRetirementAge));\r\n } else {\r\n if (phase == 1)\r\n return Math.max(0, clientRetirementAge - clientAge);\r\n if (phase == 2)\r\n return Math.max(0, clientLE - clientRetirementAge);\r\n }\r\n }\r\n\r\n downloadReport(e, report) {\r\n \r\n var reportID = report.reportID;\r\n var advisorID = report.advisorID;\r\n var clientID = report.clientID;\r\n var orgID = report.companyCode;\r\n var reportTypeID = report.reportTypeID;\r\n\r\n var ReportFields = { reportID, advisorID, clientID, orgID, reportTypeID, token: localStorage.getItem(\"bearer\") };\r\n this.snackBarService.add(`Downloading your ${Utils.formatReportTypeID(reportTypeID)} report`, 0);\r\n \r\n this.loadingService.isLoading(true);\r\n\r\n this.globalService.generateReport(ReportFields, report, ReportFields)\r\n .subscribe(\r\n resp => {\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n adjustAgreementSignedTime(evt) {\r\n console.log('this.clientModelV2.riskTolerance.hasSignedAgreement',this.clientModelV2.riskTolerance.hasSignedAgreement)\r\n\r\n if(!this.clientModelV2.riskTolerance.hasSignedAgreement){\r\n console.log('defined');\r\n this.isChecked = evt.target.checked;\r\n if (this.isChecked){\r\n console.log('defined2');\r\n this.lastClickedSignedAgreement = new Date().toLocaleString();\r\n\r\n }\r\n \r\n this.clientModelV2.riskTolerance.hasSignedAgreement = evt.target.checked;\r\n console.log('defined3', this.lastClickedSignedAgreement);\r\n console.log('defined4', this.clientModelV2.riskTolerance.hasSignedAgreement);\r\n }\r\n \r\n }\r\n canSaveRiskTolerance() {\r\n let isValid = true;\r\n if (this.riskToleranceMail.invalid) {\r\n isValid = false;\r\n }\r\n if (this.riskToleranceMail.value.accountType == '2') {\r\n isValid = isValid && this.validateString(this.riskToleranceMail.value.jointOwnerFirstName, true) && this.validateString(this.riskToleranceMail.value.jointOwnerLastName, true);\r\n if (this.riskToleranceMail.value.jointOwnerEmail) {\r\n isValid = isValid && this.validateEmail(this.riskToleranceMail.value.jointOwnerEmail, true);\r\n }\r\n }\r\n if (!this.portfolioRecommendationObject.isMarried && this.riskToleranceMail.value.accountType == '2') {\r\n isValid = isValid && this.isFinalAgreementChecked\r\n }\r\n return isValid;\r\n }\r\n adjustFinalAggrement(evt) {\r\n this.isFinalAgreementChecked = evt.target.checked;\r\n }\r\n\r\n getRiskTolPhaseAOrAn(phase): string {\r\n return ['Aggressive','Income & Growth', 'Income'].includes(phase) ? 'an' : 'a'\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { GlobalService } from '../../services/global.service';\r\n\r\n@Injectable()\r\nexport class ModalService {\r\n public modal$: Observable;\r\n private modalNameSubject: Subject;\r\n\r\n constructor(public global: GlobalService) {\r\n this.modalNameSubject = new Subject();\r\n this.modal$ = this.modalNameSubject.asObservable();\r\n }\r\n\r\n add(modalName: string, data?: any) {\r\n if (modalName == 'add-edit-client' || modalName == 'create-advisor' || modalName == 'risk-tolerance') {\r\n this.global.displayFAB = false;\r\n }\r\n\r\n var modalObj = {\r\n modalName: modalName || '',\r\n data: data || {}\r\n }\r\n this.modalNameSubject.next(modalObj);\r\n }\r\n\r\n // remove() {\r\n // this.selectedModal = {};\r\n // }\r\n\r\n // open() {\r\n // this.selectedModal.open();\r\n // }\r\n\r\n close(){\r\n var modalObj = {\r\n modalName: 'close-now',\r\n data: {}\r\n }\r\n this.modalNameSubject.next(modalObj);\r\n }\r\n\r\n\r\n \r\n\r\n\r\n \r\n}","module.exports = \":host {\\r\\n background-color: #262F34;\\r\\n height: 100%;\\r\\n color: #f5f5f5;\\r\\n}\\r\\n\\r\\n.sidebar-container {\\r\\n display: flex;\\r\\n height: 100%;\\r\\n width: 210px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.user-sidebar-container {\\r\\n /* width: 150px; */\\r\\n width: 100%;\\r\\n background-color: #f5f5f5;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n padding: 10px 0 0 0;\\r\\n -webkit-animation-name: expandUserToPartial;\\r\\n animation-name: expandUserToPartial;\\r\\n -webkit-animation-duration: 0.5s;\\r\\n animation-duration: 0.5s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n\\r\\n.full-width {\\r\\n /* width: 210px; */\\r\\n -webkit-animation-name: expandNavToFull;\\r\\n animation-name: expandNavToFull;\\r\\n -webkit-animation-duration: 0.5s;\\r\\n animation-duration: 0.5s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n -webkit-animation-timing-function: ease-in-out;\\r\\n animation-timing-function: ease-in-out;\\r\\n}\\r\\n\\r\\n.partial-width {\\r\\n /* width: 60px; */\\r\\n -webkit-animation-name: shrinkNavToPartial;\\r\\n animation-name: shrinkNavToPartial;\\r\\n -webkit-animation-duration: 0.5s;\\r\\n animation-duration: 0.5s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n min-width: 60px;\\r\\n}\\r\\n\\r\\n.user-sidebar-close {\\r\\n -webkit-animation-name: shrinkUser;\\r\\n animation-name: shrinkUser;\\r\\n -webkit-animation-duration: 0.5s;\\r\\n animation-duration: 0.5s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes shrinkNavToPartial {\\r\\n 0% {\\r\\n width: 100%;\\r\\n overflow:hidden;\\r\\n }\\r\\n 100% {\\r\\n width: 0%;\\r\\n overflow:hidden;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes shrinkNavToPartial {\\r\\n 0% {\\r\\n width: 100%;\\r\\n overflow:hidden;\\r\\n }\\r\\n 100% {\\r\\n width: 0%;\\r\\n overflow:hidden;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes expandUserToPartial {\\r\\n 0% {\\r\\n width: 0%;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n overflow:hidden;\\r\\n opacity: 0;\\r\\n }\\r\\n 40% {\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n width: 100%;\\r\\n left: 0;\\r\\n overflow:hidden;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes expandUserToPartial {\\r\\n 0% {\\r\\n width: 0%;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n overflow:hidden;\\r\\n opacity: 0;\\r\\n }\\r\\n 40% {\\r\\n opacity: 0;\\r\\n }\\r\\n 100% {\\r\\n width: 100%;\\r\\n left: 0;\\r\\n overflow:hidden;\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n\\r\\n.na {\\r\\n cursor: not-allowed!important;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes expandNavToFull {\\r\\n 0% {\\r\\n width: 80%;\\r\\n }\\r\\n 100% {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes expandNavToFull {\\r\\n 0% {\\r\\n width: 80%;\\r\\n }\\r\\n 100% {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n.sidebar-visible {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.sidebar-hidden {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.nav-item {\\r\\n margin: 10px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.nav-item i {\\r\\n margin: 10px;\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.nav-item a {\\r\\n margin: auto;\\r\\n width: 100%;\\r\\n color: #f5f5f5;\\r\\n text-decoration: none;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.nav-item-child {\\r\\n background-color: #3b4348;\\r\\n}\\r\\n\\r\\n.nav-item-child i {\\r\\n font-size: 5px;\\r\\n margin-left: 25px!important;\\r\\n}\\r\\n\\r\\n.nav-item-child a {\\r\\n font-size: 10px!important;\\r\\n}\\r\\n\\r\\n.selected {\\r\\n background-color: #E58929;\\r\\n}\\r\\n\\r\\n.client-icon {\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n opacity: 0.9;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.client-image {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.client-title {\\r\\n padding-top: 10px;\\r\\n font-size: 14px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.client-input {\\r\\n width: 100%;\\r\\n font-size: 12px;\\r\\n padding: 10px 0 0 0;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.client-input span {\\r\\n margin: 0 0 0 10px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.client-input input {\\r\\n width: 30px;\\r\\n border: none;\\r\\n background-color: #f5f5f5;\\r\\n border-bottom: 1px #555 solid;\\r\\n color: #555;\\r\\n text-align: center;\\r\\n outline: none;\\r\\n cursor: pointer;\\r\\n margin: 0 10px 0 0;\\r\\n}\\r\\n\\r\\n.sidebar-nav-container {\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n/* @media only screen and (max-height: 1100px) {\\r\\n span {\\r\\n font-size: 3px;\\r\\n }\\r\\n} */\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NoYXJlZC9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1osY0FBYztBQUNoQjs7QUFFQTtFQUNFLGFBQWE7RUFDYixZQUFZO0VBQ1osWUFBWTtFQUNaLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gseUJBQXlCO0VBQ3pCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQiwyQ0FBbUM7VUFBbkMsbUNBQW1DO0VBQ25DLGdDQUF3QjtVQUF4Qix3QkFBd0I7RUFDeEIscUNBQTZCO1VBQTdCLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQix1Q0FBK0I7VUFBL0IsK0JBQStCO0VBQy9CLGdDQUF3QjtVQUF4Qix3QkFBd0I7RUFDeEIscUNBQTZCO1VBQTdCLDZCQUE2QjtFQUM3Qiw4Q0FBc0M7VUFBdEMsc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLDBDQUFrQztVQUFsQyxrQ0FBa0M7RUFDbEMsZ0NBQXdCO1VBQXhCLHdCQUF3QjtFQUN4QixxQ0FBNkI7VUFBN0IsNkJBQTZCO0VBQzdCLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxrQ0FBMEI7VUFBMUIsMEJBQTBCO0VBQzFCLGdDQUF3QjtVQUF4Qix3QkFBd0I7RUFDeEIscUNBQTZCO1VBQTdCLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFO0lBQ0UsV0FBVztJQUNYLGVBQWU7RUFDakI7RUFDQTtJQUNFLFNBQVM7SUFDVCxlQUFlO0lBQ2YsVUFBVTtFQUNaO0FBQ0Y7O0FBVkE7RUFDRTtJQUNFLFdBQVc7SUFDWCxlQUFlO0VBQ2pCO0VBQ0E7SUFDRSxTQUFTO0lBQ1QsZUFBZTtJQUNmLFVBQVU7RUFDWjtBQUNGOztBQUVBO0VBQ0U7SUFDRSxTQUFTO0lBQ1Qsa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixlQUFlO0lBQ2YsVUFBVTtFQUNaO0VBQ0E7SUFDRSxVQUFVO0VBQ1o7RUFDQTtJQUNFLFdBQVc7SUFDWCxPQUFPO0lBQ1AsZUFBZTtJQUNmLFVBQVU7RUFDWjtBQUNGOztBQWpCQTtFQUNFO0lBQ0UsU0FBUztJQUNULGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsZUFBZTtJQUNmLFVBQVU7RUFDWjtFQUNBO0lBQ0UsVUFBVTtFQUNaO0VBQ0E7SUFDRSxXQUFXO0lBQ1gsT0FBTztJQUNQLGVBQWU7SUFDZixVQUFVO0VBQ1o7QUFDRjs7QUFHQTtFQUNFLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFO0lBQ0UsVUFBVTtFQUNaO0VBQ0E7SUFDRSxXQUFXO0VBQ2I7QUFDRjs7QUFQQTtFQUNFO0lBQ0UsVUFBVTtFQUNaO0VBQ0E7SUFDRSxXQUFXO0VBQ2I7QUFDRjs7QUFFQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLFlBQVk7RUFDWixhQUFhO0VBQ2IsOEJBQThCO0VBQzlCLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLFlBQVk7RUFDWixXQUFXO0VBQ1gsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsYUFBYTtBQUNmOztBQUVBO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxjQUFjO0VBQ2QscUJBQXFCO0VBQ3JCLGFBQWE7RUFDYixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixZQUFZO0VBQ1osbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsZUFBZTtFQUNmLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLGFBQWE7RUFDYiw4QkFBOEI7RUFDOUIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1oseUJBQXlCO0VBQ3pCLDZCQUE2QjtFQUM3QixXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixlQUFlO0VBQ2Ysa0JBQWtCO0FBQ3BCOztBQUNBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUNBOzs7O0dBSUciLCJmaWxlIjoiLi4vc2hhcmVkL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjJGMzQ7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGNvbG9yOiAjZjVmNWY1O1xyXG59XHJcblxyXG4uc2lkZWJhci1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAyMTBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi51c2VyLXNpZGViYXItY29udGFpbmVyIHtcclxuICAvKiB3aWR0aDogMTUwcHg7ICovXHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDEwcHggMCAwIDA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGV4cGFuZFVzZXJUb1BhcnRpYWw7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG59XHJcblxyXG4uZnVsbC13aWR0aCB7XHJcbiAgLyogd2lkdGg6IDIxMHB4OyAqL1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBleHBhbmROYXZUb0Z1bGw7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4ucGFydGlhbC13aWR0aCB7XHJcbiAgLyogd2lkdGg6IDYwcHg7ICovXHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNocmlua05hdlRvUGFydGlhbDtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgbWluLXdpZHRoOiA2MHB4O1xyXG59XHJcblxyXG4udXNlci1zaWRlYmFyLWNsb3NlIHtcclxuICBhbmltYXRpb24tbmFtZTogc2hyaW5rVXNlcjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2hyaW5rTmF2VG9QYXJ0aWFsIHtcclxuICAwJSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB3aWR0aDogMCU7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBleHBhbmRVc2VyVG9QYXJ0aWFsIHtcclxuICAwJSB7XHJcbiAgICB3aWR0aDogMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLm5hIHtcclxuICBjdXJzb3I6IG5vdC1hbGxvd2VkIWltcG9ydGFudDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBleHBhbmROYXZUb0Z1bGwge1xyXG4gIDAlIHtcclxuICAgIHdpZHRoOiA4MCU7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZWJhci12aXNpYmxlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uc2lkZWJhci1oaWRkZW4ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuICBcclxuLm5hdi1pdGVtIHtcclxuICBtYXJnaW46IDEwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLm5hdi1pdGVtIGkge1xyXG4gIG1hcmdpbjogMTBweDtcclxuICB3aWR0aDogMjVweDtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4ubmF2LWl0ZW0gYSB7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGNvbG9yOiAjZjVmNWY1O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5uYXYtaXRlbS1jaGlsZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNiNDM0ODtcclxufVxyXG5cclxuLm5hdi1pdGVtLWNoaWxkIGkge1xyXG4gIGZvbnQtc2l6ZTogNXB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAyNXB4IWltcG9ydGFudDtcclxufVxyXG5cclxuLm5hdi1pdGVtLWNoaWxkIGEge1xyXG4gIGZvbnQtc2l6ZTogMTBweCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWxlY3RlZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxufVxyXG5cclxuLmNsaWVudC1pY29uIHtcclxuICB3aWR0aDogNTBweDtcclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgb3BhY2l0eTogMC45O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbn1cclxuXHJcbi5jbGllbnQtaW1hZ2Uge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uY2xpZW50LXRpdGxlIHtcclxuICBwYWRkaW5nLXRvcDogMTBweDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5jbGllbnQtaW5wdXQge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jbGllbnQtaW5wdXQgc3BhbiB7XHJcbiAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uY2xpZW50LWlucHV0IGlucHV0IHtcclxuICB3aWR0aDogMzBweDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICBib3JkZXItYm90dG9tOiAxcHggIzU1NSBzb2xpZDtcclxuICBjb2xvcjogIzU1NTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG59XHJcbi5zaWRlYmFyLW5hdi1jb250YWluZXIge1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuLyogQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMTEwMHB4KSB7XHJcbiAgc3BhbiB7XHJcbiAgICBmb250LXNpemU6IDNweDtcclxuICB9XHJcbn0gKi9cclxuXHJcblxyXG5cclxuIl19 */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Home\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Clients\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Leads\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit, NgZone } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\nimport { SidebarService } from '../../services/sidebar.service';\r\nimport { GlobalService } from '../../services/global.service';\r\n\r\nimport { ModalService } from '../modal/modal.service';\r\n\r\nimport 'rxjs/add/operator/filter';\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.css']\r\n})\r\nexport class SidebarComponent implements OnInit {\r\n public screenVisible: Boolean;\r\n public selectedClient: any;\r\n public error: string;\r\n\r\n public userType: number;\r\n public visible: boolean;\r\n public isTopGA: boolean;\r\n\r\n constructor(public sidebarService: SidebarService, private router: Router, private ngZone: NgZone, private globalService: GlobalService,private modalService: ModalService) {\r\n // This sidebar status should only occur when on a report page (viewing, editing, creating)\r\n //console.log(window.screen.height);\r\n this.router.events\r\n .filter(event => event instanceof NavigationEnd)\r\n .subscribe(event => this.handleSidebarStatus((event as NavigationEnd).url));\r\n\r\n // router.events.subscribe((evt) => {\r\n // if (evt.constructor.name === 'NavigationEnd') {\r\n modalService.modal$.subscribe((modal) => {\r\n \r\n });\r\n \r\n // }\r\n // });\r\n\r\n window.onresize = () => { // Detect screen size and resizing\r\n ngZone.run(() => {\r\n if (window.innerWidth < 900 && this.screenVisible) {\r\n this.screenVisible = false;\r\n } else if (window.innerWidth >= 900 && !this.screenVisible) {\r\n this.screenVisible = true;\r\n }\r\n })\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.screenVisible = window.innerWidth < 900 ? false : true;\r\n this.userType = Number(localStorage.getItem('roleId')) || 3;\r\n\r\n this.visible = (Number(localStorage.getItem('orgID')) === 2 || Number(localStorage.getItem('parentID')) === 2) ? true : false;\r\n this.isTopGA = (Number(localStorage.getItem('roleId')) === 2 || Number(localStorage.getItem('roleId')) === 1) && Number(localStorage.getItem('parentID')) === 0 ? true : false;\r\n\r\n if(!this.globalService.hasSetFeatures){\r\n //this.getClientData();\r\n this.globalService.getOrganizationsFeatures();\r\n }\r\n }\r\n\r\n handleSidebarStatus(url) {\r\n if (url === '/reports/create/ss' || url === '/reports/create/mmt' || url === '/reports/create/ltc') {\r\n // this.sidebarService.openPartial();\r\n // this.getClientData();\r\n } else {\r\n this.sidebarService.open();\r\n }\r\n }\r\n\r\n getClientData() {\r\n this.globalService.getClientData(Number(localStorage.getItem(\"selectedClient\")), 4)\r\n .subscribe(\r\n client => { this.selectedClient = client; },\r\n error => this.error = error);\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n\r\n handleContactUsModal(e) {\r\n this.modalService.add('contact-support', { ID: Number(localStorage.getItem(\"userId\"))});\r\n }\r\n\r\n closeModal(){\r\n //console.log('on clcik');\r\n this.modalService.close();\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n height: 100px;\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n z-index: 10001;\\r\\n pointer-events: none;\\r\\n position: fixed;\\r\\n}\\r\\n\\r\\n.visible > :host {\\r\\n pointer-events: auto;\\r\\n}\\r\\n\\r\\n.snackbar {\\r\\n width: 100%;\\r\\n height: 0px;\\r\\n background-color: #3a87c7 !important;\\r\\n display: flex;\\r\\n position: absolute;\\r\\n visibility: hidden;\\r\\n bottom: 0;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.snackbar span {\\r\\n padding-right: 50px !important; \\r\\n font-size: 1.2rem;\\r\\n color: #fff;\\r\\n margin-left: 25px !important;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.snackbar i {\\r\\n font-size: 1.5rem;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.visible {\\r\\n /* display: flex;\\r\\n animation: animateIn;\\r\\n animation-duration: 3s;\\r\\n animation-fill-mode: forwards;\\r\\n animation-timing-function: linear;\\r\\n pointer-events: auto; */\\r\\n}\\r\\n\\r\\n@-webkit-keyframes animateIn {\\r\\n 0% {\\r\\n max-height: 0px;\\r\\n height: 0px;\\r\\n visibility: visible;\\r\\n }\\r\\n 5% {\\r\\n max-height: 100px;\\r\\n height: 100px;\\r\\n }\\r\\n 85% {\\r\\n opacity: 1;\\r\\n }\\r\\n 92% {\\r\\n max-height: 100px;\\r\\n height: 100px;\\r\\n }\\r\\n 100% {\\r\\n max-height: 0px;\\r\\n height: 0px;\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes animateIn {\\r\\n 0% {\\r\\n max-height: 0px;\\r\\n height: 0px;\\r\\n visibility: visible;\\r\\n }\\r\\n 5% {\\r\\n max-height: 100px;\\r\\n height: 100px;\\r\\n }\\r\\n 85% {\\r\\n opacity: 1;\\r\\n }\\r\\n 92% {\\r\\n max-height: 100px;\\r\\n height: 100px;\\r\\n }\\r\\n 100% {\\r\\n max-height: 0px;\\r\\n height: 0px;\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NoYXJlZC9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsU0FBUztJQUNULGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxXQUFXO0lBQ1gscUNBQXFDO0lBQ3JDLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCx1QkFBdUI7SUFDdkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksOEJBQThCO0lBQzlCLGlCQUFpQjtJQUNqQixXQUFXO0lBQ1gsNEJBQTRCO0lBQzVCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixXQUFXO0FBQ2Y7O0FBRUE7SUFDSTs7Ozs7MkJBS3VCO0FBQzNCOztBQUVBO0lBQ0k7UUFDSSxlQUFlO1FBQ2YsV0FBVztRQUNYLG1CQUFtQjtJQUN2QjtJQUNBO1FBQ0ksaUJBQWlCO1FBQ2pCLGFBQWE7SUFDakI7SUFDQTtRQUNJLFVBQVU7SUFDZDtJQUNBO1FBQ0ksaUJBQWlCO1FBQ2pCLGFBQWE7SUFDakI7SUFDQTtRQUNJLGVBQWU7UUFDZixXQUFXO1FBQ1gsVUFBVTtRQUNWLGtCQUFrQjtJQUN0QjtBQUNKOztBQXZCQTtJQUNJO1FBQ0ksZUFBZTtRQUNmLFdBQVc7UUFDWCxtQkFBbUI7SUFDdkI7SUFDQTtRQUNJLGlCQUFpQjtRQUNqQixhQUFhO0lBQ2pCO0lBQ0E7UUFDSSxVQUFVO0lBQ2Q7SUFDQTtRQUNJLGlCQUFpQjtRQUNqQixhQUFhO0lBQ2pCO0lBQ0E7UUFDSSxlQUFlO1FBQ2YsV0FBVztRQUNYLFVBQVU7UUFDVixrQkFBa0I7SUFDdEI7QUFDSiIsImZpbGUiOiIuLi9zaGFyZWQvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHotaW5kZXg6IDEwMDAxO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbn1cclxuXHJcbi52aXNpYmxlID4gOmhvc3Qge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbn1cclxuXHJcbi5zbmFja2JhciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhODdjNyAgIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5zbmFja2JhciBzcGFuIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHggIWltcG9ydGFudDsgXHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI1cHggIWltcG9ydGFudDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5zbmFja2JhciBpIHtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi52aXNpYmxlIHtcclxuICAgIC8qIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbmltYXRpb246IGFuaW1hdGVJbjtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyAqL1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVJbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMHB4O1xyXG4gICAgICAgIGhlaWdodDogMHB4O1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICA1JSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIH1cclxuICAgIDg1JSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgIDkyJSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDBweDtcclxuICAgICAgICBoZWlnaHQ6IDBweDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxufSJdfQ== */\"","module.exports = \"
\\r\\n \\r\\n \\r\\n
here
\\r\\n \\r\\n
\"","import { Component, OnInit, Input, ViewChild, ElementRef, Renderer2 } from '@angular/core';\r\n\r\nimport { GlobalService } from '../../services/global.service';\r\nimport { SnackBarService } from './snackbar.service';\r\n\r\n@Component({\r\n selector: 'app-snackbar',\r\n templateUrl: './snackbar.component.html',\r\n styleUrls: ['./snackbar.component.css']\r\n})\r\n\r\nexport class SnackBarComponent implements OnInit {\r\n public message: string = \"\";\r\n public type: number;\r\n public visible: boolean = false;\r\n public duration: number = 3000;\r\n public clickable: number = 0;\r\n\r\n @ViewChild('snackbar') snackbar: ElementRef;\r\n\r\n constructor(private snackBarService: SnackBarService, private renderer: Renderer2) {\r\n snackBarService.snackBar$.subscribe(snackbar => {\r\n this.message = snackbar.message;\r\n this.type = snackbar.type;\r\n this.clickable = snackbar.clickable;\r\n this.duration = snackbar.duration;\r\n this.showSnackBar();\r\n })\r\n }\r\n\r\n showSnackBar(): void {\r\n this.renderer.setStyle(this.snackbar.nativeElement, 'display', 'flex');\r\n this.renderer.setStyle(this.snackbar.nativeElement, 'animation', 'animateIn');\r\n this.renderer.setStyle(this.snackbar.nativeElement, 'animation-duration', (this.duration / 1000).toString() + 's');\r\n this.renderer.setStyle(this.snackbar.nativeElement, 'animation-fill-mode', 'forwards');\r\n this.renderer.setStyle(this.snackbar.nativeElement, 'animation-timing-function', 'linear');\r\n this.renderer.setStyle(this.snackbar.nativeElement, 'pointer-events', 'auto');\r\n\r\n // this.visible = true;\r\n\r\n setTimeout(() => {\r\n // console.log(this.duration);\r\n this.renderer.setStyle(this.snackbar.nativeElement, 'display', 'none');\r\n this.renderer.setStyle(this.snackbar.nativeElement, 'animation', '');\r\n this.renderer.setStyle(this.snackbar.nativeElement, 'animation-duration', '');\r\n this.renderer.setStyle(this.snackbar.nativeElement, 'animation-fill-mode', '');\r\n this.renderer.setStyle(this.snackbar.nativeElement, 'animation-timing-function', '');\r\n this.renderer.setStyle(this.snackbar.nativeElement, 'pointer-events', 'none');\r\n }, this.duration);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Subject } from 'rxjs/Subject';\r\n\r\n@Injectable()\r\nexport class SnackBarService {\r\n public snackBar$: Observable;\r\n private snackBarSubject: Subject;\r\n \r\n constructor() {\r\n this.snackBarSubject = new Subject();\r\n this.snackBar$ = this.snackBarSubject.asObservable();\r\n }\r\n \r\n add(message: string, type: any, clickable: number = 0, duration: number = 3000) {\r\n var snackBarMessage = {\r\n message,\r\n type,\r\n clickable,\r\n duration\r\n }\r\n \r\n this.snackBarSubject.next(snackBarMessage);\r\n }\r\n }","module.exports = \":host {\\r\\n position: absolute;\\r\\n z-index: 10;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.transparent {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n opacity: 0.7;\\r\\n background-color: #000;\\r\\n}\\r\\n\\r\\n.welcome-message {\\r\\n width: 500px;\\r\\n height: 250px;\\r\\n margin: 0 auto;\\r\\n position: absolute;\\r\\n background-color: #f5f5f5;\\r\\n left: 0;\\r\\n right: 0;\\r\\n top: 30%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n border-radius: 10px;\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\n.bell-icon {\\r\\n border-radius: 100%;\\r\\n border: 3px #ff0000 solid;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.welcome-message .title {\\r\\n font-size: 18px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.welcome-message .info {\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n padding: 0 25px 0 25px;\\r\\n}\\r\\n\\r\\n.buttons {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: space-around;\\r\\n}\\r\\n\\r\\n.bell-icon i {\\r\\n font-size: 36px;\\r\\n color: #ff0000 ;\\r\\n}\\r\\n\\r\\n.org-welcome-close {\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n margin: 10px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\nbutton {\\r\\n background-color: #E58929;\\r\\n width: 200px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 5px 0 5px;\\r\\n cursor: pointer;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n border: none;\\r\\n padding: 10px 20px 10px 20px;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.isVisible {\\r\\n pointer-events: all;\\r\\n}\\r\\n\\r\\n.isHidden {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NoYXJlZC90aW1lb3V0L3RpbWVvdXQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsTUFBTTtJQUNOLE9BQU87SUFDUCxXQUFXO0lBQ1gsWUFBWTtJQUNaLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLFdBQVc7SUFDWCxZQUFZO0lBQ1osWUFBWTtJQUNaLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFlBQVk7SUFDWixhQUFhO0lBQ2IsY0FBYztJQUNkLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsT0FBTztJQUNQLFFBQVE7SUFDUixRQUFRO0lBQ1IsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsMEJBQTBCO0lBQzFCLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsV0FBVztBQUNmOztBQUVBO0VBQ0UsZUFBZTtFQUNmLFdBQVc7RUFDWCxzQkFBc0I7QUFDeEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsV0FBVztJQUNYLDZCQUE2QjtBQUNqQzs7QUFFQTtJQUNJLGVBQWU7SUFDZixlQUFlO0FBQ25COztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixNQUFNO0lBQ04sWUFBWTtJQUNaLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGFBQWE7SUFDYiw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixlQUFlO0lBQ2YsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLDRCQUE0QjtJQUM1QixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxvQkFBb0I7QUFDeEIiLCJmaWxlIjoiLi4vc2hhcmVkL3RpbWVvdXQvdGltZW91dC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLnRyYW5zcGFyZW50IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi53ZWxjb21lLW1lc3NhZ2Uge1xyXG4gICAgd2lkdGg6IDUwMHB4O1xyXG4gICAgaGVpZ2h0OiAyNTBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMzAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIHBhZGRpbmc6IDI1cHg7XHJcbn1cclxuXHJcbi5iZWxsLWljb24ge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIGJvcmRlcjogM3B4ICNmZjAwMDAgIHNvbGlkO1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ud2VsY29tZS1tZXNzYWdlIC50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLndlbGNvbWUtbWVzc2FnZSAuaW5mbyB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIHBhZGRpbmc6IDAgMjVweCAwIDI1cHg7XHJcbn1cclxuXHJcbi5idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG59XHJcblxyXG4uYmVsbC1pY29uIGkge1xyXG4gICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgY29sb3I6ICNmZjAwMDAgO1xyXG59XHJcblxyXG4ub3JnLXdlbGNvbWUtY2xvc2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgNXB4IDAgNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4IDIwcHg7XHJcbiAgICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLmlzVmlzaWJsZSB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xyXG59XHJcblxyXG4uaXNIaWRkZW4ge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuIl19 */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n

You have been idle for more than 15 minutes

\\r\\n If you would like to continue with your session, please click continue or else you will be logged out.\\r\\n

Logging out in: {{countdownTimer}} seconds

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, Input, ViewChild, ElementRef, Renderer2, HostListener } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n//import { Observable } from 'rxjs';\r\n\r\nimport { interval } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-activity-timeout',\r\n templateUrl: './timeout.component.html',\r\n styleUrls: ['./timeout.component.css']\r\n})\r\n\r\nexport class TimeoutComponent implements OnInit {\r\n public visible: boolean = false;\r\n public movedTime: any = Date.now();\r\n public interval: any = 1000;\r\n public timeoutLimit: any = 1200000;\r\n public countdownTimer: any = 30;\r\n public isCountingDown: boolean = false;\r\n\r\n constructor(private router: Router) {}\r\n\r\n @HostListener('document:mousemove', ['$event']) \r\n onMouseMove(e) {\r\n this.movedTime = Date.now();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n var timeDiff;\r\n \r\n interval(this.interval).pipe(\r\n takeWhile(() => localStorage.getItem('bearer') && localStorage.getItem('bearer').length > 0)\r\n ).subscribe(i => {\r\n timeDiff = Date.now() - this.movedTime;\r\n\r\n if (timeDiff > this.timeoutLimit && !this.isCountingDown) {\r\n this.isCountingDown = true;\r\n this.countDown();\r\n }\r\n });\r\n }\r\n\r\n countDown() {\r\n this.visible = true;\r\n\r\n interval(1000).pipe(\r\n takeWhile(() => this.visible)\r\n ).subscribe(i => {\r\n if (this.countdownTimer <= 0) {\r\n this.logout();\r\n } else {\r\n this.countdownTimer -= 1;\r\n }\r\n });\r\n }\r\n\r\n continue() {\r\n this.visible = false;\r\n this.isCountingDown = false;\r\n this.movedTime = Date.now();\r\n this.countdownTimer = 30;\r\n }\r\n\r\n logout() {\r\n localStorage.clear();\r\n\r\n this.visible = false;\r\n this.isCountingDown = false;\r\n this.movedTime = Date.now();\r\n this.countdownTimer = 30;\r\n \r\n this.router.navigateByUrl('login');\r\n }\r\n\r\n}\r\n","module.exports = \":host {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n height: 70px;\\r\\n background-color: #fff;\\r\\n}\\r\\n \\r\\n.org-name {\\r\\n width: 100%;\\r\\n height: 70px;\\r\\n margin: auto;\\r\\n}\\r\\n \\r\\n.org-name span {\\r\\n font-size: 20px;\\r\\n color: #555;\\r\\n}\\r\\n \\r\\n.org-name img {\\r\\n height: 50px;\\r\\n margin-left: 15px;\\r\\n}\\r\\n \\r\\n.org-name div {\\r\\n width: 210px;\\r\\n}\\r\\n \\r\\n.fa-cog {\\r\\n font-size: 2.1rem;\\r\\n color: #999;\\r\\n}\\r\\n \\r\\n.fa-bell {\\r\\n font-size: 1.7rem;\\r\\n color: #999;\\r\\n}\\r\\n \\r\\n.search {\\r\\n border-radius: 80px;\\r\\n border: 1px #cecece solid;\\r\\n align-items: center;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n height: 35px;\\r\\n margin: 10px 30px 0px 0px;\\r\\n background-color: #fff;\\r\\n}\\r\\n \\r\\n.search input {\\r\\n min-width: 200px;\\r\\n vertical-align: middle;\\r\\n border: none;\\r\\n outline: none;\\r\\n padding: 10px;\\r\\n background: none;\\r\\n color: #cecece;\\r\\n}\\r\\n \\r\\n.search input::-moz-placeholder {\\r\\n color: #e0e0e0;\\r\\n}\\r\\n \\r\\n.search input:-ms-input-placeholder {\\r\\n color: #e0e0e0;\\r\\n}\\r\\n \\r\\n.search input::placeholder {\\r\\n color: #e0e0e0;\\r\\n}\\r\\n \\r\\n.icon-container {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n border-left: 1px #cecece solid;\\r\\n padding-left: 5px;\\r\\n height: 100%;\\r\\n cursor: pointer;\\r\\n border-top-right-radius: 80px;\\r\\n border-bottom-right-radius: 80px;\\r\\n}\\r\\n \\r\\n.search i {\\r\\n color: #cecece;\\r\\n margin: 0px 8px 3px 0px;\\r\\n}\\r\\n \\r\\n.notification {\\r\\n margin: 10px 20px 5px 20px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n position: relative;\\r\\n height: 40px;\\r\\n width: 40px;\\r\\n cursor: pointer;\\r\\n padding: 5px 0 0 0;\\r\\n}\\r\\n \\r\\n.notification div {\\r\\n background-color: red;\\r\\n color: #fff;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n border-radius: 10px;\\r\\n font-size: 12px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 0;\\r\\n margin-top: -5px;\\r\\n margin-right: -3px;\\r\\n}\\r\\n \\r\\n.user-profile {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n min-width: 75px;\\r\\n margin: 3px 20px 0px 20px;\\r\\n cursor: pointer;\\r\\n position: relative;\\r\\n}\\r\\n \\r\\n.user-profile .user {\\r\\n color: #555;\\r\\n}\\r\\n \\r\\n.user-profile span {\\r\\n color: #555;\\r\\n font-size: 1rem;\\r\\n /* margin-left: 10px;\\r\\n margin-right: 10px; */\\r\\n text-align: right;\\r\\n float: right;\\r\\n padding-right: 20px;\\r\\n}\\r\\n \\r\\n.user-profile .caret {\\r\\n color: #555;\\r\\n margin-left: 5px;\\r\\n cursor: pointer;\\r\\n}\\r\\n \\r\\n.user-profile .profile-image {\\r\\n padding: 0 30px 0 0;\\r\\n}\\r\\n \\r\\n.options {\\r\\n display: flex;\\r\\n}\\r\\n \\r\\n.profile-image img {\\r\\n width: 45px;\\r\\n height: 45px;\\r\\n border-radius: 100%;\\r\\n border: 2px #E58929 solid;\\r\\n}\\r\\n \\r\\n.dropdown {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n position: absolute;\\r\\n justify-content: space-around;\\r\\n top: 61px;\\r\\n right: 0;\\r\\n width: 300px;\\r\\n background-color: #fff;\\r\\n z-index: 1;\\r\\n min-height: 0px;\\r\\n line-height: 0px;\\r\\n overflow: hidden;\\r\\n border: 0px #fff solid;\\r\\n padding: 0px;\\r\\n}\\r\\n \\r\\n.dropdown a {\\r\\n text-decoration: underline;\\r\\n color: #E58929;\\r\\n font-size: 1rem;\\r\\n}\\r\\n \\r\\n.dropdown-visible {\\r\\n -webkit-animation-name: handleDropDownExpand;\\r\\n animation-name: handleDropDownExpand;\\r\\n -webkit-animation-duration: 0.2s;\\r\\n animation-duration: 0.2s;\\r\\n -webkit-animation-timing-function: ease-out;\\r\\n animation-timing-function: ease-out;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n border: 1px #999 solid;\\r\\n padding: 10px;\\r\\n}\\r\\n \\r\\n.dropdown-hidden {\\r\\n -webkit-animation-name: handleDropDownShrink;\\r\\n animation-name: handleDropDownShrink;\\r\\n -webkit-animation-duration: 0.2s;\\r\\n animation-duration: 0.2s;\\r\\n -webkit-animation-timing-function: ease-out;\\r\\n animation-timing-function: ease-out;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n border: 0px #fff solid;\\r\\n padding: 0px;\\r\\n}\\r\\n \\r\\n.dd-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n flex: 1;\\r\\n justify-content: space-around;\\r\\n}\\r\\n \\r\\n.right-top-arrow {\\r\\n position: absolute;\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n border-top: 1px #999 solid;\\r\\n border-left: 1px #999 solid;\\r\\n background-color: #fff;\\r\\n right: 0;\\r\\n top: 0;\\r\\n margin-top: -9px;\\r\\n margin-right: 9px;\\r\\n transform: Rotate(45deg);\\r\\n}\\r\\n \\r\\n@-webkit-keyframes handleDropDownExpand {\\r\\n 0% {\\r\\n min-height: 0px;\\r\\n line-height: 0px;\\r\\n overflow: visible;\\r\\n }\\r\\n 100% {\\r\\n min-height: 100px;\\r\\n line-height: 10px;\\r\\n overflow: visible;\\r\\n }\\r\\n}\\r\\n \\r\\n@keyframes handleDropDownExpand {\\r\\n 0% {\\r\\n min-height: 0px;\\r\\n line-height: 0px;\\r\\n overflow: visible;\\r\\n }\\r\\n 100% {\\r\\n min-height: 100px;\\r\\n line-height: 10px;\\r\\n overflow: visible;\\r\\n }\\r\\n}\\r\\n \\r\\n@-webkit-keyframes handleDropDownShrink {\\r\\n 0% {\\r\\n min-height: 100px;\\r\\n line-height: 10px;\\r\\n overflow: visible;\\r\\n }\\r\\n 100% {\\r\\n min-height: 0px;\\r\\n line-height: 0px;\\r\\n overflow: hidden;\\r\\n }\\r\\n}\\r\\n \\r\\n@keyframes handleDropDownShrink {\\r\\n 0% {\\r\\n min-height: 100px;\\r\\n line-height: 10px;\\r\\n overflow: visible;\\r\\n }\\r\\n 100% {\\r\\n min-height: 0px;\\r\\n line-height: 0px;\\r\\n overflow: hidden;\\r\\n }\\r\\n}\\r\\n \\r\\n@media (max-width:641px) {\\r\\n .org-name div {\\r\\n \\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NoYXJlZC90b3BuYXYvdG9wbmF2LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxhQUFhO0lBQ2IsV0FBVztJQUNYLFlBQVk7SUFDWixzQkFBc0I7QUFDMUI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLFlBQVk7QUFDZDs7QUFFQTtFQUNFLGVBQWU7RUFDZixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxZQUFZO0VBQ1osaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsNkJBQTZCO0VBQzdCLFlBQVk7RUFDWix5QkFBeUI7RUFDekIsc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLHNCQUFzQjtFQUN0QixZQUFZO0VBQ1osYUFBYTtFQUNiLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRkE7RUFDRSxjQUFjO0FBQ2hCOztBQUZBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osZUFBZTtFQUNmLDZCQUE2QjtFQUM3QixnQ0FBZ0M7QUFDbEM7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsMEJBQTBCO0VBQzFCLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixXQUFXO0VBQ1gsZUFBZTtFQUNmLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsWUFBWTtFQUNaLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZix5QkFBeUI7RUFDekIsZUFBZTtFQUNmLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxlQUFlO0NBQ2hCO3VCQUNzQjtFQUNyQixpQkFBaUI7RUFDakIsWUFBWTtFQUNaLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLDZCQUE2QjtFQUM3QixTQUFTO0VBQ1QsUUFBUTtFQUNSLFlBQVk7RUFDWixzQkFBc0I7RUFDdEIsVUFBVTtFQUNWLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLHNCQUFzQjtFQUN0QixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSwwQkFBMEI7RUFDMUIsY0FBYztFQUNkLGVBQWU7QUFDakI7O0FBRUE7RUFDRSw0Q0FBb0M7VUFBcEMsb0NBQW9DO0VBQ3BDLGdDQUF3QjtVQUF4Qix3QkFBd0I7RUFDeEIsMkNBQW1DO1VBQW5DLG1DQUFtQztFQUNuQyxxQ0FBNkI7VUFBN0IsNkJBQTZCO0VBQzdCLHNCQUFzQjtFQUN0QixhQUFhO0FBQ2Y7O0FBRUE7RUFDRSw0Q0FBb0M7VUFBcEMsb0NBQW9DO0VBQ3BDLGdDQUF3QjtVQUF4Qix3QkFBd0I7RUFDeEIsMkNBQW1DO1VBQW5DLG1DQUFtQztFQUNuQyxxQ0FBNkI7VUFBN0IsNkJBQTZCO0VBQzdCLHNCQUFzQjtFQUN0QixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLE9BQU87RUFDUCw2QkFBNkI7QUFDL0I7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFlBQVk7RUFDWiwwQkFBMEI7RUFDMUIsMkJBQTJCO0VBQzNCLHNCQUFzQjtFQUN0QixRQUFRO0VBQ1IsTUFBTTtFQUNOLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0U7SUFDRSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtFQUNuQjtFQUNBO0lBQ0UsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixpQkFBaUI7RUFDbkI7QUFDRjs7QUFYQTtFQUNFO0lBQ0UsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixpQkFBaUI7RUFDbkI7RUFDQTtJQUNFLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsaUJBQWlCO0VBQ25CO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsaUJBQWlCO0VBQ25CO0VBQ0E7SUFDRSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtFQUNsQjtBQUNGOztBQVhBO0VBQ0U7SUFDRSxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtFQUNuQjtFQUNBO0lBQ0UsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixnQkFBZ0I7RUFDbEI7QUFDRjs7QUFHQTtFQUNFOztFQUVBO0FBQ0YiLCJmaWxlIjoiLi4vc2hhcmVkL3RvcG5hdi90b3BuYXYuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNzBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuICBcclxuLm9yZy1uYW1lIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDcwcHg7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG59XHJcblxyXG4ub3JnLW5hbWUgc3BhbiB7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4ub3JnLW5hbWUgaW1nIHtcclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbn1cclxuXHJcbi5vcmctbmFtZSBkaXYge1xyXG4gIHdpZHRoOiAyMTBweDtcclxufVxyXG5cclxuLmZhLWNvZyB7XHJcbiAgZm9udC1zaXplOiAyLjFyZW07XHJcbiAgY29sb3I6ICM5OTk7XHJcbn1cclxuXHJcbi5mYS1iZWxsIHtcclxuICBmb250LXNpemU6IDEuN3JlbTtcclxuICBjb2xvcjogIzk5OTtcclxufVxyXG5cclxuLnNlYXJjaCB7XHJcbiAgYm9yZGVyLXJhZGl1czogODBweDtcclxuICBib3JkZXI6IDFweCAjY2VjZWNlIHNvbGlkO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICBoZWlnaHQ6IDM1cHg7XHJcbiAgbWFyZ2luOiAxMHB4IDMwcHggMHB4IDBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uc2VhcmNoIGlucHV0IHtcclxuICBtaW4td2lkdGg6IDIwMHB4O1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gIGNvbG9yOiAjY2VjZWNlO1xyXG59XHJcblxyXG4uc2VhcmNoIGlucHV0OjpwbGFjZWhvbGRlciB7XHJcbiAgY29sb3I6ICNlMGUwZTA7XHJcbn1cclxuXHJcbi5pY29uLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGJvcmRlci1sZWZ0OiAxcHggI2NlY2VjZSBzb2xpZDtcclxuICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4MHB4O1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA4MHB4O1xyXG59XHJcblxyXG4uc2VhcmNoIGkge1xyXG4gIGNvbG9yOiAjY2VjZWNlO1xyXG4gIG1hcmdpbjogMHB4IDhweCAzcHggMHB4O1xyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uIHtcclxuICBtYXJnaW46IDEwcHggMjBweCA1cHggMjBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogNDBweDtcclxuICB3aWR0aDogNDBweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgcGFkZGluZzogNXB4IDAgMCAwO1xyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uIGRpdiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGhlaWdodDogMjBweDtcclxuICB3aWR0aDogMjBweDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBtYXJnaW4tdG9wOiAtNXB4O1xyXG4gIG1hcmdpbi1yaWdodDogLTNweDtcclxufVxyXG5cclxuLnVzZXItcHJvZmlsZSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1pbi13aWR0aDogNzVweDtcclxuICBtYXJnaW46IDNweCAyMHB4IDBweCAyMHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi51c2VyLXByb2ZpbGUgLnVzZXIge1xyXG4gIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4udXNlci1wcm9maWxlIHNwYW4ge1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuIC8qICBtYXJnaW4tbGVmdDogMTBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7ICovXHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi51c2VyLXByb2ZpbGUgLmNhcmV0IHtcclxuICBjb2xvcjogIzU1NTtcclxuICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnVzZXItcHJvZmlsZSAucHJvZmlsZS1pbWFnZSB7XHJcbiAgcGFkZGluZzogMCAzMHB4IDAgMDtcclxufVxyXG5cclxuLm9wdGlvbnMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5wcm9maWxlLWltYWdlIGltZyB7XHJcbiAgd2lkdGg6IDQ1cHg7XHJcbiAgaGVpZ2h0OiA0NXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgYm9yZGVyOiAycHggI0U1ODkyOSBzb2xpZDtcclxufVxyXG5cclxuLmRyb3Bkb3duIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIHRvcDogNjFweDtcclxuICByaWdodDogMDtcclxuICB3aWR0aDogMzAwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICB6LWluZGV4OiAxO1xyXG4gIG1pbi1oZWlnaHQ6IDBweDtcclxuICBsaW5lLWhlaWdodDogMHB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYm9yZGVyOiAwcHggI2ZmZiBzb2xpZDtcclxuICBwYWRkaW5nOiAwcHg7XHJcbn1cclxuXHJcbi5kcm9wZG93biBhIHtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICBjb2xvcjogI0U1ODkyOTtcclxuICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbi5kcm9wZG93bi12aXNpYmxlIHtcclxuICBhbmltYXRpb24tbmFtZTogaGFuZGxlRHJvcERvd25FeHBhbmQ7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGJvcmRlcjogMXB4ICM5OTkgc29saWQ7XHJcbiAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLmRyb3Bkb3duLWhpZGRlbiB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGhhbmRsZURyb3BEb3duU2hyaW5rO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICBib3JkZXI6IDBweCAjZmZmIHNvbGlkO1xyXG4gIHBhZGRpbmc6IDBweDtcclxufVxyXG5cclxuLmRkLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGZsZXg6IDE7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbn1cclxuXHJcbi5yaWdodC10b3AtYXJyb3cge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgYm9yZGVyLXRvcDogMXB4ICM5OTkgc29saWQ7XHJcbiAgYm9yZGVyLWxlZnQ6IDFweCAjOTk5IHNvbGlkO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIG1hcmdpbi10b3A6IC05cHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiA5cHg7XHJcbiAgdHJhbnNmb3JtOiBSb3RhdGUoNDVkZWcpO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGhhbmRsZURyb3BEb3duRXhwYW5kIHtcclxuICAwJSB7XHJcbiAgICBtaW4taGVpZ2h0OiAwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMHB4O1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgbWluLWhlaWdodDogMTAwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTBweDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBoYW5kbGVEcm9wRG93blNocmluayB7XHJcbiAgMCUge1xyXG4gICAgbWluLWhlaWdodDogMTAwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTBweDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG1pbi1oZWlnaHQ6IDBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOjY0MXB4KSB7XHJcbiAgLm9yZy1uYW1lIGRpdiB7XHJcbiAgICBcclxuICB9XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n

\\r\\n {{user.firstName + ' ' + user.lastName}}
\\r\\n Edit Profile\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n LOGOUT\\r\\n
\\r\\n\\r\\n
\"","import { Component, ElementRef, ViewChild, Input, OnInit, OnDestroy, Renderer } from '@angular/core';\r\n\r\nimport { AuthService } from '../../auth/auth.service';\r\nimport { UserService } from '../../services/user.service';\r\nimport { ModalService } from '../modal/modal.service';\r\n\r\nimport { User } from '../../models/user';\r\n\r\n@Component({\r\n selector: 'app-topnav',\r\n templateUrl: './topnav.component.html',\r\n styleUrls: ['./topnav.component.css']\r\n})\r\n\r\nexport class TopnavComponent implements OnInit, OnDestroy {\r\n @Input('notifications') notifications: number;\r\n\r\n public profileImage = \"\";\r\n\r\n public logoImage = \"\";\r\n\r\n @ViewChild('searchInput') searchInput: ElementRef;\r\n @ViewChild('searchIconContainer') searchIconContainer: ElementRef;\r\n @ViewChild('searchIcon') searchIcon: ElementRef;\r\n\r\n @ViewChild('notificationContainer') notificationContainer: ElementRef;\r\n @ViewChild('notificationIcon') notificationIcon: ElementRef;\r\n @ViewChild('notificationCount') notificationCount: ElementRef;\r\n\r\n @ViewChild('userProfile') userProfile: ElementRef;\r\n @ViewChild('userDropDown') userDropDown: ElementRef;\r\n\r\n user: User;\r\n // userName: string;\r\n\r\n constructor(private renderer: Renderer, public auth: AuthService, private modalService: ModalService, private userService: UserService) {\r\n modalService.modal$.subscribe((modal) => {\r\n if (modal.modalName == 'edit-profileClosed') { // TODO: Fix this hack -- naming it hidden.. modals in general need to be refactored\r\n this.profileImage = localStorage.getItem('profilePhotoPath') !== 'null' ? \"https://web234.hvsfinancial.com/portal-shared/\" + localStorage.getItem('profilePhotoPath') : 'https://web234.hvsfinancial.com/portal-shared/anon_user.png';\r\n this.logoImage = localStorage.getItem('logoPhotoPath') !== 'null' ? \"https://web234.hvsfinancial.com/portal-shared/\" + localStorage.getItem('logoPhotoPath') : 'https://web234.hvsfinancial.com/portal-shared/logo.png';\r\n this.user.firstName = localStorage.getItem('firstName');\r\n this.user.lastName = localStorage.getItem('lastName');\r\n // console.log(this.user);\r\n } \r\n });\r\n\r\n this.notifications = 5;\r\n }\r\n\r\n ngOnInit() {\r\n this.user = this.userService.getUserInformation();\r\n this.profileImage = localStorage.getItem('profilePhotoPath') !== 'null' ? \"https://web234.hvsfinancial.com/portal-shared/\" + localStorage.getItem('profilePhotoPath') : 'https://web234.hvsfinancial.com/portal-shared/anon_user.png';\r\n this.logoImage = localStorage.getItem('logoPhotoPath') !== 'null' ? \"https://web234.hvsfinancial.com/portal-shared/\" + localStorage.getItem('logoPhotoPath') : 'https://web234.hvsfinancial.com/portal-shared/logo.png';\r\n }\r\n\r\n searchFocus() {\r\n this.searchInput.nativeElement.placeholder = \"\";\r\n this.searchInput.nativeElement.style.color = \"#555\";\r\n this.searchIcon.nativeElement.style.color = \"#555\";\r\n }\r\n\r\n searchFocusOut() {\r\n this.searchInput.nativeElement.style.color = \"#e0e0e0\";\r\n this.searchIcon.nativeElement.style.color = \"#555\";\r\n }\r\n\r\n handleNotificationClick(e) {\r\n \r\n }\r\n\r\n handleSearch(e) {\r\n \r\n }\r\n\r\n handleUserNav(e) {\r\n if (this.userDropDown.nativeElement.classList.contains('dropdown-visible')) {\r\n this.renderer.setElementClass(this.userDropDown.nativeElement, 'dropdown-visible', null);\r\n this.renderer.setElementClass(this.userDropDown.nativeElement, 'dropdown-hidden', true);\r\n } else if (this.userDropDown.nativeElement.classList.contains('dropdown-hidden')) {\r\n this.renderer.setElementClass(this.userDropDown.nativeElement, 'dropdown-hidden', null);\r\n this.renderer.setElementClass(this.userDropDown.nativeElement, 'dropdown-visible', true);\r\n } else {\r\n this.renderer.setElementClass(this.userDropDown.nativeElement, 'dropdown-visible', true);\r\n }\r\n }\r\n\r\n handleContactUsModal(e) {\r\n this.modalService.add('contact-support', { ID: Number(localStorage.getItem(\"userId\"))});\r\n }\r\n\r\n handleEditProfileModal(e) {\r\n this.modalService.add('edit-profile', { ID: Number(localStorage.getItem(\"userId\"))});\r\n }\r\n\r\n handleSettingsModal(e) {\r\n this.modalService.add('settings', { ID: Number(localStorage.getItem(\"userId\"))});\r\n }\r\n\r\n logout() {\r\n this.auth.logout();\r\n }\r\n\r\n ngOnDestroy() {\r\n }\r\n}\r\n","import { formatNumber } from \"@angular/common\";\r\n\r\nexport default class Utils {\r\n\r\n public static formatToCurrency(number) {\r\n number = '$' + number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return number;\r\n }\r\n\r\n public static formatToNumber(number) {\r\n // console.log(number);\r\n return Number(number.toString().split(',').join('').replace('$', ''));\r\n }\r\n public static calculateMostProfitableSpouse(client, spouses) {\r\n var profitableSpouse;\r\n\r\n var canClaimWidow = true;\r\n var canClaimDivorced = true;\r\n\r\n for (var spouse in spouses) {\r\n spouses[spouse].pia = Number(spouses[spouse].pia) ? spouses[spouse].pia : spouses[spouse].pia ? Number(spouses[spouse].pia.replace(/,/g, \"\").replace(\"$\", \"\")) : 0;\r\n\r\n if (spouses[spouse].maritalStatus == 'Married' || spouses[spouse].maritalStatus == 'Divorced' && (typeof spouses[spouse].alive === 'string' ? spouses[spouse].alive != 'false' : spouses[spouse].alive)) {\r\n spouses[spouse].adjustedPia = spouses[spouse].pia / 2;\r\n } else {\r\n spouses[spouse].adjustedPia = spouses[spouse].pia;\r\n }\r\n\r\n if (spouses[spouse].maritalStatus == 'Married' && this.calculateMarriageAge(client.client, spouses[spouse]) < 60) {\r\n canClaimWidow = false;\r\n }\r\n\r\n if (spouses[spouse].maritalStatus == 'Married') {\r\n canClaimDivorced = false;\r\n }\r\n }\r\n\r\n for (var spouse in spouses) {\r\n if (!canClaimWidow && spouses[spouse].maritalStatus == 'Widowed') {\r\n // do nothing\r\n } else if ((spouses[spouse].maritalStatus == 'Divorced' && (spouses[spouse].tenyears == 'false' || !spouses[spouse].tenyears)) || (!canClaimDivorced && spouses[spouse].maritalStatus == 'Divorced')) {\r\n // do nothing\r\n } else if (!profitableSpouse) {\r\n profitableSpouse = spouses[spouse];\r\n } else {\r\n if (profitableSpouse.adjustedPia < spouses[spouse].adjustedPia) {\r\n profitableSpouse = spouses[spouse];\r\n }\r\n }\r\n }\r\n\r\n return [profitableSpouse];\r\n }\r\n\r\n /* public static calculateMostProfitableSpouse(client, spouses) {\r\n var profitableSpouse;\r\n\r\n var canClaimWidow = true;\r\n var canClaimDivorced = true;\r\n\r\n for (var spouse in spouses) {\r\n spouses[spouse].pia = spouses[spouse].pia ? (typeof spouses[spouse].pia === 'number' ? spouses[spouse].pia : Number(spouses[spouse].pia.replace(/,/g, \"\").replace(\"$\", \"\"))) : 0;\r\n \r\n if (spouses[spouse].maritalStatus == 'Married' || (spouses[spouse].maritalStatus == 'Divorced' && (typeof spouses[spouse].alive === 'string' ? spouses[spouse].alive != 'false' : spouses[spouse].alive))) {\r\n spouses[spouse].adjustedPia = spouses[spouse].pia / 2;\r\n } else {\r\n spouses[spouse].adjustedPia = spouses[spouse].pia;\r\n }\r\n\r\n if (spouses[spouse].maritalStatus == 'Married' && this.calculateMarriageAge(client.client, spouses[spouse]) < 60) {\r\n canClaimWidow = false;\r\n }\r\n\r\n if (spouses[spouse].maritalStatus == 'Married') {\r\n canClaimDivorced = false;\r\n }\r\n }\r\n\r\n for (var spouse in spouses) {\r\n if (!canClaimWidow && spouses[spouse].maritalStatus == 'Widowed') {\r\n // do nothing\r\n } else if (!canClaimWidow && (spouses[spouse].maritalStatus == 'Divorced' && (spouses[spouse].tenyears == 'false' || !spouses[spouse].tenyears)) || (!canClaimDivorced && spouses[spouse].maritalStatus == 'Divorced')) {\r\n // do nothing\r\n } else if (!profitableSpouse) {\r\n profitableSpouse = spouses[spouse];\r\n } else {\r\n if (profitableSpouse.adjustedPia < spouses[spouse].adjustedPia) {\r\n profitableSpouse = spouses[spouse];\r\n }\r\n }\r\n }\r\n\r\n return [profitableSpouse];\r\n } */\r\n\r\n public static parseDateTime(time24) {\r\n var date = new Date(time24.toString());\r\n var options = {\r\n hour: 'numeric',\r\n minute: 'numeric',\r\n hour12: true\r\n };\r\n var timeString = date.toLocaleString('en-US', options);\r\n if (timeString == '12:00 AM')\r\n timeString = '';\r\n return timeString;\r\n }\r\n\r\n public static calculateMarriageAge(client, spouse) {\r\n var clientDob = new Date(client.DOB);\r\n var anniversary = new Date(spouse.anniversary);\r\n // console.log('asd', clientDob, anniversary);\r\n return this.calculateAge(clientDob, anniversary);\r\n }\r\n\r\n public static calculateAge(clientDob, anniversary) {\r\n var ageDifMs = anniversary - clientDob.getTime();\r\n var ageDate = new Date(ageDifMs);\r\n return Math.abs(ageDate.getUTCFullYear() - 1970);\r\n }\r\n\r\n public static months: any = [\r\n {\r\n \"name\": \"January\",\r\n \"val\": 1,\r\n },\r\n {\r\n \"name\": \"February\",\r\n \"val\": 2,\r\n },\r\n {\r\n \"name\": \"March\",\r\n \"val\": 3,\r\n },\r\n {\r\n \"name\": \"April\",\r\n \"val\": 4,\r\n },\r\n {\r\n \"name\": \"May\",\r\n \"val\": 5,\r\n },\r\n {\r\n \"name\": \"June\",\r\n \"val\": 6,\r\n },\r\n {\r\n \"name\": \"July\",\r\n \"val\": 7,\r\n },\r\n {\r\n \"name\": \"August\",\r\n \"val\": 8,\r\n },\r\n {\r\n \"name\": \"September\",\r\n \"val\": 9,\r\n },\r\n {\r\n \"name\": \"October\",\r\n \"val\": 10,\r\n },\r\n {\r\n \"name\": \"November\",\r\n \"val\": 11,\r\n },\r\n {\r\n \"name\": \"December\",\r\n \"val\": 12,\r\n },\r\n ]\r\n\r\n public static allStates = [\r\n // {\r\n // \"name\": \"National Average\",\r\n // \"abbreviation\": \"NA\"\r\n // },\r\n {\r\n \"name\": \"Alabama\",\r\n \"abbreviation\": \"AL\"\r\n },\r\n {\r\n \"name\": \"Alaska\",\r\n \"abbreviation\": \"AK\"\r\n },\r\n {\r\n \"name\": \"Arizona\",\r\n \"abbreviation\": \"AZ\"\r\n },\r\n {\r\n \"name\": \"Arkansas\",\r\n \"abbreviation\": \"AR\"\r\n },\r\n {\r\n \"name\": \"California\",\r\n \"abbreviation\": \"CA\"\r\n },\r\n {\r\n \"name\": \"Colorado\",\r\n \"abbreviation\": \"CO\"\r\n },\r\n {\r\n \"name\": \"Connecticut\",\r\n \"abbreviation\": \"CT\"\r\n },\r\n {\r\n \"name\": \"Delaware\",\r\n \"abbreviation\": \"DE\"\r\n },\r\n {\r\n \"name\": \"District Of Columbia\",\r\n \"abbreviation\": \"DC\"\r\n },\r\n {\r\n \"name\": \"Florida\",\r\n \"abbreviation\": \"FL\"\r\n },\r\n {\r\n \"name\": \"Georgia\",\r\n \"abbreviation\": \"GA\"\r\n },\r\n {\r\n \"name\": \"Hawaii\",\r\n \"abbreviation\": \"HI\"\r\n },\r\n {\r\n \"name\": \"Idaho\",\r\n \"abbreviation\": \"ID\"\r\n },\r\n {\r\n \"name\": \"Illinois\",\r\n \"abbreviation\": \"IL\"\r\n },\r\n {\r\n \"name\": \"Indiana\",\r\n \"abbreviation\": \"IN\"\r\n },\r\n {\r\n \"name\": \"Iowa\",\r\n \"abbreviation\": \"IA\"\r\n },\r\n {\r\n \"name\": \"Kansas\",\r\n \"abbreviation\": \"KS\"\r\n },\r\n {\r\n \"name\": \"Kentucky\",\r\n \"abbreviation\": \"KY\"\r\n },\r\n {\r\n \"name\": \"Louisiana\",\r\n \"abbreviation\": \"LA\"\r\n },\r\n {\r\n \"name\": \"Maine\",\r\n \"abbreviation\": \"ME\"\r\n },\r\n {\r\n \"name\": \"Maryland\",\r\n \"abbreviation\": \"MD\"\r\n },\r\n {\r\n \"name\": \"Massachusetts\",\r\n \"abbreviation\": \"MA\"\r\n },\r\n {\r\n \"name\": \"Michigan\",\r\n \"abbreviation\": \"MI\"\r\n },\r\n {\r\n \"name\": \"Minnesota\",\r\n \"abbreviation\": \"MN\"\r\n },\r\n {\r\n \"name\": \"Mississippi\",\r\n \"abbreviation\": \"MS\"\r\n },\r\n {\r\n \"name\": \"Missouri\",\r\n \"abbreviation\": \"MO\"\r\n },\r\n {\r\n \"name\": \"Montana\",\r\n \"abbreviation\": \"MT\"\r\n },\r\n {\r\n \"name\": \"Nebraska\",\r\n \"abbreviation\": \"NE\"\r\n },\r\n {\r\n \"name\": \"Nevada\",\r\n \"abbreviation\": \"NV\"\r\n },\r\n {\r\n \"name\": \"New Hampshire\",\r\n \"abbreviation\": \"NH\"\r\n },\r\n {\r\n \"name\": \"New Jersey\",\r\n \"abbreviation\": \"NJ\"\r\n },\r\n {\r\n \"name\": \"New Mexico\",\r\n \"abbreviation\": \"NM\"\r\n },\r\n {\r\n \"name\": \"New York\",\r\n \"abbreviation\": \"NY\"\r\n },\r\n {\r\n \"name\": \"North Carolina\",\r\n \"abbreviation\": \"NC\"\r\n },\r\n {\r\n \"name\": \"North Dakota\",\r\n \"abbreviation\": \"ND\"\r\n },\r\n {\r\n \"name\": \"Ohio\",\r\n \"abbreviation\": \"OH\"\r\n },\r\n {\r\n \"name\": \"Oklahoma\",\r\n \"abbreviation\": \"OK\"\r\n },\r\n {\r\n \"name\": \"Oregon\",\r\n \"abbreviation\": \"OR\"\r\n },\r\n {\r\n \"name\": \"Pennsylvania\",\r\n \"abbreviation\": \"PA\"\r\n },\r\n {\r\n \"name\": \"Rhode Island\",\r\n \"abbreviation\": \"RI\"\r\n },\r\n {\r\n \"name\": \"South Carolina\",\r\n \"abbreviation\": \"SC\"\r\n },\r\n {\r\n \"name\": \"South Dakota\",\r\n \"abbreviation\": \"SD\"\r\n },\r\n {\r\n \"name\": \"Tennessee\",\r\n \"abbreviation\": \"TN\"\r\n },\r\n {\r\n \"name\": \"Texas\",\r\n \"abbreviation\": \"TX\"\r\n },\r\n {\r\n \"name\": \"Utah\",\r\n \"abbreviation\": \"UT\"\r\n },\r\n {\r\n \"name\": \"Vermont\",\r\n \"abbreviation\": \"VT\"\r\n },\r\n {\r\n \"name\": \"Virginia\",\r\n \"abbreviation\": \"VA\"\r\n },\r\n {\r\n \"name\": \"Washington\",\r\n \"abbreviation\": \"WA\"\r\n },\r\n {\r\n \"name\": \"West Virginia\",\r\n \"abbreviation\": \"WV\"\r\n },\r\n {\r\n \"name\": \"Wisconsin\",\r\n \"abbreviation\": \"WI\"\r\n },\r\n {\r\n \"name\": \"Wyoming\",\r\n \"abbreviation\": \"WY\"\r\n }\r\n ]\r\n\r\n public static convertMarketingMaterialOrInfoCenterToNewFormat(obj) {\r\n let result = [];\r\n let document = {};\r\n\r\n for (let key in obj) {\r\n if (obj[key].length) {\r\n for (let item in obj[key]) {\r\n if (obj[key][item]) {\r\n document = obj[key][item];\r\n document['Category'] = key.toString();\r\n result.push(document);\r\n }\r\n }\r\n } else {\r\n document = {\r\n Category: key.toString(),\r\n };\r\n result.push(document);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public static convertMarketingMaterialOrInfoCenterToOldFormat(arr) {\r\n let result = {}\r\n\r\n arr.forEach((cat, i) => {\r\n result[cat.category] = [];\r\n arr[i].items.forEach((doc, j) => {\r\n if (doc)\r\n result[cat.category].push(doc);\r\n });\r\n });\r\n\r\n return result;\r\n }\r\n\r\n public static formatNumber(num) {\r\n return num.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')\r\n }\r\n\r\n public static removeCurrencyFormatting(s) {\r\n return Number(s.replace('$', '').replace(',', ''));\r\n }\r\n\r\n public static formatReportTypeID(ReportTypeID: number, isRiskTolerance: boolean = false) {\r\n let report = \"\";\r\n\r\n switch (ReportTypeID) {\r\n case 1:\r\n report = 'Social Security'\r\n break;\r\n case 2:\r\n report = 'Medicare Means Testing'\r\n break;\r\n case 3:\r\n report = 'Healthcare';\r\n break;\r\n case 4:\r\n report = 'Longterm Care'\r\n break;\r\n case 5:\r\n report = 'Healthcare Risk Tolerance';\r\n break;\r\n case 6:\r\n report = 'Social Security Risk Tolerance';\r\n break;\r\n case 7:\r\n report = 'Longterm Care Risk Tolerance';\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return report;\r\n }\r\n\r\n public static calculateRateAssumptionYears(clientAge, clientLifeExpectancy) {\r\n const step = Math.floor(Math.max(0, Number(clientLifeExpectancy) - Number(clientAge)) / 3);\r\n console.log(step, clientAge, clientLifeExpectancy);\r\n return { p1EndAge: Number(clientAge) + step, p2EndAge: Number(clientAge) + (step * 2) };\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n /* background-color: #666; */\\r\\n background-size: cover;\\r\\n background-image: url('login-background.7baf1a11ab3f3abf8f21.jpg');\\r\\n}\\r\\n\\r\\n:host:before {\\r\\n content: '';\\r\\n position:absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background-color: #000;\\r\\n opacity: 0.6;\\r\\n}\\r\\n\\r\\n.hvs-response-btn {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.response-page{\\r\\n text-align: center;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 600px;\\r\\n justify-content: space-around;\\r\\n}\\r\\n\\r\\n.response-page button {\\r\\n width: 150px;\\r\\n}\\r\\n\\r\\n.hvs-cube {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.container {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n position: relative;\\r\\n z-index: 1;\\r\\n max-height: 800px;\\r\\n height: 100%;\\r\\n flex: 0.75;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.left-container {\\r\\n display: flex;\\r\\n background-image: url('register-image.f88050f5e97aa08d996d.jpg');\\r\\n background-size: cover;\\r\\n flex: 1 0 200px;\\r\\n}\\r\\n\\r\\n.right-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n\\r\\n background-color: #f5f5f5;\\r\\n background-image: url('HVS_watermark.a936ad513142f7517d5a.png');\\r\\n background-repeat: no-repeat;\\r\\n background-attachment: fixed;\\r\\n background-position: right; \\r\\n\\r\\n align-items: left;\\r\\n justify-content: space-between;\\r\\n flex: 1 0 500px;\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\n.top-header-navigation {\\r\\n position: relative;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n width: 100%;\\r\\n justify-content: space-between;\\r\\n }\\r\\n\\r\\n.circle-inactive {\\r\\n position: relative;\\r\\n z-index: 10;\\r\\n cursor: not-allowed!important;\\r\\n }\\r\\n\\r\\n.top-header-circle .is-valid {\\r\\n position: absolute;\\r\\n border-radius: 100%;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n background-color: #E58929;\\r\\n }\\r\\n\\r\\n.top-header-navigation {\\r\\n font-weight: bold;\\r\\n font-size: 10px;\\r\\n color: #555;\\r\\n margin: 0 0 15px 0;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: flex-end;\\r\\n }\\r\\n\\r\\n.top-header-progress {\\r\\n height: 8px;\\r\\n width: 100%;\\r\\n background-color: #d5d5d5;\\r\\n top: calc(50% - 14px);\\r\\n position: absolute;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n pointer-events: none;\\r\\n }\\r\\n\\r\\n.top-header-progress-item {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n position: relative;\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n.top-header-progress-item span {\\r\\n margin-top: 10px;\\r\\n }\\r\\n\\r\\n.top-header-progress-item .progress-active {\\r\\n position: absolute;\\r\\n z-index: 0;\\r\\n background-color: #E58929;\\r\\n width: 0%;\\r\\n left: 0;\\r\\n top: calc(50% - 24px);\\r\\n height: 8px;\\r\\n -webkit-animation-name: ProgressHalf;\\r\\n animation-name: ProgressHalf;\\r\\n -webkit-animation-delay: 0.2s;\\r\\n animation-delay: 0.2s;\\r\\n -webkit-animation-duration: 0.2s;\\r\\n animation-duration: 0.2s;\\r\\n -webkit-animation-timing-function: linear;\\r\\n animation-timing-function: linear;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n }\\r\\n\\r\\n.top-header-progress-item .progress-full {\\r\\n position: absolute;\\r\\n z-index: 0;\\r\\n background-color: #E58929;\\r\\n width: 50%;\\r\\n top: calc(50% - 24px);\\r\\n height: 8px;\\r\\n -webkit-animation-name: ProgressFill;\\r\\n animation-name: ProgressFill;\\r\\n -webkit-animation-timing-function: linear;\\r\\n animation-timing-function: linear;\\r\\n -webkit-animation-duration: 0.2s;\\r\\n animation-duration: 0.2s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n left: 0;\\r\\n }\\r\\n\\r\\n.top-header-progress-item .progress-shrink {\\r\\n position: absolute;\\r\\n z-index: 0;\\r\\n background-color: #E58929;\\r\\n width: 100%;\\r\\n top: calc(50% - 24px);\\r\\n height: 8px;\\r\\n -webkit-animation-name: ProgressShrink;\\r\\n animation-name: ProgressShrink;\\r\\n -webkit-animation-timing-function: linear;\\r\\n animation-timing-function: linear;\\r\\n -webkit-animation-duration: 0.2s;\\r\\n animation-duration: 0.2s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n left: 0;\\r\\n }\\r\\n\\r\\n.top-header-progress-item .progress-active-shrink {\\r\\n position: absolute;\\r\\n z-index: 0;\\r\\n background-color: #E58929;\\r\\n width: 100%;\\r\\n top: calc(50% - 24px);\\r\\n height: 8px;\\r\\n -webkit-animation-name: ProgressActiveShrink;\\r\\n animation-name: ProgressActiveShrink;\\r\\n -webkit-animation-timing-function: linear;\\r\\n animation-timing-function: linear;\\r\\n -webkit-animation-duration: 0.2s;\\r\\n animation-duration: 0.2s;\\r\\n -webkit-animation-delay: 0.2s;\\r\\n animation-delay: 0.2s;\\r\\n -webkit-animation-fill-mode: forwards;\\r\\n animation-fill-mode: forwards;\\r\\n left: 0;\\r\\n }\\r\\n\\r\\n.top-header-circle {\\r\\n border-radius: 100%;\\r\\n background-color: #d5d5d5;\\r\\n width: 38px;\\r\\n height: 38px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n position: relative;\\r\\n }\\r\\n\\r\\n.check-icon {\\r\\n position: absolute;\\r\\n z-index: 5000;\\r\\n font-size: 2rem;\\r\\n color: #fff;\\r\\n }\\r\\n\\r\\n.top-header-circle .circle-number {\\r\\n z-index: 1;\\r\\n font-weight: bold;\\r\\n color: #fff;\\r\\n font-size: 20px;\\r\\n }\\r\\n\\r\\n/* .circle-active{\\r\\n background-color: unset !important;\\r\\n border: unset !important;\\r\\n } */\\r\\n\\r\\n.circle-active::before {\\r\\n content: '';\\r\\n cursor: not-allowed;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n /* background-color: #ffcccc;\\r\\n border: 5px #ffe5e5 solid; */\\r\\n opacity: 0.8;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n border-radius: 100%;\\r\\n z-index: 1;\\r\\n }\\r\\n\\r\\n@-webkit-keyframes ProgressFill {\\r\\n 0% { width: 50%; }\\r\\n 100% { width: 100%; }\\r\\n }\\r\\n\\r\\n@keyframes ProgressFill {\\r\\n 0% { width: 50%; }\\r\\n 100% { width: 100%; }\\r\\n }\\r\\n\\r\\n@-webkit-keyframes ProgressHalf {\\r\\n 0% { width: 0%; }\\r\\n 100% { width: 50%; }\\r\\n }\\r\\n\\r\\n@keyframes ProgressHalf {\\r\\n 0% { width: 0%; }\\r\\n 100% { width: 50%; }\\r\\n }\\r\\n\\r\\n@-webkit-keyframes ProgressShrink {\\r\\n 0% { width: 50%; }\\r\\n 100% { width: 0%; }\\r\\n }\\r\\n\\r\\n@keyframes ProgressShrink {\\r\\n 0% { width: 50%; }\\r\\n 100% { width: 0%; }\\r\\n }\\r\\n\\r\\n@-webkit-keyframes ProgressActiveShrink {\\r\\n 0% { width: 100%; }\\r\\n 100% { width: 50%; }\\r\\n }\\r\\n\\r\\n@keyframes ProgressActiveShrink {\\r\\n 0% { width: 100%; }\\r\\n 100% { width: 50%; }\\r\\n }\\r\\n\\r\\n.circle-selected {\\r\\n background-color: #E58929!important;\\r\\n z-index: 1;\\r\\n }\\r\\n\\r\\n.title {\\r\\n font-size: 14px;\\r\\n color: #555;\\r\\n padding-left: 10px;\\r\\n }\\r\\n\\r\\n.subtitle {\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n }\\r\\n\\r\\n.modal-button {\\r\\n background-color: #E58929;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 5px 0 5px;\\r\\n cursor: pointer;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n.button-container {\\r\\n justify-content: flex-end;\\r\\n padding: 20px;\\r\\n display: flex;\\r\\n }\\r\\n\\r\\n.modal-button button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #000;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n }\\r\\n\\r\\n.save-continue {\\r\\n position: relative;\\r\\n }\\r\\n\\r\\n.button-active::before {\\r\\n content: '';\\r\\n cursor: not-allowed;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n background-color: #fff;\\r\\n opacity: 0.6;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n }\\r\\n\\r\\n.btn-new-client {\\r\\n width: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n.buttons {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n margin: 10px 0 10px 0;\\r\\n }\\r\\n\\r\\ninput[type='text'], input[type='password'] {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n outline: none;\\r\\n text-indent: 15px;\\r\\n border: none;\\r\\n font-size: 12px;\\r\\n width: 100%;\\r\\n margin: 10px;\\r\\n height: 35px;\\r\\n /* max-width: 250px; */\\r\\n }\\r\\n\\r\\nselect {\\r\\n width: 75px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n border: none;\\r\\n flex: 1;\\r\\n padding: 10px;\\r\\n margin: 10px 0 10px 0\\r\\n }\\r\\n\\r\\n.section-container {\\r\\n height: 500px!important;\\r\\n }\\r\\n\\r\\n@media only screen and (max-height: 640px) {\\r\\n .section-container {\\r\\n height: 400px!important;\\r\\n }\\r\\n }\\r\\n\\r\\n@media only screen and (max-height: 600px) {\\r\\n .section-container {\\r\\n height: 300px!important;\\r\\n }\\r\\n }\\r\\n\\r\\n@media only screen and (max-height: 500px) {\\r\\n .section-container {\\r\\n height: 200px!important;\\r\\n }\\r\\n }\\r\\n\\r\\n@media only screen and (max-height: 400px) {\\r\\n .section-container {\\r\\n height: 100px!important;\\r\\n }\\r\\n }\\r\\n\\r\\n.personal-information {\\r\\n \\r\\n }\\r\\n\\r\\n.agreement {\\r\\n background-color: #d5d5d5;\\r\\n max-width: 800px;\\r\\n height: 400px;\\r\\n overflow-y: scroll;\\r\\n padding: 15px;\\r\\n margin: 10px 0 10px 0;\\r\\n font-size: 12px;\\r\\n }\\r\\n\\r\\n.content {\\r\\n /* flex-grow: 1; */\\r\\n /* overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n padding-right: 25px; */\\r\\n \\r\\n }\\r\\n\\r\\n.nav-title {\\r\\n /* padding: 0 0 12px 0; */\\r\\n }\\r\\n\\r\\n.billing-container {\\r\\n display: flex;\\r\\n margin: 10px 0 10px 0;\\r\\n }\\r\\n\\r\\n.billing-selection {\\r\\n background-color: #d5d5d5;\\r\\n padding: 0 10px 0 10px;\\r\\n font-size: 12px;\\r\\n }\\r\\n\\r\\n.billing-selected {\\r\\n background-color: #E58929!important;\\r\\n }\\r\\n\\r\\n.billing-selection:hover {\\r\\n cursor: pointer;\\r\\n }\\r\\n\\r\\n.billing-item {\\r\\n border: 3px #d5d5d5 solid;\\r\\n display: flex;\\r\\n padding: 0 10px 0 10px;\\r\\n background-color: #fff;\\r\\n margin: 5px 0 5px 0;\\r\\n cursor: pointer;\\r\\n }\\r\\n\\r\\n.billing-item:hover:not(.temp-container) {\\r\\n background-color: #d5d5d5;\\r\\n border: 3px #E58929 solid;\\r\\n cursor: pointer;\\r\\n }\\r\\n\\r\\n.temp-container:hover {\\r\\n background-color: #d5d5d5;\\r\\n cursor: not-allowed;\\r\\n }\\r\\n\\r\\n.selected-billing-item {\\r\\n background-color: #d5d5d5;\\r\\n border: 3px #E58929 solid;\\r\\n }\\r\\n\\r\\n.billing-title {\\r\\n font-size: 14px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.billing-price {\\r\\n color: #555;\\r\\n font-size: 16px;\\r\\n font-weight: bold;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n padding: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.billing-subtitle {\\r\\n \\r\\n font-size: 11px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.input-error-v2 {\\r\\n outline: 2px #ff7f7f solid!important;\\r\\n}\\r\\n\\r\\n.sm-text {\\r\\n font-size: 10px;\\r\\n margin-left: 10px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.sm-input {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.sm-input:first-child {\\r\\n margin-right: 25px;\\r\\n}\\r\\n\\r\\n.err-box {\\r\\n padding: 10px;\\r\\n background-color: #F08080;\\r\\n border: 1px dashed #d5d5d5;\\r\\n margin: 5px;\\r\\n font-size: 12px;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.agreement-checkbox {\\r\\n display: flex;\\r\\n justify-content: left;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.temp-container {\\r\\n position: relative;\\r\\n padding: 0!important;\\r\\n}\\r\\n\\r\\n.temp-container::after {\\r\\n content: 'COMING SOON';\\r\\n position: absolute;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 99%;\\r\\n height: 100%;\\r\\n background-color: #fff;\\r\\n text-align: center;\\r\\n color: #555;\\r\\n font-size: 1.2rem;\\r\\n opacity: 0.8;\\r\\n}\\r\\n\\r\\n.contact a{\\r\\n color: #E58929 !important;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NpZ24tdXAvc2lnbi11cC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQiw0QkFBNEI7SUFDNUIsc0JBQXNCO0lBQ3RCLGtFQUFpRTtBQUNyRTs7QUFFQTtJQUNJLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsV0FBVztJQUNYLFlBQVk7SUFDWixzQkFBc0I7SUFDdEIsWUFBWTtBQUNoQjs7QUFFQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsYUFBYTtFQUNiLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7QUFDekI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixVQUFVO0lBQ1YsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixnRUFBK0Q7SUFDL0Qsc0JBQXNCO0lBQ3RCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCOztJQUV0Qix5QkFBeUI7SUFDekIsK0RBQThEO0lBQzlELDRCQUE0QjtJQUM1Qiw0QkFBNEI7SUFDNUIsMEJBQTBCOztJQUUxQixpQkFBaUI7SUFDakIsOEJBQThCO0lBQzlCLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsV0FBVztJQUNYLDhCQUE4QjtFQUNoQzs7QUFFQTtJQUNFLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsNkJBQTZCO0VBQy9COztBQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gsWUFBWTtJQUNaLHlCQUF5QjtFQUMzQjs7QUFFQTtJQUNFLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsOEJBQThCO0lBQzlCLHFCQUFxQjtFQUN2Qjs7QUFFQTtJQUNFLFdBQVc7SUFDWCxXQUFXO0lBQ1gseUJBQXlCO0lBQ3pCLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixvQkFBb0I7RUFDdEI7O0FBRUE7SUFDRSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLFdBQVc7RUFDYjs7QUFFQTtJQUNFLGdCQUFnQjtFQUNsQjs7QUFFQTtJQUNFLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YseUJBQXlCO0lBQ3pCLFNBQVM7SUFDVCxPQUFPO0lBQ1AscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxvQ0FBNEI7WUFBNUIsNEJBQTRCO0lBQzVCLDZCQUFxQjtZQUFyQixxQkFBcUI7SUFDckIsZ0NBQXdCO1lBQXhCLHdCQUF3QjtJQUN4Qix5Q0FBaUM7WUFBakMsaUNBQWlDO0lBQ2pDLHFDQUE2QjtZQUE3Qiw2QkFBNkI7RUFDL0I7O0FBRUE7SUFDRSxrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLHlCQUF5QjtJQUN6QixVQUFVO0lBQ1YscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxvQ0FBNEI7WUFBNUIsNEJBQTRCO0lBQzVCLHlDQUFpQztZQUFqQyxpQ0FBaUM7SUFDakMsZ0NBQXdCO1lBQXhCLHdCQUF3QjtJQUN4QixxQ0FBNkI7WUFBN0IsNkJBQTZCO0lBQzdCLE9BQU87RUFDVDs7QUFFQTtJQUNFLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxxQkFBcUI7SUFDckIsV0FBVztJQUNYLHNDQUE4QjtZQUE5Qiw4QkFBOEI7SUFDOUIseUNBQWlDO1lBQWpDLGlDQUFpQztJQUNqQyxnQ0FBd0I7WUFBeEIsd0JBQXdCO0lBQ3hCLHFDQUE2QjtZQUE3Qiw2QkFBNkI7SUFDN0IsT0FBTztFQUNUOztBQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVix5QkFBeUI7SUFDekIsV0FBVztJQUNYLHFCQUFxQjtJQUNyQixXQUFXO0lBQ1gsNENBQW9DO1lBQXBDLG9DQUFvQztJQUNwQyx5Q0FBaUM7WUFBakMsaUNBQWlDO0lBQ2pDLGdDQUF3QjtZQUF4Qix3QkFBd0I7SUFDeEIsNkJBQXFCO1lBQXJCLHFCQUFxQjtJQUNyQixxQ0FBNkI7WUFBN0IsNkJBQTZCO0lBQzdCLE9BQU87RUFDVDs7QUFFQTtJQUNFLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsV0FBVztJQUNYLFlBQVk7SUFDWixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2Ysa0JBQWtCO0VBQ3BCOztBQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixlQUFlO0lBQ2YsV0FBVztFQUNiOztBQUVBO0lBQ0UsVUFBVTtJQUNWLGlCQUFpQjtJQUNqQixXQUFXO0lBQ1gsZUFBZTtFQUNqQjs7QUFFRjs7O0tBR0s7O0FBRUg7SUFDRSxXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQO2dDQUM0QjtJQUM1QixZQUFZO0lBQ1osV0FBVztJQUNYLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsVUFBVTtFQUNaOztBQUVBO0lBQ0UsT0FBTyxVQUFVLEVBQUU7SUFDbkIsT0FBTyxXQUFXLEVBQUU7RUFDdEI7O0FBSEE7SUFDRSxPQUFPLFVBQVUsRUFBRTtJQUNuQixPQUFPLFdBQVcsRUFBRTtFQUN0Qjs7QUFFQTtJQUNFLE9BQU8sU0FBUyxFQUFFO0lBQ2xCLE9BQU8sVUFBVSxFQUFFO0VBQ3JCOztBQUhBO0lBQ0UsT0FBTyxTQUFTLEVBQUU7SUFDbEIsT0FBTyxVQUFVLEVBQUU7RUFDckI7O0FBRUE7SUFDRSxPQUFPLFVBQVUsRUFBRTtJQUNuQixPQUFPLFNBQVMsRUFBRTtFQUNwQjs7QUFIQTtJQUNFLE9BQU8sVUFBVSxFQUFFO0lBQ25CLE9BQU8sU0FBUyxFQUFFO0VBQ3BCOztBQUVBO0lBQ0UsT0FBTyxXQUFXLEVBQUU7SUFDcEIsT0FBTyxVQUFVLEVBQUU7RUFDckI7O0FBSEE7SUFDRSxPQUFPLFdBQVcsRUFBRTtJQUNwQixPQUFPLFVBQVUsRUFBRTtFQUNyQjs7QUFFQTtJQUNFLG1DQUFtQztJQUNuQyxVQUFVO0VBQ1o7O0FBRUE7TUFDSSxlQUFlO01BQ2YsV0FBVztNQUNYLGtCQUFrQjtFQUN0Qjs7QUFFQTtNQUNJLGVBQWU7TUFDZixXQUFXO0VBQ2Y7O0FBTUE7SUFDRSx5QkFBeUI7SUFDekIsYUFBYTtJQUNiLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLGVBQWU7SUFDZixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixpQkFBaUI7QUFDckI7O0FBRUk7UUFDSSx5QkFBeUI7UUFDekIsYUFBYTtRQUNiLGFBQWE7SUFDakI7O0FBRUE7SUFDQSxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxZQUFZO0lBQ1osZUFBZTtJQUNmLGVBQWU7SUFDZixhQUFhO0lBQ2I7O0FBRUY7SUFDRSxrQkFBa0I7RUFDcEI7O0FBRUE7SUFDRSxXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osV0FBVztJQUNYLFlBQVk7RUFDZDs7QUFFQTtJQUNFLFdBQVc7SUFDWCxhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtFQUNyQjs7QUFFQTtJQUNFLGFBQWE7SUFDYix5QkFBeUI7SUFDekIscUJBQXFCO0VBQ3ZCOztBQUVBO0lBQ0UseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixlQUFlO0lBQ2YsV0FBVztJQUNYLFlBQVk7SUFDWixZQUFZO0lBQ1osc0JBQXNCO0VBQ3hCOztBQUVBO0lBQ0UsV0FBVztJQUNYLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsWUFBWTtJQUNaLE9BQU87SUFDUCxhQUFhO0lBQ2I7RUFDRjs7QUFHQTtJQUNFLHVCQUF1QjtFQUN6Qjs7QUFFQTtJQUNFO01BQ0UsdUJBQXVCO0lBQ3pCO0VBQ0Y7O0FBRUE7SUFDRTtNQUNFLHVCQUF1QjtJQUN6QjtFQUNGOztBQUVBO0lBQ0U7TUFDRSx1QkFBdUI7SUFDekI7RUFDRjs7QUFFQTtJQUNFO01BQ0UsdUJBQXVCO0lBQ3pCO0VBQ0Y7O0FBR0E7O0VBRUE7O0FBRUE7SUFDRSx5QkFBeUI7SUFDekIsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLHFCQUFxQjtJQUNyQixlQUFlO0VBQ2pCOztBQUVBO0lBQ0Usa0JBQWtCO0dBQ25COzswQkFFdUI7O0VBRXhCOztBQUVBO01BQ0kseUJBQXlCO0VBQzdCOztBQUVBO01BQ0ksYUFBYTtNQUNiLHFCQUFxQjtFQUN6Qjs7QUFFQTtJQUNFLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIsZUFBZTtFQUNqQjs7QUFFQTtJQUNFLG1DQUFtQztFQUNyQzs7QUFFQTtNQUNJLGVBQWU7RUFDbkI7O0FBRUE7SUFDRSx5QkFBeUI7SUFDekIsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLGVBQWU7RUFDakI7O0FBRUE7TUFDSSx5QkFBeUI7TUFDekIseUJBQXlCO01BQ3pCLGVBQWU7RUFDbkI7O0FBRUE7SUFDRSx5QkFBeUI7SUFDekIsbUJBQW1CO0VBQ3JCOztBQUVBO1FBQ00seUJBQXlCO1FBQ3pCLHlCQUF5QjtFQUMvQjs7QUFFRjtJQUNJLGVBQWU7SUFDZixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2Isa0JBQWtCO0FBQ3RCOztBQUVBOztJQUVJLGVBQWU7SUFDZixXQUFXO0FBQ2Y7O0FBRUE7RUFDRSxvQ0FBb0M7QUFDdEM7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsT0FBTztBQUNUOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLHlCQUF5QjtFQUN6QiwwQkFBMEI7RUFDMUIsV0FBVztFQUNYLGVBQWU7RUFDZixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IscUJBQXFCO0VBQ3JCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSxzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFVBQVU7RUFDVixZQUFZO0VBQ1osc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLFlBQVk7QUFDZDs7QUFDQTtFQUNFLHlCQUF5QjtBQUMzQiIsImZpbGUiOiIuLi9zaWduLXVwL3NpZ24tdXAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC8qIGJhY2tncm91bmQtY29sb3I6ICM2NjY7ICovXHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvaW1hZ2VzL2xvZ2luLWJhY2tncm91bmQuanBnJyk7XHJcbn1cclxuXHJcbjpob3N0OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgb3BhY2l0eTogMC42O1xyXG59XHJcblxyXG4uaHZzLXJlc3BvbnNlLWJ0biB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4ucmVzcG9uc2UtcGFnZXtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGhlaWdodDogNjAwcHg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbn1cclxuXHJcbi5yZXNwb25zZS1wYWdlIGJ1dHRvbiB7XHJcbiAgd2lkdGg6IDE1MHB4O1xyXG59XHJcblxyXG4uaHZzLWN1YmUge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgbWF4LWhlaWdodDogODAwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBmbGV4OiAwLjc1O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4ubGVmdC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL2ltYWdlcy9yZWdpc3Rlci1pbWFnZS5qcGcnKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBmbGV4OiAxIDAgMjAwcHg7XHJcbn1cclxuXHJcbi5yaWdodC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL2ltYWdlcy9IVlNfd2F0ZXJtYXJrLnBuZycpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDsgXHJcblxyXG4gICAgYWxpZ24taXRlbXM6IGxlZnQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmbGV4OiAxIDAgNTAwcHg7XHJcbiAgICBwYWRkaW5nOiAyNXB4O1xyXG59XHJcblxyXG4udG9wLWhlYWRlci1uYXZpZ2F0aW9uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG5cclxuICAuY2lyY2xlLWluYWN0aXZlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZCFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIC50b3AtaGVhZGVyLWNpcmNsZSAuaXMtdmFsaWQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICB9XHJcbiAgXHJcbiAgLnRvcC1oZWFkZXItbmF2aWdhdGlvbiB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgbWFyZ2luOiAwIDAgMTVweCAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICB9XHJcbiAgXHJcbiAgLnRvcC1oZWFkZXItcHJvZ3Jlc3Mge1xyXG4gICAgaGVpZ2h0OiA4cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTRweCk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIH1cclxuICBcclxuICAudG9wLWhlYWRlci1wcm9ncmVzcy1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIFxyXG4gIC50b3AtaGVhZGVyLXByb2dyZXNzLWl0ZW0gc3BhbiB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIH1cclxuICBcclxuICAudG9wLWhlYWRlci1wcm9ncmVzcy1pdGVtIC5wcm9ncmVzcy1hY3RpdmUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICB3aWR0aDogMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiBjYWxjKDUwJSAtIDI0cHgpO1xyXG4gICAgaGVpZ2h0OiA4cHg7XHJcbiAgICBhbmltYXRpb24tbmFtZTogUHJvZ3Jlc3NIYWxmO1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjJzO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgfVxyXG4gIFxyXG4gIC50b3AtaGVhZGVyLXByb2dyZXNzLWl0ZW0gLnByb2dyZXNzLWZ1bGwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgdG9wOiBjYWxjKDUwJSAtIDI0cHgpO1xyXG4gICAgaGVpZ2h0OiA4cHg7XHJcbiAgICBhbmltYXRpb24tbmFtZTogUHJvZ3Jlc3NGaWxsO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuICBcclxuICAudG9wLWhlYWRlci1wcm9ncmVzcy1pdGVtIC5wcm9ncmVzcy1zaHJpbmsge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRvcDogY2FsYyg1MCUgLSAyNHB4KTtcclxuICAgIGhlaWdodDogOHB4O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IFByb2dyZXNzU2hyaW5rO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuICBcclxuICAudG9wLWhlYWRlci1wcm9ncmVzcy1pdGVtIC5wcm9ncmVzcy1hY3RpdmUtc2hyaW5rIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0b3A6IGNhbGMoNTAlIC0gMjRweCk7XHJcbiAgICBoZWlnaHQ6IDhweDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBQcm9ncmVzc0FjdGl2ZVNocmluaztcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMC4ycztcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcbiAgXHJcbiAgLnRvcC1oZWFkZXItY2lyY2xlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gICAgd2lkdGg6IDM4cHg7XHJcbiAgICBoZWlnaHQ6IDM4cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuICBcclxuICAuY2hlY2staWNvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiA1MDAwO1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG4gIFxyXG4gIC50b3AtaGVhZGVyLWNpcmNsZSAuY2lyY2xlLW51bWJlciB7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICB9XHJcblxyXG4vKiAgIC5jaXJjbGUtYWN0aXZle1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogdW5zZXQgIWltcG9ydGFudDtcclxuICB9ICovXHJcblxyXG4gIC5jaXJjbGUtYWN0aXZlOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIC8qIGJhY2tncm91bmQtY29sb3I6ICNmZmNjY2M7XHJcbiAgICBib3JkZXI6IDVweCAjZmZlNWU1IHNvbGlkOyAqL1xyXG4gICAgb3BhY2l0eTogMC44O1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgei1pbmRleDogMTtcclxuICB9XHJcblxyXG4gIEBrZXlmcmFtZXMgUHJvZ3Jlc3NGaWxsIHtcclxuICAgIDAlICAgeyB3aWR0aDogNTAlOyB9XHJcbiAgICAxMDAlIHsgd2lkdGg6IDEwMCU7IH1cclxuICB9XHJcbiAgXHJcbiAgQGtleWZyYW1lcyBQcm9ncmVzc0hhbGYge1xyXG4gICAgMCUgICB7IHdpZHRoOiAwJTsgfVxyXG4gICAgMTAwJSB7IHdpZHRoOiA1MCU7IH1cclxuICB9XHJcbiAgXHJcbiAgQGtleWZyYW1lcyBQcm9ncmVzc1NocmluayB7XHJcbiAgICAwJSAgIHsgd2lkdGg6IDUwJTsgfVxyXG4gICAgMTAwJSB7IHdpZHRoOiAwJTsgfVxyXG4gIH1cclxuICBcclxuICBAa2V5ZnJhbWVzIFByb2dyZXNzQWN0aXZlU2hyaW5rIHtcclxuICAgIDAlICAgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgMTAwJSB7IHdpZHRoOiA1MCU7IH1cclxuICB9XHJcblxyXG4gIC5jaXJjbGUtc2VsZWN0ZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOSFpbXBvcnRhbnQ7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gIH1cclxuXHJcbiAgLnRpdGxlIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBjb2xvcjogIzU1NTtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLnN1YnRpdGxlIHtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBjb2xvcjogIzU1NTtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG5cclxuICAubW9kYWwtYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMCA1cHggMCA1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbiAgICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1vZGFsLWJ1dHRvbiBidXR0b24ge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOTtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxuICBcclxuICAuc2F2ZS1jb250aW51ZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG4gIFxyXG4gIC5idXR0b24tYWN0aXZlOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcbiAgXHJcbiAgLmJ0bi1uZXctY2xpZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMTBweCAwO1xyXG4gIH1cclxuICBcclxuICBpbnB1dFt0eXBlPSd0ZXh0J10sIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRleHQtaW5kZW50OiAxNXB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICAvKiBtYXgtd2lkdGg6IDI1MHB4OyAqL1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0IHtcclxuICAgIHdpZHRoOiA3NXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZmxleDogMTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBtYXJnaW46IDEwcHggMCAxMHB4IDBcclxuICB9XHJcblxyXG5cclxuICAuc2VjdGlvbi1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiA1MDBweCFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NDBweCkge1xyXG4gICAgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgICAgaGVpZ2h0OiA0MDBweCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2MDBweCkge1xyXG4gICAgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgICAgaGVpZ2h0OiAzMDBweCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA1MDBweCkge1xyXG4gICAgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgICAgaGVpZ2h0OiAyMDBweCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA0MDBweCkge1xyXG4gICAgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgICAgaGVpZ2h0OiAxMDBweCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuICAucGVyc29uYWwtaW5mb3JtYXRpb24ge1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICAuYWdyZWVtZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgaGVpZ2h0OiA0MDBweDtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBtYXJnaW46IDEwcHggMCAxMHB4IDA7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgfVxyXG5cclxuICAuY29udGVudCB7XHJcbiAgICAvKiBmbGV4LWdyb3c6IDE7ICovXHJcbiAgIC8qICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4OyAqL1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICAubmF2LXRpdGxlIHtcclxuICAgICAgLyogcGFkZGluZzogMCAwIDEycHggMDsgKi9cclxuICB9XHJcblxyXG4gIC5iaWxsaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIG1hcmdpbjogMTBweCAwIDEwcHggMDtcclxuICB9XHJcblxyXG4gIC5iaWxsaW5nLXNlbGVjdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gICAgcGFkZGluZzogMCAxMHB4IDAgMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICB9XHJcblxyXG4gIC5iaWxsaW5nLXNlbGVjdGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5MjkhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmJpbGxpbmctc2VsZWN0aW9uOmhvdmVyIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgLmJpbGxpbmctaXRlbSB7XHJcbiAgICBib3JkZXI6IDNweCAjZDVkNWQ1IHNvbGlkO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmc6IDAgMTBweCAwIDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgbWFyZ2luOiA1cHggMCA1cHggMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gIC5iaWxsaW5nLWl0ZW06aG92ZXI6bm90KC50ZW1wLWNvbnRhaW5lcikge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gICAgICBib3JkZXI6IDNweCAjRTU4OTI5IHNvbGlkO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAudGVtcC1jb250YWluZXI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0ZWQtYmlsbGluZy1pdGVtIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1O1xyXG4gICAgICAgIGJvcmRlcjogM3B4ICNFNTg5Mjkgc29saWQ7XHJcbiAgfVxyXG5cclxuLmJpbGxpbmctdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5iaWxsaW5nLXByaWNlIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmJpbGxpbmctc3VidGl0bGUge1xyXG4gICAgXHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLmlucHV0LWVycm9yLXYyIHtcclxuICBvdXRsaW5lOiAycHggI2ZmN2Y3ZiBzb2xpZCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zbS10ZXh0IHtcclxuICBmb250LXNpemU6IDEwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5zbS1pbnB1dCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5zbS1pbnB1dDpmaXJzdC1jaGlsZCB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xyXG59XHJcblxyXG4uZXJyLWJveCB7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjA4MDgwO1xyXG4gIGJvcmRlcjogMXB4IGRhc2hlZCAjZDVkNWQ1O1xyXG4gIG1hcmdpbjogNXB4O1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmFncmVlbWVudC1jaGVja2JveCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnRlbXAtY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50ZW1wLWNvbnRhaW5lcjo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICdDT01JTkcgU09PTic7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogOTklO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogIzU1NTtcclxuICBmb250LXNpemU6IDEuMnJlbTtcclxuICBvcGFjaXR5OiAwLjg7XHJcbn1cclxuLmNvbnRhY3QgYXtcclxuICBjb2xvcjogI0U1ODkyOSAhaW1wb3J0YW50O1xyXG59Il19 */\"","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 0, 'progress-active-shrink': currentAddEditClientScreen === 0 && previousAddEditClientScreen > 0 }\\\">\\r\\n
= 0}\\\"\\r\\n (click)=\\\"updateAddEditClientScreen(0)\\\">\\r\\n \\r\\n
1
\\r\\n
\\r\\n Basic Information\\r\\n
\\r\\n
\\r\\n 1, 'progress-shrink' : currentAddEditClientScreen < 1, 'progress-active-shrink': currentAddEditClientScreen === 1 && previousAddEditClientScreen > 1}\\\">\\r\\n
= 1, 'circle-active' : !canContinue(1), 'circle-inactive' : !validFormInputs[0].isValid}\\\"\\r\\n (click)=\\\"validFormInputs[1].isValid && updateAddEditClientScreen(1)\\\">\\r\\n \\r\\n
2
\\r\\n
\\r\\n Agent Agreement\\r\\n
\\r\\n
\\r\\n 2, 'progress-shrink' : currentAddEditClientScreen < 2, 'progress-active-shrink': currentAddEditClientScreen === 2 && previousAddEditClientScreen > 2}\\\">\\r\\n
= 2, 'circle-active' : !canContinue(2), 'circle-inactive' : !validFormInputs[1].isValid}\\\"\\r\\n (click)=\\\"validFormInputs[1].isValid && updateAddEditClientScreen(2)\\\">\\r\\n \\r\\n
3
\\r\\n
\\r\\n Subscription\\r\\n
\\r\\n
\\r\\n 3, 'progress-shrink' : currentAddEditClientScreen < 3, 'progress-active-shrink': currentAddEditClientScreen === 3 && previousAddEditClientScreen > 3}\\\">\\r\\n
\\r\\n \\r\\n
4
\\r\\n
\\r\\n Payment Details\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Please wait while we create your account

\\r\\n

Your account was successfully created!

\\r\\n

There was an issue creating your account, please contact support.

\\r\\n

{{backendError}}

\\r\\n \\r\\n

800-969-6518

\\r\\n

\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Personal Information\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n FIRST NAME\\r\\n \\r\\n
\\r\\n
\\r\\n LAST NAME\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n JOB TITLE\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n ADDRESS\\r\\n \\r\\n
\\r\\n
\\r\\n ADDRESS 2\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n CITY\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n STATE\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n ZIP\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n EMAIL\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n PHONE\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n USERNAME\\r\\n \\r\\n Most special characters (excluding ‘-’, ‘_’, ‘@’ and ‘.’) may not be used in your username.\\r\\n \\r\\n

\\r\\n Password must be between 8 - 20 characters and must contain at least one capital letter, one number and one symbol (i.e. #, $, etc.)\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Agent Agreement\\r\\n
\\r\\n

\\r\\n HEALTHVIEW SERVICES COST CALCULATOR\\r\\n
\\r\\n
AGENT AGREEMENT\\r\\n
\\r\\n
Please scroll down and read the license agreement below.\\r\\n
\\r\\n
If you agree to be bound by the terms of this agreement, you should check the box below\\r\\n indicating\\r\\n your agreement to the terms of this agreement. If you do not agree to be bound by the terms of\\r\\n this agreement, you should not check the box but you will not be able to access the system. To\\r\\n the extent that you have access to, or are using the system without having fully completed the\\r\\n registration process, you are hereby notified that your continued use of the system is subject\\r\\n to the terms and conditions of this agreement.\\r\\n
\\r\\n
HealthView has developed the HealthView Health Cost Calculator (the \\\"Calculator\\\"), an\\r\\n interactive\\r\\n software program which allows an individual to calculate the estimated future costs of health\\r\\n care for that individual using personal data entered into the Calculator and a database of\\r\\n treatment\\r\\n costs, government health insurance benefits and actuarial predictions of the likelihood of\\r\\n certain\\r\\n major health conditions.\\r\\n
\\r\\n
The Licensee, wishes to use the Calculator pursuant to the terms of this License\\r\\n Agreement.\\r\\n
\\r\\n
1. License. HealthView hereby licenses the Licensee on a non-exclusive basis to use the\\r\\n Calculator\\r\\n for the term of this License Agreement on the terms and conditions set forth therein. Only the\\r\\n licensee is authorized to access the system unless HealthView agrees otherwise.\\r\\n
\\r\\n
2. Access. HealthView will provide the Licensee with access to the Calculator on a 24\\r\\n hour basis\\r\\n through a password protected website and maintained by HealthView. Data may be input by the\\r\\n Licensee\\r\\n into the Calculator (\\\"Input\\\") and various computations and solutions (\\\"Output\\\") may be obtained,\\r\\n viewed, downloaded and reproduced by the Licensee as Reports and shared with Clients in\\r\\n accordance\\r\\n with a set of protocols provided by HealthView (the \\\"Instructions\\\"). HealthView has designed\\r\\n the Instructions and the system on which the Calculator resides to protect privacy of user and\\r\\n Client information, access to the Input and Output and to restrict unauthorized reproduction\\r\\n and use. The Licensee represents and warrants that the Licensee has obtained the prior approval\\r\\n of the Licensee's Firm to sign this Agreement and use the Calculator in the Licensee's business.\\r\\n The Licensee agrees to read and abide by the Instructions. Generation of the Input and sharing\\r\\n and other use of the Output are governed by the terms of this Agreement, the agreement between\\r\\n the Client and the Licensee's Firm, the agreement between the Licensee and the Licensee's Firm,\\r\\n the supervisory procedures of the Licensee's Firm and the laws and regulations governing the\\r\\n Licensee's business. HealthView has responsibility solely for the operation of the Calculator\\r\\n (including the protection of data as described herein). HealthView shall have no obligation or\\r\\n responsibility for the manner in which the Calculator is used by the Licensee or any client of\\r\\n any the Licensee or the Licensee's Firm, or for the suitability, advisability or manner, terms\\r\\n or conditions of any advice provided or investment or other product or service purchase or sale\\r\\n or decision made in connection with the use of the Calculator or to or with whom it is used,\\r\\n all of which supervisory and other responsibility shall be and reside with the Licensee and the\\r\\n Licensee's Firm.\\r\\n
\\r\\n
3. Storage. The Calculator and the system in which it resides provide for optional\\r\\n storage of\\r\\n Input and Output. It is the responsibility of the Licensee to manage the use and storage of any\\r\\n Input or Output generated or obtained by the Licensee, including reproduction or other use and\\r\\n destruction when no longer needed. It is the responsibility of the Licensee to manage any stored\\r\\n data and to remove it should the Licensee cease to use the Calculator.\\r\\n
\\r\\n
4. Fees. Use of the Calculator may be obtained by paying an annual fee in advance at the\\r\\n beginning\\r\\n of each twelve (12) months contract period by credit card or the annual license fee may be paid\\r\\n by a monthly fee by credit card.\\r\\n
\\r\\n
5. Term and Termination. The term of this Agreement shall commence on the date first set \\r\\n forth above and shall continue for an initial term of twelve (12) months and thereafter shall continue \\r\\n from year to year unless written notice of termination is sent by either party not less than thirty (30) \\r\\n days prior to the annual renewal date or an initial term of one (1) month and thereafter shall continue \\r\\n from month to month unless written notice of termination is sent by either party not less than ten (10) \\r\\n days prior to the monthly renewal date.\\r\\n
\\r\\n
6. Limitation of Liability. The Licensee acknowledges that HealthView is strictly a\\r\\n provider\\r\\n of software technology and services and is not in the business of providing securities broker\\r\\n dealer or investment advice or health advice or services, either directly or through or in\\r\\n connection\\r\\n with the Application. HealthView solely has responsibility for the operation of the Application.\\r\\n HealthView shall have no obligation or responsibility for the manner in which the Application\\r\\n is used by any Authorized Licensee or any client of any Licensee or Licensee's Firm, or for the\\r\\n suitability, advisability or manner, terms or conditions of any advice provided or investment\\r\\n or other product or service purchase or sale or decision made in connection with the use of the\\r\\n Application or to or with whom it is used, all of which supervisory and other responsibility\\r\\n shall be and reside with the Licensee and the Licensee's firm. The Licensee agrees to indemnify\\r\\n and hold harmless HealthView and its Affiliates from and against all, loss, liability, claim\\r\\n or expense associated with the utilization of the Application by the Licensee, the Licensee's\\r\\n Firm or any affiliate or any licensee, employee or consultant or client of or to the Licensee\\r\\n or the Licensee's firm.\\r\\n
\\r\\n
7. Protected Information. HealthView shall comply with all U.S. and international Laws\\r\\n governing\\r\\n or relating to privacy, data security and the handling of data security breaches. All\\r\\n information\\r\\n pertaining to a former or current Licensee, customer or applicant of Licensee's Firm or the\\r\\n Licensee\\r\\n including but not limited to such person’s address, telephone number and other contact\\r\\n information,\\r\\n image, gender, age, social security number, account or other identifying numbers or attributes,\\r\\n and financial, health and insurance information, and other information about an individual,\\r\\n including\\r\\n the fact that the individual is or was a Licensee, customer or applicant of the Licensee or the\\r\\n Licensee's Firm (“Protected Information”) shall be deemed to be Confidential Information,\\r\\n subject\\r\\n to the obligations and restrictions set forth in this subsection and the Health Insurance\\r\\n Portability\\r\\n and Accountability Act of 1996 (“HIPAA”) requirements.\\r\\n
\\r\\n
8. Limited Disclosure. HealthView shall not disclose Protected Information to any\\r\\n third-party\\r\\n or use any Protected Information (i) without the Licensee's Firm and the Licensee's prior\\r\\n written\\r\\n approval and (ii) only as permitted by Law, and then only to the extent necessary to carry out\\r\\n its obligations under this Agreement.\\r\\n
\\r\\n
9. Indemnification\\r\\n
\\r\\n
9.1 Violation of Laws or Regulations. At no expense to HealthView, the Licensee will\\r\\n defend,\\r\\n indemnify and hold harmless HealthView, its affiliates, and their respective successors,\\r\\n assigns,\\r\\n officers, directors and employees (collectively, “Indemnities”) from all damage, loss,\\r\\n liability,\\r\\n costs and expenses of any kind (including reasonable attorneys’ fees) (collectively, “Loss”)\\r\\n relating to or arising out of any claim or threatened claim that the use of the Application by\\r\\n the Licensee, or any of the Licensee's affiliates, and their respective successors, assigns,\\r\\n officers, directors and employees violates any laws or regulations relating to the purchase or\\r\\n sale of, or advice concerning, securities.\\r\\n
\\r\\n
9.2 Notice. HealthView and the Licensee will give each other prompt written notice of any\\r\\n threat,\\r\\n warning or notice of any such claim or action. The indemnifying party will have the right to\\r\\n conduct the defense of any such claim or action and, consistent with the rights of the\\r\\n indemnified\\r\\n party hereunder, including all negotiations for its settlement; provided, however, that the\\r\\n indemnified\\r\\n party may participate in such defense or negotiations to protect its interests, at its expense\\r\\n using counsel of its choice.\\r\\n
\\r\\n
10. Limitation of Liability.\\r\\n
\\r\\n
EACH PARTY’S LIABILITY FOR ANY LOSS OR DAMAGES, DIRECT OR INDIRECT, IN CONTRACT, TORT OR\\r\\n OTHERWISE,\\r\\n ARISING OUT OF THE SUBJECT MATTER OF THIS AGREEMENT SHALL BE LIMITED TO THOSE ACTUAL AND DIRECT\\r\\n DAMAGES WHICH ARE REASONABLY INCURRED BY THE INJURED PARTY AND CAUSED BY THE OTHER PARTY’S\\r\\n NEGLIGENCE,\\r\\n RECKLESSNESS, OR WILLFUL MISCONDUCT. IN NO EVENT WILL EITHER PARTY BE LIABLE FOR LOST PROFITS\\r\\n OR ANY INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY KIND,\\r\\n HOWSOEVER CAUSED, EVEN IF ADVISED OF THE POSSIBILITYOF SUCH DAMAGES. FURTHER, IN NO EVENT WILL\\r\\n HEALTHVIEW’S AGGREGATE LIABILITY TO ANY PARTY UNDER THIS AGREEMENT OR OTHERWISE EXCEED THE\\r\\n AMOUNT\\r\\n OF FEES PAID BY THAT PARTY TO HEALTHVIEW IN THE PRECEEDING TWELVE (12) MONTHS.\\r\\n
\\r\\n
11. Disclaimer.\\r\\n
\\r\\n
HEALTHVIEW MAKES NO WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY\\r\\n IMPLIED WARRANTY\\r\\n OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR TITLE, IN CONNECTION WITH THE LICENSED\\r\\n SOFTWARE, THE DOCUMENTATION OR OTHERWISE, AND ANY SUCH WARRANTIES ARE SPECIFICALLY DISCLAIMED.\\r\\n
\\r\\n
12. Force Majeure.\\r\\n
\\r\\n
Neither party will be liable for any delay or failure to perform its obligations\\r\\n hereunder to\\r\\n the extent caused by an event of natural disaster, pandemics, casualty, acts of God or public\\r\\n enemy, riots, terrorism, governmental acts or such other event of similar nature that is beyond\\r\\n the reasonable control of the party seeking to rely on this section to excuse its delay or\\r\\n failure.\\r\\n
\\r\\n
13. Miscellaneous.\\r\\n
\\r\\n
13.1 Notice. Notice hereunder shall be in writing and shall be deemed to have been duly\\r\\n given\\r\\n if mailed to the party to whom such notice is to be given at the address first set forth above\\r\\n or to such alternate address as shall have been previously communicated in writing.\\r\\n
\\r\\n
13.2 Applicable Law and Forum. This Agreement shall be governed by and construed in\\r\\n accordance\\r\\n with the laws of the Commonwealth of Massachusetts, without regard to conflict of law\\r\\n principles.\\r\\n
\\r\\n
13.3. Arbitration. All claims, controversies or disputes between the parties which arise\\r\\n out\\r\\n of or relate in any way to this agreement or a breach hereof and which the parties are unable\\r\\n to resolve informally shall be submitted to binding arbitration. Such arbitration shall be in\\r\\n accordance with and subject to the Commercial Arbitration Rules of the American Arbitration\\r\\n Association\\r\\n (“AAA”). Arbitration shall be conducted by a single arbitrator unless otherwise agreed upon by\\r\\n the parties. Arbitration shall take place in Boston, Massachusetts and the arbitrator(s) shall\\r\\n adhere to the laws of the Commonwealth of Massachusetts without regard to conflict of laws\\r\\n principles.\\r\\n The parties shall pay the costs of any arbitration held pursuant to this Section as the\\r\\n arbitrator(s)\\r\\n may direct. Arbitration shall be final and binding on the parties and judgment may be entered\\r\\n upon the award and may be enforced by appropriate judicial action in any state or federal court\\r\\n having jurisdiction thereof. In the event that a controversy is not resolved through\\r\\n arbitration,\\r\\n the parties hereby waive any right to a trial by jury in any action or proceeding to enforce\\r\\n or defend any rights under this Agreement and any other agreement delivered or which may in the\\r\\n future be delivered in connection herewith or therewith, and agree that any such action or\\r\\n proceeding\\r\\n shall be tried before a court and not before a jury.\\r\\n
\\r\\n
IN WITNESS WHEREOF, the parties have caused this Agreement to be executed and delivered\\r\\n by their\\r\\n respective duly authorized representatives.\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Software Subscription\\r\\n\\r\\n
\\r\\n
\\r\\n

Billed Monthly

\\r\\n
\\r\\n
\\r\\n

Billed Annually

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Complete Package

\\r\\n

Build stronger client relationships with our complete guide to\\r\\n creating personalized reports. Each report features actuarial data projections and feature\\r\\n income solutions for clients and their spouses. This package includes Healthcare Cost\\r\\n Projection, Long-Term Care Cost Projection, Medicare Means Testing Optimization, and Social\\r\\n Security Optimization.

\\r\\n
\\r\\n \\r\\n ${{ monthlyPrice }} monthly\\r\\n \\r\\n \\r\\n ${{ annualPrice }} annually\\r\\n \\r\\n
\\r\\n
Your credit card will not be billed until the end of your 7-day trial period.
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Card Information\\r\\n\\r\\n
0\\\" class=\\\"err-box\\\">\\r\\n There was an issue completing your\\r\\n transaction:
\\r\\n {{ cardError }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n CARD NUMBER\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n CARD EXPIRATION\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n CARD CCV\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n Billing Address\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n FIRST NAME\\r\\n \\r\\n
\\r\\n
\\r\\n LAST NAME\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n ADDRESS\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n ADDRESS 2\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n CITY\\r\\n \\r\\n
\\r\\n
\\r\\n STATE\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n ZIP\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Questions? Call HealthView Services at\\r\\n 800-969-6518\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { APIContracts, APIControllers } from 'authorizenet';\r\n\r\nimport { GlobalService } from '../services/global.service';\r\nimport Utils from '../shared/utility';\r\n\r\n@Component({\r\n selector: 'app-sign-up',\r\n templateUrl: './sign-up.component.html',\r\n styleUrls: ['./sign-up.component.css']\r\n})\r\n\r\nexport class SignUpComponent implements OnInit {\r\n\r\n public currentAddEditClientScreen: any = 0;\r\n public previousAddEditClientScreen: any = 0;\r\n public billingPeriod: Number = 1; // 0 Monthly 1 Annual\r\n public selectedPackage: string = 'full';\r\n public allStates: any[] = Utils.allStates;\r\n\r\n public validFormInputs: any;\r\n mediumRegex = new RegExp(\"^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$\");\r\n\r\n usernameRegex = new RegExp(/^[a-zA-Z0-9-_@.]+$/);\r\n\r\n public signUpForm: any;\r\n public cardError: string;\r\n public backendError: string = '';\r\n \r\n showCreateAccountBtn:boolean = false;\r\n\r\n public isS: boolean;\r\n \r\n constructor(private globalService: GlobalService, private router: Router) {}\r\n\r\n sendPaymentDataToAnet() {\r\n // Sandbox\r\n // var authData = {\r\n // clientKey: '9mL4QnXjf5YXQ626yHs56FkX4CMfSY6W75JvJGje4s7x7Frt8cDJ3Er5qXt3WJwc',\r\n // apiLoginID: '4EV5PKurc9Bk',\r\n // };\r\n\r\n // Production\r\n var authData = {\r\n clientKey: '8PhwLM8spU37XF47BYsuZ3wXSyEWZ4cc7n377g6jJ6Nt4KY6Gh4TA6ZyA5sxjNXt',\r\n apiLoginID: '6Rfb46R3',\r\n };\r\n\r\n var cardData = {\r\n cardNumber: this.signUpForm.paymentMethod.cardNumber,\r\n month: this.signUpForm.paymentMethod.expDate.split('/')[0],\r\n year: '20' + this.signUpForm.paymentMethod.expDate.split('/')[1],\r\n cardCode: this.signUpForm.paymentMethod.cvv\r\n };\r\n\r\n var secureData = { \r\n authData,\r\n cardData,\r\n };\r\n\r\n window['Accept'].dispatchData(secureData, this.responseHandler.bind(this));\r\n }\r\n\r\n public error: any;\r\n public successMessage: any;\r\n public sendingPaymentDetails: boolean = false;\r\n public accountCreated: boolean = false;\r\n public accountFailed: boolean = false;\r\n\r\n responseHandler() {\r\n\r\n //console.log(arguments[0].opaqueData);\r\n\r\n if (arguments[0] && arguments[0].messages && arguments[0].messages.resultCode == \"Error\") {\r\n this.cardError = \"\";\r\n\r\n for (var index in arguments[0].messages.message) {\r\n this.cardError += arguments[0].messages.message[index]['text'] + \"\\n\";\r\n }\r\n\r\n } else {\r\n\r\n var ClientData = {\r\n DataValue: arguments[0].opaqueData.dataValue,\r\n DataDescriptor: arguments[0].opaqueData.dataDescriptor,\r\n // DataValue: '',\r\n // DataDescriptor: '',\r\n ProductCode: this.signUpForm.softwareSubscription.package,\r\n ProductDuration: this.signUpForm.softwareSubscription.frequency,\r\n FirstName: this.signUpForm.paymentMethod.firstName,\r\n LastName: this.signUpForm.paymentMethod.lastName,\r\n State: this.signUpForm.paymentMethod.state,\r\n Zip: this.signUpForm.paymentMethod.zip,\r\n Phone: this.signUpForm.personalInformation.phone || '',\r\n\r\n Email: this.signUpForm.personalInformation.email || '',\r\n Address: this.signUpForm.paymentMethod.address1,\r\n Company: this.signUpForm.paymentMethod.company,\r\n CustomerFirstName: this.signUpForm.personalInformation.firstName,\r\n CustomerLastName: this.signUpForm.personalInformation.lastName,\r\n CustomerEmail: this.signUpForm.personalInformation.email || '',\r\n CustomerPhone: this.signUpForm.personalInformation.phone || '',\r\n CustomerAddress: this.signUpForm.personalInformation.address1,\r\n CustomerZip: this.signUpForm.personalInformation.zip,\r\n CustomerState: this.signUpForm.personalInformation.state\r\n }\r\n\r\n var UserModel = {\r\n InvitationalCode: this.signUpForm.personalInformation.invitationCode,\r\n FirstName: this.signUpForm.personalInformation.firstName,\r\n LastName: this.signUpForm.personalInformation.lastName,\r\n JobTitle: this.signUpForm.personalInformation.jobTitle,\r\n Address1: this.signUpForm.personalInformation.address1,\r\n Address2: this.signUpForm.personalInformation.address2,\r\n State: this.signUpForm.personalInformation.state,\r\n Zip: this.signUpForm.personalInformation.zip,\r\n Email: this.signUpForm.personalInformation.email,\r\n Phone: this.signUpForm.personalInformation.phone,\r\n Username: this.signUpForm.personalInformation.username,\r\n AgentAgrees: this.signUpForm.agentAgreement.agrees,\r\n Duration: this.signUpForm.softwareSubscription.frequency,\r\n Package: this.signUpForm.softwareSubscription.package,\r\n Price: '',\r\n }\r\n\r\n // console.log(ClientData);\r\n\r\n var PW = this.signUpForm.personalInformation.password;\r\n\r\n this.sendingPaymentDetails = true;\r\n \r\n this.globalService.CompletePayment({ ClientData, UserModel, PW })\r\n .subscribe(\r\n response => {\r\n this.completedRegistration = true;\r\n this.sendingPaymentDetails = false;\r\n\r\n if (response.Status == 1 || response.Status == 4) {\r\n //this.completedRegistration = true;\r\n this.accountCreated = true;\r\n\r\n // if (response.Status == 1) {\r\n // this.successMessage = \"To get started, click `login` and put in the credentials you just created.\"\r\n // } else {\r\n // this.successMessage = \"Please contact our support line to get started: 800-969-6518\";\r\n // }\r\n } else {\r\n //this.completedRegistration = false;\r\n\r\n for (var index in response.Messages) {\r\n this.backendError += response.Messages[index] + \"\\n\";\r\n }\r\n this.accountFailed = true;\r\n }\r\n\r\n // if (!this.completedRegistrationFailed) {\r\n // this.cardError = \"\";\r\n\r\n // for (var index in response.Messages) {\r\n // this.cardError += response.Messages[index] + \"\\n\";\r\n // }\r\n // }\r\n\r\n },\r\n error => this.error = error);\r\n }\r\n }\r\n\r\n\r\n public completedRegistration: boolean = false;\r\n public completedRegistrationFailed: boolean = false;\r\n\r\n ngOnInit() {\r\n this.isS = (Number(localStorage.getItem('orgID')) === 371 || Number(localStorage.getItem('parentID')) === 371) ? true : false;\r\n \r\n this.signUpForm = {\r\n personalInformation: {\r\n invitationCode: '',\r\n firstName: '',\r\n lastName: '',\r\n jobTitle: '',\r\n address1: '',\r\n address2: '',\r\n state: '',\r\n zip: '',\r\n email: '',\r\n phone: '',\r\n username: '',\r\n password: '',\r\n passwordConfirm: '',\r\n },\r\n agentAgreement: {\r\n agrees: false,\r\n },\r\n softwareSubscription: {\r\n frequency: '',\r\n package: ''\r\n }, paymentMethod: {\r\n cardNumber: '',\r\n expDate: '',\r\n cvv: '',\r\n firstName: '',\r\n lastName: '',\r\n company: '',\r\n address1: '',\r\n address2: '',\r\n state: '',\r\n zip: '',\r\n }\r\n }\r\n\r\n this.cardError = \"\"\r\n\r\n this.signUpForm.softwareSubscription.frequency = this.billingPeriod === 0 ? 'monthly' : 'annual';\r\n this.signUpForm.softwareSubscription.package = this.selectedPackage;\r\n\r\n this.validFormInputs = [\r\n { isValid: false },\r\n { isValid: false },\r\n { isValid: false },\r\n { isValid: false },\r\n ];\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n\r\n public isSevenDayTrial: boolean = false;//Your credit card will not be billed until the end of your 7 day trial period.\r\n\r\n public monthlyPrice = '54.91';\r\n public annualPrice = '499.99';\r\n \r\n updateAddEditClientScreen(page) {\r\n if (page !== this.currentAddEditClientScreen) {\r\n this.signUpForm.personalInformation.invitationCode = localStorage.getItem('invitationCode');\r\n this.previousAddEditClientScreen = this.currentAddEditClientScreen;\r\n this.currentAddEditClientScreen = page;\r\n this.validateFields(page);\r\n }\r\n\r\n if(page == 1 && this.signUpForm.personalInformation.invitationCode.length > 0){\r\n\r\n if(this.signUpForm.personalInformation.invitationCode == 'FreeHv$'){\r\n this.showCreateAccountBtn = true;\r\n }else{\r\n //grab pricing for this invitation code\r\n this.globalService.GetPricing('{\"InvitationCode\": \"' + this.signUpForm.personalInformation.invitationCode + '\"}')\r\n .subscribe(prices => {\r\n if(JSON.parse(prices) != null){\r\n this.monthlyPrice = JSON.parse(prices).CompletePackageMonthly;\r\n this.annualPrice = JSON.parse(prices).CompletePackageAnnual;\r\n\r\n if(JSON.parse(prices).CompletePackageMonthly == '0.01'){ //checking pricing\r\n this.showCreateAccountBtn = true;\r\n }\r\n }\r\n });\r\n }\r\n }else{\r\n this.showCreateAccountBtn = false;\r\n }\r\n }\r\n\r\n canContinue(i, isButton = false) {\r\n return isButton ? this.validFormInputs[i].isValid : this.validFormInputs[i - 1] && this.validFormInputs[i - 1].isValid;\r\n }\r\n\r\n selectBillingPackage(billingPackage) {\r\n // this.signUpForm.softwareSubscription.package = billingPackage;\r\n\r\n if (billingPackage === 'full') {\r\n this.signUpForm.softwareSubscription.price = this.billingPeriod === 0 ? this.monthlyPrice : this.annualPrice;\r\n }\r\n\r\n // if (billingPackage === 'mmt') {\r\n // this.signUpForm.softwareSubscription.price = this.billingPeriod === 0 ? '8.66' : '99.99';\r\n // } else if (billingPackage === 'ss') {\r\n // this.signUpForm.softwareSubscription.price = this.billingPeriod === 0 ? '27.40' : '99.99';\r\n // } else if (billingPackage === 'hc-ltc') {\r\n // this.signUpForm.softwareSubscription.price = this.billingPeriod === 0 ? '45.74' : '99.99';\r\n // } else if (billingPackage === 'full') {\r\n // this.signUpForm.softwareSubscription.price = this.billingPeriod === 0 ? '54.91' : '99.99';\r\n // }\r\n\r\n // this.selectedPackage = billingPackage;\r\n }\r\n\r\n updateBillingPeriod(period) {\r\n this.signUpForm.softwareSubscription.frequency = period === 0 ? 'monthly' : 'annual';\r\n this.billingPeriod = period;\r\n }\r\n\r\n validateFields(page) {\r\n var isValid = true;\r\n\r\n if (page === 0) {\r\n // isValid = isValid && this.signUpForm.personalInformation.invitationCode.length > 0;\r\n isValid = isValid && this.signUpForm.personalInformation.firstName.length > 0;\r\n isValid = isValid && this.signUpForm.personalInformation.lastName.length > 0;\r\n // isValid = isValid && this.signUpForm.personalInformation.jobTitle.length > 0;\r\n isValid = isValid && this.signUpForm.personalInformation.address1.length > 0;\r\n // isValid = isValid && this.signUpForm.personalInformation.address2.length > 0;\r\n isValid = isValid && this.signUpForm.personalInformation.state.length > 0;\r\n isValid = isValid && this.signUpForm.personalInformation.zip.length > 0;\r\n isValid = isValid && this.signUpForm.personalInformation.email.length > 0;\r\n isValid = isValid && this.signUpForm.personalInformation.phone.length > 0;\r\n //isValid = isValid && this.signUpForm.personalInformation.username.length > 0;\r\n\r\n isValid = isValid && this.usernameRegex.test(this.signUpForm.personalInformation.username) && this.signUpForm.personalInformation.username.length > 0;\r\n isValid = isValid && this.mediumRegex.test(this.signUpForm.personalInformation.password);\r\n isValid = isValid && this.mediumRegex.test(this.signUpForm.personalInformation.passwordConfirm);\r\n } else if (page === 1) {\r\n isValid = isValid && this.signUpForm.agentAgreement.agrees == true;\r\n } else if (page === 2) {\r\n isValid = isValid && this.signUpForm.agentAgreement.agrees == true;\r\n } else if (page === 3) {\r\n isValid = isValid && this.signUpForm.paymentMethod.cardNumber.length > 0;\r\n isValid = isValid && this.signUpForm.paymentMethod.expDate.length > 0;\r\n isValid = isValid && this.signUpForm.paymentMethod.cvv.length > 0;\r\n isValid = isValid && this.signUpForm.paymentMethod.firstName.length > 0;\r\n isValid = isValid && this.signUpForm.paymentMethod.lastName.length > 0;\r\n // isValid = isValid && this.signUpForm.paymentMethod.company.length > 0;\r\n isValid = isValid && this.signUpForm.paymentMethod.address1.length > 0;\r\n // isValid = isValid && this.signUpForm.paymentMethod.address2.length > 0;\r\n isValid = isValid && this.signUpForm.paymentMethod.state.length > 0;\r\n isValid = isValid && this.signUpForm.paymentMethod.zip.length > 0;\r\n }\r\n\r\n // console.log(this.signUpForm);\r\n // console.log(isValid);\r\n // console.log(this.validFormInputs);\r\n\r\n this.validFormInputs[page].isValid = isValid;\r\n }\r\n\r\n createAccount(){\r\n //only hit this for free accounts\r\n var ClientData = {\r\n //DataValue: arguments[0].opaqueData.dataValue, //only used for one-time-token\r\n //DataDescriptor: arguments[0].opaqueData.dataDescriptor, //only used for one-time-token\r\n DataValue: '',\r\n DataDescriptor: '',\r\n ProductCode: this.signUpForm.softwareSubscription.package,\r\n ProductDuration: this.signUpForm.softwareSubscription.frequency,\r\n FirstName: this.signUpForm.paymentMethod.firstName,\r\n LastName: this.signUpForm.paymentMethod.lastName,\r\n City: this.signUpForm.paymentMethod.city || '',\r\n State: this.signUpForm.paymentMethod.state,\r\n Zip: this.signUpForm.paymentMethod.zip,\r\n Phone: this.signUpForm.personalInformation.phone || '',\r\n\r\n Email: this.signUpForm.personalInformation.email || '',\r\n Address: this.signUpForm.paymentMethod.address1,\r\n Company: this.signUpForm.paymentMethod.company,\r\n CustomerFirstName: this.signUpForm.personalInformation.firstName,\r\n CustomerLastName: this.signUpForm.personalInformation.lastName,\r\n CustomerEmail: this.signUpForm.personalInformation.email || '',\r\n CustomerPhone: this.signUpForm.personalInformation.phone || '',\r\n CustomerAddress: this.signUpForm.personalInformation.address1,\r\n CustomerZip: this.signUpForm.personalInformation.zip,\r\n CustomerState: this.signUpForm.personalInformation.state\r\n }\r\n\r\n var UserModel = {\r\n InvitationalCode: this.signUpForm.personalInformation.invitationCode,\r\n FirstName: this.signUpForm.personalInformation.firstName,\r\n LastName: this.signUpForm.personalInformation.lastName,\r\n JobTitle: this.signUpForm.personalInformation.jobTitle,\r\n Address1: this.signUpForm.personalInformation.address1,\r\n Address2: this.signUpForm.personalInformation.address2,\r\n City: this.signUpForm.personalInformation.city,\r\n State: this.signUpForm.personalInformation.state,\r\n Zip: this.signUpForm.personalInformation.zip,\r\n Email: this.signUpForm.personalInformation.email,\r\n Phone: this.signUpForm.personalInformation.phone,\r\n Username: this.signUpForm.personalInformation.username,\r\n AgentAgrees: this.signUpForm.agentAgreement.agrees,\r\n Duration: this.signUpForm.softwareSubscription.frequency,\r\n Package: this.signUpForm.softwareSubscription.package,\r\n Price: '',\r\n }\r\n\r\n var PW = this.signUpForm.personalInformation.password;\r\n this.sendingPaymentDetails = true;\r\n\r\n this.globalService.CompletePayment({ ClientData, UserModel, PW })\r\n .subscribe(\r\n response => {\r\n this.completedRegistration = true;\r\n this.sendingPaymentDetails = false;\r\n\r\n if (response.Status == 1 || response.Status == 4) {\r\n this.accountCreated = true;\r\n } else {\r\n for (var index in response.Messages) {\r\n this.backendError += response.Messages[index] + \"\\n\";\r\n }\r\n this.accountFailed = true;\r\n }\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n completePayment() {\r\n this.sendPaymentDataToAnet();\r\n //this.responseHandler();\r\n }\r\n\r\n public isBillingChecked: boolean = false;\r\n\r\n toggleBillingInformation(e) {\r\n if (e.target.checked) {\r\n this.isBillingChecked = true;\r\n this.signUpForm.paymentMethod.firstName = this.signUpForm.personalInformation.firstName;\r\n this.signUpForm.paymentMethod.lastName = this.signUpForm.personalInformation.lastName;\r\n this.signUpForm.paymentMethod.address1 = this.signUpForm.personalInformation.address1;\r\n this.signUpForm.paymentMethod.address2 = this.signUpForm.personalInformation.address2;\r\n this.signUpForm.paymentMethod.city = this.signUpForm.personalInformation.city;\r\n this.signUpForm.paymentMethod.state = this.signUpForm.personalInformation.state;\r\n this.signUpForm.paymentMethod.zip = this.signUpForm.personalInformation.zip;\r\n } else if (e.target && !e.target.checked) {\r\n this.isBillingChecked = false;\r\n this.signUpForm.paymentMethod.firstName = '';\r\n this.signUpForm.paymentMethod.lastName = '';\r\n this.signUpForm.paymentMethod.address1 = '';\r\n this.signUpForm.paymentMethod.address2 = '';\r\n this.signUpForm.paymentMethod.city = '';\r\n this.signUpForm.paymentMethod.state = '';\r\n this.signUpForm.paymentMethod.zip = '';\r\n }\r\n }\r\n\r\n getRandomString(text){\r\n return text + Math.floor((Math.random() * 100000) + 1);\r\n }\r\n \r\n getRandomInt(){\r\n return Math.floor((Math.random() * 100000) + 1);\r\n }\r\n \r\n getRandomAmount(){\r\n return ((Math.random() * 100) + 1).toFixed(2);\r\n }\r\n \r\n getDate(){\r\n return (new Date()).toISOString().substring(0, 10) ;\r\n }\r\n\r\n validateString(val, isRequired) {\r\n var regex = /^[a-zA-Z ]{2,30}$/;\r\n return val ? regex.test(val) : !isRequired;\r\n }\r\n\r\n validateAddress(val, isRequired) {\r\n var regex = /[A-Za-z0-9'\\.\\-\\s\\,]/;\r\n return val ? regex.test(val) : !isRequired;\r\n }\r\n\r\n validateNumber(val, isRequired) {\r\n return val ? Number(val) : !isRequired;\r\n }\r\n\r\n validateZip(val, isRequired) {\r\n var regex = /^\\d{5}(?:[-\\s]\\d{4})?$/;\r\n return val ? regex.test(val) : !isRequired;\r\n }\r\n\r\n validateEmail(val, isRequired) {\r\n var regex = /[^@]+@[^\\.]+\\..+/;\r\n return val ? regex.test(val) : !isRequired;\r\n }\r\n\r\n validateCardNumber() {\r\n const regex = /^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/;\r\n return regex.test(this.signUpForm.paymentMethod.cardNumber);\r\n }\r\n\r\n validatePassword() {\r\n return this.signUpForm.personalInformation.password === this.signUpForm.personalInformation.passwordConfirm && this.mediumRegex.test(this.signUpForm.personalInformation.password)\r\n }\r\n\r\n validateCVV() {\r\n return Number(this.signUpForm.paymentMethod.cvv) && this.signUpForm.paymentMethod.cvv.length > 2 && this.signUpForm.paymentMethod.cvv.length < 5;\r\n }\r\n\r\n validateCardExp() {\r\n var val = this.signUpForm.paymentMethod.expDate.split('/');\r\n return this.signUpForm.paymentMethod.expDate.length === 5 && val[0].length === 2 && val[1].length === 2 && Number(val[0]) && Number(val[1]);\r\n }\r\n\r\n validatePhoneNumber(val, isRequired) {\r\n val = val ? val.toString() : '';\r\n var numbers = val ? val.match(/\\d/g) : '';\r\n return val ? numbers.length === 10 : !isRequired;\r\n }\r\n\r\n\r\n usernameError: boolean;\r\n usernameError1: boolean;\r\n\r\n validateUsername(val, isRequired) {\r\n \r\n //return val ? val.length > 1 : !isRequired;\r\n return this.signUpForm.personalInformation.username && this.usernameRegex.test(this.signUpForm.personalInformation.username)\r\n }\r\n\r\n\r\n}\r\n","module.exports = \":host {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n /* overflow-y: scroll;\\r\\n overflow-x: hidden; */\\r\\n}\\r\\n\\r\\n.scroll {\\r\\n height: 100%;\\r\\n overflow-y: scroll;\\r\\n}\\r\\n\\r\\n.row {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\n.client-profile {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.client-profile div {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.client-profile img {\\r\\n border-radius: 100%;\\r\\n width: 55px;\\r\\n height: 55px;\\r\\n border: 2px #E58929 solid;\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.client-name {\\r\\n font-size: 1.2rem;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.section-name {\\r\\n font-size: 1.2rem;\\r\\n color: #555;\\r\\n margin: 0 0 10px 0;\\r\\n}\\r\\n\\r\\n.client-subtitle {\\r\\n font-size: 0.75rem;\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n margin: 8px 0 8px 0;\\r\\n}\\r\\n\\r\\n.client-dependent-children {\\r\\n font-weight: bold;\\r\\n font-size: 0.75rem;\\r\\n}\\r\\n\\r\\n.input-label {\\r\\n font-size: 0.75rem;\\r\\n margin: 5px 0 5px 0;\\r\\n}\\r\\n\\r\\n.drop-down {\\r\\n position: relative;\\r\\n cursor: pointer;\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n height: 38px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.costs-in-time {\\r\\n flex: 1;\\r\\n font-size: 0.85rem;\\r\\n justify-content: center;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.cola {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.cola input:invalid {\\r\\n border: solid red 1px;\\r\\n}\\r\\n\\r\\n.cola-items {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.cola-item {\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n padding: 10px;\\r\\n margin: 0 5px 0 0;\\r\\n font-size: 0.85rem;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.cola-item label {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.cola-item input:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.cola-item input {\\r\\n background-color: #d3d3d3;\\r\\n border: none;\\r\\n text-align: center;\\r\\n outline: none;\\r\\n color: #555; \\r\\n}\\r\\n\\r\\n.cola-item input:invalid {\\r\\n border: solid red 1px;\\r\\n}\\r\\n\\r\\n.top-row {\\r\\n align-items: flex-start;\\r\\n}\\r\\n\\r\\n.people-input .drop-down {\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.people select {\\r\\n height: 38px;\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.people input {\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.break-even td {\\r\\n background-color: #E58929!important;\\r\\n}\\r\\n\\r\\n.break-even tr {\\r\\n background-color: #E58929!important;\\r\\n}\\r\\n\\r\\n.break-even {\\r\\n background-color: #E58929!important;\\r\\n}\\r\\n\\r\\n.projected-cost {\\r\\n color: #E58929;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.people {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n \\r\\n}\\r\\n\\r\\n.top-row-inputs {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.cit-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin: 0 25px 0 25px;\\r\\n}\\r\\n\\r\\n.client {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n flex-direction: column;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.client-ss-options {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex: 1;\\r\\n align-items: flex-end;\\r\\n}\\r\\n\\r\\n.people-input {\\r\\n min-width: 175px;\\r\\n font-size: 0.85rem;\\r\\n}\\r\\n\\r\\n.people-input-item {\\r\\n /* min-width: 200px; */\\r\\n padding-right: 5px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.people-input-item input {\\r\\n background-color: #d5d5d5;\\r\\n outline: none;\\r\\n border: none;\\r\\n text-align: center; \\r\\n}\\r\\n\\r\\n.people-input-item .input-area {\\r\\n padding: 10px;\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n font-size: 0.85rem; \\r\\n}\\r\\n\\r\\n.input-area1 input:invalid{\\r\\n padding: 10px !important;\\r\\n background-color: #d3d3d3;\\r\\n color: #555;\\r\\n font-size: 0.85rem;\\r\\n border: 2px #ff7f7f solid!important;\\r\\n}\\r\\n\\r\\n.retirement-time {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n height: 38px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.retirement-time div {\\r\\n padding: 10px;\\r\\n margin: 0 5px 0 0;\\r\\n background-color: #d5d5d5;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.strategy-comparison {\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.strategy-comparison table {\\r\\n width: 100%;\\r\\n margin-top: 10px;\\r\\n /* border: 1px solid #d5d5d5; */\\r\\n border-collapse: collapse;\\r\\n background-color: #fff;\\r\\n color: #333;\\r\\n font-size: 0.90rem;\\r\\n}\\r\\n\\r\\n.strategy-comparison table th {\\r\\n font-weight: 300;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.strategy-comparison table td, .strategy-comparison table th {\\r\\n padding: 10px;\\r\\n border: 1px solid #f5f5f5;\\r\\n}\\r\\n\\r\\n.strategy-earliest-col {\\r\\n background-color: #c6989b;\\r\\n}\\r\\n\\r\\n.strategy-alternate-col {\\r\\n background-color: #aebcc7;\\r\\n}\\r\\n\\r\\n.strategy-optimal-col {\\r\\n background-color: #bac7ad;\\r\\n}\\r\\n\\r\\n.illustrationTable {\\r\\n width: 100%;\\r\\n background-color: #fff;\\r\\n border-collapse: collapse;\\r\\n font-size: 0.90rem;\\r\\n}\\r\\n\\r\\n.illustrationTable i{\\r\\n padding: 15px !important;\\r\\n color: unset !important;\\r\\n}\\r\\n\\r\\n.illustrationTable td {\\r\\n padding: 10px;\\r\\n border: 1px solid #f5f5f5;\\r\\n /* padding: 2px 10px 2px 10px; */\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.strategy-alternate-col i{\\r\\n color: unset !important; \\r\\n}\\r\\n\\r\\n.illustrationTable th {\\r\\n font-weight: bold;\\r\\n text-align: left;\\r\\n border: 1px solid #f5f5f5;\\r\\n /* padding: 2px 10px 2px 10px; */\\r\\n padding: 10px;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.BreakEvenCell {\\r\\n /* background-color: #d5d5d5; */\\r\\n}\\r\\n\\r\\n.BreakEvenRow {\\r\\n border: 2px #555 solid;\\r\\n}\\r\\n\\r\\n.earliest {\\r\\n background-color: #c6989b;\\r\\n}\\r\\n\\r\\n.optimal {\\r\\n background-color: #bac7ad;\\r\\n}\\r\\n\\r\\n.alternate {\\r\\n background-color: #aebcc7;\\r\\n}\\r\\n\\r\\n.cash-flow-row {\\r\\n position: relative;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n flex: 1;\\r\\n margin: 0 0 10px 0;\\r\\n}\\r\\n\\r\\n.cash-flow-row .drop-down {\\r\\n width: 200px;\\r\\n}\\r\\n\\r\\n.comparison-graph {\\r\\n width: 100%;\\r\\n height: 400px;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.comparison-graph ngx-charts-line-chart {\\r\\n\\r\\n}\\r\\n\\r\\n.legend-block {\\r\\n display: block;\\r\\n width: 17px;\\r\\n height: 15px;\\r\\n margin: 2px;\\r\\n \\r\\n /* background-color: #555; */\\r\\n}\\r\\n\\r\\n.graph-legend {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n background-color: #fff;\\r\\n /* padding: 10px 0 0 10px; */\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.graph-legend div {\\r\\n display: flex;\\r\\n margin: 0 10px 0 10px;\\r\\n}\\r\\n\\r\\n.earliest {\\r\\n background-color: #c6989b!important;\\r\\n}\\r\\n\\r\\n.optimal {\\r\\n background-color: #bac7ad!important;\\r\\n}\\r\\n\\r\\n.alternate {\\r\\n background-color: #aebcc7!important;\\r\\n}\\r\\n\\r\\nselect {\\r\\n height: 37px;\\r\\n background-color: #d5d5d5;\\r\\n color: #555;\\r\\n border: none;\\r\\n padding-left: 17px;\\r\\n}\\r\\n\\r\\n.btn {\\r\\n background-color: #E58929;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n padding: 0 25px 0 25px;\\r\\n cursor: pointer;\\r\\n margin: 10px;\\r\\n max-width: 250px;\\r\\n}\\r\\n\\r\\n.btn button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #555;\\r\\n height: 35px;\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.btn i {\\r\\n color: #555;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.illustration-container {\\r\\n position: relative;\\r\\n \\r\\n}\\r\\n\\r\\n.illustrationDDHidden {\\r\\n display: none;\\r\\n height: 0;\\r\\n}\\r\\n\\r\\n.illustrationDDVisible {\\r\\n position: absolute;\\r\\n display: flex;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n flex-direction: column;\\r\\n background-color: #d5d5d5;\\r\\n top: 0;\\r\\n margin-top: 35px;\\r\\n width: 180px;\\r\\n padding: 10px;\\r\\n height: 130px;\\r\\n align-items: left;\\r\\n border-top: 2px #fff solid;\\r\\n}\\r\\n\\r\\n.illustrationDDVisible span {\\r\\n margin: 10px 0 10px 0;\\r\\n width: 100%;\\r\\n height: 20px;\\r\\n}\\r\\n\\r\\n.illustrationDDVisible span:hover {\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n.people-input-item div:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.people-input-item input:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.people-input-item label:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.retirement-time div:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.benefit-chart-container {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n background-color: #fff;\\r\\n /* padding: 10px; */\\r\\n padding: 20px 10px 20px 10px;\\r\\n}\\r\\n\\r\\n.benefits-row {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n padding: 25px;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.benefit-left-col {\\r\\n flex: 1;\\r\\n font-size: 0.9rem;\\r\\n padding-top: 30px;\\r\\n}\\r\\n\\r\\n.benefit-right-col {\\r\\n flex: 1;\\r\\n display: flex;\\r\\n justify-content: right;\\r\\n flex-direction: column;\\r\\n margin: 0 10px 0 45px;\\r\\n}\\r\\n\\r\\n.right-col-container {\\r\\n display: flex;\\r\\n align-items: flex-end;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.right-col-container span {\\r\\n text-align: right;\\r\\n transform: rotate(-90deg);\\r\\n margin: 20px 0 20px 0;\\r\\n}\\r\\n\\r\\n.benefit-right-col span {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.benefit-chart-container table {\\r\\n table-layout: fixed;\\r\\n font-size: 0.7rem;\\r\\n}\\r\\n\\r\\n.benefit-chart-container table tr th {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.benefit-chart-container table tr td:not:first-child() {\\r\\n height: 5px;\\r\\n width: 5px;\\r\\n overflow: visible;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.benefit-chart-container table tr .grid-cell {\\r\\n height: 12px;\\r\\n width: 12px;\\r\\n position: aboslute;\\r\\n top: 0;\\r\\n border-radius: 100%;\\r\\n position: relative;\\r\\n cursor: pointer;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n /* background-color: #555; */\\r\\n}\\r\\n\\r\\n.scenario {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n margin: 0 0 30px 0;\\r\\n}\\r\\n\\r\\n.text-link {\\r\\n color: #E58929;\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.scenario span {\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.scenario-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.worst {\\r\\n background-color: #c6989b;\\r\\n}\\r\\n\\r\\n.optimal {\\r\\n background-color: #bac7ad;\\r\\n}\\r\\n\\r\\n.alternate {\\r\\n background-color: #aebcc7;\\r\\n}\\r\\n\\r\\n.benefit-scenario-verbiage {\\r\\n margin: 30px 0 0 0;\\r\\n}\\r\\n\\r\\n.means-testing {\\r\\n background-color: #fff;\\r\\n padding: 25px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.means-testing-top-text {\\r\\n padding-bottom: 30px;\\r\\n}\\r\\n\\r\\n.include-spouse {\\r\\n display: flex;\\r\\n padding-left: 25px;\\r\\n}\\r\\n\\r\\n.grid-hover-container-hidden {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.grid-hover-container-visible {\\r\\n display: block;\\r\\n position: absolute;\\r\\n width: 150px;\\r\\n height: 100px;\\r\\n background-color: #f5f5f5;\\r\\n margin: 0 auto;\\r\\n margin-top: -115px;\\r\\n margin-left: -75px;\\r\\n border-radius: 10px;\\r\\n border: 3px #fff solid;\\r\\n font-size: 14px;\\r\\n z-index: 2;\\r\\n}\\r\\n\\r\\n.grid-hover-container-visible span {\\r\\n \\r\\n}\\r\\n\\r\\n.cell-outline {\\r\\n position: absolute;\\r\\n z-index: 1;\\r\\n border: 5px #555 solid;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n opacity: 0.8;\\r\\n pointer-events : none;\\r\\n}\\r\\n\\r\\n.row-cell {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.row-cell .cell-outline {\\r\\n margin-top: -25px;\\r\\n margin-left: -21px;\\r\\n}\\r\\n\\r\\n.row-cell .grid-hover-container-visible {\\r\\n margin-top: -80px!important;\\r\\n margin-left: 0!important;\\r\\n}\\r\\n\\r\\n.buttons-row {\\r\\n margin-bottom: 100px;\\r\\n}\\r\\n\\r\\n.create {\\r\\n background-color: #E58929;\\r\\n width: 220px;\\r\\n display: flex;\\r\\n margin-left: 25px;\\r\\n justify-content: space-around;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n padding: 15px;\\r\\n margin-left: 25px;\\r\\n }\\r\\n\\r\\n.create button {\\r\\n border: none;\\r\\n background-color: #E58929;\\r\\n color: #fff;\\r\\n /* height: 35px; */\\r\\n cursor: pointer;\\r\\n font-size: 1rem;\\r\\n outline: none;\\r\\n }\\r\\n\\r\\n.create i {\\r\\n color: #fff;\\r\\n font-size: 1.25rem;\\r\\n cursor: pointer;\\r\\n margin-left: 10px;\\r\\n }\\r\\n\\r\\n.mouseDisabled {\\r\\n position: relative;\\r\\n }\\r\\n\\r\\n.mouseDisabled::after {\\r\\n content: '';\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n cursor: not-allowed;\\r\\n }\\r\\n\\r\\ninput:invalid {\\r\\n border: solid red 3px;\\r\\n }\\r\\n\\r\\n.survivor-switch-msg {\\r\\n position: relative;\\r\\n color: #E58929!important;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.survivor-switch-msg app-info-icon {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n color: transparent!important;\\r\\n}\\r\\n\\r\\n::ng-deep .survivor-switch-msg app-info-icon span {\\r\\n width: 155px!important;\\r\\n display: block!important;\\r\\n}\\r\\n\\r\\n::ng-deep .survivor-switch-msg app-info-icon i {\\r\\n width: 155px!important;\\r\\n}\\r\\n\\r\\n::ng-deep .survivor-switch-msg app-info-icon .tool-tip-modal {\\r\\n width: 500px!important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NvY2lhbC1zZWN1cml0eS9zb2NpYWwtc2VjdXJpdHkuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1o7eUJBQ3FCO0FBQ3pCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixlQUFlO0lBQ2YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsV0FBVztJQUNYLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsMEJBQTBCO0lBQzFCLGVBQWU7SUFDZixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTtJQUNiLHVCQUF1QjtJQUN2QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxPQUFPO0lBQ1Asa0JBQWtCO0lBQ2xCLHVCQUF1QjtJQUN2QixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsYUFBYTtJQUNiLGlCQUFpQjtJQUNq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Q3hCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsT0FBTztJQUNQLFdBQVc7SUFDWCw0QkFBNEI7QUFDaEM7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsd0JBQXdCO0FBQzVCOztBQUVBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksc0JBQXNCO0FBQzFCIiwiZmlsZSI6Ii4uL3NvY2lhbC1zZWN1cml0eS9zb2NpYWwtc2VjdXJpdHkuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgLyogb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuOyAqL1xyXG59XHJcblxyXG4uc2Nyb2xsIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG5cclxuLnJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgcGFkZGluZzogMjVweDtcclxufVxyXG5cclxuLmNsaWVudC1wcm9maWxlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uY2xpZW50LXByb2ZpbGUgZGl2IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uY2xpZW50LXByb2ZpbGUgaW1nIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICB3aWR0aDogNTVweDtcclxuICAgIGhlaWdodDogNTVweDtcclxuICAgIGJvcmRlcjogMnB4ICNFNTg5Mjkgc29saWQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLmNsaWVudC1uYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5zZWN0aW9uLW5hbWUge1xyXG4gICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcclxufVxyXG5cclxuLmNsaWVudC1zdWJ0aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICBjb2xvcjogI0U1ODkyOTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luOiA4cHggMCA4cHggMDtcclxufVxyXG5cclxuLmNsaWVudC1kZXBlbmRlbnQtY2hpbGRyZW4ge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbn1cclxuXHJcbi5pbnB1dC1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICBtYXJnaW46IDVweCAwIDVweCAwO1xyXG59XHJcblxyXG4uZHJvcC1kb3duIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGhlaWdodDogMzhweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb3N0cy1pbi10aW1lIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBmb250LXNpemU6IDAuODVyZW07XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5jb2xhIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uY29sYSBpbnB1dDppbnZhbGlkIHtcclxuICAgIGJvcmRlcjogc29saWQgcmVkIDFweDtcclxufVxyXG5cclxuLmNvbGEtaXRlbXMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi5jb2xhLWl0ZW0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1hcmdpbjogMCA1cHggMCAwO1xyXG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY29sYS1pdGVtIGxhYmVsIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNvbGEtaXRlbSBpbnB1dDpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jb2xhLWl0ZW0gaW5wdXQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBjb2xvcjogIzU1NTsgICAgXHJcbn1cclxuXHJcbi5jb2xhLWl0ZW0gaW5wdXQ6aW52YWxpZCB7XHJcbiAgICBib3JkZXI6IHNvbGlkIHJlZCAxcHg7XHJcbn1cclxuXHJcbi50b3Atcm93IHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG59XHJcblxyXG4ucGVvcGxlLWlucHV0IC5kcm9wLWRvd24ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5wZW9wbGUgc2VsZWN0IHtcclxuICAgIGhlaWdodDogMzhweDtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG4ucGVvcGxlIGlucHV0IHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uYnJlYWstZXZlbiB0ZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5IWltcG9ydGFudDtcclxufVxyXG5cclxuLmJyZWFrLWV2ZW4gdHIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1ODkyOSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5icmVhay1ldmVuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5MjkhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucHJvamVjdGVkLWNvc3Qge1xyXG4gICAgY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnBlb3BsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgXHJcbn1cclxuXHJcbi50b3Atcm93LWlucHV0cyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uY2l0LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogMCAyNXB4IDAgMjVweDtcclxufVxyXG5cclxuLmNsaWVudCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5jbGllbnQtc3Mtb3B0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXg6IDE7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5wZW9wbGUtaW5wdXQge1xyXG4gICAgbWluLXdpZHRoOiAxNzVweDtcclxuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcclxufVxyXG5cclxuLnBlb3BsZS1pbnB1dC1pdGVtIHtcclxuICAgIC8qIG1pbi13aWR0aDogMjAwcHg7ICovXHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnBlb3BsZS1pbnB1dC1pdGVtIGlucHV0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyAgIFxyXG59XHJcblxyXG4ucGVvcGxlLWlucHV0LWl0ZW0gLmlucHV0LWFyZWEge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGZvbnQtc2l6ZTogMC44NXJlbTsgICAgXHJcbn1cclxuXHJcbi5pbnB1dC1hcmVhMSBpbnB1dDppbnZhbGlke1xyXG4gICAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgYm9yZGVyOiAycHggI2ZmN2Y3ZiBzb2xpZCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5yZXRpcmVtZW50LXRpbWUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBoZWlnaHQ6IDM4cHg7XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLnJldGlyZW1lbnQtdGltZSBkaXYge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1hcmdpbjogMCA1cHggMCAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5zdHJhdGVneS1jb21wYXJpc29uIHtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5zdHJhdGVneS1jb21wYXJpc29uIHRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIC8qIGJvcmRlcjogMXB4IHNvbGlkICNkNWQ1ZDU7ICovXHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgZm9udC1zaXplOiAwLjkwcmVtO1xyXG59XHJcblxyXG4uc3RyYXRlZ3ktY29tcGFyaXNvbiB0YWJsZSB0aCB7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLnN0cmF0ZWd5LWNvbXBhcmlzb24gdGFibGUgdGQsIC5zdHJhdGVneS1jb21wYXJpc29uIHRhYmxlIHRoIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjVmNWY1O1xyXG59XHJcblxyXG4uc3RyYXRlZ3ktZWFybGllc3QtY29sIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNjk4OWI7XHJcbn1cclxuXHJcbi5zdHJhdGVneS1hbHRlcm5hdGUtY29sIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWJjYzc7XHJcbn1cclxuXHJcbi5zdHJhdGVneS1vcHRpbWFsLWNvbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmFjN2FkO1xyXG59XHJcblxyXG4uaWxsdXN0cmF0aW9uVGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgIGZvbnQtc2l6ZTogMC45MHJlbTtcclxufVxyXG5cclxuLmlsbHVzdHJhdGlvblRhYmxlIGl7XHJcbiAgICBwYWRkaW5nOiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogdW5zZXQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlsbHVzdHJhdGlvblRhYmxlIHRkIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjVmNWY1O1xyXG4gIC8qICAgcGFkZGluZzogMnB4IDEwcHggMnB4IDEwcHg7ICovXHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uc3RyYXRlZ3ktYWx0ZXJuYXRlLWNvbCBpe1xyXG4gICAgY29sb3I6IHVuc2V0ICFpbXBvcnRhbnQ7IFxyXG59XHJcblxyXG4uaWxsdXN0cmF0aW9uVGFibGUgdGgge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Y1ZjVmNTtcclxuICAgLyogIHBhZGRpbmc6IDJweCAxMHB4IDJweCAxMHB4OyAqL1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5CcmVha0V2ZW5DZWxsIHtcclxuICAgIC8qIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7ICovXHJcbn1cclxuXHJcbi5CcmVha0V2ZW5Sb3cge1xyXG4gICAgYm9yZGVyOiAycHggIzU1NSBzb2xpZDtcclxufVxyXG5cclxuLmVhcmxpZXN0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNjk4OWI7XHJcbn1cclxuXHJcbi5vcHRpbWFsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYWM3YWQ7XHJcbn1cclxuXHJcbi5hbHRlcm5hdGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYmNjNztcclxufVxyXG5cclxuLmNhc2gtZmxvdy1yb3cge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XHJcbn1cclxuXHJcbi5jYXNoLWZsb3ctcm93IC5kcm9wLWRvd24ge1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG59XHJcblxyXG4uY29tcGFyaXNvbi1ncmFwaCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uY29tcGFyaXNvbi1ncmFwaCBuZ3gtY2hhcnRzLWxpbmUtY2hhcnQge1xyXG5cclxufVxyXG5cclxuLmxlZ2VuZC1ibG9jayB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgbWFyZ2luOiAycHg7XHJcbiAgICBcclxuICAgIC8qIGJhY2tncm91bmQtY29sb3I6ICM1NTU7ICovXHJcbn1cclxuXHJcbi5ncmFwaC1sZWdlbmQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAvKiAgIHBhZGRpbmc6IDEwcHggMCAwIDEwcHg7ICovXHJcbiAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLmdyYXBoLWxlZ2VuZCBkaXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMCAxMHB4IDAgMTBweDtcclxufVxyXG5cclxuLmVhcmxpZXN0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNjk4OWIhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ub3B0aW1hbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmFjN2FkIWltcG9ydGFudDtcclxufVxyXG5cclxuLmFsdGVybmF0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWViY2M3IWltcG9ydGFudDtcclxufVxyXG5cclxuc2VsZWN0IHtcclxuICAgIGhlaWdodDogMzdweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmctbGVmdDogMTdweDtcclxufVxyXG5cclxuLmJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgMjVweCAwIDI1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xyXG59XHJcblxyXG4uYnRuIGJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTU4OTI5O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uYnRuIGkge1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5pbGx1c3RyYXRpb24tY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIFxyXG59XHJcblxyXG4uaWxsdXN0cmF0aW9uRERIaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGhlaWdodDogMDtcclxufVxyXG5cclxuLmlsbHVzdHJhdGlvbkREVmlzaWJsZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcclxuICAgIHRvcDogMDtcclxuICAgIG1hcmdpbi10b3A6IDM1cHg7XHJcbiAgICB3aWR0aDogMTgwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxMzBweDtcclxuICAgIGFsaWduLWl0ZW1zOiBsZWZ0O1xyXG4gICAgYm9yZGVyLXRvcDogMnB4ICNmZmYgc29saWQ7XHJcbn1cclxuXHJcbi5pbGx1c3RyYXRpb25ERFZpc2libGUgc3BhbiB7XHJcbiAgICBtYXJnaW46IDEwcHggMCAxMHB4IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjBweDtcclxufVxyXG5cclxuLmlsbHVzdHJhdGlvbkREVmlzaWJsZSBzcGFuOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5wZW9wbGUtaW5wdXQtaXRlbSBkaXY6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucGVvcGxlLWlucHV0LWl0ZW0gaW5wdXQ6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucGVvcGxlLWlucHV0LWl0ZW0gbGFiZWw6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucmV0aXJlbWVudC10aW1lIGRpdjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5iZW5lZml0LWNoYXJ0LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAvKiBwYWRkaW5nOiAxMHB4OyAqL1xyXG4gICAgcGFkZGluZzogMjBweCAxMHB4IDIwcHggMTBweDtcclxufVxyXG5cclxuXHJcbi5iZW5lZml0cy1yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uYmVuZWZpdC1sZWZ0LWNvbCB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcclxufVxyXG5cclxuLmJlbmVmaXQtcmlnaHQtY29sIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiByaWdodDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IDAgMTBweCAwIDQ1cHg7XHJcbn1cclxuXHJcbi5yaWdodC1jb2wtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4ucmlnaHQtY29sLWNvbnRhaW5lciBzcGFuIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgIG1hcmdpbjogMjBweCAwIDIwcHggMDtcclxufVxyXG5cclxuXHJcbi5iZW5lZml0LXJpZ2h0LWNvbCBzcGFuIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4uYmVuZWZpdC1jaGFydC1jb250YWluZXIgdGFibGUge1xyXG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xyXG59XHJcblxyXG4uYmVuZWZpdC1jaGFydC1jb250YWluZXIgdGFibGUgdHIgdGgge1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLmJlbmVmaXQtY2hhcnQtY29udGFpbmVyIHRhYmxlIHRyIHRkOm5vdDpmaXJzdC1jaGlsZCgpIHtcclxuICAgIGhlaWdodDogNXB4O1xyXG4gICAgd2lkdGg6IDVweDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uYmVuZWZpdC1jaGFydC1jb250YWluZXIgdGFibGUgdHIgLmdyaWQtY2VsbCB7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICB3aWR0aDogMTJweDtcclxuICAgIHBvc2l0aW9uOiBhYm9zbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogIzU1NTsgKi9cclxufVxyXG5cclxuLnNjZW5hcmlvIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCAwIDMwcHggMDtcclxufVxyXG5cclxuLnRleHQtbGluayB7XHJcbiAgICBjb2xvcjogI0U1ODkyOTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uc2NlbmFyaW8gc3BhbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLnNjZW5hcmlvLWNpcmNsZSB7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIGhlaWdodDogMTVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbn1cclxuXHJcbi53b3JzdCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzY5ODliO1xyXG59XHJcblxyXG4ub3B0aW1hbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmFjN2FkO1xyXG59XHJcblxyXG4uYWx0ZXJuYXRlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWJjYzc7XHJcbn1cclxuXHJcbi5iZW5lZml0LXNjZW5hcmlvLXZlcmJpYWdlIHtcclxuICAgIG1hcmdpbjogMzBweCAwIDAgMDtcclxufVxyXG5cclxuLm1lYW5zLXRlc3Rpbmcge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLm1lYW5zLXRlc3RpbmctdG9wLXRleHQge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5pbmNsdWRlLXNwb3VzZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG59XHJcblxyXG4uZ3JpZC1ob3Zlci1jb250YWluZXItaGlkZGVuIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5ncmlkLWhvdmVyLWNvbnRhaW5lci12aXNpYmxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIG1hcmdpbi10b3A6IC0xMTVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtNzVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBib3JkZXI6IDNweCAjZmZmIHNvbGlkO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgei1pbmRleDogMjtcclxufVxyXG5cclxuLmdyaWQtaG92ZXItY29udGFpbmVyLXZpc2libGUgc3BhbiB7XHJcbiAgICBcclxufVxyXG5cclxuLmNlbGwtb3V0bGluZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgYm9yZGVyOiA1cHggIzU1NSBzb2xpZDtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgb3BhY2l0eTogMC44O1xyXG4gICAgcG9pbnRlci1ldmVudHMgOiBub25lO1xyXG59XHJcblxyXG4ucm93LWNlbGwge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ucm93LWNlbGwgLmNlbGwtb3V0bGluZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMjVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMjFweDtcclxufVxyXG5cclxuLnJvdy1jZWxsIC5ncmlkLWhvdmVyLWNvbnRhaW5lci12aXNpYmxlIHtcclxuICAgIG1hcmdpbi10b3A6IC04MHB4IWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ1dHRvbnMtcm93IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG59XHJcblxyXG4uY3JlYXRlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICB3aWR0aDogMjIwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jcmVhdGUgYnV0dG9uIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTg5Mjk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIC8qIGhlaWdodDogMzVweDsgKi9cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC5jcmVhdGUgaSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIH1cclxuICBcclxuICAubW91c2VEaXNhYmxlZCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gIC5tb3VzZURpc2FibGVkOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICB9XHJcblxyXG5cclxuICBpbnB1dDppbnZhbGlkIHtcclxuICAgIGJvcmRlcjogc29saWQgcmVkIDNweDtcclxuICB9XHJcblxyXG4uc3Vydml2b3Itc3dpdGNoLW1zZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjb2xvcjogI0U1ODkyOSFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuXHJcbi5zdXJ2aXZvci1zd2l0Y2gtbXNnIGFwcC1pbmZvLWljb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5zdXJ2aXZvci1zd2l0Y2gtbXNnIGFwcC1pbmZvLWljb24gc3BhbiB7XHJcbiAgICB3aWR0aDogMTU1cHghaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xyXG59XHJcblxyXG46Om5nLWRlZXAgLnN1cnZpdm9yLXN3aXRjaC1tc2cgYXBwLWluZm8taWNvbiBpICB7XHJcbiAgICB3aWR0aDogMTU1cHghaW1wb3J0YW50O1xyXG59XHJcblxyXG46Om5nLWRlZXAgLnN1cnZpdm9yLXN3aXRjaC1tc2cgYXBwLWluZm8taWNvbiAudG9vbC10aXAtbW9kYWwge1xyXG4gICAgd2lkdGg6IDUwMHB4IWltcG9ydGFudDtcclxufVxyXG4iXX0= */\"","module.exports = \"\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{this.client.client.FirstName + ' ' + this.client.client.LastName}}\\r\\n & {{this.client.clientProfile.Spouses[0].firstName + ' ' + this.client.clientProfile.Spouses[0].lastName}}\\r\\n Edit Client Profile\\r\\n Projection includes potential benefits for {{dependentChildCount}} dependent children\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Show Benefits in\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Inflation Rate\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Cost of Living Adjustment (COLA)\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{client.client.FirstName + \\\" \\\" + client.client.LastName}}:\\r\\n
\\r\\n
\\r\\n
\\r\\n Primary Insurance Amount \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Claim Status\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Monthly Benefit Amount\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Survivor Benefit Claim Age\\r\\n Claim Age\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n NEW: Survivor Switch Scenario\\r\\n
\\r\\n Switch to Retirement Benefit Age\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{client.clientProfile.Spouses[0].firstName + \\\" \\\" + client.clientProfile.Spouses[0].lastName}}:\\r\\n
\\r\\n
\\r\\n
\\r\\n Primary Insurance Amount \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Claim Status \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Monthly Benefit Amount\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Claim Age\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Strategy Comparison\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Start Age{{client.client.FirstName}}{{client.clientProfile.Spouses[0].firstName}}\\r\\n Total\\r\\n Medicare Deductions\\r\\n Net of Medicare\\r\\n
Earliest{{ssData.earlStartBenLabel}}{{ssData.earlSelfBenefit}}{{ssData.earlSpouseBenefit}}\\r\\n {{ssData.earlTotalBenefit}}\\r\\n {{ssData.earlPartB + \\\" \\\" + ssData.earlPartBPercent}}\\r\\n {{sumBenefit(ssData.earlTotalBenefit, ssData.earlPartB)}}\\r\\n
Alternate {{ssData.cusStartBenLabel}}{{ssData.cusSelfBenefit}}{{ssData.cusSpouseBenefit}}\\r\\n {{ssData.cusTotalBenefit}}\\r\\n {{ssData.cusPartB + \\\" \\\" + ssData.cusPartBPercent}}\\r\\n {{sumBenefit(ssData.cusTotalBenefit, ssData.cusPartB)}}\\r\\n
Optimal{{ssData.opStartBenLabel}}{{ssData.opSelfBenefit}}{{ssData.opSpouseBenefit}}\\r\\n {{ssData.opTotalBenefit}}\\r\\n {{ssData.optPartB + \\\" \\\" + ssData.optPartBPercent}}\\r\\n {{sumBenefit(ssData.opTotalBenefit, ssData.optPartB)}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Annual Cash Flow of Social Security Benefits \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{selectedIllustration.name}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{illustration.name}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Age{{client.client.FirstName}}{{client.clientProfile.Spouses[0].firstName}}Dependent ChildrenTotal AnnualNet of Medicare{{client.client.FirstName}}{{client.clientProfile.Spouses[0].firstName}}Dependent ChildrenTotal AnnualNet of Medicare
\\r\\n {{client.clientProfile.Spouses.length && client.clientProfile.Spouses[0].maritalStatus == 'Married' ? illustration.clientAge + \\\"/\\\" + illustration.spouseAge : illustration.clientAge}}\\r\\n \\r\\n {{client.clientProfile.Spouses.length && client.clientProfile.Spouses[0].maritalStatus == 'Married' ? illustration.clientAge + \\\"/\\\" + illustration.spouseAge : illustration.clientAge}}\\r\\n \\r\\n {{illustration.clientAmount}}\\r\\n \\r\\n {{illustration.spouseAmount}}\\r\\n \\r\\n {{illustration.dependentChildrenAmount}}\\r\\n \\r\\n {{illustration.totalAnnualAmount}}\\r\\n \\r\\n {{illustration.netOfMedicareAmount}}\\r\\n \\r\\n {{selectedIllustration.data[1][i].clientAmount}}\\r\\n \\r\\n {{selectedIllustration.data[1][i].spouseAmount}}\\r\\n \\r\\n {{selectedIllustration.data[1][i].dependentChildrenAmount}}\\r\\n \\r\\n {{selectedIllustration.data[1][i].totalAnnualAmount}}\\r\\n \\r\\n {{selectedIllustration.data[1][i].netOfMedicareAmount}}\\r\\n
Total{{selectedIllustration.data[0].totals.clientAmountTotal}}{{selectedIllustration.data[0].totals.spouseAmount}}{{selectedIllustration.data[0].totals.dependentChildrenAmount}}{{selectedIllustration.data[0].totals.totalAnnualAmount}}{{selectedIllustration.data[0].totals.netOfMedicareAmount}}{{selectedIllustration.data[1].totals.clientAmountTotal}}{{selectedIllustration.data[1].totals.spouseAmount}}{{selectedIllustration.data[1].totals.dependentChildrenAmount}}{{selectedIllustration.data[1].totals.totalAnnualAmount}}{{selectedIllustration.data[1].totals.netOfMedicareAmount}}
\\r\\n
\\r\\n \\r\\n
\\r\\n Comparison Graph\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Earliest\\r\\n
\\r\\n
\\r\\n \\r\\n Alternate \\r\\n
\\r\\n
\\r\\n \\r\\n Optimal\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Benefits Based on Life Expectancy\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ssData.worstLegendLabel}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ssData.selectedLegendLabel}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ssData.optimalLegendLabel}}\\r\\n
\\r\\n
\\r\\n \\r\\n This chart compares all life expectancy possibilities from ages 70 through age 100 and compares, using a breakdown analysis,\\r\\n which of the three highlighted strategies would yield the highest lifetime household benefit given that life\\r\\n expectancy outcome. The break-even point is the age when the total Social Security income between retirement\\r\\n options becomes equivalent.\\r\\n \\r\\n
\\r\\n
\\r\\n
0 && selectedIllustration\\\" class=\\\"benefit-right-col\\\">\\r\\n {{client.client.FirstName}}\\r\\n
\\r\\n {{client.clientProfile.Spouses[0].firstName}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{70 + i}}
{{70 + i}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{selectedGridValues.firstLine}}\\r\\n
{{selectedGridValues.secondLine}}\\r\\n
{{\\\"Total benefit: \\\" + selectedGridValues.totalvalue}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{70 + i}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{selectedGridValues.firstLine}}\\r\\n
{{\\\"Total benefit: \\\" + selectedGridValues.totalvalue}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Medicare Means Testing\\r\\n
\\r\\n The client is projected to pay\\r\\n {{ssData.meansTestingLiteral ? ssData.meansTestingLiteral : \\\"$0\\\"}} in Medicare surcharges throughout retirement.\\r\\n Investing in non-MAGI affected products such as non-qualified annuities, Roth 401(k) and life insurance, may reduce\\r\\n or potentially eliminate these costs.\\r\\n Check out the\\r\\n Medicare Means Testing Application to learn more.\\r\\n
\\r\\n
\\r\\n \\r\\n You are not anticipated at this time to be subject to means testing surcharges, however, events such as the sale of the home, the sale of a business, or change in marital status, including becoming a widow or widower, may affect this. It is important to work with a financial professional who can address the potential concerns.\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GlobalService } from '../services/global.service';\r\nimport { ModalService } from '../shared/modal/modal.service';\r\nimport { SnackBarService } from '../shared/snackbar/snackbar.service';\r\nimport { LoadingService } from '../shared/loading/loading.service';\r\n\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\nimport Utils from '../shared/utility';\r\n\r\nimport * as shape from 'd3-shape';\r\nimport { formatCurrency } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-social-security',\r\n templateUrl: './social-security.component.html',\r\n styleUrls: ['./social-security.component.css']\r\n})\r\nexport class SocialSecurityComponent implements OnInit {\r\n\r\n @ViewChild('illustrationDD') illustrationDD: ElementRef;\r\n\r\n public error: string;\r\n\r\n public client: any = {};\r\n public ssInputs: any = {};\r\n public ssData: any;\r\n\r\n public earliestVsAlternate: any;\r\n public comparisonGraph: any;\r\n\r\n public illustrationComparisons: any[];\r\n public selectedIllustration: any;\r\n public comparisonIllustration: any;\r\n\r\n public discountRate: number = 3;\r\n\r\n public clientMonthlyBenefitAmount: number = 0;\r\n public spouseMonthlyBenefitAmount: number = 0;\r\n\r\n public startPIA;\r\n public endPIA;\r\n public spouseStartPIA;\r\n public spouseEndPIA; \r\n\r\n public alternateMessage: string = \"This claim age is based on the user-inputted desired claim age above, and may be specific to the month of filing. If a number of months is listed after the year of age, the filing age is that many months past the beneficiary’s birthday. For example, “68 and 4 months” would be four months after the month in which they turn 68.\";\r\n public switchSurvivorMessage: string = `At Age 67, you will begin collecting survivor benefits based on your late spouse's earnings record. At age 70, you will switch to retirement benefits based on your own earnings record. Got questions? Check out the instructional video in the Info Center under \"Training Video Series\", call our support line at 800-969-6518, or click on the Support icon in the bottom-right of your screen to create a support ticket.`;\r\n public futureCostMessage: string = 'Selecting \"Todays Dollars\" will show benefits in the net present value, assuming an annual inflation rate based on the amount selected to the right. Selecting \"Future Dollars\" will show the actual projected benefit in the given year.';\r\n public inflationRateMessage: string = \"Enter the annual inflation rate being applied to projected future benefits when run in Today’s Dollars.\";\r\n public colaMessage: string = \"Cost-of-Living Adjustment (COLA) is the percentage change in benefits from year-to-year by the Social Security Administration. These adjustments are made to account for inflation on an annual basis. The default rates are consistent with the latest Social Security Trustee projections, but may be changed.\";\r\n public primaryInsuranceAmountMessage: string = \"Primary Insurance Amount is the monthly benefit the client will receive from Social Security at Full Retirement Age based on their earnings record. This amount is needed to project benefits throughout the client’s lifetime. This amount can be found at https://secure.ssa.gov/RIL/SiView.do.\";\r\n public primaryInsuranceAmountSurvivorMessage: string = \"This is the year at which the survivor benefit is initially collected. Benefits collected before Full Retirement Age may be reduced from the late spouse’s PIA, and will be subject to the Earnings Test for the survivor.\";\r\n \r\n public claimStatusMessage: string = \"If a client is already receiving Social Security benefits, selecting “yes” will appropriately restrict the strategies the output will suggest.\";\r\n public claimAgeMessage: string = \"You can adjust the claiming age to instantly show the results associated with any filing age. Enter in the age (by year and month) when claiming is desired. For someone considering filing three months after their 65th birthday, enter 65 for the “Year” and 3 for the “Month”. NOTE: Your claim age is adjusted to fit into Social Security filing age restrictions.\";\r\n public cashFlowMessage: string = \"This illustration shows expected Social Security benefits earned year-by-year. Note that the projections are shown for each spouse (if married) and that the “Net of Medicare” column shows totals after Medicare Part B premiums and any potential Medicare surcharges are deducted from benefits.\";\r\n\r\n public medicareDeductionsInfo: string = \"This is the amount that is withheld from gross Social Security benefits and automatically paid to Medicare. Amount will include Medicare Part B premiums, and may include Part B and D surcharges, if applicable.\";\r\n public netOfMedicareInfo: string = \"Net benefits after Medicare deductions are subtracted\";\r\n\r\n public breakEvenMessage: string = \"The break-even point (highlighted here in orange) is the age when the total Social Security income between retirement options becomes equivalent. If your longevity is in question, or you don’t have an immediate need for retirement benefits before FRA, you may want to make your choice based on what will generate the largest lifetime income within your broader retirement plan.\";\r\n public strategyComparisonMessage: string = \"Directly compare two of the three strategies with this drop-down menu. Remember that in this illustration, as well as the entire application and report, Earliest is in red, Alternate is in blue, and Optimal is in green.\";\r\n\r\n public survivorSwitchMessage: string = \"The year in which the client switches from collecting survivor benefits to their own retirement benefit. If the switch age is past their FRA. they will receive a benefit larger than their PIA.\";\r\n\r\n public survivorSwitchInfo: string = `Switch to Retirement Benefit Age\r\n

\r\n Those who have outlived a spouse (or qualifying ex-spouse) may be eligible for survivor benefits from Social Security as an alternative to their own retirement benefit. Survivors may begin collecting a survivor benefit as early as age 60 and subsequently change to their personal retirement benefit as late as age 70. Delaying the collection of this benefit can result in a higher monthly check.\r\n

\r\n Please keep in mind:\r\n

\r\n •\tBenefit amounts are affected by the timing of claims\r\n

  - Claiming before one’s FRA may reduce monthly benefits\r\n

  - Claiming after one’s FRA may increase potential benefits\r\n

\r\n •\tIn some cases, delaying a switch from survivor to personal benefits may not always be an improvement\r\n

  - If a client’s retirement PIA is significantly smaller than that of their late spouse, the survivor benefit may always be the greater benefit\r\n

  - Alternatively, someone with a relatively small survivor benefit may not wish to experience small Social Security benefits while waiting for their personal benefit to grow\r\n

\r\n •\tIt may take time for a personal benefit to grow larger than a survivor benefit\r\n

  - For example, collecting survivor benefits at 67 and switching to personal benefits at 69 (two years of delayed retirement credits for collecting after FRA) may not be enough to boost the client’s PIA to an amount higher than the survivor benefit. However, collecting survivor benefits at 67 and switching at 70 (three years of delayed retirement credits) may provide enough of an increase to make the switch effective.\r\n

\r\n Got questions? Call our support line at 800-969-6518, or click on the Support icon in the bottom-right of your screen to create a support ticket.\r\n `;\r\n\r\n private previousSurvivorYears = 70;\r\n private previousClaimYears = 67;\r\n public clientSurvivorSwitchYears: number = 70;\r\n public clientSurvivorSwitchMonths: number = 0;\r\n\r\n curves = {\r\n Basis: shape.curveBasis,\r\n 'Basis Closed': shape.curveBasisClosed,\r\n Bundle: shape.curveBundle.beta(1),\r\n Cardinal: shape.curveCardinal,\r\n 'Cardinal Closed': shape.curveCardinalClosed,\r\n 'Catmull Rom': shape.curveCatmullRom,\r\n 'Catmull Rom Closed': shape.curveCatmullRomClosed,\r\n Linear: shape.curveLinear,\r\n 'Linear Closed': shape.curveLinearClosed,\r\n 'Monotone X': shape.curveMonotoneX,\r\n 'Monotone Y': shape.curveMonotoneY,\r\n Natural: shape.curveNatural,\r\n Step: shape.curveStep,\r\n 'Step After': shape.curveStepAfter,\r\n 'Step Before': shape.curveStepBefore,\r\n default: shape.curveLinear\r\n };\r\n\r\n curveType: string = 'Step';\r\n curve: any = this.curves[this.curveType];\r\n interpolationTypes = [\r\n 'Basis', 'Bundle', 'Cardinal', 'Catmull Rom', 'Linear', 'Monotone X',\r\n 'Monotone Y', 'Natural', 'Step', 'Step After', 'Step Before'\r\n ];\r\n\r\n closedCurveType: string = 'Linear Closed';\r\n closedCurve: any = this.curves[this.closedCurveType];\r\n closedInterpolationTypes = [\r\n 'Basis Closed', 'Cardinal Closed', 'Catmull Rom Closed', 'Linear Closed'\r\n ];\r\n\r\n showXAxis = true;\r\n showYAxis = true;\r\n gradient = false;\r\n showLegend = false;\r\n showXAxisLabel = true;\r\n // xAxisLabel = 'Monthly Income';\r\n showYAxisLabel = true;\r\n yAxisLabel = 'Monthly Income';\r\n\r\n colorScheme = {\r\n domain: ['#bac7ad', '#aebcc7', '#c6989b']\r\n };\r\n \r\n // line, area\r\n autoScale = true;\r\n\r\n public illustrationsTypes = [\"Optimal\", \"Alternate\", \"Earliest\"];\r\n public includeSpouse = false;\r\n\r\n public colas: any[] = [\r\n { Cola: 0, Year: 0},\r\n { Cola: 0, Year: 0},\r\n { Cola: 0, Year: 0},\r\n { Cola: 0, Year: 0},\r\n ];\r\n\r\n public clientPIA: Number = 1250;\r\n public clientClaimStatus: string = \"False\";\r\n public clientRetirementYears: Number = 67;\r\n public clientRetirementMonths: Number = 0;\r\n public spousePIA: Number = 1250;\r\n public spouseClaimStatus: string = \"False\";\r\n public spouseRetirementYears: Number = 67;\r\n public spouseRetirementMonths: Number = 0;\r\n public presentValue: string = \"True\";\r\n\r\n public previousSpouse: any;\r\n\r\n public clientClaimStatusDisabled: boolean = false;\r\n public spouseClaimStatusDisabled: boolean = false;\r\n\r\n public modalSubscription;\r\n\r\n constructor(private globalService: GlobalService, private modalService: ModalService, private snackBarService: SnackBarService, private router: Router, private loadingService: LoadingService, private sanitizer: DomSanitizer) {\r\n this.modalSubscription = modalService.modal$.subscribe((modal) => {\r\n if (modal.modalName == 'add-edit-clientClosed') { // TODO: Fix this hack -- naming it hidden.. modals in general need to be refactored\r\n this.getClient();\r\n }\r\n });\r\n\r\n const yearlyColas = JSON.parse(localStorage.getItem('yearlyValues')) || { BaseYear: 2020, Year1: 1.3, Year2: 2.6, Year3: 2.6, Year4: 2.6 };\r\n this.colas[0] = { Year: yearlyColas.BaseYear, Cola : yearlyColas.Year1 };\r\n this.colas[1] = { Year: yearlyColas.BaseYear + 1, Cola : yearlyColas.Year2 };\r\n this.colas[2] = { Year: yearlyColas.BaseYear + 2, Cola : yearlyColas.Year3 };\r\n this.colas[3] = { Year: yearlyColas.BaseYear + 3, Cola : yearlyColas.Year4 };\r\n\r\n this.getClient();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.modalSubscription.unsubscribe();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n colaUpdate(e, i) {\r\n this.colas[i].Cola = Number(e.target.value);\r\n this.inputFocusOut(e.target);\r\n }\r\n\r\n clientMonthlyBenefitUpdate(e) {\r\n this.inputFocusOut(e.target);\r\n }\r\n\r\n discountRateUpdate(e) {\r\n this.discountRate = e.target.value;\r\n this.inputFocusOut(e.target);\r\n }\r\n\r\n clientPIAUpdate(e) {\r\n this.clientPIA = Number(e.target.value);\r\n this.inputFocusOut(e.target);\r\n }\r\n\r\n clientClaimStatusUpdate(e) {\r\n // this.clientClaimStatus = e.target.val;\r\n // if (this.clientClaimStatus == 'No')\r\n // this.clientClaimStatus = 'False';\r\n this.inputFocusOut(e.target);\r\n }\r\n\r\n clientRetirementYearsUpdate(e) {\r\n this.switchSurvivorMessage = this.switchSurvivorMessage.replace(\"At Age \" + this.previousClaimYears.toString() + \", you will begin collecting\", \"At Age \" + this.clientRetirementYears.toString() + \", you will begin collecting\");\r\n this.previousClaimYears = Number(this.clientRetirementYears);\r\n this.ssRetirementYearFocusOut(e, this.client.clientProfile, true);\r\n }\r\n\r\n spouseRetirementYearsUpdate(e) {\r\n this.ssRetirementYearFocusOut(e, this.client.clientProfile.Spouses[0], false);\r\n }\r\n\r\n private typingTimer1;\r\n private doneTypingInterval1 = 500;\r\n private typerWaiting1 = false;\r\n\r\n ssRetirementYearFocusOut(e, person, client) {\r\n clearTimeout(this.typingTimer1);\r\n if (e.target.value) {\r\n this.typingTimer1 = setTimeout(() => {\r\n\r\n if (this.client.clientProfile.Spouses[0] && this.client.clientProfile.Spouses[0].maritalStatus == \"Widowed\") {\r\n if (e.target.value < 62) {\r\n this.clientRetirementYears = 62;\r\n e.target.value = 62;\r\n } else {\r\n this.clientRetirementYears = 70;\r\n e.target.value = 70;\r\n }\r\n \r\n if (e.target.value >= 60 && e.target.value <= 70) {\r\n this.clientRetirementYears = Number(e.target.value);\r\n this.getSSData();\r\n }\r\n } else {\r\n if (client) {\r\n if (e.target.value >= 60 && e.target.value <= 70 && this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == \"Widowed\") {\r\n this.clientRetirementYears = Number(e.target.value);\r\n this.getSSData();\r\n } else if (e.target.value >= 62 && e.target.value <= 70) {\r\n this.clientRetirementYears = Number(e.target.value);\r\n this.getSSData();\r\n } else {\r\n if (this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus != \"Widowed\") {\r\n if (e.target.value < 62) {\r\n this.clientRetirementYears = 62;\r\n e.target.value = 62;\r\n } else {\r\n this.clientRetirementYears = 70;\r\n e.target.value = 70;\r\n }\r\n } else {\r\n if (e.target.value < 60) {\r\n this.clientRetirementYears = 60;\r\n e.target.value = 60;\r\n } else {\r\n this.clientRetirementYears = 70;\r\n e.target.value = 70;\r\n }\r\n }\r\n this.getSSData();\r\n }\r\n } else {\r\n if (e.target.value >= 60 && e.target.value <= 70 && this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == \"Widowed\") {\r\n this.spouseRetirementYears = Number(e.target.value) || 67;\r\n this.inputFocusOut(e.target);\r\n } else if (e.target.value >= 62 && e.target.value <= 70) {\r\n this.spouseRetirementYears = Number(e.target.value) || 67;\r\n this.inputFocusOut(e.target);\r\n } else {\r\n if (this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus != \"Widowed\") {\r\n if (e.target.value < 62) {\r\n this.spouseRetirementYears = 62;\r\n e.target.value = 62;\r\n } else {\r\n this.spouseRetirementYears = 70;\r\n e.target.value = 70;\r\n }\r\n } else {\r\n if (e.target.value < 60) {\r\n this.spouseRetirementYears = 60;\r\n e.target.value = 60;\r\n } else {\r\n this.spouseRetirementYears = 70;\r\n e.target.value = 70;\r\n }\r\n }\r\n this.getSSData();\r\n }\r\n }\r\n }\r\n }, this.doneTypingInterval1);\r\n }\r\n }\r\n\r\n private typingTimer2;\r\n private doneTypingInterval2 = 500;\r\n private typerWaiting2 = false;\r\n\r\n ssSurvivorYearFocusOut(e, person, client) {\r\n clearTimeout(this.typingTimer2);\r\n if (e.target.value) {\r\n this.typingTimer2 = setTimeout(() => {\r\n\r\n if (this.client.clientProfile.Spouses[0] && this.client.clientProfile.Spouses[0].maritalStatus == \"Widowed\") {\r\n if (e.target.value < 62) {\r\n this.clientSurvivorSwitchYears = 62;\r\n e.target.value = 62;\r\n } else {\r\n this.clientSurvivorSwitchYears = 70;\r\n e.target.value = 70;\r\n }\r\n \r\n if (e.target.value >= 60 && e.target.value <= 70) {\r\n this.clientSurvivorSwitchYears = Number(e.target.value);\r\n this.getSSData();\r\n }\r\n } else {\r\n if (client) {\r\n if (e.target.value >= 60 && e.target.value <= 70 && this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == \"Widowed\") {\r\n this.clientSurvivorSwitchYears = Number(e.target.value);\r\n this.getSSData();\r\n } else if (e.target.value >= 62 && e.target.value <= 70) {\r\n this.clientSurvivorSwitchYears = Number(e.target.value);\r\n this.getSSData();\r\n } else {\r\n if (this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus != \"Widowed\") {\r\n if (e.target.value < 62) {\r\n this.clientSurvivorSwitchYears = 62;\r\n e.target.value = 62;\r\n } else {\r\n this.clientSurvivorSwitchYears = 70;\r\n e.target.value = 70;\r\n }\r\n } else {\r\n if (e.target.value < 60) {\r\n this.clientSurvivorSwitchYears = 60;\r\n e.target.value = 60;\r\n } else {\r\n this.clientSurvivorSwitchYears = 70;\r\n e.target.value = 70;\r\n }\r\n }\r\n this.getSSData();\r\n }\r\n } else {\r\n if (e.target.value >= 60 && e.target.value <= 70 && this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == \"Widowed\") {\r\n this.spouseRetirementYears = Number(e.target.value) || 67;\r\n this.inputFocusOut(e.target);\r\n } else if (e.target.value >= 62 && e.target.value <= 70) {\r\n this.spouseRetirementYears = Number(e.target.value) || 67;\r\n this.inputFocusOut(e.target);\r\n } else {\r\n if (this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus != \"Widowed\") {\r\n if (e.target.value < 62) {\r\n this.spouseRetirementYears = 62;\r\n e.target.value = 62;\r\n } else {\r\n this.spouseRetirementYears = 70;\r\n e.target.value = 70;\r\n }\r\n } else {\r\n if (e.target.value < 60) {\r\n this.spouseRetirementYears = 60;\r\n e.target.value = 60;\r\n } else {\r\n this.spouseRetirementYears = 70;\r\n e.target.value = 70;\r\n }\r\n }\r\n this.getSSData();\r\n }\r\n }\r\n }\r\n }, this.doneTypingInterval2);\r\n }\r\n }\r\n\r\n clientRetirementMonthsUpdate(e) {\r\n if (e.target.value.toString() == 0) {\r\n this.switchSurvivorMessage = this.switchSurvivorMessage.replace(\"At Age \" + this.clientRetirementYears.toString() + \" and \" + this.clientRetirementMonths.toString() + \", you will begin collecting\", \"At Age \" + this.clientRetirementYears.toString() + \", you will begin collecting\");\r\n } else {\r\n this.switchSurvivorMessage = this.switchSurvivorMessage.replace(\"At Age \" + this.clientRetirementYears.toString() + \", you will begin collecting\", \"At Age \" + this.clientRetirementYears.toString() + \" and \" + e.target.value.toString() + \", you will begin collecting\");\r\n this.switchSurvivorMessage = this.switchSurvivorMessage.replace(\"At Age \" + this.clientRetirementYears.toString() + \" and \" + this.clientRetirementMonths.toString() + \", you will begin collecting\", \"At Age \" + this.clientRetirementYears.toString() + \" and \" + e.target.value.toString() + \", you will begin collecting\");\r\n }\r\n \r\n this.clientRetirementMonths = Number(e.target.value);\r\n\r\n if (typeof this.clientRetirementMonths == 'number' && !isNaN(this.clientRetirementMonths)) {\r\n if (this.clientRetirementMonths < 0) {\r\n this.clientRetirementMonths = 0;\r\n } else if (this.clientRetirementMonths >= 12) {\r\n this.clientRetirementMonths = 11;\r\n }\r\n } else {\r\n this.clientRetirementMonths = 0;\r\n }\r\n \r\n this.inputFocusOut(e.target);\r\n }\r\n\r\n clientSurvivorSwitchYearsUpdate(e) {\r\n this.switchSurvivorMessage = this.switchSurvivorMessage.replace(\" record. At age \" + this.previousSurvivorYears.toString(), \" record. At age \" + this.clientSurvivorSwitchYears.toString());\r\n this.previousSurvivorYears = this.clientSurvivorSwitchYears;\r\n // this.inputFocusOut(e.target);\r\n this.ssSurvivorYearFocusOut(e, this.client.clientProfile.Spouses[0], false);\r\n }\r\n\r\n clientSurvivorSwitchMonthsUpdate(e) {\r\n\r\n this.inputFocusOut(e.target);\r\n }\r\n\r\n spousePIAUpdate(e) {\r\n this.spousePIA = Number(e.target.value);\r\n this.inputFocusOut(e.target);\r\n }\r\n\r\n spouseClaimStatusUpdate(e) {\r\n // this.spouseClaimStatus = e.target.val;\r\n // if (this.spouseClaimStatus == 'No')\r\n // this.spouseClaimStatus = 'False';\r\n this.inputFocusOut(e.target);\r\n }\r\n\r\n \r\n\r\n spouseRetirementMonthsUpdate(e) {\r\n this.spouseRetirementMonths = Number(e.target.value);\r\n\r\n if (typeof this.spouseRetirementMonths == 'number' && !isNaN(this.spouseRetirementMonths)) {\r\n if (this.spouseRetirementMonths < 0) {\r\n this.spouseRetirementMonths = 0;\r\n } else if (this.spouseRetirementMonths >= 12) {\r\n this.spouseRetirementMonths = 11;\r\n }\r\n } else {\r\n this.spouseRetirementMonths = 0;\r\n }\r\n this.inputFocusOut(e.target);\r\n }\r\n\r\n presentValueUpdate(e) {\r\n this.presentValue = e.target.value;\r\n this.inputFocusOut(e.target);\r\n }\r\n\r\n private typingTimer;\r\n private doneTypingInterval = 2000;\r\n private typerWaiting = false;\r\n\r\n inputFocusOut(el) {\r\n clearTimeout(this.typingTimer);\r\n if (el.value) {\r\n this.typingTimer = setTimeout(() => {\r\n this.getSSData();\r\n }, this.doneTypingInterval);\r\n }\r\n }\r\n\r\n public earliestIllTotals: any = {};\r\n public alternateIllTotals: any = {};\r\n public optimalIllTotals: any = {};\r\n\r\n getSSData() {\r\n \r\n this.loadingService.isLoading(true);\r\n var tempChildren = [];\r\n var tempChild = {};\r\n\r\n \r\n if (this.client.clientProfile.Children && this.client.clientProfile.Children.length) {\r\n for (var k in this.client.clientProfile.Children) {\r\n tempChild = {};\r\n tempChild[\"CurrentAge\"] = Number(this.client.clientProfile.Children[k].DependentChildAge);//this.getNumber(this.editClientModel.clientProfile.Spouses[k].currentIncome);\r\n tempChild['isDisabled'] = false;\r\n tempChild['IsStudentAt19'] = false; //this.client.clientProfile.Children[k].DependentChildStudent == \"Yes\" ? true : false;\r\n tempChildren.push(tempChild);\r\n }\r\n }\r\n\r\n var ssObject = {\r\n\r\n //HACK: used for backwards compatibility with redesign\r\n FrmPhase1Rate: 6,\r\n FrmPhase1Periods: Math.max(65 - Number(this.calculateAge(this.client.client.DOB))),\r\n FrmPhase2Rate: 6,\r\n FrmPhase2Periods: 10,\r\n FrmPhase3Rate: 6,\r\n\r\n FrmName0: this.client.client.FirstName + \" \" + this.client.client.LastName,\r\n SelfCurrentMonthlyBenefit: this.clientMonthlyBenefitAmount,\r\n SpouseAlreadyCollecting: this.spouseClaimStatus, //'False',//this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.spouseClaimStatus : \"False\",\r\n SelfGovPensionAmount: this.client.clientProfile.Pension,// \"\", // --> Needs to be updated, but how is this calculated?\r\n Children: this.client.clientProfile.Children && this.client.clientProfile.Children.length > 0 ? tempChildren : [],\r\n SelfAlreadyCollecting: this.clientClaimStatus, //'False',//this.clientClaimStatus,\r\n // SpouseLifeExpectancy: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? 89 : 0, // make this part of ssData output\r\n selfConditions: JSON.stringify({\r\n HCHBP: this.client.clientProfile.HCHBP,\r\n HCHC: this.client.clientProfile.HCHC,\r\n HCT2D: this.client.clientProfile.HCT2D,\r\n HCCD: this.client.clientProfile.HCCD,\r\n HCC: this.client.clientProfile.HCC,\r\n HCT: this.client.clientProfile.HCT,\r\n }),\r\n spouseConditions: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? JSON.stringify({\r\n HCHBP: this.client.clientProfile.Spouses[0].HCHBP || 0,\r\n HCHC: this.client.clientProfile.Spouses[0].HCHC || 0,\r\n HCT2D: this.client.clientProfile.Spouses[0].HCT2D || 0,\r\n HCCD: this.client.clientProfile.Spouses[0].HCCD || 0,\r\n HCC: this.client.clientProfile.Spouses[0].HCC || 0,\r\n HCT: this.client.clientProfile.Spouses[0].HCT || 0,\r\n }) : \"\",\r\n\r\n includeSpouse: this.includeSpouse,\r\n\r\n \r\n\r\n selfGender: this.client.client.GenderID,\r\n spouseGender: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.client.clientProfile.Spouses[0].gender || 1 : 1,\r\n // Finish validating fields below this --------\r\n\r\n BendPointInflation: 2, // make this part of ssData ?\r\n SelfCurrentAge: this.calculateAge(this.client.client.DOB),\r\n SpouseCurrentAge: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.calculateAge(this.client.clientProfile.Spouses[0].dob) || 30 : 30,\r\n IsPresentValue: this.presentValue == \"True\" ? true : false,\r\n SpouseCurrentMonthlyBenefit: this.spouseClaimStatus == \"True\" ? this.spouseMonthlyBenefitAmount.toString().replace(/,/g,\"\").replace(\"$\",\"\") || 0 : 0,//this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? 0 : 0,\r\n FrmIncome: \"Ind1\", // make this part of ssData output\r\n SelfPensionStartMonth: this.client.clientProfile.PensionMonths, // ??\r\n isSelfSuspendable: \"False\", // ??\r\n SpouseBenefitAge: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.spouseRetirementYears : 0,\r\n selfCanRestrict: \"False\", // ??\r\n SpousePIA: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.spousePIA.toString().replace(/,/g,\"\").replace(\"$\",\"\") : 0,\r\n SelfLifeExpectancy: this.client.clientProfile.LifeExpectancy || 0, //87, // make this part of ssData output\r\n SpouseLifeExpectancy: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.client.clientProfile.Spouses[0].LifeExpectancy || 0 : 0,\r\n StrategyDropDown: \"AutoSelect\",\r\n SelfPensionFrequency: \"Monthly\",\r\n SelfPensionStartYear: this.client.clientProfile.PensionYears, // ??\r\n SelfPIA: this.clientPIA,\r\n COLA: this.colas,\r\n FrmColaXml: this.colas,\r\n SpousePensionStartMonth: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.client.clientProfile.Spouses[0].pensionMonth : \"01\",\r\n SpouseGovPensionAmount: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse && this.client.clientProfile.Spouses[0].pension ? this.client.clientProfile.Spouses[0].pension.toString().replace(/,/g,\"\").replace(\"$\",\"\") || 0 : 0,\r\n SpouseGovPension: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.client.clientProfile.Spouses[0].includePension : \"False\",\r\n PIAIncomeYears1: 0, // ??\r\n SelfAlreadyClaimedAge: 0, // ??\r\n spouseCanRestrict: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? \"False\" : \"\",\r\n SelfSubstantialEarningsYears: this.client.clientProfile.SubstantialEarningYears || 30, // ??\r\n SelfBenefitAge: this.clientRetirementYears,// 67,\r\n FrmName1: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.client.clientProfile.Spouses[0].firstName + \" \" + this.client.clientProfile.Spouses[0].lastName : \"\",\r\n SpouseAlreadyClaimedAge: 0, // ??\r\n MaritalState: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.client.clientProfile.Spouses[0].maritalStatus : \"Single\",\r\n SpousePensionStartYear: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.client.clientProfile.Spouses[0].pensionYear : \"\",\r\n SpousePensionFrequency: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? \"Monthly\" : \"\",\r\n RetirementStrategy: \"FileForBenefits\", // get in ssData ??\r\n PIAIncomeYears2: 0, // ??\r\n SpouseSubstantialEarningsYears: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse && this.client.clientProfile.Spouses[0].includePension ? Number(this.client.clientProfile.Spouses[0].substantialEarningYears) : 0,\r\n SelfGovPension: this.client.clientProfile.IncludePension == 1 ? true : false,//\"False\",\r\n isSpouseSuspendable: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? \"False\" : \"\",\r\n\r\n selfRetirementYears: this.clientRetirementYears,\r\n selfRetirementMonths: this.clientRetirementMonths,\r\n spouseRetirementYears: this.spouseRetirementYears,\r\n spouseRetirementMonths: this.spouseRetirementMonths,\r\n\r\n clientSurvivorSwitchYears: this.clientSurvivorSwitchYears,\r\n clientSurvivorSwitchMonths: this.clientSurvivorSwitchMonths,\r\n SurvivorSwitchYears: this.clientSurvivorSwitchYears,\r\n SurvivorSwitchMonths: this.clientSurvivorSwitchMonths,\r\n\r\n SelfDOB: this.client.client.DOB,\r\n SpouseDOB: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? (this.client.clientProfile.Spouses[0].dobStr && Date.parse(this.client.clientProfile.Spouses[0].dobStr) ? this.client.clientProfile.Spouses[0].dobStr : Date.parse(this.client.clientProfile.Spouses[0].dob) ? this.client.clientProfile.Spouses[0].dob : '1/1/1960') : '1/1/1960',\r\n SelfCurrentIncome: this.client.clientProfile.CurrentIncome,\r\n SpouseCurrentIncome: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].currentIncome : 0,\r\n SelfIRR: this.client.clientProfile.IRR,\r\n \r\n FrmDiscountRate: parseFloat((this.discountRate / 100).toString()),\r\n SelfRetirementAge: this.client.clientProfile.RetirementAge,\r\n SpouseRetirementAge: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].retirementAge : 0,\r\n SpousePreviousSpouses: JSON.stringify(this.previousSpouse)\r\n }\r\n\r\n if (ssObject.MaritalState == 'Divorced') {\r\n \r\n ssObject.SpouseBenefitAge = 62;\r\n ssObject.spouseRetirementYears = 62;\r\n ssObject.spouseRetirementMonths = 0;\r\n }\r\n\r\n var user = {\r\n UserID: Number(localStorage.getItem('roleId')) <= 2 ? localStorage.getItem('selectedAdvisorID') : localStorage.getItem('userId'),\r\n CompanyCode: Number(localStorage.getItem('roleId')) <= 2 ? localStorage.getItem('selectedAdvisorOrgID') : localStorage.getItem('orgID'),\r\n ClientID: localStorage.getItem('selectedClient')\r\n }\r\n \r\n this.switchSurvivorMessage = this.switchSurvivorMessage.replace(\" record. At age \" + this.previousSurvivorYears.toString(), \" record. At age \" + this.clientSurvivorSwitchYears.toString());\r\n if (this.clientRetirementMonths == 0) {\r\n this.switchSurvivorMessage = this.switchSurvivorMessage.replace(\"At Age \" + this.previousClaimYears.toString() + \", you will begin collecting\", \"At Age \" + this.clientRetirementYears.toString() + \", you will begin collecting\");\r\n } else {\r\n this.switchSurvivorMessage = this.switchSurvivorMessage.replace(\"At Age \" + this.previousClaimYears.toString() + \" and \" + this.clientRetirementMonths.toString() + \", you will begin collecting\", \"At Age \" + this.clientRetirementYears.toString() + \" and \" + this.clientRetirementMonths.toString() + \", you will begin collecting\");\r\n }\r\n \r\n this.globalService.getSSData(ssObject, user)\r\n .subscribe(\r\n data => {\r\n this.ssData = data;\r\n \r\n this.ssData.gridData = JSON.parse(this.ssData.gridData);\r\n this.ssData.gridData = this.formatGridData(this.ssData.gridData);\r\n this.setSelectedLifeExpectancyPoint();\r\n \r\n this.comparisonGraph = this.createComparisonGraphData(data.costsByCareAndRegionBody);\r\n\r\n var eIllTotal = {\r\n clientAmountTotal: 0,\r\n dependentChildrenAmount: 0,\r\n netOfMedicareAmount: 0,\r\n spouseAmount: 0,\r\n totalAnnualAmount: 0,\r\n };\r\n\r\n var aIllTotal = {\r\n clientAmountTotal: 0,\r\n dependentChildrenAmount: 0,\r\n netOfMedicareAmount: 0,\r\n spouseAmount: 0,\r\n totalAnnualAmount: 0,\r\n };\r\n\r\n var opIllTotal = {\r\n clientAmountTotal: 0,\r\n dependentChildrenAmount: 0,\r\n netOfMedicareAmount: 0,\r\n spouseAmount: 0,\r\n totalAnnualAmount: 0,\r\n };\r\n\r\n for (var key in data.earliestIllustrationTable) {\r\n eIllTotal.clientAmountTotal = eIllTotal.clientAmountTotal + data.earliestIllustrationTable[key].clientAmount;\r\n eIllTotal.dependentChildrenAmount = eIllTotal.dependentChildrenAmount + data.earliestIllustrationTable[key].dependentChildrenAmount;\r\n eIllTotal.netOfMedicareAmount = Number(this.ssData.earlTotalBenefit.replace(/,/g,\"\").replace(\"$\",\"\")) - Number(this.ssData.earlPartB.replace(/,/g,\"\").replace(\"$\",\"\")); //eIllTotal.netOfMedicareAmount + data.earliestIllustrationTable[key].netOfMedicareAmount;\r\n eIllTotal.spouseAmount = eIllTotal.spouseAmount + data.earliestIllustrationTable[key].spouseAmount;\r\n eIllTotal.totalAnnualAmount = eIllTotal.totalAnnualAmount + data.earliestIllustrationTable[key].totalAnnualAmount;\r\n for (var keyy in data.earliestIllustrationTable[key]) {\r\n if (typeof data.earliestIllustrationTable[key][keyy] === 'number') {\r\n data.earliestIllustrationTable[key][keyy] = Utils.formatToCurrency(data.earliestIllustrationTable[key][keyy].toFixed(0));\r\n }\r\n }\r\n }\r\n\r\n data.earliestIllustrationTable.totals = eIllTotal;\r\n\r\n\r\n for (var key in data.alternateIllustrationTable) {\r\n aIllTotal.clientAmountTotal = aIllTotal.clientAmountTotal + data.alternateIllustrationTable[key].clientAmount;\r\n aIllTotal.dependentChildrenAmount = aIllTotal.dependentChildrenAmount + data.alternateIllustrationTable[key].dependentChildrenAmount;\r\n aIllTotal.netOfMedicareAmount = Number(this.ssData.cusTotalBenefit.replace(/,/g,\"\").replace(\"$\",\"\")) - Number(this.ssData.cusPartB.replace(/,/g,\"\").replace(\"$\",\"\")); //aIllTotal.netOfMedicareAmount + data.alternateIllustrationTable[key].netOfMedicareAmount;\r\n aIllTotal.spouseAmount = aIllTotal.spouseAmount + data.alternateIllustrationTable[key].spouseAmount;\r\n aIllTotal.totalAnnualAmount = aIllTotal.totalAnnualAmount + data.alternateIllustrationTable[key].totalAnnualAmount;\r\n for (var keyy in data.alternateIllustrationTable[key]) {\r\n if (typeof data.alternateIllustrationTable[key][keyy] === 'number') {\r\n data.alternateIllustrationTable[key][keyy] = Utils.formatToCurrency(data.alternateIllustrationTable[key][keyy].toFixed(0));\r\n }\r\n }\r\n }\r\n\r\n data.alternateIllustrationTable.totals = aIllTotal;\r\n\r\n for (var key in data.optimalIllustrationTable) {\r\n opIllTotal.clientAmountTotal = opIllTotal.clientAmountTotal + data.optimalIllustrationTable[key].clientAmount;\r\n opIllTotal.dependentChildrenAmount = opIllTotal.dependentChildrenAmount + data.optimalIllustrationTable[key].dependentChildrenAmount;\r\n opIllTotal.netOfMedicareAmount = Number(this.ssData.opTotalBenefit.replace(/,/g,\"\").replace(\"$\",\"\")) - Number(this.ssData.optPartB.replace(/,/g,\"\").replace(\"$\",\"\"));//opIllTotal.netOfMedicareAmount + data.optimalIllustrationTable[key].netOfMedicareAmount;\r\n opIllTotal.spouseAmount = opIllTotal.spouseAmount + data.optimalIllustrationTable[key].spouseAmount;\r\n opIllTotal.totalAnnualAmount = opIllTotal.totalAnnualAmount + data.optimalIllustrationTable[key].totalAnnualAmount;\r\n for (var keyy in data.optimalIllustrationTable[key]) {\r\n if (typeof data.optimalIllustrationTable[key][keyy] === 'number') {\r\n data.optimalIllustrationTable[key][keyy] = Utils.formatToCurrency(data.optimalIllustrationTable[key][keyy].toFixed(0));\r\n }\r\n }\r\n }\r\n\r\n data.optimalIllustrationTable.totals = opIllTotal;\r\n\r\n for (var key in data.earliestIllustrationTable.totals) {\r\n data.earliestIllustrationTable.totals[key] = Utils.formatToCurrency(data.earliestIllustrationTable.totals[key].toFixed(0));\r\n }\r\n\r\n for (var key in data.alternateIllustrationTable.totals) {\r\n data.alternateIllustrationTable.totals[key] = Utils.formatToCurrency(data.alternateIllustrationTable.totals[key].toFixed(0));\r\n }\r\n\r\n for (var key in data.optimalIllustrationTable.totals) {\r\n data.optimalIllustrationTable.totals[key] = Utils.formatToCurrency(data.optimalIllustrationTable.totals[key].toFixed(0));\r\n }\r\n\r\n // var earliest = this.sanitizer.bypassSecurityTrustHtml(data.earliestIllustrationTable);\r\n // var optimal = this.sanitizer.bypassSecurityTrustHtml(data.optimalIllustrationTable);\r\n // var alternate = this.sanitizer.bypassSecurityTrustHtml(data.alternateIllustrationTable);\r\n\r\n var earliest = data.earliestIllustrationTable;\r\n var optimal = data.optimalIllustrationTable;\r\n var alternate = data.alternateIllustrationTable;\r\n\r\n\r\n this.illustrationComparisons = [\r\n { name: 'Earliest vs Alternate', data: [earliest, alternate], breakEven: 0},\r\n { name: 'Earliest vs Optimal', data: [earliest, optimal], breakEven: 0},\r\n { name: 'Alternate vs Optimal', data: [alternate, optimal], breakEven: 0}\r\n ]\r\n\r\n this.illustrationComparisons[0].breakEven = this.calculateBreakEven(this.illustrationComparisons[0].data[0], this.illustrationComparisons[0].data[1]);\r\n this.illustrationComparisons[1].breakEven = this.calculateBreakEven(this.illustrationComparisons[1].data[0], this.illustrationComparisons[1].data[1]);\r\n this.illustrationComparisons[2].breakEven = this.calculateBreakEven(this.illustrationComparisons[2].data[0], this.illustrationComparisons[2].data[1]);\r\n\r\n this.selectedIllustration = this.illustrationComparisons[0];\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error\r\n this.loadingService.isLoading(false);\r\n });\r\n \r\n }\r\n\r\n calculateBreakEven(illA, illB) {\r\n var beIndex = 0;\r\n var cummulativeA = 0, cummulativeB = 0;\r\n\r\n for (var i = 0; i < illA.length; i++) {\r\n cummulativeA += Number(illA[i].totalAnnualAmount.replace(/,/g,\"\").replace(\"$\",\"\"));\r\n cummulativeB += Number(illB[i].totalAnnualAmount.replace(/,/g,\"\").replace(\"$\",\"\"));\r\n\r\n if (cummulativeA < cummulativeB && !beIndex) {\r\n beIndex = i;\r\n }\r\n }\r\n \r\n return beIndex;\r\n }\r\n\r\n formatGridData(data) {\r\n var temparray = [], chunk = 31;\r\n var tempSpouseArray = [];\r\n\r\n if (data == null)\r\n return;\r\n\r\n if (this.includeSpouse && this.client.clientProfile.Spouses[0].maritalStatus == 'Married') {\r\n for (var i = 0, j = data.length; i < j; i += chunk) {\r\n temparray.push(data.slice(i, i + chunk));\r\n }\r\n } else {\r\n for (var i = 0; i < data.length; i++) {\r\n temparray.push(data[i]);\r\n }\r\n }\r\n\r\n if (this.includeSpouse && this.client.clientProfile.Spouses[0].maritalStatus == 'Married') {\r\n var tempRow;\r\n for (var i = 0; i < temparray.length; i++) {\r\n tempRow = [];\r\n\r\n for (var jj = 0; jj < temparray.length; jj++) {\r\n tempRow.push(temparray[jj][i]);\r\n }\r\n\r\n tempSpouseArray.push(tempRow);\r\n }\r\n }\r\n\r\n return !this.includeSpouse || (this.includeSpouse && this.client.clientProfile.Spouses[0].maritalStatus != 'Married') ? temparray : tempSpouseArray;\r\n }\r\n\r\n setSelectedLifeExpectancyPoint() {\r\n // for (var key in this.ssData.gridData) {\r\n \r\n // }\r\n\r\n \r\n\r\n if (this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'Married') {\r\n // var firstPassedSpouse = this.ssData.selfLifeExpectancy > this.ssData.spouseLifeExpectancy ? this.ssData.selfLifeExpectancy : this.ssData.spouseLifeExpectancy;\r\n // var secondPassedSpouse = this.ssData.selfLifeExpectancy < this.ssData.spouseLifeExpectancy ? this.ssData.selfLifeExpectancy : this.ssData.spouseLifeExpectancy;\r\n // var counter1 = 0, counter2 = 0;\r\n // var valSet = false;\r\n\r\n var clientFirst = this.ssData.selfLifeExpectancy < this.ssData.spouseLifeExpectancy ? true : false;\r\n var valSet = false;\r\n\r\n for (var key in this.ssData.gridData) {\r\n for (var keyy in this.ssData.gridData[key]) {\r\n if (this.ssData.gridData[key][keyy].description.includes(this.ssData.spouseLifeExpectancy)) {\r\n var desc = this.ssData.gridData[key][keyy].description;\r\n desc = desc.split('
');\r\n \r\n \r\n if (!valSet && desc[0].includes(this.ssData.selfLifeExpectancy) && desc[1].includes(this.ssData.spouseLifeExpectancy)) {\r\n this.ssData.gridData[key][keyy].outline = true;\r\n valSet = true;\r\n } else if (!valSet && clientFirst && desc[0].includes(this.ssData.selfLifeExpectancy) && desc[1].includes(this.ssData.spouseLifeExpectancy)) {\r\n this.ssData.gridData[key][keyy].outline = true;\r\n valSet = true;\r\n } else if (!valSet && !clientFirst && desc[0].includes(this.ssData.selfLifeExpectancy) && desc[1].includes(this.ssData.spouseLifeExpectancy)) {\r\n this.ssData.gridData[key][keyy].outline = true;\r\n valSet = true;\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n for (var key in this.ssData.gridData) {\r\n if (this.ssData.gridData[key].description.includes(this.ssData.selfLifeExpectancy)) {\r\n this.ssData.gridData[key].outline = true;\r\n \r\n }\r\n \r\n }\r\n }\r\n }\r\n\r\n public selectedGridValues: any = {};\r\n\r\n gridHovered(e, cell) {\r\n e.target.children[0].classList.remove('grid-hover-container-hidden');\r\n e.target.children[0].classList.add('grid-hover-container-visible');\r\n cell.description = cell.description.replace('
','~');\r\n\r\n cell.firstLine = cell.description.split('~')[0];\r\n cell.secondLine = cell.description.split('~')[1];\r\n\r\n this.selectedGridValues = cell;\r\n }\r\n\r\n gridBlur(e, cell) {\r\n e.target.children[0].classList.remove('grid-hover-container-visible');\r\n e.target.children[0].classList.add('grid-hover-container-hidden');\r\n this.selectedGridValues = {};\r\n }\r\n\r\n handleSavingSS() {\r\n\r\n // report.AdvisorID = advisorID;\r\n // report.CompanyCode = organizationID;\r\n\r\n var Report = {\r\n ClientID: this.client.client.ID,\r\n AdvisorID: this.client.client.AdvisorID,\r\n CompanyCode: this.client.client.OrganizationID,\r\n ReportTypeID: 2,\r\n }\r\n\r\n var tempChildren = [];\r\n var tempChild = {};\r\n\r\n if (this.client.clientProfile.Children && this.client.clientProfile.Children.length) {\r\n for (var k in this.client.clientProfile.Children) {\r\n tempChild = {};\r\n tempChild[\"CurrentAge\"] = Number(this.client.clientProfile.Children[k].DependentChildAge);//this.getNumber(this.editClientModel.clientProfile.Spouses[k].currentIncome);\r\n tempChild['isDisabled'] = false;\r\n tempChild['IsStudentAt19'] = false; //this.client.clientProfile.Children[k].DependentChildStudent == \"Yes\" ? true : false;\r\n tempChildren.push(tempChild);\r\n }\r\n }\r\n \r\n var ReportSS = {\r\n FrmName0: this.client.client.FirstName + \" \" + this.client.client.LastName,\r\n SelfCurrentMonthlyBenefit: this.clientMonthlyBenefitAmount,\r\n SpouseAlreadyCollecting: this.spouseClaimStatus, //'False',//this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.spouseClaimStatus : \"False\",\r\n SelfGovPensionAmount: this.client.clientProfile.Pension,\r\n Children: this.client.clientProfile.Children && this.client.clientProfile.Children.length > 0 ? JSON.stringify(tempChildren) : JSON.stringify([]),\r\n // Children: this.client.clientProfile.Children && this.client.clientProfile.Children.length > 0 ? JSON.stringify({Children: [\r\n // {\r\n // dependentChildren: this.client.clientProfile.Spouses && this.client.clientProfile.Children.length > 0 ? \"True\" : \"False\",\r\n // dependentChildAge: this.client.clientProfile.Spouses && this.client.clientProfile.Children.length > 0 ? this.client.clientProfile.Children[0].DependentChildAge : 0,\r\n // dependentChildDisabled: this.client.clientProfile.Spouses && this.client.clientProfile.Children.length > 0 ? \"No\" : \"\",\r\n // dependentChildStudent: this.client.clientProfile.Spouses && this.client.clientProfile.Children.length > 0 ? \"No\" : \"\",\r\n // }\r\n // ]}) : JSON.stringify({ Children: []}),\r\n SelfAlreadyCollecting: this.clientClaimStatus, //'False',//this.clientClaimStatus,\r\n //SpouseLifeExpectancy: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.ssData.spouseLifeExpectancy : 0, // make this part of ssData output\r\n SpouseLifeExpectancy: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.client.clientProfile.Spouses[0].LifeExpectancy || 0 : 0,\r\n\r\n\r\n // Finish validating fields below this --------\r\n\r\n BendPointInflation: 2, // make this part of ssData ?\r\n SelfCurrentAge: this.calculateAge(this.client.client.DOB),\r\n SpouseCurrentAge: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.calculateAge(this.client.clientProfile.Spouses[0].dob) || 30 : 30,\r\n IsPresentValue: this.presentValue == \"True\" ? 1 : 0,\r\n SpouseCurrentMonthlyBenefit: this.spouseClaimStatus == \"True\" ? this.spouseMonthlyBenefitAmount.toString().replace(/,/g,\"\").replace(\"$\",\"\") || 0 : 0,//this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? 0 : 0,\r\n FrmIncome: this.ssData.frmIncome,//\"Ind1\", // make this part of ssData output\r\n SelfPensionStartMonth: this.client.clientProfile.PensionMonths, // ??\r\n isSelfSuspendable: \"False\", // ??\r\n SpouseBenefitAge: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.spouseRetirementYears : 0,\r\n selfCanRestrict: \"False\", // ??\r\n SpousePIA: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.spousePIA.toString().replace(/,/g,\"\").replace(\"$\",\"\") : 0,\r\n SelfLifeExpectancy: this.ssData.selfLifeExpectancy, // make this part of ssData output\r\n StrategyDropDown: \"AutoSelect\",\r\n SelfPensionFrequency: \"Monthly\",\r\n SelfPensionStartYear: this.client.clientProfile.PensionYears, // ??\r\n SelfPIA: this.clientPIA,\r\n COLA: JSON.stringify({ Colas: this.colas }),\r\n FrmColaXml: JSON.stringify({ Colas: this.colas }),\r\n SpousePensionStartMonth: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.client.clientProfile.Spouses[0].pensionMonth : \"01\",\r\n SpouseGovPensionAmount: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse && this.client.clientProfile.Spouses[0].pension ? this.client.clientProfile.Spouses[0].pension.toString().replace(/,/g,\"\").replace(\"$\",\"\") : \"\",\r\n SpouseGovPension: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.client.clientProfile.Spouses[0].includePension : \"False\",\r\n PIAIncomeYears1: 0, // ??\r\n SelfAlreadyClaimedAge: 0, // ??\r\n spouseCanRestrict: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? \"False\" : \"\",\r\n SelfSubstantialEarningsYears: this.client.clientProfile.SubstantialEarningYears || 30,//30, // ??\r\n SelfBenefitAge: this.clientRetirementYears,// 67,\r\n FrmName1: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.client.clientProfile.Spouses[0].firstName + \" \" + this.client.clientProfile.Spouses[0].lastName : \"\",\r\n SpouseAlreadyClaimedAge: 0, // ??\r\n MaritalState: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.client.clientProfile.Spouses[0].maritalStatus : \"Single\",\r\n SpousePensionStartYear: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? this.client.clientProfile.Spouses[0].pensionYear : \"\",\r\n SpousePensionFrequency: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? \"Monthly\" : \"\",\r\n RetirementStrategy: \"FileForBenefits\", // get in ssData ??\r\n PIAIncomeYears2: 0, // ??\r\n SpouseSubstantialEarningsYears: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse && this.client.clientProfile.Spouses[0].includePension ? Number(this.client.clientProfile.Spouses[0].substantialEarningYears) : 0,\r\n SelfGovPension: this.client.clientProfile.IncludePension == 1 ? true : false,\r\n isSpouseSuspendable: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? \"False\" : \"\",\r\n SelfDOB: this.client.client.DOB,\r\n SpouseDOB: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? (this.client.clientProfile.Spouses[0].dobStr && Date.parse(this.client.clientProfile.Spouses[0].dobStr) ? this.client.clientProfile.Spouses[0].dobStr : Date.parse(this.client.clientProfile.Spouses[0].dob) ? this.client.clientProfile.Spouses[0].dob : '1/1/1960') : '1/1/1960',\r\n FrmState: this.client.clientProfile.RetirementState,\r\n FrmState1: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].state : '',\r\n selfRetirementYears: this.clientRetirementYears,\r\n selfRetirementMonths: this.clientRetirementMonths,\r\n spouseRetirementYears: this.spouseRetirementYears,\r\n spouseRetirementMonths: this.spouseRetirementMonths,\r\n\r\n SelfCurrentIncome: this.client.clientProfile.CurrentIncome,\r\n SpouseCurrentIncome: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].currentIncome : 0,\r\n SelfIRR: this.client.clientProfile.IRR,\r\n\r\n clientSurvivorSwitchYears: this.clientSurvivorSwitchYears,\r\n clientSurvivorSwitchMonths: this.clientSurvivorSwitchMonths,\r\n SurvivorSwitchYears: this.clientSurvivorSwitchYears,\r\n SurvivorSwitchMonths: this.clientSurvivorSwitchMonths,\r\n\r\n selfConditions: JSON.stringify({\r\n HCHBP: this.client.clientProfile.HCHBP,\r\n HCHC: this.client.clientProfile.HCHC,\r\n HCT2D: this.client.clientProfile.HCT2D,\r\n HCCD: this.client.clientProfile.HCCD,\r\n HCC: this.client.clientProfile.HCC,\r\n HCT: this.client.clientProfile.HCT,\r\n }),\r\n spouseConditions: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 && this.includeSpouse ? JSON.stringify({\r\n HCHBP: this.client.clientProfile.Spouses[0].HCHBP || 0,\r\n HCHC: this.client.clientProfile.Spouses[0].HCHC || 0,\r\n HCT2D: this.client.clientProfile.Spouses[0].HCT2D || 0,\r\n HCCD: this.client.clientProfile.Spouses[0].HCCD || 0,\r\n HCC: this.client.clientProfile.Spouses[0].HCC || 0,\r\n HCT: this.client.clientProfile.Spouses[0].HCT || 0,\r\n }) : \"\",\r\n\r\n FrmDiscountRate: parseFloat((this.discountRate / 100).toString()),\r\n AddedSocialBenefit: Number(this.ssData.cusTotalBenefit.replace(/,/g,\"\").replace(\"$\",\"\")) - Number(this.ssData.earlTotalBenefit.replace(/,/g,\"\").replace(\"$\",\"\")),\r\n SelfRetirementAge: this.client.clientProfile.RetirementAge,\r\n SpouseRetirementAge: this.client.clientProfile.Spouses && this.client.clientProfile.Spouses.length > 0 ? this.client.clientProfile.Spouses[0].retirementAge : 0,\r\n SpousePreviousSpouses: JSON.stringify(this.previousSpouse)\r\n // includeSpouse: this.includeSpouse,\r\n }\r\n \r\n if (ReportSS.MaritalState == 'Divorced') {\r\n ReportSS.SpouseBenefitAge = 62;\r\n ReportSS.spouseRetirementYears = 62;\r\n ReportSS.spouseRetirementMonths = 0;\r\n }\r\n //console.log(ReportSS);\r\n this.globalService.createReportSS(Report, ReportSS)\r\n .subscribe(\r\n resp => {\r\n if (resp) {\r\n this.snackBarService.add(\"Please wait while your social security report is being generated.\", 0);\r\n //this.router.navigateByUrl('/reports/create?d=t');\r\n this.downloadReport(resp.ReportID, resp.AdvisorID, resp.ClientID, resp.CompanyCode, resp.ReportTypeID);\r\n }\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n downloadReport(reportID, advisorID, clientID, orgID, reportTypeID) {\r\n this.loadingService.isLoading(true);\r\n\r\n var ReportFields = { reportID, advisorID, clientID, orgID, ReportTypeID: reportTypeID, token: localStorage.getItem(\"bearer\") };\r\n\r\n this.globalService.generateReport(ReportFields, this.client.client, ReportFields)\r\n .subscribe(\r\n resp => {\r\n this.loadingService.isLoading(false);\r\n },\r\n error => {\r\n this.error = error;\r\n this.loadingService.isLoading(false);\r\n });\r\n }\r\n\r\n getClassColor(isComparison) {\r\n \r\n\r\n var className = \"\"\r\n\r\n if (this.selectedIllustration.name === 'Earliest vs Alternate') {\r\n className = isComparison ? 'earliest' : 'alternate';\r\n } else if (this.selectedIllustration.name === 'Earliest vs Optimal') {\r\n className = isComparison ? 'earliest' : 'optimal';\r\n } else if (this.selectedIllustration.name === 'Alternate vs Optimal') {\r\n className = isComparison ? 'alternate' : 'optimal';\r\n }\r\n\r\n return className\r\n }\r\n\r\n createComparisonGraphData(data) {\r\n var result = [], item;\r\n\r\n data = data.replace(//g, '');\r\n data = data.replace(/<\\/tr>/g, '%END%');\r\n data = data.split('%END%');\r\n\r\n\r\n for (var i = 0; i < this.illustrationsTypes.length; i++) {\r\n item = {\r\n name: this.illustrationsTypes[i],\r\n series: []\r\n }\r\n \r\n for (var j = 0; j < data.length; j++) {\r\n var dataItem = data[j].replace(//g, '');\r\n dataItem = dataItem.replace(/<\\/th>/g, '%END%');\r\n dataItem = dataItem.replace('Ages', '').split('%END%');\r\n \r\n if (dataItem[1] && dataItem[0]) {\r\n var ages = dataItem[0];\r\n var illustrations = dataItem[1].replace(//g, '');\r\n illustrations = illustrations.replace(/<\\/td>/g, '%END%');\r\n illustrations = illustrations.split('%END%');\r\n\r\n item.series.push({\r\n name: ages,\r\n value: Number(illustrations[i]).toFixed(0) || 0\r\n })\r\n \r\n // item = {\r\n // name: illustrationsTypes[i],\r\n // series: [\r\n // { name: ages, value: Number(illustrations[0]) || 0},\r\n // { name: \"Alternate\", value: Number(illustrations[1]) || 0 },\r\n // { name: \"Optimal\", value: Number(illustrations[2]) || 0 }\r\n // ]\r\n // }\r\n \r\n }\r\n \r\n }\r\n result.push(item);\r\n }\r\n\r\n\r\n \r\n Object.assign(this, { val: result});\r\n return {};\r\n }\r\n\r\n includePartner(e) {\r\n this.includeSpouse = e.target.checked;\r\n this.getSSData();\r\n }\r\n\r\n // setSSChartData(data: any) {\r\n // var brackets = [];\r\n // this.areaChartData = [];\r\n\r\n // for (var i = 1; i <= 5; i++) {\r\n // brackets.push(data.IllustrationEntries.filter((entry) => entry.IncomeBracket === i));\r\n // }\r\n\r\n // brackets.map((bracketEntries, i) => {\r\n // if (bracketEntries.length > 0) {\r\n // this.areaChartData.push({\r\n // name: `Bracket ${i + 1} Premium`,\r\n // series: bracketEntries.map((entry) => { return { name: entry.Year.toString(), value: entry.HouseholdExpenseByBracket[0]}})\r\n // });\r\n \r\n // if (i !== 0) { // if it's the first bracket -- there are no surcharges\r\n // this.areaChartData.push({\r\n // name: `Bracket ${i + 1} Surcharge`,\r\n // series: bracketEntries.map((entry) => { return { name: entry.Year.toString(), value: entry.HouseholdExpenseByBracket[1] - entry.HouseholdExpenseByBracket[0]}})\r\n // });\r\n // }\r\n // }\r\n // });\r\n\r\n \r\n\r\n // // Remove empty series\r\n // for (var i = 0; i < this.areaChartData.length; i++) {\r\n // this.areaChartData[i].series = this.areaChartData[i].series.filter(item => item.value > 0 && item.name >= (data.Client.RetirementAge - data.Client.CurrentAge) + (new Date()).getFullYear());\r\n // }\r\n\r\n \r\n\r\n // this.areaChartData = this.areaChartData.filter((data) => { return data.series.length > 0 });\r\n \r\n // Object.assign(this, { val: this.areaChartData});\r\n // this.chartDataLoaded = true;\r\n // }\r\n\r\n roundNumber(num) {\r\n return Math.round(num);\r\n }\r\n\r\n public dependentChildCount: number = 0;\r\n //outLiveSpouse = false;\r\n getClient() {\r\n this.globalService.getClientData(Number(localStorage.getItem(\"selectedClient\")), 4)\r\n .subscribe(\r\n client => {\r\n //console.log(client);\r\n this.client = client;\r\n this.client.clientProfile.Spouses = JSON.parse(this.client.clientProfile.Spouses);\r\n\r\n if (this.client.clientProfile.Spouses.length > 1 && this.client.clientProfile.Spouses[0].maritalStatus != 'Single') {\r\n this.client.clientProfile.Spouses = Utils.calculateMostProfitableSpouse(this.client, this.client.clientProfile.Spouses);\r\n }\r\n\r\n if (this.client.clientProfile.Spouses[0]) {\r\n if (this.client.clientProfile.Spouses[0].maritalStatus == 'Divorced' && !this.client.clientProfile.Spouses[0].alive) {\r\n this.client.clientProfile.Spouses[0].maritalStatus = 'Widowed';\r\n this.client.clientProfile.Spouses = Utils.calculateMostProfitableSpouse(this.client, this.client.clientProfile.Spouses);\r\n } else if (this.client.clientProfile.Spouses[0].maritalStatus == 'Divorced' && this.client.clientProfile.Spouses[0].alive && !this.client.clientProfile.Spouses[0].tenyears) {\r\n this.client.clientProfile.Spouses = [];\r\n }\r\n }\r\n \r\n if (this.client.clientProfile.Spouses.length) {\r\n // this.spouseRetirementYears = this.client.clientProfile.Spouses[0].retirementAge;\r\n this.spousePIA = typeof this.client.clientProfile.Spouses[0].pia === 'string' ? this.client.clientProfile.Spouses[0].pia.replace(/,/g,\"\").replace(\"$\",\"\") : this.client.clientProfile.Spouses[0].pia;\r\n }\r\n \r\n this.client.clientProfile.Children = JSON.parse(this.client.clientProfile.Children);\r\n this.includeSpouse = Boolean(this.client.clientProfile.Spouses.length);\r\n \r\n if (this.client.clientProfile.Spouses[0] && this.client.clientProfile.Spouses[0].maritalStatus === 'Single') {\r\n this.includeSpouse = false;\r\n this.client.clientProfile.Spouses = [];\r\n }\r\n\r\n\r\n \r\n\r\n this.clientPIA = this.client.clientProfile.PIA;\r\n\r\n let FRA = this.getFRA(this.client.client.DOB);\r\n\r\n this.clientRetirementYears = FRA.age;\r\n this.clientRetirementMonths = FRA.month;\r\n\r\n this.clientClaimStatus = this.calculateAge(this.client.client.DOB) >= 70 ? \"True\" : \"False\";\r\n\r\n this.clientClaimStatusDisabled = this.calculateAge(this.client.client.DOB) < 62 && !this.client.clientProfile.Spouses ||\r\n this.calculateAge(this.client.client.DOB) < 62 && this.client.clientProfile.Spouses[0] && this.client.clientProfile.Spouses[0].maritalStatus !== 'Widowed' || \r\n this.calculateAge(this.client.client.DOB) < 60 && this.client.clientProfile.Spouses[0] && this.client.clientProfile.Spouses[0].maritalStatus === 'Widowed' ||\r\n this.calculateAge(this.client.client.DOB) >= 70;\r\n\r\n var clientMonths = 0;\r\n var spouseMonths = 0;\r\n\r\n // Past FRA, past retirement\r\n if (this.clientRetirementYears <= this.calculateAge(this.client.client.DOB)) {\r\n this.clientRetirementYears = this.calculateAge(this.client.client.DOB);\r\n\r\n clientMonths = (new Date().getMonth() + 1) - this.getBirthdayMonth(this.client.client.DOB);\r\n\r\n if (clientMonths > 0) {\r\n this.clientRetirementMonths = clientMonths;\r\n } else if (clientMonths < 0) {\r\n this.clientRetirementMonths = 12 + clientMonths;\r\n } else {\r\n this.clientRetirementMonths = 0;\r\n }\r\n }\r\n\r\n \r\n\r\n // if (this.clientRetirementYears > 70 || this.clientRetirementYears == 70 && this.clientRetirementYears > 0) {\r\n // this.clientClaimStatus = 'True';\r\n // }\r\n\r\n //this.clientRetirementYears = this.calculateAge(this.client.client.DOB) === 70 ? this.calculateAge(this.client.client.DOB) : 67;\r\n\r\n this.dependentChildCount = this.client.clientProfile.Children && this.client.clientProfile.Children.length || 0;\r\n\r\n\r\n let previousSpouseWidowSpouse;\r\n \r\n for (let spousesSpouse in this.client.clientProfile.Spouses) {\r\n for (let previousSpouse in this.client.clientProfile.Spouses[spousesSpouse].spousesSpouse) {\r\n if (this.client.clientProfile.Spouses[spousesSpouse].spousesSpouse[previousSpouse].maritalStatus == 'Widowed')\r\n previousSpouseWidowSpouse = this.client.clientProfile.Spouses[spousesSpouse].spousesSpouse[previousSpouse];\r\n }\r\n }\r\n\r\n this.previousSpouse = previousSpouseWidowSpouse || { pia: \"$0\"};\r\n \r\n /* Internal notes:\r\n in client make married couple divorced\r\n change spouse primary insurance amount to be 1500 (make sure this number is twice as mucch then the below)\r\n change client primary insurance to be 500\r\n client has to outlive spouse by a few years\r\n need to be able to set spouse life expectancy\r\n -run ss report and set all COLA to be 0 for ease of looking\r\n\r\n when the ex-spouse is alive the client gets half; when the ex-spouse is dead, the client gets it all \r\n (focus on Alernate cases)\r\n */\r\n if (this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus != 'Married') {\r\n if (this.client.clientProfile.Spouses[0].maritalStatus == 'Divorced')\r\n //this.spouseRetirementYears = this.calculateAge(this.client.clientProfile.Spouses[0].dob) > 67 ? Number(this.calculateAge(this.client.clientProfile.Spouses[0].dob)) : 67;\r\n this.spouseRetirementYears = this.calculateAge(this.client.clientProfile.Spouses[0].dob) >= 67 ? Number(this.calculateAge(this.client.clientProfile.Spouses[0].dob) + 1) : 67;\r\n else {\r\n //this.spouseRetirementYears = this.calculateAge(this.client.clientProfile.Spouses[0].dob) > 67 ? Number(this.calculateAge(this.client.clientProfile.Spouses[0].dob)) : 67;\r\n this.spouseRetirementYears = this.calculateAge(this.client.clientProfile.Spouses[0].dob) >= 67 ? Number(this.calculateAge(this.client.clientProfile.Spouses[0].dob) + 1) : 67;\r\n }\r\n \r\n if (this.client.clientProfile.Spouses[0].maritalStatus == 'Divorced' && this.client.clientProfile.Spouses[0].alive == 'false') {\r\n this.client.clientProfile.Spouses[0].maritalStatus = 'Widowed'\r\n }\r\n\r\n this.spouseRetirementMonths = 1;\r\n }\r\n\r\n if (this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'Married' || this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'Divorced') {\r\n this.spouseClaimStatus = this.calculateAge(this.client.clientProfile.Spouses[0].dob) >= 70 ? \"True\" : \"False\";\r\n this.spouseClaimStatusDisabled = this.calculateAge(this.client.clientProfile.Spouses[0].dob) < 62 || this.calculateAge(this.client.clientProfile.Spouses[0].dob) >= 70;\r\n\r\n let FRA = this.getFRA(this.client.clientProfile.Spouses[0].dob);\r\n\r\n this.spouseRetirementYears = FRA.age;\r\n this.spouseRetirementMonths = FRA.month;\r\n\r\n // Past FRA, past retirement\r\n if (this.spouseRetirementYears <= this.calculateAge(this.client.clientProfile.Spouses[0].dob)) {\r\n this.spouseRetirementYears = this.calculateAge(this.client.clientProfile.Spouses[0].dob);\r\n this.spouseRetirementMonths = this.getBirthdayMonth(this.client.clientProfile.Spouses[0].dob);\r\n spouseMonths = (new Date().getMonth() + 1) - this.getBirthdayMonth(this.client.clientProfile.Spouses[0].dob);\r\n\r\n if (spouseMonths > 0) {\r\n this.spouseRetirementMonths = spouseMonths;\r\n } else if (spouseMonths < 0) {\r\n this.spouseRetirementMonths = 12 + spouseMonths;\r\n } else {\r\n this.spouseRetirementMonths = 0;\r\n }\r\n }\r\n \r\n // if (this.spouseRetirementYears > 70 || this.spouseRetirementYears == 70 && this.spouseRetirementMonths > 0) {\r\n // this.spouseClaimStatus = 'True';\r\n // }\r\n\r\n\r\n // this.spouseRetirementYears = this.calculateAge(this.client.clientProfile.Spouses[0].dob) >= 67 ? Number(this.calculateAge(this.client.clientProfile.Spouses[0].dob) + 1) : 67;\r\n this.spouseMonthlyBenefitAmount = this.client.clientProfile.Spouses[0].pia;\r\n\r\n this.spouseStartPIA = (70/100) * this.spouseMonthlyBenefitAmount;\r\n this.spouseEndPIA = (132/100) * this.spouseMonthlyBenefitAmount; \r\n \r\n }\r\n\r\n // if (this.client.clientProfile.Spouses.length && this.client.clientProfile.Spouses[0].maritalStatus == 'Widowed') {\r\n // if (this.calculateAge(this.client.client.DOB) < 60) {\r\n // this.clientRetirementYears = 60;\r\n // this.clientRetirementMonths = 0;\r\n // } else if (this.calculateAge(this.client.client.DOB) >= 70) {\r\n // this.clientRetirementYears = 69;\r\n // this.clientRetirementMonths = 11;\r\n // } else {\r\n // this.clientRetirementYears = this.calculateAge(this.client.client.DOB);\r\n // this.clientRetirementMonths = 0;\r\n // }\r\n // }\r\n\r\n this.clientMonthlyBenefitAmount = this.client.clientProfile.PIA;\r\n\r\n this.startPIA = (70/100) * this.clientMonthlyBenefitAmount;\r\n this.endPIA = (132/100) * this.clientMonthlyBenefitAmount;\r\n\r\n // if (this.client.clientProfile.Spouses[0].maritalStatus == 'Widow') {\r\n // this.includeSpouse = false;\r\n // }\r\n //this.outLiveSpouse = (parseInt(this.client.clientProfile.LifeExpectancy) > parseInt(this.client.clientProfile.Spouses[0].LifeExpectancy));\r\n\r\n this.getSSData();\r\n },\r\n error => this.error = error);\r\n }\r\n\r\n calculateAge(birthday) {\r\n birthday = new Date(birthday);\r\n var ageDifMs = Date.now() - birthday;\r\n var ageDate = new Date(ageDifMs);\r\n return Math.abs(ageDate.getUTCFullYear() - 1970);\r\n }\r\n\r\n expandIllustrationDD() {\r\n if (this.illustrationDD.nativeElement.classList.contains('illustrationDDHidden')) {\r\n this.illustrationDD.nativeElement.classList.remove('illustrationDDHidden');\r\n this.illustrationDD.nativeElement.classList.add('illustrationDDVisible');\r\n } else {\r\n this.illustrationDD.nativeElement.classList.remove('illustrationDDVisible');\r\n this.illustrationDD.nativeElement.classList.add('illustrationDDHidden');\r\n }\r\n }\r\n\r\n updateCashFlowChart(illustration) {\r\n this.selectedIllustration = illustration;\r\n }\r\n\r\n sumBenefit(benefitTotal, medicareDeduction) {\r\n if (benefitTotal && medicareDeduction) {\r\n return '$' + (benefitTotal.replace(/[^0-9\\.-]+/g,\"\") - medicareDeduction.replace(/[^0-9\\.-]+/g,\"\")).toString().replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, \"$1,\");\r\n }\r\n }\r\n\r\n handleEditClientModal(e) {\r\n this.modalService.add('add-edit-client', { ID: this.client.client.ID });\r\n // this.modalSubscription.add('edit-client', { ID: this.client.client.ID });\r\n }\r\n\r\n //https://www.ssa.gov/planners/retire/retirechart.html\r\n getFRA(bday) {\r\n bday = typeof bday === 'string' ? bday : bday.formatted;\r\n let yearOfBirth = Number(bday.substring(bday.length - 4, bday.length));\r\n let FRA = {\r\n age: 0,\r\n month: 0,\r\n }\r\n\r\n if (yearOfBirth <= 1937) {\r\n FRA.age = 65;\r\n FRA.month = 0;\r\n } else if (yearOfBirth === 1938) {\r\n FRA.age = 65;\r\n FRA.month = 2;\r\n } else if (yearOfBirth === 1939) {\r\n FRA.age = 65;\r\n FRA.month = 4;\r\n } else if (yearOfBirth === 1940) {\r\n FRA.age = 65;\r\n FRA.month = 6;\r\n } else if (yearOfBirth === 1941) {\r\n FRA.age = 65;\r\n FRA.month = 8;\r\n } else if (yearOfBirth === 1942) {\r\n FRA.age = 65;\r\n FRA.month = 10;\r\n } else if (yearOfBirth >= 1943 && yearOfBirth <= 1954) {\r\n FRA.age = 66;\r\n FRA.month = 0;\r\n } else if (yearOfBirth === 1955) {\r\n FRA.age = 66;\r\n FRA.month = 2;\r\n } else if (yearOfBirth === 1956) {\r\n FRA.age = 66;\r\n FRA.month = 4;\r\n } else if (yearOfBirth === 1957) {\r\n FRA.age = 66;\r\n FRA.month = 6;\r\n } else if (yearOfBirth === 1958) {\r\n FRA.age = 66;\r\n FRA.month = 8;\r\n } else if (yearOfBirth === 1959) {\r\n FRA.age = 66;\r\n FRA.month = 10;\r\n } else if (yearOfBirth >= 1960) {\r\n FRA.age = 67;\r\n FRA.month = 0;\r\n } \r\n\r\n return FRA;\r\n }\r\n\r\n getBirthdayMonth(date = null) {\r\n var d = new Date(date);\r\n return (d.getMonth() + 1);\r\n }\r\n}\r\n","module.exports = \":host {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 20px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.section {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.section div {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n padding: 10px 10px 0 0;\\r\\n flex: 2 0 100%;\\r\\n}\\r\\n\\r\\ninput {\\r\\n background:#FFF;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\nbutton {\\r\\n margin: 10px 0 10px 0;\\r\\n height: 40px;\\r\\n}\\r\\n\\r\\nspan {\\r\\n font-size: 12px;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\n.contact-radios div {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n}\\r\\n\\r\\n.contact-radios input {\\r\\n margin-right: 20px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3N1cHBvcnQvc3VwcG9ydC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixXQUFXO0lBQ1gsWUFBWTtJQUNaLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEIiLCJmaWxlIjoiLi4vc3VwcG9ydC9zdXBwb3J0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uc2VjdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uc2VjdGlvbiBkaXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMCAwO1xyXG4gICAgZmxleDogMiAwIDEwMCU7XHJcbn1cclxuXHJcbmlucHV0IHtcclxuICAgIGJhY2tncm91bmQ6I0ZGRjtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcbiAgICBtYXJnaW46IDEwcHggMCAxMHB4IDA7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbn1cclxuXHJcbnNwYW4ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5jb250YWN0LXJhZGlvcyBkaXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbn1cclxuXHJcbi5jb250YWN0LXJhZGlvcyBpbnB1dCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbn0iXX0= */\"","module.exports = \"Submit a ticket\\r\\n\\r\\n
\\r\\n
\\r\\n Subject\\r\\n \\r\\n
\\r\\n
\\r\\n Description\\r\\n \\r\\n
\\r\\n
\\r\\n How would you like us to contact you?\\r\\n
\\r\\n Email\\r\\n Phone\\r\\n Smoke Signal\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-support',\r\n templateUrl: './support.component.html',\r\n styleUrls: ['./support.component.css']\r\n})\r\nexport class SupportComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".advisor-list {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 100%;\\r\\n margin-top: 25px;\\r\\n}\\r\\n\\r\\n.list-header {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.list-content {\\r\\n background-color: #f5f5f5;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.content-item:first-child div span {\\r\\n font-weight: bold;\\r\\n color: #555;\\r\\n \\r\\n}\\r\\n\\r\\n.content-item {\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n padding: 15px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.content-item div {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n text-align: left;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.content-item div i {\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.content-item:nth-child(odd) {\\r\\n background-color: #edeff3;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3ZpZXctb3JnYW5pemF0aW9ucy92aWV3LW9yZ2FuaXphdGlvbnMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsV0FBVztJQUNYLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixXQUFXOztBQUVmOztBQUVBO0lBQ0ksYUFBYTtJQUNiLDZCQUE2QjtJQUM3QixhQUFhO0lBQ2IsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixPQUFPO0lBQ1AsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3QiIsImZpbGUiOiIuLi92aWV3LW9yZ2FuaXphdGlvbnMvdmlldy1vcmdhbml6YXRpb25zLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYWR2aXNvci1saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG59XHJcblxyXG4ubGlzdC1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5saXN0LWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY29udGVudC1pdGVtOmZpcnN0LWNoaWxkIGRpdiBzcGFuIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBcclxufVxyXG5cclxuLmNvbnRlbnQtaXRlbSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uY29udGVudC1pdGVtIGRpdiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uY29udGVudC1pdGVtIGRpdiBpIHtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG4uY29udGVudC1pdGVtOm50aC1jaGlsZChvZGQpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVmZjM7XHJcbn1cclxuIl19 */\"","module.exports = \"
\\r\\n
\\r\\n Search for an organization\\r\\n
\\r\\n Show:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Organization\\r\\n
\\r\\n
\\r\\n Phone\\r\\n
\\r\\n
\\r\\n Email\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{organization.Name}}\\r\\n
\\r\\n
\\r\\n {{organization.Phone}}\\r\\n
\\r\\n
\\r\\n {{organization.Email}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { Organization } from '../models/organization';\r\n\r\nimport { GlobalService } from '../services/global.service';\r\n\r\n@Component({\r\n selector: 'app-view-organizations',\r\n templateUrl: './view-organizations.component.html',\r\n styleUrls: ['./view-organizations.component.css']\r\n})\r\nexport class ViewOrganizationsComponent implements OnInit {\r\n public organizations: Organization[] = [];\r\n public error: string;\r\n \r\n constructor(private globalService: GlobalService) {\r\n this.getOrganizations();\r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n getOrganizations() {\r\n this.globalService.getOrganizationsData()\r\n .subscribe(\r\n organizations => { this.organizations = organizations; } ,\r\n error => this.error = error);\r\n }\r\n}\r\n","module.exports = \".advisor-list {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 100%;\\r\\n margin-top: 25px;\\r\\n}\\r\\n\\r\\n.list-header {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.list-content {\\r\\n background-color: #f5f5f5;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.content-item:first-child div span {\\r\\n font-weight: bold;\\r\\n color: #555;\\r\\n \\r\\n}\\r\\n\\r\\n.content-item {\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n padding: 15px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.content-item div {\\r\\n display: flex;\\r\\n flex: 1;\\r\\n text-align: left;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.content-item div i {\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.content-item:nth-child(odd) {\\r\\n background-color: #edeff3;\\r\\n}\\r\\n\\r\\nbutton {\\r\\n background-color: #42b8dd;\\r\\n border-radius: 4px;\\r\\n color: #fff;\\r\\n border: none;\\r\\n margin: 0 10px 0 0;\\r\\n padding: 5px 10px 5px 10px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\nbutton:hover {\\r\\n background-color: #c6e9f4;\\r\\n color: #555;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3ZpZXctcmVwb3J0cy92aWV3LXJlcG9ydHMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsV0FBVztJQUNYLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixXQUFXOztBQUVmOztBQUVBO0lBQ0ksYUFBYTtJQUNiLDZCQUE2QjtJQUM3QixhQUFhO0lBQ2IsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixPQUFPO0lBQ1AsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFHQTtJQUNJLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsMEJBQTBCO0lBQzFCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsV0FBVztBQUNmIiwiZmlsZSI6Ii4uL3ZpZXctcmVwb3J0cy92aWV3LXJlcG9ydHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hZHZpc29yLWxpc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbn1cclxuXHJcbi5saXN0LWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmxpc3QtY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW06Zmlyc3QtY2hpbGQgZGl2IHNwYW4ge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIFxyXG59XHJcblxyXG4uY29udGVudC1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW0gZGl2IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW0gZGl2IGkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWl0ZW06bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWZmMztcclxufVxyXG5cclxuXHJcbmJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJiOGRkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuYnV0dG9uOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNmU5ZjQ7XHJcbiAgICBjb2xvcjogIzU1NTtcclxufSJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n Search for a report\\r\\n
\\r\\n Show:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Client\\r\\n
\\r\\n
\\r\\n Type\\r\\n
\\r\\n
\\r\\n Date Created\\r\\n
\\r\\n
\\r\\n Actions\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{report.clientFirstName + ' ' + report.clientLastName}}\\r\\n
\\r\\n
\\r\\n {{report.type}}\\r\\n
\\r\\n
\\r\\n {{report.createdDate}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { REPORTS } from '../models/reports';\r\n\r\n@Component({\r\n selector: 'app-view-reports',\r\n templateUrl: './view-reports.component.html',\r\n styleUrls: ['./view-reports.component.css']\r\n})\r\nexport class ViewReportsComponent implements OnInit {\r\n reports: any = REPORTS;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { environment } from './environments/environment';\r\nimport { AppModule } from './app/app.module';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n"],"sourceRoot":""}