{"version":3,"sources":["webpack:///app.4e7fdec8a5a40bdf6602.js","webpack:///./app/main.ts","webpack:///./app/app.component.ts","webpack:///./app/shared/app-config-values.ts","webpack:///./app/airports/airport.service.ts","webpack:///./app/shared/http-helper.ts","webpack:///./app/authentication/auth.service.ts","webpack:///./app/system-management/tafbooks/taf-book.service.ts","webpack:///./app/system-management/tafbooks/taf-book-b1/taf-book-b1.service.ts","webpack:///./app/system-management/tafbooks/taf-book-b2/taf-book-b2.service.ts","webpack:///./app/system-management/tafbooks/taf-book-b3/taf-book-b3.service.ts","webpack:///./app/system-management/tafbooks/taf-book-b4/taf-book-b4.service.ts","webpack:///./app/system-management/tafbooks/taf-book-b5/taf-book-b5.service.ts","webpack:///./app/system-management/tafbooks/taf-book-s1/taf-book-s1.service.ts","webpack:///./app/system-management/tafbooks/taf-book-s2/taf-book-s2.service.ts","webpack:///./app/system-management/tafbooks/taf-book-s3/taf-book-s3.service.ts","webpack:///./app/system-management/tafbooks/taf-book-graph-s1/taf-book-graph-s1.service.ts","webpack:///./app/query-reports/query-report.service.ts","webpack:///./app/scenario-activities/scenario.service.ts","webpack:///./app/common-data/commondata.service.ts","webpack:///./app/shared/system-control.service.ts","webpack:///./app/shared/user-info.service.ts","webpack:///./app/authentication/auth-guard.service.ts","webpack:///./app/airports/airport-interfaces.ts","webpack:///./app/query-reports/query-report.ts","webpack:///./app/shared/user-session.ts","webpack:///./app/styles/faa_styles.css","webpack:///./app/styles/print_faa_styles.css","webpack:///./app/app.routes.ts","webpack:///./app/home/welcome.component.ts","webpack:///./app/home/welcome.component.html","webpack:///./app/airports/airport.routes.ts","webpack:///./app/airports/airport.component.ts","webpack:///./app/airports/degrees-from-seconds.pipe.ts","webpack:///./app/airports/airport.component.html","webpack:///./app/airports/airport-edit.component.ts","webpack:///./app/airports/airport-edit.component.html","webpack:///./app/airports/airport.css","webpack:///./app/airports/Operations-lists/operations-list.component.ts","webpack:///./app/airports/Operations-lists/operation-grid.component.ts","webpack:///./app/airports/Operations-lists/operation-grid.component.html","webpack:///./app/airports/Operations-lists/operations-list.component.html","webpack:///./app/airports/Operations-lists/operations-add-data-point.component.ts","webpack:///./app/airports/Operations-lists/operations-add-data-point.component.html","webpack:///./app/airports/Operations-lists/operations-graphs/operations-graph.component.ts","webpack:///./app/airports/Operations-lists/operations-graphs/operations-graph-selections.component.ts","webpack:///./app/airports/Operations-lists/operations-graphs/operations-graph-selections.component.html","webpack:///./app/airports/Operations-lists/operations-graphs/operations-graph.component.html","webpack:///./app/airports/Operations-lists/operations-graphs/operations-graph-display.component.ts","webpack:///./app/airports/Operations-lists/operations-graphs/operations-graph-display.component.html","webpack:///./app/airports/operations-lists/operations-reforecasts/operations-reforecast-container.component.ts","webpack:///./app/airports/operations-lists/operations-reforecasts/operations-reforecast.component.ts","webpack:///./app/airports/operations-lists/operations-reforecasts/operations-reforecast.component.html","webpack:///./app/airports/operations-lists/operations-reforecasts/operations-reforecast-container.component.html","webpack:///./app/system-management/system-management.routes.ts","webpack:///./app/system-management/system-management.component.ts","webpack:///./app/system-management/system-management.component.html","webpack:///./app/system-management/tafbooks/taf-book.component.ts","webpack:///./app/system-management/tafbooks/taf-book.ts","webpack:///./app/system-management/tafbooks/taf-book.component.html","webpack:///./app/system-management/staffing-standards/staffing-standards.component.ts","webpack:///./app/system-management/staffing-standards/staffing-standards.component.html","webpack:///./app/system-management/growth-rates/growth-rates.component.ts","webpack:///./app/system-management/growth-rates/growth-rates-save/growth-rates-save.service.ts","webpack:///./app/system-management/growth-rates/set-hub-sizes/set-hub-sizes.service.ts","webpack:///./app/system-management/growth-rates/growth-rates.component.html","webpack:///./app/system-management/tafbooks/taf-book.routes.ts","webpack:///./app/system-management/tafbooks/taf-book-s1/taf-book-s1.component.ts","webpack:///./app/system-management/tafbooks/taf-book-s1/taf-book-s1.component.html","webpack:///./app/system-management/tafbooks/taf-book-graph-s1/taf-book-graph-s1.component.ts","webpack:///./app/system-management/tafbooks/taf-book-graph-s1/taf-book-graph-s1.component.html","webpack:///./app/system-management/tafbooks/taf-book-s2/taf-book-s2.component.ts","webpack:///./app/system-management/tafbooks/taf-book-s2/taf-book-s2.component.html","webpack:///./app/system-management/tafbooks/taf-book-s3/taf-book-s3.component.ts","webpack:///./app/system-management/tafbooks/taf-book-s3/taf-book-s3.component.html","webpack:///./app/system-management/tafbooks/taf-book-b1/taf-book-b1.component.ts","webpack:///./app/system-management/tafbooks/taf-book-b1/taf-book-b1.component.html","webpack:///./app/system-management/tafbooks/taf-book-b2/taf-book-b2.component.ts","webpack:///./app/system-management/tafbooks/taf-book-b2/taf-book-b2.component.html","webpack:///./app/system-management/tafbooks/taf-book-b3/taf-book-b3.component.ts","webpack:///./app/system-management/tafbooks/taf-book-b3/taf-book-b3.component.html","webpack:///./app/system-management/tafbooks/taf-book-b4/taf-book-b4.component.ts","webpack:///./app/system-management/tafbooks/taf-book-b4/taf-book-b4.component.html","webpack:///./app/system-management/tafbooks/taf-book-b5/taf-book-b5.component.ts","webpack:///./app/system-management/tafbooks/taf-book-b5/taf-book-b5.component.html","webpack:///./app/system-management/staffing-standards/staffing-standards.routes.ts","webpack:///./app/system-management/staffing-standards/staffing-standards-tracon/staffing-standards-tracon.component.ts","webpack:///./app/system-management/staffing-standards/staffing-standards-tracon/staffing-standards-tracon.service.ts","webpack:///./app/system-management/staffing-standards/staffing-standards-tracon/staffing-standards-tracon.component.html","webpack:///./app/system-management/staffing-standards/staffing-standards-tower/staffing-standards-tower.component.ts","webpack:///./app/system-management/staffing-standards/staffing-standards-tower/staffing-standards-tower.service.ts","webpack:///./app/system-management/staffing-standards/staffing-standards-tower/staffing-standards-tower.component.html","webpack:///./app/system-management/towers-tracons-import/towers-tracons-import.component.ts","webpack:///./app/system-management/towers-tracons-import/towers-tracons-import.service.ts","webpack:///./app/system-management/towers-tracons-import/towers-tracons-import.component.html","webpack:///./app/system-management/growth-rates/growth-rates.routes.ts","webpack:///./app/system-management/growth-rates/growth-rates-save/growth-rates-save.component.ts","webpack:///./app/system-management/growth-rates/growth-rates-save/growth-rates-save.ts","webpack:///./app/system-management/growth-rates/growth-rates-save/growth-rates-save.component.html","webpack:///./app/system-management/growth-rates/set-hub-sizes/set-hub-sizes.component.ts","webpack:///./app/system-management/growth-rates/set-hub-sizes/set-hub-sizes.ts","webpack:///./app/system-management/growth-rates/set-hub-sizes/set-hub-sizes.component.html","webpack:///./app/system-management/towers-tracons-import/towers-tracons-import-steps/towers-tracons-import-steps.routes.ts","webpack:///./app/system-management/towers-tracons-import/towers-tracons-import-steps/towers-tracons-import-steps.component.ts","webpack:///./app/system-management/towers-tracons-import/towers-tracons-import-steps/towers-tracons-import-steps.service.ts","webpack:///./app/shared/system-control.ts","webpack:///./app/system-management/towers-tracons-import/towers-tracons-import-steps/towers-tracons-import-steps.component.html","webpack:///./app/system-management/new-year-rollover/new-year-rollover.routes.ts","webpack:///./app/system-management/new-year-rollover/new-year-rollover.component.ts","webpack:///./app/system-management/new-year-rollover/new-year-rollover.component.html","webpack:///./app/system-management/new-year-rollover/new-year-rollover-steps/new-year-rollover-steps.component.ts","webpack:///./app/system-management/new-year-rollover/new-year-rollover-steps/new-year-rollover-steps.ts","webpack:///./app/system-management/new-year-rollover/new-year-rollover-steps/new-year-rollover-steps.service.ts","webpack:///./app/system-management/new-year-rollover/new-year-rollover-steps/new-year-rollover-steps.component.html","webpack:///./app/styles/awesome-bootstrap-checkbox.css","webpack:///./app/system-management/new-year-rollover/new-year-rollover-reports/new-year-rollover-reports.component.ts","webpack:///./app/system-management/new-year-rollover/new-year-rollover-reports/new-year-rollover-reports.service.ts","webpack:///./app/system-management/new-year-rollover/new-year-rollover-reports/new-year-rollover-reports.component.html","webpack:///./app/system-management/tracon-models/tracon-model.routes.ts","webpack:///./app/system-management/tracon-models/tracon-model.component.ts","webpack:///./app/system-management/tracon-models/tracon-model.service.ts","webpack:///./app/system-management/tracon-models/tracon-model.ts","webpack:///./app/system-management/tracon-models/tracon-model.component.html","webpack:///./app/system-management/tracon-models/tracon-model.css","webpack:///./app/system-management/regional-review/regional-review.component.ts","webpack:///./app/system-management/regional-review/regional-review.service.ts","webpack:///./app/system-management/regional-review/regional-review.component.html","webpack:///./app/scenario-activities/scenario-activities.routes.ts","webpack:///./app/scenario-activities/scenario-activities.component.ts","webpack:///./app/scenario-activities/scenario-activities.component.html","webpack:///./app/scenario-activities/scenario-create.component.ts","webpack:///./app/scenario-activities/scenario-create.component.html","webpack:///./app/scenario-activities/scenario-create-results.component.ts","webpack:///./app/scenario-activities/scenario-create-results.component.html","webpack:///./app/scenario-activities/scenario-select-facilities.component.ts","webpack:///./app/airports/facility-search-request.ts","webpack:///./app/scenario-activities/scenario-select-facilities.component.html","webpack:///./app/scenario-activities/scenario-select-facilities.component.css","webpack:///./app/scenario-activities/scenario-delete-list.component.ts","webpack:///./app/scenario-activities/scenario-delete-list.component.html","webpack:///./app/scenario-activities/scenario-update.component.ts","webpack:///./app/scenario-activities/scenario-update.component.html","webpack:///./app/scenario-activities/scenario-modify-facilities.component.ts","webpack:///./app/scenario-activities/scenario-modify-facilities.component.html","webpack:///./app/scenario-activities/scenario-reforecast.component.ts","webpack:///./app/scenario-activities/airport-operations.ts","webpack:///./app/scenario-activities/based-aircraft.ts","webpack:///./app/scenario-activities/enplanements.ts","webpack:///./app/system-management/tracon-models/tracon-operations.ts","webpack:///./app/scenario-activities/scenario-reforecast.component.html","webpack:///./app/scenario-activities/scenario-reforecast-complete.component.ts","webpack:///./app/scenario-activities/scenario-reforecast-complete.component.html","webpack:///./app/scenario-activities/scenario.css","webpack:///./app/query-reports/query-report.routes.ts","webpack:///./app/query-reports/query-report.component.ts","webpack:///./app/query-reports/query-report.component.html","webpack:///./app/query-reports/query-reports-graph-selections.component.ts","webpack:///./app/query-reports/query-reports-graph-selections.component.html","webpack:///./app/query-reports/query-reports-graph-display.component.ts","webpack:///./app/query-reports/query-reports-graph-display.component.html","webpack:///./app/authentication/auth.routes.ts","webpack:///./app/authentication/login.component.ts","webpack:///./app/shared/loading-indicator.ts","webpack:///./app/authentication/login.component.html","webpack:///./app/authentication/forgot-password.component.ts","webpack:///./app/accounts/account.service.ts","webpack:///./app/authentication/forgot-password.component.html","webpack:///./app/authentication/reset-password.component.ts","webpack:///./app/authentication/confirm-validator.directive.ts","webpack:///./app/authentication/reset-password.component.html","webpack:///./app/authentication/reset-password-success.component.ts","webpack:///./app/authentication/reset-password-success.component.html","webpack:///./app/administration/admin.routes.ts","webpack:///./app/administration/admin.component.ts","webpack:///./app/administration/admin.service.ts","webpack:///./app/administration/admin.component.html","webpack:///./app/administration/user.component.ts","webpack:///./app/administration/user.component.html","webpack:///./app/accounts/account.routes.ts","webpack:///./app/accounts/account.component.ts","webpack:///./app/accounts/account.component.html","webpack:///./app/accounts/email-confirmation.component.ts","webpack:///./app/accounts/email-confirmation.component.html"],"names":["webpackJsonp","0","module","exports","__webpack_require__","platform_browser_dynamic_1","forms_1","app_component_1","app_routes_1","common_1","http_1","core_1","common_2","enableProdMode","bootstrap","AppComponent","HTTP_PROVIDERS","APP_ROUTER_PROVIDERS","disableDeprecatedForms","provideForms","provide","LocationStrategy","useClass","PathLocationStrategy","APP_BASE_HREF","useValue","catch","err","console","error","375","__decorate","this","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","k","v","metadata","router_1","app_config_values_1","airport_service_1","taf_book_service_1","taf_book_b1_service_1","taf_book_b2_service_1","taf_book_b3_service_1","taf_book_b4_service_1","taf_book_b5_service_1","taf_book_s1_service_1","taf_book_s2_service_1","taf_book_s3_service_1","taf_book_graph_s1_service_1","query_report_service_1","scenario_service_1","commondata_service_1","auth_service_1","system_control_service_1","user_info_service_1","auth_guard_service_1","http_helper_1","airport_interfaces_1","query_report_1","router_2","user_session_1","route","router","authService","_User","pageTitle","prototype","ngOnInit","isAdmin","isInRole","isLoggedIn","isReadOnly","onSubmit","navigate","locId","logout","logOut","window","location","reload","Component","selector","template","styles","directives","ROUTER_DIRECTIVES","providers","AppConfigValues","AirportService","QueryReportService","TAFBookService","TAFBookS1Service","TAFBookS2Service","TAFBookGraphS1Service","TAFBookS3Service","TAFBookB1Service","TAFBookB2Service","TAFBookB3Service","TAFBookB4Service","TAFBookB5Service","ScenarioService","CreateScenarioRequest","CommonDataService","AuthService","HttpHelper","AuthGuard","UserInfoService","UserSession","SystemControlService","OperationsListRequest","QueryReportListRequest","ActivatedRoute","Router","676","getApiHostUrl","Injectable","677","httpHelper","_baseAirportUrl","getAirport","scenarioId","get","getAirportLocIds","getAirportLocIdsByCriteria","request","url","baseScenarioId","region","state","hubSize","level","type","allFaaTowers","allFaaContractTowers","oep35","centerId","relieverFacility","relieverLocId","approachControlId","searchOption","selectVariable","growthStartYear","growthEndYear","growthOperator","growthPercentage","growthExcludeChanges","varValueYear","varValueOperator","varValue","getAirportCenterIds","getRelieverLocIds","getApproachControlIds","getScenarioNotes","getFacilityList","updateScenarioNotes","note","params","put","JSON","stringify","updateAirport","airport","getAirportFromScenario","getNextAndPreviousAirports","getOperations","getOperationsColumns","tableName","getOperationsList","updateOperations","saveOperationsYear","post","getGraphMinYear","getGraphData","hasGraphData","getReforcastData","fieldName","minYear","reforecastSupplyData","reforecastOperation","678","Rx_1","http","config","urlPrefix","headers","Headers","append","getAccessToken","map","extractData","do","data","log","handleError","body","options","Content-Type","postOptions","delete","res","text","json","errMsg","message","status","statusText","Observable","throw","Http","679","_","serviceUrlPrefix","oidclogin","linkurl","href","getToken","token","parse","sessionStorage","getItem","Date","access_token","setToken","setItem","removeItem","getLoggedInUser","userName","getFullName","fullname","getRoles","roles","role","includes","split","isRegionalManager","clear","getUserId","id","login","oidcCode","_this","encodeURIComponent","error_description","681","Observable_1","_tafBookurl","generateTafBook","682","_tafBookB1Url","getTAFBookB1","683","_tafBookB2Url","getTAFBookB2","684","_tafBookB3Url","getTAFBookB3","685","_tafBookB4Url","getTAFBookB4","686","_tafBookB5Url","getTAFBookB5","687","_tafBookS1Url","getTAFBookS1","688","_tafBookS2Url","getTAFBookS2","689","_tafBookS3Url","getTAFBookS3","690","_tafBookGraphS1Url","getTAFGraphS1BookSplit","691","_queryreporturl","getFacilityListReport","saveLocids","requestLocid","generateGraphs","692","_httpHelper","_baseScenarioUrl","getScenario","getScenarios","userId","getMergeListScenarios","getDeleteListScenarios","createScenario","deleteScenarios","ids","updateCommitScenario","modifyScenarioFacilities","executeReforecast","updateSessionState","getSession","storedRq","facilities","public","scenarioName","source","destroySession","hasValidSession","CreateScenarioResponse","UpdateCommitScenarioRequest","UpdateCommitScenarioResponse","ModifyScenarioFacilitiesRequest","ModifyScenarioFacilitiesResponse","ScenarioForecastRequest","setNameInSession","name","getNameInSession","destroySessionValues","ScenarioForecastResponse","693","_serviceUrlPrefix","getData","getSystemControlData","getVariableInfo","getEnplanementYears","KeyValuePair","SystemControl","VariableInfo","694","_systemControlUrl","getSystemControl","695","isScenarioOwner","getRegCode","getRegionalYear","696","systemDeveloperOnlyRoutes","canActivate","redirectUrl","requestedUrl","697","ReforecastRequest","698","IQueryReportRequest","startYear","scenario","reportId","facOption","locidList","IQueryReportListComponent","IQueryReportsFacilityRequest","locid","699","_authService","fullName","jsonObject","uSession","getScenarioId","700","701","702","welcome_component_1","airport_routes_1","system_management_routes_1","scenario_activities_routes_1","query_report_routes_1","auth_routes_1","admin_routes_1","account_routes_1","routes","path","redirectTo","pathMatch","component","WelcomeComponent","concat","AirportRoutes","SystemManagementRoutes","ScenarioActivitiesRoutes","QueryReportRoutes","AuthRoutes","AdminRoutes","AccountRoutes","provideRouter","703","_scenarioService","User","_userInfoService","tempUserId","tempScenario","subscribe","scenarios","allScenarios","errorMessage","setScenarioHeader","scenarioHeaderDiv","scenarioHeader","nativeElement","success","isOwner","onScenarioChange","event","selectedScenarioId","value","foundScenarios","filter","currentScenario","innerHTML","ViewChild","ElementRef","704","705","airport_component_1","airport_edit_component_1","operations_list_component_1","operations_add_data_point_component_1","operations_graph_component_1","operations_graph_display_component_1","operations_reforecast_container_component_1","AirportComponent","AirportEditComponent","OperationsListComponent","OperationsAddDataPointComponent","OperationsGraphComponent","OperationsGraphDisplayComponent","OperationsReforecastContainerComponent","706","degrees_from_seconds_pipe_1","primeng_1","primeng_2","_airportService","_queryReport","displayNotes","canEdit","displayFacilityList","displaySpinner","msgs","msgsAll","displayGraphData","showAll","sub","isEmpty","ngOnDestroy","unsubscribe","operations","undefined","push","severity","summary","detail","setCanEdit","setNextAndPrevious","nextFacility","nextAirport","previousFacility","previousAirport","showNotes","notesTitle","scenarioNote","showDataReport","graphDataTitle","response","facReportListResponse","responseStatus","responseMessage","pdfFileUrl","htmlFileUrl","cols","field","header","showGrowthRateReport","facListTitle","showOpsPerBA","showFacList","saveNotes","editAirport","nextFacilityAction","previousFacilityAction","performOp","op","airportName","openPDFFile","responsepdf","open","openHTMLFile","responseHtml","Dialog","Button","pipes","DegreesFromSecondsPipe","707","transform","seconds","secLen","calc","parseFloat","substr","isNaN","toString","Pipe","772","773","_commonDataService","getKeyValues","regStartYear","regEndYear","endYear","list","regions","states","facClasses","facLevels","sizes","flags","regionalInputEndYear","regionalInputStartYear","cancelEdit","regionalInputChange","checked","774","775","776","primeng_3","primeng_4","operation_grid_component_1","displayAll","allOperations","onTabChange","index","back","graphData","print","document","getElementById","style","visibility","TabView","TabPanel","OperationGridComponent","777","primeng_5","primeng_6","primeng_7","_systemControlService","displayDialog","dialogHeader","displayAllText","selected","operation","columns","editableColumns","column","calculated","find","isAAT","getResults","systemControlElem","results","result","scenarioDisplay","SCENARIO","AYEAR","ffcYear","sort","n1","n2","setDisplayAllText","onRowSelect","editRow","cloneRow","dataToClone","editableColumnCounter","cloneListCounter","cloneList","_loop_1","prop","clone","displayName","readOnly","display","this_1","addButtonClicked","columnClick","save","displayAllYears","flag","Input","Boolean","String","Column","TemplateLoader","TemplateWrapper","PrimeTemplate","ColumnBodyTemplateLoader","Footer","778","779","780","submit","year","lfcYear","ayear","params_1","cancel","781","782","operations_graph_selections_component_1","backFacilityView","backDataSheet","OperationsGraphSelectionsComponent","783","startYears","endYears","graphType","yearsToPreview","dataCheckDone","hasData","getColumns","getSystemControlValues","populateYears","populateStartYears","populateEndYears","min","selectedStartYear","selectedEndYear","generateGraph","selectedColumns","graphR","quickGraph","Checkbox","784","785","786","createGraphDataSet","labels","datasets","dataset","label","graphName","fill","backgroundColor","getRandomColor","borderColor","graphOptions","scales","yAxes","ticks","beginAtZero","backSelections","letters","color","Math","floor","random","backReforecast","UIChart","787","788","operations_reforecast_component_1","OperationsReforecastComponent","789","dataDisabled","growthDisabled","highlightYears","ownScenarios","getYears","fieldNameSelected","reforecastData","setLastYearsValues","originalValue","growth","calcGrowthRate","lastYearsValue","originalGrowth","averageRate","aYear","fyYear","dataIn","last_value","first_value","num_years","ret_val","exp","resetDataValues","resetGrowthValues","radioSelected","formatGrowth","dataRow","format","DecimalPipe","formatData","calcDatasheet","lastYr","previousRow","row","nextRow","filteredRows_1","first","predRow","reset","forecastOperation","isValid","interpolationValue","fillInValue","growthRateValue","growAndSmoothValue","successMessage","values","callOperationService","confirmAnswer","confirm","field_1","790","791","792","system_management_component_1","taf_book_component_1","staffing_standards_component_1","growth_rates_component_1","taf_book_routes_1","staffing_standards_routes_1","growth_rates_routes_1","towers_tracons_import_steps_routes_1","new_year_rollover_routes_1","new_year_rollover_component_1","tracon_model_routes_1","regional_review_component_1","SystemManagementComponent","TAFBookComponent","StaffingStandardsComponent","GrowthRatesComponent","NewYearRolloverComponent","RegionalReviewComponent","TAFBookRoutes","StaffingStandardsRoutes","GrowthRatesRoutes","TowersTraconsImportStepsRoutes","NewYearRolloverRoutes","TraconModelRoutes","793","794","795","taf_book_1","_tafBookService","selectedOption","ITAFBookListComponent","ITAFBookRequest","getValue","optionid","item","generateReport","tafBookId","796","797","798","799","800","growth_rates_save_service_1","set_hub_sizes_service_1","GrowthRatesSaveService","SetHubSizesService","801","_growthRatesSaveUrl","getSavedRatesResponse","scenId","802","_setHubSizesSaveUrl","getSetHubSizesResponse","803","804","taf_book_s1_component_1","taf_book_graph_s1_component_1","taf_book_s2_component_1","taf_book_s3_component_1","taf_book_b1_component_1","taf_book_b2_component_1","taf_book_b3_component_1","taf_book_b4_component_1","taf_book_b5_component_1","TAFBookS1Component","TAFBookGraphS1Component","TAFBookS2Component","TAFBookS3Component","TAFBookB1Component","TAFBookB2Component","TAFBookB3Component","TAFBookB4Component","TAFBookB5Component","805","_tafBookS1Service","tafBookS1Arr","DataTable","Header","806","807","_tafBookGraphS1Service","tafBookGraphS1Arr","tafBookGraphS1ArrLocid","tafBookGraphS1ArrRate","legend","position","xAxes","scaleLabel","labelString","808","809","_tafBooks2Service","tafBookS2Arr","810","811","_tafBooks3Service","tafBookS3Arr","812","813","_tafBookB1Service","tafBookB1Arr","814","815","_tafBookB2Service","tafBookB2Arr","816","817","_tafBookB3Service","tafBookB3Arr","818","819","_tafBookB4Service","tafBookB4Arr","820","821","_tafBookB5Service","tafBookB5Arr","822","823","staffing_standards_tracon_component_1","staffing_standards_tower_component_1","towers_tracons_import_component_1","StaffingStandardsTraconComponent","StaffingStandardsTowerComponent","TowersTraconsImportComponent","824","staffing_standards_tracon_service_1","_staffingStandardsTraconService","getSSTracon","staffingStandardsTraconArr","Paginator","StaffingStandardsTraconService","825","_staffingStandardsTraconUrl","826","827","staffing_standards_tower_service_1","_staffingStandardsTowerService","getSSTower","staffingStandardsTowerArr","StaffingStandardsTowerService","828","_staffingStandardsTowerUrl","829","830","towers_tracons_import_service_1","_towerstraconsImportService","getTowersImport","towersImportResult","cols1","cols2","TowersTraconsImportService","831","_towersImportUrl","832","833","growth_rates_save_component_1","set_hub_sizes_component_1","GrowthRatesSaveComponent","SetHubSizesComponent","834","growth_rates_save_1","_growthRatesService","growthRatesSaveResult","IGrowthRatesSave","indexOf","Messages","835","836","837","set_hub_sizes_1","_setHubSizesService","setHubSizesResult","ISetHubSizes","838","839","840","towers_tracons_import_steps_component_1","TowersTraconsImportStepsComponent","841","towers_tracons_import_steps_service_1","system_control_1","_systemControl","showSpinner","showDataTable","showOpsnetImportMsg","showAOPSReforecastMsg","systemControl","getTowersImportStepsLess12","towersLessThan12","startOpsnetTowersImport","towersImportMsg","reforecastAOPS","towersReforecastMsg","TowersTraconsImportStepsService","842","_towersImporStepsLess12tUrl","843","callService","importStage","mangrLock","844","845","new_year_rollover_steps_component_1","new_year_rollover_reports_component_1","NewYearStepsComponent","NewYearReportsComponent","846","847","848","new_year_rollover_steps_1","new_year_rollover_steps_service_1","_newYearRolloverService","newYearRequest","INewYearRollOverRequest","newYearRolloverList","INewYearRollOverDisplayElem","stepNumber","stepName","stepDescription","setLfcYear","newForecastYearField","runSteps","newYearRollOverRunSteps","newYearResponse","Output","NewYearRolloverStepsService","849","INewYearRolloverSteps","INewYearRollOverResponse","INewYearRollOverDisplayList","850","_newYearRolloverUrl","setManagerLockService","newYearRollOverRequest","851","852","853","new_year_rollover_reports_service_1","_newYearReportsService","getFacToBeInserted","getNpiasToBeInserted","npiasToBeInserted","getFacToBedeleted","getNpiasToBeDeleted","npiasToBeDeleted","getFacSameSite","getNpiasSameSite","npiasSameSite","getFacDiffSite","getNpiasDiffSite","npiasDiffSite","getNpiasMissingFields","npiasMissingFields","setHistory","setLocidHistory","deleteNpiasLocid","hideNpiasLocidToBeDeleted","hideNpiasLocidToBeInserted","hideNpiasLocidSameSite","hideNpiasLocidDiffSite","hideNpiasMissingFields","hideSetHistory","insert","insertNpiasLocid","NewYearReportsService","854","855","856","tracon_model_component_1","TraconModelComponent","857","tracon_model_service_1","tracon_model_1","_traconModelService","_user","traconRequest","ITraconModelRequest","showTableSummary","getTraconList","traconLocid","getYearsList","years","onTraconLocidChange","select","traconId","onYearsChange","getTraconResult","traconResponse","generateSummaryReport","getTraconSummaryResult","traconSummaryResponse","reforecastAopsIfr","traconReforecastAopsIfr","reforecastTracon","traconReforecast","TraconModelService","858","_genericUrl","_traconReportUrl","859","ITraconLocid","sYear","eYear","IYears","ITraconModelResponse","ITraconModelSummaryResponse","ITraconModelReforecastAOPSIFR","860","861","862","regional_review_service_1","RegionalReviewService","863","864","865","scenario_activities_component_1","scenario_create_component_1","scenario_create_results_component_1","scenario_select_facilities_component_1","scenario_delete_list_component_1","scenario_update_component_1","scenario_modify_facilities_component_1","scenario_reforecast_component_1","scenario_reforecast_complete_component_1","ScenarioActivitiesComponent","ScenarioCreateComponent","ScenarioCreateResultsComponent","ScenarioSelectFacilitiesComponent","ScenarioDeleteListComponent","ScenarioUpdateComponent","ScenarioModifyFacilitiesComponent","ScenarioReforecastComponent","ScenarioReforecastCompleteComponent","866","867","868","nameTextInput","el","bind","onNameChange","scenarioNameExists","onSelectChange","onCheckboxChange","checkbox","selectFacilities","createWithAllFacilities","found","869","870","871","872","facility_search_request_1","searchRequest","_queryReportService","autoCompleteQuery","autoCompleteFilteredList","moreSearchOptionsVisible","moreSearchOptionsControlCssClass","moreSearchOptionsItemsCssClass","showLocids","thisYear","getFullYear","locIds","sourceLocIds","sourceScenario","centerIds","centerids","relieverLocIds","approachControlIds","info","variables","enplanementYears","dropDownItems","x","populateDropdownData","loadLocids","charExp","nonAlpha","selectedLocids","replace","match","selectedLocidsArr","bError","locidNoMatch","savedLocidList","cancelLocids","search","moreSearchOptionsClick","searchVariable","msg","removeFacilityFromList","splice","clearAllFacilities","onSelect","element","onInput","input","onMoreSelectOption","onOperatorSelectOption","onCheck","autoCompleteFilter","trim","toUpperCase","autoCompleteSelect","hubSizes","emdfCodes","FacilitySearchRequest","873","874","875","876","displayPage","selectedOptionValues","msgResponse","updateOptionsList","optionInt","cancelDelete","877","878","all","towerWithoutRadar","tracon","combinedTraconTower","combinedNonRadarTower","towerWithDisplay","combinedControlFacility","towerWithRadar","enrouteCenter","combinedTracon","faaContractTower","nonFaaFacility","aopsFlag","trFlag","baFlag","enplFlag","preserveFlag","sourceScenarios","scenarioSourceId","scenarioSourceName","targetScenarios","scenarioTargetId","scenarioTargetName","selectedIndex","onCheckboxChangeParam","applyChanges","serviceResponse","alert","879","880","moveCopyLocIdsInput","autoCompleteMoveCopyQuery","autoCompleteMoveCopyFilteredList","autoCompleteDeleteQuery","autoCompleteDeleteFilteredList","autoCompleteTargetField","ngAfterViewInit","moveCopyLocIds","deleteLocIdsInput","deleteLocIds","Overwrite","currentScenarioId","targetScenarioId","deleteScenarioId","sourceScenarioId","moveCopyAirportLocIds","deleteAirportLocIds","targetSource","onChooseActionRadioChange","action","onOverwriteCheckboxChange","onMoveCopyApply","pop","notFoundLocIds","overwrittenLocIds","existingLocIds","processedLocIds","onDeleteApply","invalidDeletedLocIds","deletedLocIds","targetField","fieldTarget","inputValue","881","882","airport_operations_1","based_aircraft_1","enplanements_1","tracon_operations_1","_router","_request","aopsEnabled","basedAircraftEnabled","enplanementsEnabled","traconsEnabled","aopsCssClass","basedAircraftCssClass","enplanementsCssClass","traconsCssClass","aopsMenuCssClass","baMenuCssClass","enplMenuCssClass","traconMenuCssClass","reforecastButtonCssClass","reforecastButtonSpinnerCssClass","reforecastButtonText","processingCssClass","bProcess","record","maxYear","menuClick","menu","airportOperations","AirportOperations","ifrItnAt","ifrItnAc","ifrItnGa","ifrItnMi","itnAirCarrier","itnAirTaxi","itnGa","itnMil","localGa","localMil","totalOverflights","basedAircraft","BasedAircraft","helicopter","jet","multi","other","single","enplanements","Enplanements","airCarrier","airTaxi","commuter","foreignFlag","usFlag","traconOperations","TraconOperations","generalAviation","military","scenarioId_1","s","section","option","reforecast","883","884","885","886","887","888","reforecastScenarioName","889","890","891","query_report_component_1","query_reports_graph_selections_component_1","query_reports_graph_display_component_1","QueryReportComponent","QueryReportGraphSelectionsComponent","QueryReportGraphDisplayComponent","892","hideElement","showGraphs","locidCnt","graphIdSelected","yearIdSelected","selectedFacOption","facOptions","dbName","allYears","selYear","getValueFacOpt","onYearChange","yearOptionSelected","onGraphSelectionChange","graphOptionSelected","locidResponse","tableId","893","894","tableDisplayName","895","896","897","898","login_component_1","forgot_password_component_1","reset_password_component_1","reset_password_success_component_1","LoginComponent","ForgotPasswordComponent","ResetPasswordComponent","ResetPasswordSuccessComponent","899","loading_indicator_1","userNameFocus","queryParams","suboidc","loginoidc","loggingIn","alerts","closeAlert","LoadingIndicator","900","LoadingPage","val","loading","standby","ready","901","902","account_service_1","accountService","forgot","timeoutAlert","setTimeout","forgotSomething","sendingEmail","baseUrl","substring","lastIndexOf","forgotPwd","email","finally","verifySecurityQuestion","answer","resetPassword","pwdData","resetToken","code","newPassword","resetPwd","succeeded","errors","AccountService","903","changePwd","getSecurityQuestionForEmail","secQuestionData","getSecurityQuestions","getAccountInfo","username","saveSecurityQuestionAnswers","securityQuestionData","retrieveUsername","usernameData","confirmEmail","confirmationData","904","905","confirm_validator_directive_1","EqualValidator","906","__param","paramIndex","decorator","validateEqual","reverse","enumerable","configurable","validate","e","root","isReverse","keys","setErrors","Directive","NG_VALIDATORS","useExisting","forwardRef","Attribute","907","908","909","910","admin_component_1","user_component_1","AdminComponent","UserComponent","911","admin_service_1","adminService","retrievingUsers","users","getUsers","items","icon","command","editUser","selectedUser","deleteUser","user","join","addUser","AdminService","Menu","ContextMenu","ContextMenuSub","912","getCachedUsers","createUser","emailExists","usernameExists","updateUser","userid","913","914","newUser","idParam","Number","origUser","cloneDeep","selectRole","roleId_1","selectedRole","submitUser","saveUser","resetForm","915","916","account_component_1","email_confirmation_component_1","AccountComponent","EmailConfirmationComponent","917","errorAlerts","changePassword","currentPassword","918","919","920"],"mappings":"AAAAA,cAAc,IAERC,EACA,SAASC,EAAQC,EAASC,GAE/B,YCLD,IAAAC,GAAAD,EAA0B,GAC1BE,EAAAF,EAAqD,KAGrDG,EAAAH,EAA6B,KAG7BI,EAAAJ,EAAqC,KACrCK,EAAAL,EAAqD,KAErDM,EAAAN,EAA+B,KAC/BO,EAAAP,EAAqC,IACrCQ,EAAAR,EAA4B,IAG1BO,GAAAE,iBAGFR,EAAAS,UAAUP,EAAAQ,eACPL,EAAAM,gBACDR,EAAAS,qBACAX,EAAAY,yBACAZ,EAAAa,eACAR,EAAAS,QAAQX,EAAAY,kBAAmBC,SAAUb,EAAAc,wBAEpCH,QAASR,EAAAY,cAAeC,SAAW,eAErCC,MAAM,SAAAC,GAAO,MAAAC,SAAQC,MAAMF,MDMtBG,IACA,SAAS5B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IE5C3GvC,EAAAP,EAAsE,IACtEM,EAAAN,EAA+B,IAC/BA,GAAO,IACP,IAAAgD,GAAAhD,EAAkC,KAGlCiD,EAAAjD,EAAgC,KAChCkD,EAAAlD,EAA+B,KAC/BmD,EAAAnD,EAA+B,KAC/BoD,EAAApD,EAAiC,KACjCqD,EAAArD,EAAiC,KACjCsD,EAAAtD,EAAiC,KACjCuD,EAAAvD,EAAiC,KACjCwD,EAAAxD,EAAiC,KACjCyD,EAAAzD,EAAiC,KACjC0D,EAAA1D,EAAiC,KACjC2D,EAAA3D,EAAiC,KACjC4D,EAAA5D,EAAsC,KACtC6D,EAAA7D,EAAkC,KAClC8D,EAAA9D,EAAuD,KACvD+D,EAAA/D,EAAkC,KAClCgE,EAAAhE,EAA4B,KAC5BiE,EAAAjE,EAAoC,KAEpCkE,EAAAlE,EAAgC,KAChCmE,EAAAnE,EAA0B,KAC1BoE,EAAApE,EAA2B,KAC3BqE,EAAArE,EAAsC,KACtCsE,EAAAtE,EAAqC,KACrCuE,EAAAvE,EAAuC,KACvCwE,EAAAxE,EAA4B,KAsG5BW,EAAA,WAQI,QAAAA,cAAoB8D,EACAC,EACAC,EACAC,GAHAhD,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAA+C,cACA/C,KAAAgD,QAVpBhD,KAAAiD,UAAoB,qBA8BxB,MAjBIlE,cAAAmE,UAAAC,SAAA,WACInD,KAAKoD,QAAUpD,KAAK+C,YAAYM,SAAS,oBACzCrD,KAAKsD,WAAatD,KAAK+C,YAAYO,aACnCtD,KAAKuD,WAAavD,KAAK+C,YAAYQ,cAGtCxE,aAAAmE,UAAAM,SAAA,WACGxD,KAAK8C,OAAOW,UAAU,aAAeC,MAAO1D,KAAK0D,SACjD1D,KAAK0D,MAAO,IAIhB3E,aAAAmE,UAAAS,OAAA,WACI3D,KAAK+C,YAAYa,SACjB5D,KAAK8C,OAAOW,UAAU,WACtBI,OAAOC,SAASC,UA/HxBhF,aAAAgB,GAACpB,EAAAqF,WACGC,SAAU,SACVC,SAAU,62KAmETC,QAAS/F,EAAQ,KAA4BA,EAAQ,MACrDgG,YAAahD,EAAAiD,mBACbC,WAAYjD,EAAAkD,gBACZjD,EAAAkD,eACAvC,EAAAwC,mBACAlD,EAAAmD,eACA7C,EAAA8C,iBACA7C,EAAA8C,iBACA5C,EAAA6C,sBACA9C,EAAA+C,iBACAtD,EAAAuD,iBACAtD,EAAAuD,iBACAtD,EAAAuD,iBACAtD,EAAAuD,iBACAtD,EAAAuD,iBACAjD,EAAAkD,gBACAlD,EAAAmD,sBACAlD,EAAAmD,kBACA5G,EAAAM,eACAoD,EAAAmD,YACA/C,EAAAgD,WACAjD,EAAAkD,UACAnD,EAAAoD,gBACA9C,EAAA+C,YACAtD,EAAAuD,qBACAnD,EAAAoD,sBACAnD,EAAAoD,0BFAI9E,EAAW,qBAAsB2B,EAASoD,eAAgBpD,EAASqD,OAAQ5D,EAAemD,YAAa3C,EAAe+C,eACvH5G,gBEEKZ,GAAAY,aAAYA,GFMnBkH,IACA,SAAS/H,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IGrJ3GvC,EAAAP,EAA2B,IAG3BmG,EAAA,mBAAAA,oBAcA,MAVaA,iBAAArB,UAAAgD,cAAP,WAGO,MAAO,aARpB3B,gBAAAxE,GAACpB,EAAAwH,aHsKQnF,EAAW,yBACZuD,mBGtKKpG,GAAAoG,gBAAeA,GH8KtB6B,IACA,SAASlI,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,II5L3GvC,EAAAP,EAA2B,GAI3BA,GAAO,KACPA,EAAO,IAKP,IAAAoE,GAAApE,EAA2B,KAG3BoG,EAAA,WAOI,QAAAA,gBAAoB6B,GAAArG,KAAAqG,aAFZrG,KAAAsG,gBAAkB,cA0J9B,MAtJI9B,gBAAAtB,UAAAqD,WAAA,SAAW7C,EAAe8C,GAKtB,MAHAxG,MAAK0D,MAAQA,EACb1D,KAAKwG,WAAaA,EAEXxG,KAAKqG,WAAWI,IAAOzG,KAAKsG,gBAAe,IAAIE,EAAU,IAAI9C,IAGxEc,eAAAtB,UAAAwD,iBAAA,SAAiBF,GACb,MAAOxG,MAAKqG,WAAWI,IAAOzG,KAAKsG,gBAAe,cAAcE,IAGpEhC,eAAAtB,UAAAyD,2BAAA,SAA2BC,GACvB,GAAIC,GAAiB7G,KAAKsG,gBAAe,qCACnBM,EAAQE,gBAC1B,UAAUF,EAAQlD,QAClB,WAAWkD,EAAQG,SACnB,UAAUH,EAAQI,QAClB,YAAYJ,EAAQK,UACpB,UAAUL,EAAQM,QAClB,SAASN,EAAQO,OACjB,iBAAiBP,EAAQQ,eACzB,4BAA4BR,EAAQS,uBACpC,UAAUT,EAAQU,QAClB,aAAaV,EAAQW,WACrB,qBAAqBX,EAAQY,mBAC7B,kBAAkBZ,EAAQa,gBAC1B,sBAAsBb,EAAQc,oBAC9B,iBAAiBd,EAAQe,eACzB,mBAAmBf,EAAQgB,iBAC3B,oBAAoBhB,EAAQiB,kBAC5B,kBAAkBjB,EAAQkB,gBAC1B,mBAAmBlB,EAAQmB,iBAC3B,qBAAqBnB,EAAQoB,mBAC7B,yBAAyBpB,EAAQqB,uBACjC,iBAAiBrB,EAAQsB,eACzB,qBAAqBtB,EAAQuB,mBAC7B,aAAavB,EAAQwB,SACzB,OAAOpI,MAAKqG,WAAWI,IAAII,IAG/BrC,eAAAtB,UAAAmF,oBAAA,SAAoBvB,GAChB,MAAO9G,MAAKqG,WAAWI,IAAOzG,KAAKsG,gBAAe,cAAcQ,IAGpEtC,eAAAtB,UAAAoF,kBAAA,SAAkB9B,GACd,MAAOxG,MAAKqG,WAAWI,IAAOzG,KAAKsG,gBAAe,gBAAgBE,IAGtEhC,eAAAtB,UAAAqF,sBAAA,SAAsB/B,GAClB,MAAOxG,MAAKqG,WAAWI,IAAOzG,KAAKsG,gBAAe,uBAAuBE,IAG7EhC,eAAAtB,UAAAsF,iBAAA,SAAiB9E,EAAe8C,GAC5B,MAAOxG,MAAKqG,WAAWI,IAAOzG,KAAKsG,gBAAe,kBAAkBE,EAAU,IAAI9C,IAEtFc,eAAAtB,UAAAuF,gBAAA,SAAgBjC,GACZ,MAAOxG,MAAKqG,WAAWI,IAAOzG,KAAKsG,gBAAe,iBAAiBE,IAEvEhC,eAAAtB,UAAAwF,oBAAA,SAAoBhF,EAAe8C,EAAoBmC,GAEnD,GAAIC,IACAlF,MAAOA,EACP8C,WAAYA,EACZmC,KAAMA,EAGV,OAAO3I,MAAKqG,WAAWwC,IAAO7I,KAAKsG,gBAAe,iBAAkBwC,KAAKC,UAAUH,KAGvFpE,eAAAtB,UAAA8F,cAAA,SAAcC,GACV,MAAOjJ,MAAKqG,WAAWwC,IAAI,GAAG7I,KAAKsG,gBAAmB2C,IAG1DzE,eAAAtB,UAAAgG,uBAAA,SAAuB1C,GACnB,MAAOxG,MAAKqG,WAAWI,IAAOzG,KAAKsG,gBAAe,qBAAqBE,IAG3EhC,eAAAtB,UAAAiG,2BAAA,SAA2BzF,EAAe8C,GAEtC,MAAOxG,MAAKqG,WAAWI,IAAOzG,KAAKsG,gBAAe,kBAAkBE,EAAU,IAAI9C,IAGtFc,eAAAtB,UAAAkG,cAAA,WACI,MAAOpJ,MAAKqG,WAAWI,IAAOzG,KAAKsG,gBAAe,gBAGtD9B,eAAAtB,UAAAmG,qBAAA,SAAqBzC,GACjB,GAAIC,GAAgB7G,KAAKsG,gBAAe,iCACPM,EAAQ0C,WACrB,UAAU1C,EAAQlD,QAClB,eAAekD,EAAQJ,aACvB,YAAYI,EAAQxD,QACxC,OAAOpD,MAAKqG,WAAWI,IAAII,IAG/BrC,eAAAtB,UAAAqG,kBAAA,SAAkB3C,GACd,GAAIC,GAAgB7G,KAAKsG,gBAAe,8BACPM,EAAQ0C,WACrB,UAAU1C,EAAQlD,QAClB,eAAekD,EAAQJ,aACvB,YAAYI,EAAQxD,QACxC,OAAOpD,MAAKqG,WAAWI,IAAII,IAG/BrC,eAAAtB,UAAAsG,iBAAA,SAAiB5C,GACb,MAAO5G,MAAKqG,WAAWwC,IAAO7I,KAAKsG,gBAAe,qBAAsBM,IAG5EpC,eAAAtB,UAAAuG,mBAAA,SAAmB7C,GACf,MAAO5G,MAAKqG,WAAWqD,KAAQ1J,KAAKsG,gBAAe,mBAAoBM,IAG3EpC,eAAAtB,UAAAyG,gBAAA,SAAgB/C,GACZ,GAAIC,GAAgB7G,KAAKsG,gBAAe,wCACPM,EAAQ0C,WACrB,UAAU1C,EAAQlD,QAClB,eAAekD,EAAQJ,WAC3C,OAAOxG,MAAKqG,WAAWI,IAAII,IAG/BrC,eAAAtB,UAAA0G,aAAA,SAAahD,GACT,MAAO5G,MAAKqG,WAAWqD,KAAQ1J,KAAKsG,gBAAe,oBAAqBM,IAG5EpC,eAAAtB,UAAA2G,aAAA,SAAajD,GACT,GAAIC,GAAgB7G,KAAKsG,gBAAe,wCACPM,EAAQ0C,WACrB,UAAU1C,EAAQlD,QAClB,eAAekD,EAAQJ,WAC3C,OAAOxG,MAAKqG,WAAWI,IAAII,IAG/BrC,eAAAtB,UAAA4G,iBAAA,SAAiBlD,GACb,GAAIC,GAAgB7G,KAAKsG,gBAAe,oCACPM,EAAQ0C,WACrB,cAAc1C,EAAQmD,YACtB,YAAYnD,EAAQoD,UACpB,UAAUpD,EAAQlD,QAClB,eAAekD,EAAQJ,WAC3C,OAAOxG,MAAKqG,WAAWI,IAAII,IAG/BrC,eAAAtB,UAAA+G,qBAAA,SAAqBrD,GACjB,MAAO5G,MAAKqG,WAAWqD,KAAQ1J,KAAKsG,gBAAe,qCAAsCM,IAG7FpC,eAAAtB,UAAAgH,oBAAA,SAAoBtD,GACjB,MAAO5G,MAAKqG,WAAWqD,KAAQ1J,KAAKsG,gBAAe,mCAAoCM,IA9J9FpC,eAAAzE,GAACpB,EAAAwH,aJ6TQnF,EAAW,qBAAsBwB,EAAcgD,cAChDhB,kBI7TKrG,GAAAqG,eAAcA,GJqUrB2F,IACA,SAASjM,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IK7V3GvC,EAAAP,EAA2B,IAC3BM,EAAAN,EAA4D,KAC5DgM,EAAAhM,EAAyB,KACzBiD,EAAAjD,EAAgC,KAChCgE,EAAAhE,EAA4B,KAG5BoH,EAAA,WAGI,QAAAA,YAAoB6E,EACRC,EACAvH,GAFQ/C,KAAAqK,OACRrK,KAAAsK,SACAtK,KAAA+C,cACR/C,KAAKuK,UAAYD,EAAOpE,gBA6FhC,MA1FYV,YAAAtC,UAAAuD,IAAP,SAAWI,GAER,GAAI2D,GAAU,GAAI9L,GAAA+L,OAOjB,OALEzK,MAAK+C,YAAYO,cAEhBkH,EAAQE,OAAO,gBAAiB,UAAU1K,KAAK+C,YAAY4H,kBAGvD3K,KAAKqK,KAAK5D,IAAIzG,KAAKuK,UAAW1D,GAAO2D,YACxCI,IAAI5K,KAAK6K,aACTC,GAAG,SAAAC,GAAQ,MAAAnL,SAAQoL,IAAID,KACvBrL,MAAMM,KAAKiL,cAGZzF,WAAAtC,UAAAwG,KAAP,SAAY7C,EAAaqE,EAAWC,GACjC,GAAIX,GAAU,GAAI9L,GAAA+L,SAASW,eAAgB,oBAExCpL,MAAK+C,YAAYO,cAChBkH,EAAQE,OAAO,gBAAiB,UAAU1K,KAAK+C,YAAY4H,iBAI/D,IAAIU,GAAcF,IAAYX,QAAUA,EAExC,OAAOxK,MAAKqK,KAAKX,KAAK1J,KAAKuK,UAAY1D,EAAKqE,EAAMG,GAC7CT,IAAI5K,KAAK6K,aACTC,GAAG,SAAAC,GAAQ,MAAAnL,SAAQoL,IAAI,SAAWD,KAClCrL,MAAMM,KAAKiL,cAIZzF,WAAAtC,UAAA2F,IAAP,SAAWhC,EAAaqE,EAAWC,GAEhC,GAAIX,GAAU,GAAI9L,GAAA+L,SAASW,eAAgB,oBAExCpL,MAAK+C,YAAYO,cAEhBkH,EAAQE,OAAO,gBAAiB,UAAU1K,KAAK+C,YAAY4H,iBAI/D,IAAIU,GAAcF,IAAYX,QAAUA,EAGxC,OAAOxK,MAAKqK,KAAKxB,IAAI7I,KAAKuK,UAAY1D,EAAKqE,EAAMG,GAC5CT,IAAI5K,KAAK6K,aACTC,GAAG,SAAAC,GAAQ,MAAAnL,SAAQoL,IAAID,KACvBrL,MAAMM,KAAKiL,cAIZzF,WAAAtC,UAAAoI,OAAP,SAAczE,EAAasE,GAOxB,GAAIX,GAAU,GAAI9L,GAAA+L,OAQlB,OANGzK,MAAK+C,YAAYO,cAEhBkH,EAAQE,OAAO,gBAAiB,UAAU1K,KAAK+C,YAAY4H,kBAIxD3K,KAAKqK,KAAKiB,OAAOtL,KAAKuK,UAAY1D,GAAO2D,YAC3CI,IAAI5K,KAAK6K,aACTC,GAAG,SAAAC,GAAQ,MAAAnL,SAAQoL,IAAID,KACvBrL,MAAMM,KAAKiL,cAGXzF,WAAAtC,UAAA2H,YAAR,SAAoBU,GACd,GAAIL,EAOH,OAJIK,GAAIC,SACJN,EAAOK,EAAIE,QAGRP,OAGP1F,WAAAtC,UAAA+H,YAAR,SAAoBpL,GAChB,GAAI6L,GAAU7L,EAAa,QAAIA,EAAM8L,QACjC9L,EAAM+L,OAAY/L,EAAM+L,OAAM,MAAM/L,EAAMgM,WAAe,cAE7D,OADAjM,SAAQC,MAAM6L,GACPtB,EAAA0B,WAAWC,MAAML,IAlGhClG,WAAAzF,GAACpB,EAAAwH,aLmaQnF,EAAW,qBAAsBtC,EAAOsN,KAAM3K,EAAoBkD,gBAAiBnC,EAAemD,eACnGC,cKnaKrH,GAAAqH,WAAUA,GL2ajByG,IACA,SAAS/N,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IM5b3GvC,EAAAP,EAA2B,IAE3BM,EAAAN,EAA4D,KAG5DgM,EAAAhM,EAAyB,KACzBiD,EAAAjD,EAAgC,KAEpB8N,EAAC9N,EAAM,KAGnBmH,EAAA,WAKE,QAAAA,aAAoB8E,GAAArK,KAAAqK,OAClBrK,KAAKmM,kBAAmB,GAAI9K,GAAAkD,iBAAkB2B,gBAuHlD,MApHEX,aAAArC,UAAAkJ,UAAA,WACE,GAAIC,IAAU,GAAIhL,GAAAkD,iBAAkB2B,eACpCrC,QAAOC,SAASwI,KAAMD,EAAU,8BAIlC9G,YAAArC,UAAAqJ,SAAA,WACE,MAAIvM,MAAKwM,MACAxM,KAAKwM,MAGL1D,KAAK2D,MAAMC,eAAeC,QAAQ,WAI7CpH,YAAArC,UAAAI,WAAA,WACE,MAA2B,QAApBtD,KAAKuM,YAAuB,GAAIK,MAAS,GAAIA,MAAK5M,KAAKuM,WAAW,cAI3EhH,YAAArC,UAAAyH,eAAA,WACE,MAAO3K,MAAKuM,WAAWM,cAGzBtH,YAAArC,UAAA4J,SAAA,SAASN,GACPxM,KAAKwM,MAAQA,EAETA,EAKFE,eAAeK,QAAQ,QAASjE,KAAKC,UAAUyD,IAI/CE,eAAeM,WAAW,UAI9BzH,YAAArC,UAAA+J,gBAAA,WAEE,GAAIjN,KAAKuM,WACP,MAAOvM,MAAKuM,WAAWW,UAI3B3H,YAAArC,UAAAiK,YAAA,WAEE,GAAInN,KAAKuM,WACP,MAAOvM,MAAKuM,WAAWa,UAI3B7H,YAAArC,UAAAmK,SAAA,WACE,GAAIrN,KAAKuM,WACP,MAAOvM,MAAKuM,WAAWe,OAG3B/H,YAAArC,UAAAG,SAAA,SAASkK,GAEP,MADA3N,SAAQoL,IAAIhL,KAAKuM,YACS,MAAnBvM,KAAKuM,YAAsBL,EAAEsB,SAASxN,KAAKuM,WAAWe,MAAMG,MAAM,KAAMF,IAGjFhI,YAAArC,UAAAE,QAAA,WACE,MAA0B,OAAnBpD,KAAKuM,aAAuBL,EAAEsB,SAASxN,KAAKuM,WAAWe,MAAMG,MAAM,KAAM,qBAC9EvB,EAAEsB,SAASxN,KAAKuM,WAAWe,MAAMG,MAAM,KAAM,eAGjDlI,YAAArC,UAAAwK,kBAAA,WACE,MAA0B,OAAnB1N,KAAKuM,YAAuBL,EAAEsB,SAASxN,KAAKuM,WAAWe,MAAMG,MAAM,KAAM,qBAGlFlI,YAAArC,UAAAK,WAAA,WACE,MAA0B,OAAnBvD,KAAKuM,YAAuBL,EAAEsB,SAASxN,KAAKuM,WAAWe,MAAMG,MAAM,KAAM,cAGlFlI,YAAArC,UAAAU,OAAA,WACI5D,KAAKwM,MAAQ,KAChBE,eAAeiB,SAGhBpI,YAAArC,UAAA0K,UAAA,WACE,GAAI5N,KAAKuM,WACP,MAAOvM,MAAKuM,WAAWsB,IAG3BtI,YAAArC,UAAA4K,MAAA,SAAMC,GAAN,GAAAC,GAAAhO,KAEMwK,EAAU,GAAI9L,GAAA+L,OAIlB,OAHAD,GAAQE,OAAO,eAAgB,qCAGxB1K,KAAKqK,KAAKX,KACZ1J,KAAKmM,iBAAgB,QACxB,gCAAkC8B,mBAAmBF,IACnDvD,YACDI,IAAI5K,KAAK6K,aACTC,GAAG,SAAAC,GAAQ,MAAAnL,SAAQoL,IAAI,OAASD,KAChCrL,MAAMM,KAAKiL,aACXL,IAAI,SAAAG,GAEH,MADAiD,GAAKlB,SAAS/B,GACPA,KAKLxF,YAAArC,UAAA+H,YAAR,SAAoBpL,GAClB,GAAIqL,GAAOrL,EAAM4L,MACjB,OAAOrB,GAAA0B,WAAWC,MAAMb,IAAUgD,kBAAmB,kBAG/C3I,YAAArC,UAAA2H,YAAR,SAAoBU,GAClB,GAAIL,GAAOK,EAAIE,MACf,OAAOP,QA5HX3F,YAAAxF,GAACpB,EAAAwH,aN4hBQnF,EAAW,qBAAsBtC,EAAOsN,QACzCzG,eM5hBKpH,GAAAoH,YAAWA,GNoiBlB4I,IACA,SAASjQ,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IO3jB3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAE3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAAsG,GAAA,WAII,QAAAA,gBAAoB2B,GAAArG,KAAAqG,aAFZrG,KAAAqO,YAAc,cAa1B,MAVI3J,gBAAAxB,UAAAoL,gBAAA,SAAgB1H,GACZ,MAAO5G,MAAKqG,WAAWqD,KAAQ1J,KAAKqO,YAAW,mBAAoBzH,IAE/DlC,eAAAxB,UAAA+H,YAAR,SAAoBpL,GAKhB,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAdtD6E,eAAA3E,GAACpB,EAAAwH,aPykBQnF,EAAW,qBAAsBwB,EAAcgD,cAChDd,kBOzkBKvG,GAAAuG,eAAcA,GPilBrB6J,IACA,SAASrQ,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IQtmB3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAG3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,KACPA,EAAO,IAGP,IAAA2G,GAAA,WAMI,QAAAA,kBAAoBsB,GAAArG,KAAAqG,aAFZrG,KAAAwO,cAAgB,iCAmB5B,MAfIzJ,kBAAA7B,UAAAuL,aAAA,WACK,MAAOzO,MAAKqG,WAAWI,IAAI,GAAGzG,KAAKwO,gBAOhCzJ,iBAAA7B,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,QAAU,iBAtBjD1G,iBAAAhF,GAACpB,EAAAwH,aRwnBQnF,EAAW,qBAAsBwB,EAAcgD,cAChDT,oBQxnBK5G,GAAA4G,iBAAgBA,GRgoBvB2J,IACA,SAASxQ,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,ISvpB3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAG3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAA4G,GAAA,WASI,QAAAA,kBAAoBqB,GAAArG,KAAAqG,aAJZrG,KAAA2O,cAAgB,iCAqB5B,MAfI3J,kBAAA9B,UAAA0L,aAAA,WACK,MAAO5O,MAAKqG,WAAWI,IAAI,GAAGzG,KAAK2O,gBAOhC3J,iBAAA9B,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAzBvDmF,iBAAAjF,GAACpB,EAAAwH,aTyqBQnF,EAAW,qBAAsBwB,EAAcgD,cAChDR,oBSzqBK7G,GAAA6G,iBAAgBA,GTirBvB6J,IACA,SAAS3Q,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IUvsB3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAG3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAA6G,GAAA,WASI,QAAAA,kBAAoBoB,GAAArG,KAAAqG,aAJZrG,KAAA8O,cAAgB,iCAqB5B,MAfI7J,kBAAA/B,UAAA6L,aAAA,WACK,MAAO/O,MAAKqG,WAAWI,IAAI,GAAGzG,KAAK8O,gBAOhC7J,iBAAA/B,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAzBvDoF,iBAAAlF,GAACpB,EAAAwH,aVytBQnF,EAAW,qBAAsBwB,EAAcgD,cAChDP,oBUztBK9G,GAAA8G,iBAAgBA,GViuBvB+J,IACA,SAAS9Q,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IWvvB3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAG3BoE,EAAApE,EAA2B,IAC3BA,GAAO,KACPA,EAAO,IAGP,IAAA8G,GAAA,WAOI,QAAAA,kBAAoBmB,GAAArG,KAAAqG,aAFZrG,KAAAiP,cAAgB,iCAmB5B,MAfI/J,kBAAAhC,UAAAgM,aAAA,WACK,MAAOlP,MAAKqG,WAAWI,IAAI,GAAGzG,KAAKiP,gBAOhC/J,iBAAAhC,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAvBvDqF,iBAAAnF,GAACpB,EAAAwH,aX0wBQnF,EAAW,qBAAsBwB,EAAcgD,cAChDN,oBW1wBK/G,GAAA+G,iBAAgBA,GXkxBvBiK,IACA,SAASjR,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IYvyB3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAI3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAA+G,GAAA,WAQI,QAAAA,kBAAoBkB,GAAArG,KAAAqG,aAHZrG,KAAAoP,cAAgB,iCAoB5B,MAfIjK,kBAAAjC,UAAAmM,aAAA,WACK,MAAOrP,MAAKqG,WAAWI,IAAI,GAAGzG,KAAKoP,gBAOhCjK,iBAAAjC,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAxBvDsF,iBAAApF,GAACpB,EAAAwH,aZwzBQnF,EAAW,qBAAsBwB,EAAcgD,cAChDL,oBYxzBKhH,GAAAgH,iBAAgBA,GZg0BvBmK,IACA,SAASpR,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,Iav1B3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAI3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAAuG,GAAA,WAOI,QAAAA,kBAAoB0B,GAAArG,KAAAqG,aAFZrG,KAAAuP,cAAgB,iCAmB5B,MAfI5K,kBAAAzB,UAAAsM,aAAA,WACK,MAAOxP,MAAKqG,WAAWI,IAAI,GAAGzG,KAAKuP,gBAOhC5K,iBAAAzB,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAvBvD8E,iBAAA5E,GAACpB,EAAAwH,abw2BQnF,EAAW,qBAAsBwB,EAAcgD,cAChDb,oBax2BKxG,GAAAwG,iBAAgBA,Gbg3BvB8K,IACA,SAASvR,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,Icv4B3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAG3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAAwG,GAAA,WAOI,QAAAA,kBAAoByB,GAAArG,KAAAqG,aAFZrG,KAAA0P,cAAgB,iCAmB5B,MAfI9K,kBAAA1B,UAAAyM,aAAA,WACK,MAAO3P,MAAKqG,WAAWI,IAAI,GAAGzG,KAAK0P,gBAOhC9K,iBAAA1B,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAvBvD+E,iBAAA7E,GAACpB,EAAAwH,ady5BQnF,EAAW,qBAAsBwB,EAAcgD,cAChDZ,oBcz5BKzG,GAAAyG,iBAAgBA,Gdi6BvBgL,IACA,SAAS1R,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,Iev7B3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAI3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAA0G,GAAA,WAOI,QAAAA,kBAAoBuB,GAAArG,KAAAqG,aAFZrG,KAAA6P,cAAgB,iCAmB5B,MAfI/K,kBAAA5B,UAAA4M,aAAA,WACK,MAAO9P,MAAKqG,WAAWI,IAAI,GAAGzG,KAAK6P,gBAOhC/K,iBAAA5B,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAvBvDiF,iBAAA/E,GAACpB,EAAAwH,afw8BQnF,EAAW,qBAAsBwB,EAAcgD,cAChDV,oBex8BK3G,GAAA2G,iBAAgBA,Gfg9BvBiL,IACA,SAAS7R,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IgBv+B3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAG3BoE,EAAApE,EAA2B,IAG3BA,GAAO,KACPA,EAAO,IAGP,IAAAyG,GAAA,WAKI,QAAAA,uBAAoBwB,GAAArG,KAAAqG,aAFZrG,KAAAgQ,mBAAqB,sCAqBjC,MAjBInL,uBAAA3B,UAAA+M,uBAAA,WACA,MAAOjQ,MAAKqG,WAAWI,IAAI,GAAGzG,KAAKgQ,qBAU3BnL,sBAAA3B,UAAA+H,YAAR,SAAoBpL,GAIf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAvBvDgF,sBAAA9E,GAACpB,EAAAwH,ahB2/BQnF,EAAW,qBAAsBwB,EAAcgD,cAChDX,yBgB3/BK1G,GAAA0G,sBAAqBA,GhBmgC5BqL,IACA,SAAShS,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IiB1hC3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAE3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAAqG,GAAA,WAII,QAAAA,oBAAoB4B,GAAArG,KAAAqG,aAFZrG,KAAAmQ,gBAAkB,kBAoB9B,MAhBI1L,oBAAAvB,UAAAkN,sBAAA,SAAsBxJ,GACjB,MAAO5G,MAAKqG,WAAWqD,KAAQ1J,KAAKmQ,gBAAe,wBAAyBvJ,IAEjFnC,mBAAAvB,UAAAmN,WAAA,SAAWC,GACP,MAAOtQ,MAAKqG,WAAWqD,KAAQ1J,KAAKmQ,gBAAe,iBAAkBG,IAEzE7L,mBAAAvB,UAAAqN,eAAA,SAAe3J,GACX,MAAO5G,MAAKqG,WAAWqD,KAAQ1J,KAAKmQ,gBAAe,qBAAsBvJ,IAErEnC,mBAAAvB,UAAA+H,YAAR,SAAoBpL,GAKhB,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBArBtD4E,mBAAA1E,GAACpB,EAAAwH,ajB8iCQnF,EAAW,qBAAsBwB,EAAcgD,cAChDf,sBiB9iCKtG,GAAAsG,mBAAkBA,GjBsjCzB+L,IACA,SAAStS,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IkB3kC3GvC,EAAAP,EAA2B,IAE3BoE,EAAApE,EAA2B,IAQ3BA,GAAO,KACPA,EAAO,IAGP,IAAAgH,GAAA,WAGI,QAAAA,iBAAoBqL,GAAAzQ,KAAAyQ,cAFZzQ,KAAA0Q,iBAAmB,eAuC/B,MAnCWtL,iBAAAlC,UAAAyN,YAAP,SAAmBnK,GACf,MAAOxG,MAAKyQ,YAAYhK,IAAOzG,KAAK0Q,iBAAgB,IAAIlK,IAGrDpB,gBAAAlC,UAAA0N,aAAP,SAAoBC,GAChB,MAAO7Q,MAAKyQ,YAAYhK,IAAOzG,KAAK0Q,iBAAgB,SAASG,IAG1DzL,gBAAAlC,UAAA4N,sBAAP,SAA6B3J,EAAc0J,GACvC,MAAO7Q,MAAKyQ,YAAYhK,IAAOzG,KAAK0Q,iBAAgB,cAAcvJ,EAAI,IAAI0J,IAGvEzL,gBAAAlC,UAAA6N,uBAAP,SAA+BF,GAC3B,MAAO7Q,MAAKyQ,YAAYhK,IAAOzG,KAAK0Q,iBAAgB,eAAeG;EAGhEzL,gBAAAlC,UAAA8N,eAAP,SAAsBpK,GAClB,MAAO5G,MAAKyQ,YAAY/G,KAAQ1J,KAAK0Q,iBAAgB,UAAW9J,IAG7DxB,gBAAAlC,UAAA+N,gBAAP,SAAuBC,GACnB,MAAOlR,MAAKyQ,YAAY/G,KAAQ1J,KAAK0Q,iBAAgB,UAAWQ,IAG7D9L,gBAAAlC,UAAAiO,qBAAP,SAA4BvK,GACxB,MAAO5G,MAAKyQ,YAAY/G,KAAQ1J,KAAK0Q,iBAAgB,gBAAiB9J,IAGnExB,gBAAAlC,UAAAkO,yBAAP,SAAgCxK,GAC5B,MAAO5G,MAAKyQ,YAAY/G,KAAQ1J,KAAK0Q,iBAAgB,4BAA6B9J,IAG/ExB,gBAAAlC,UAAAmO,kBAAP,SAAyBzK,GACrB,MAAO5G,MAAKyQ,YAAY/G,KAAQ1J,KAAK0Q,iBAAgB,YAAa9J,IAvC1ExB,gBAAArF,GAACpB,EAAAwH,alBsmCQnF,EAAW,qBAAsBwB,EAAcgD,cAChDJ,mBkBtmCKjH,GAAAiH,gBAAeA,CAgE5B,IAAAC,GAAA,mBAAAA,0BAkCA,MA1BIA,uBAAAnC,UAAAoO,mBAAA,WACI5E,eAAeK,QAAQ,0BAA2BjE,KAAKC,UAAU/I,QAGrEqF,sBAAAnC,UAAAqO,WAAA,WACI,GAAyD,OAAtD7E,eAAeC,QAAQ,2BACtB,MAAO,KAEX,IAAI6E,GAAiC1I,KAAK2D,MAAMC,eAAeC,QAAQ,2BAQvE,OAPA3M,MAAK8G,eAAiB0K,EAAS1K,eAC/B9G,KAAKyR,WAAaD,EAASC,WAC3BzR,KAAK0R,OAASF,EAASE,OACvB1R,KAAK2R,aAAeH,EAASG,aAC7B3R,KAAK4R,OAASJ,EAASI,OACvB5R,KAAK6Q,OAASW,EAASX,OAEjB,MAGVxL,sBAAAnC,UAAA2O,eAAA,WACInF,eAAeM,WAAW,4BAG9B3H,sBAAAnC,UAAA4O,gBAAA,WACI,MAA6D,QAAtDpF,eAAeC,QAAQ,4BAEtCtH,wBAlCalH,GAAAkH,sBAAqBA,CAoClC,IAAA0M,GAAA,mBAAAA,2BAGA,MAAAA,0BAHa5T,GAAA4T,uBAAsBA,CAKnC,IAAAC,GAAA,mBAAAA,gCAuBA,MAAAA,+BAvBa7T,GAAA6T,4BAA2BA,CAyBxC,IAAAC,GAAA,mBAAAA,iCAGA,MAAAA,gCAHa9T,GAAA8T,6BAA4BA,CAKzC,IAAAC,GAAA,mBAAAA,oCAQA,MAAAA,mCARa/T,GAAA+T,gCAA+BA,CAU5C,IAAAC,GAAA,mBAAAA,qCAQA,MAAAA,oCARahU,GAAAgU,iCAAgCA,CAU7C,IAAAC,GAAA,mBAAAA,4BAoBA,MAXIA,yBAAAlP,UAAAmP,iBAAA,SAAiBC,GACb5F,eAAeK,QAAQ,2BAA4BuF,IAGvDF,wBAAAlP,UAAAqP,iBAAA,WACI,MAAO7F,gBAAeC,QAAQ,6BAGlCyF,wBAAAlP,UAAAsP,qBAAA,WACI9F,eAAeM,WAAW,6BAElCoF,0BApBajU,GAAAiU,wBAAuBA,CAsBpC,IAAAK,GAAA,mBAAAA,6BAGA,MAAAA,4BAHatU,GAAAsU,yBAAwBA,GlB2gC/BC,IACA,SAASxU,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,ImBrtC3GvC,EAAAP,EAA2B,IAE3BoE,EAAApE,EAA2B,KAG3BkH,EAAA,WAGI,QAAAA,mBAAoBmL,GAAAzQ,KAAAyQ,cAFZzQ,KAAA2S,kBAA4B,YAmBxC,MAfWrN,mBAAApC,UAAA0P,QAAP,SAAehB,GACX,MAAO5R,MAAKyQ,YAAYhK,IAAOzG,KAAK2S,kBAAiB,IAAIf,IAGtDtM,kBAAApC,UAAA2P,qBAAP,WACI,MAAO7S,MAAKyQ,YAAYhK,IAAOzG,KAAK2S,kBAAiB,mBAGlDrN,kBAAApC,UAAA4P,gBAAP,WACI,MAAO9S,MAAKyQ,YAAYhK,IAAOzG,KAAK2S,kBAAiB,kBAGlDrN,kBAAApC,UAAA6P,oBAAP,WACI,MAAO/S,MAAKyQ,YAAYhK,IAAOzG,KAAK2S,kBAAiB,sBAnB7DrN,kBAAAvF,GAACpB,EAAAwH,anBwuCQnF,EAAW,qBAAsBwB,EAAcgD,cAChDF,qBmBxuCKnH,GAAAmH,kBAAiBA,CAsB9B,IAAA0N,GAAA,mBAAAA,iBAGA,MAAAA,gBAHa7U,GAAA6U,aAAYA,CAKzB,IAAAC,GAAA,mBAAAA,kBAwBA,MAAAA,iBAxBa9U,GAAA8U,cAAaA,CA0B1B,IAAAC,GAAA,mBAAAA,iBAGA,MAAAA,gBAHa/U,GAAA+U,aAAYA,GnB6sCnBC,IACA,SAASjV,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IoBlxC3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAC3BoE,EAAApE,EAA2B,IAI3BA,GAAO,KACPA,EAAO,IAGP,IAAAwH,GAAA,WAGI,QAAAA,sBAAoBS,GAAArG,KAAAqG,aAFXrG,KAAAoT,kBAAoB,WAcjC,MAVWxN,sBAAA1C,UAAAmQ,iBAAP,WACQ,MAAOrT,MAAKqG,WAAWI,IAAOzG,KAAKoT,kBAAiB,mBAEpDxN,qBAAA1C,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAdvD+F,qBAAA7F,GAACpB,EAAAwH,apB+xCQnF,EAAW,qBAAsBwB,EAAcgD,cAChDI,wBoB/xCKzH,GAAAyH,qBAAoBA,GpBuyC3B0N,IACA,SAASpV,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IqB5zC3GvC,EAAAP,EAA2B,IAG3BoE,EAAApE,EAA2B,KAM3BsH,EAAA,WAEE,QAAAA,iBAAoBW,GAAArG,KAAAqG,aAatB,MAXEX,iBAAAxC,UAAAqQ,gBAAA,SAAgB1C,EAAgBrK,GAC1B,MAAOxG,MAAKqG,WAAWI,IAAI,gCAAgCoK,EAAM,IAAIrK,IAGpEd,gBAAAxC,UAAAsQ,WAAP,SAAkB3C,GACZ,MAAO7Q,MAAKqG,WAAWI,IAAI,0BAA0BoK,IAGpDnL,gBAAAxC,UAAAuQ,gBAAP,SAAuB5C,GACjB,MAAO7Q,MAAKqG,WAAWI,IAAI,gCAAgCoK,IAdnEnL,gBAAA3F,GAACpB,EAAAwH,arBw0CQnF,EAAW,qBAAsBwB,EAAcgD,cAChDE,mBqBx0CKvH,GAAAuH,gBAAeA,GrBg1CtBgO,IACA,SAASxV,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IsBr2C3GvC,EAAAP,EAAuC,IACvCgD,EAAAhD,EAEuC,KACvCgE,EAAAhE,EAAuC,KAE3B8N,EAAC9N,EAAM,KAInBqH,EAAA,WAIE,QAAAA,WAAoB1C,EAAkCD,GAAlC9C,KAAA+C,cAAkC/C,KAAA8C,SAFtD9C,KAAA2T,2BAAuC,SAAU,eAwBnD,MApBElO,WAAAvC,UAAA0Q,YAAA,SAAY/Q,EAA+BmE,GAEzC,MAAIhH,MAAK+C,YAAYO,eAEb4I,EAAEsB,SAASxN,KAAK2T,0BAA2B3M,EAAMH,OAAS7G,KAAK+C,YAAYM,SAAS,uBACpFrD,KAAK8C,OAAOW,UAAU,cACf,IAMXzD,KAAK+C,YAAY8Q,YAAc7M,EAAMH,IAGrC7G,KAAK8C,OAAOW,UAAU,UAAYqQ,aAAc9M,EAAMH,QAE/C,IAxBfpB,UAAA1F,GAACpB,EAAAwH,atB03CQnF,EAAW,qBAAsBoB,EAAemD,YAAanE,EAAS4E,UACvEP,asB13CKtH,GAAAsH,UAASA,GtBk4ChBsO,IACA,SAAS7V,EAAQC,GAGtB,YuB91CD,IAAA0H,GAAA,mBAAAA,0BAKA,MAAAA,yBALa1H,GAAA0H,sBAAqBA,CA0BlC,IAAAmO,GAAA,mBAAAA,sBAMA,MAAAA,qBANa7V,GAAA6V,kBAAiBA,GvBq1CxBC,IACA,SAAS/V,EAAQC,GAEtB,YwBn4CD,IAAA2H,GAAA,mBAAAA,2BAUA,MAAAA,0BAVa3H,GAAA2H,uBAAsBA,CAWnC,IAAAoO,GAAA,WAMI,QAAAA,qBAAYC,EAAkBC,EAAiBC,EAAiBC,EAAkBC,GAC9EvU,KAAKmU,UAAYA,EACjBnU,KAAKoU,SAAWA,EAChBpU,KAAKqU,SAAUA,EACfrU,KAAKsU,UAAWA,EAChBtU,KAAKuU,UAAYA,EAEzB,MAAAL,uBAba/V,GAAA+V,oBAAmBA,CAehC,IAAAM,GAAA,WAGI,QAAAA,2BAAY3G,EAAYyE,GACpBtS,KAAK6N,GAAGA,EACR7N,KAAKsS,KAAKA,EAElB,MAAAkC,6BAParW,GAAAqW,0BAAyBA,CAQtC,IAAAC,GAAA,WAGI,QAAAA,8BAAYC,EAAgBN,GACxBpU,KAAK0U,MAAMA,EACX1U,KAAKwG,WAAW4N,EAExB,MAAAK,gCAPatW,GAAAsW,6BAA4BA,GxBu4CnCE,IACA,SAASzW,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IyBr9C3GvC,EAAAP,EAA2B,IAE3BgE,EAAAhE,EAA4B,KAM5BuH,EAAA,WAaI,QAAAA,aAAoBiP,GAAA5U,KAAA4U,eAChB5U,KAAK6Q,OAAS+D,EAAahH,YAC3B5N,KAAK6U,SAAWD,EAAazH,cAC7BnN,KAAKsN,MAAQsH,EAAavH,WAC1BrN,KAAKoD,QAAUwR,EAAaxR,UAC5BpD,KAAK0N,kBAAoBkH,EAAalH,oBACtC1N,KAAKuD,WAAaqR,EAAarR,aAC/BvD,KAAKwG,WAAa,EAsC1B,MAnCWb,aAAAzC,UAAAoO,mBAAP,WACkD,OAA3C5E,eAAeC,QAAQ,iBACtBD,eAAeM,WAAW,gBAE9BN,eAAeK,QAAQ,eAAgBjE,KAAKC,UAAU2D,eAAsB,SAGzE/G,YAAAzC,UAAAqO,WAAP,WACI,GAA8C,OAA3C7E,eAAeC,QAAQ,gBACtB,MAAO,KAIX,IAAImI,GAAkBhM,KAAK2D,MAAMC,eAAsB,OACnDqI,EAAqCD,CAMzC,OALAC,GAASvO,WAAaxG,KAAKwG,WAC3BuO,EAAS3R,QAAUpD,KAAK4U,aAAaxR,UACrC2R,EAASrH,kBAAoB1N,KAAK4U,aAAalH,oBAC/CqH,EAASxR,WAAavD,KAAK4U,aAAarR,aAEjCwR,GAGJpP,YAAAzC,UAAA0K,UAAP,WACI,GAAIiD,GAAS7Q,KAAK4U,aAAahH,WAC/B,OAAOiD,IAGJlL,YAAAzC,UAAA8R,cAAP,WACI,MAAOhV,MAAKwG,YAGTb,YAAAzC,UAAA4O,gBAAP,WACI,MAAkD,QAA3CpF,eAAeC,QAAQ,iBAzDtChH,YAAA5F,GAACpB,EAAAwH,azB4/CQnF,EAAW,qBAAsBoB,EAAemD,eACjDI,eyB5/CKxH,GAAAwH,YAAWA,GzBogDlBsP,IACA,SAAS/W,EAAQC,G0B7gDvBD,EAAAC,QAAA,k+Y1BmhDM+W,IACA,SAAShX,EAAQC,G2BphDvBD,EAAAC,QAAA,I3B0hDMgX,IACA,SAASjX,EAAQC,EAASC,GAE/B,Y4B7hDD,IAAAgD,GAAAhD,EAA4C,KAE5CgX,EAAAhX,EAAiC,KACjCiX,EAAAjX,EAA8B,KAC9BkX,EAAAlX,EAAuC,KACvCmX,EAAAnX,EAAyC,KACzCoX,EAAApX,EAAkC,KAElCqX,EAAArX,EAA2B,KAC3BsX,EAAAtX,EAA4B,KAC5BuX,EAAAvX,EAA8B,KAC9BmE,EAAAnE,EAA0B,KAC1BgE,EAAAhE,EAA4B,IAGfD,GAAAyX,SACTC,KAAM,GAAIC,WAAY,WAAYC,UAAW,SAC7CF,KAAM,UAAWG,UAAWZ,EAAAa,iBAAkBrC,aAAcrR,EAAAkD,a5B4hD7DyQ,O4B3hDEb,EAAAc,cACAb,EAAAc,uBACAb,EAAAc,yBACAb,EAAAc,kBACAb,EAAAc,WACAb,EAAAc,YACAb,EAAAc,eAGQtY,EAAAc,sBACXmC,EAAAsV,cAAcvY,EAAAyX,QAASrT,EAAAkD,UAAWrD,EAAAmD,c5ByhD9BoR,IACA,SAASzY,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I6BhkD3GvC,EAAAP,EAAyD,IACzD8D,EAAA9D,EAA2C,KAC3CwE,EAAAxE,EAA4B,KAC5BgE,EAAAhE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAOhC6X,EAAA,WAUI,QAAAA,kBAAoBW,EACAC,EACAC,EACA/T,GAHA/C,KAAA4W,mBACA5W,KAAA6W,OACA7W,KAAA8W,mBACA9W,KAAA+C,cAZpB/C,KAAAiD,UAAoB,YAAcjD,KAAK6W,KAAKtF,aAAuB,SAMnEvR,KAAAuT,iBAA2B,EAC3BvT,KAAAuD,YAAsB,EAwD1B,MA/CI0S,kBAAA/S,UAAAC,SAAA,cAAA6K,GAAAhO,IAGIA,MAAKoD,QAAUpD,KAAK+C,YAAYM,SAAS,oBACzCrD,KAAKuD,WAAavD,KAAK+C,YAAYQ,aACnCvD,KAAK6W,KAAKvF,oBACV,IAAIyF,GAAa/W,KAAK6W,KAAKtF,aAAiB,GACxCyF,EAAehX,KAAK6W,KAAKtF,aAAa/K,UAC1CxG,MAAK4W,iBAAiBhG,aAAamG,GAC9BE,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACQmO,EAAK6I,KAAK/E,kBACV9D,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKrQ,aAEjCwH,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKrQ,YACjCwH,EAAK6I,KAAKvF,wBAI1BtR,KAAKsX,kBAAoBtX,KAAKuX,eAAeC,cAG7CxX,KAAK8W,iBAAiBvD,gBAAgBwD,EAAYC,GAAcC,UAC5D,SAAAQ,GAAW,MAAAzJ,GAAKuF,gBAAkBkE,EAAQC,SAC1C,SAAA7X,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAK1CoW,iBAAA/S,UAAAyU,iBAAA,SAAiBC,GACb,GAAIC,IAA+BD,EAAM1X,OAA6B4X,KACtE9X,MAAK6W,KAAKrQ,WAAaqR,EACvB7X,KAAKqX,kBAAkBQ,GACvB7X,KAAK6W,KAAKvF,sBAGN2E,iBAAA/S,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA8B/X,KAAKmX,aAAaa,OAAO,SAAU5D,GACjE,MAAOA,GAASvG,KAAOrH,GAEvBuR,GAAevX,OAAS,IACxBR,KAAKiY,gBAAkBF,EAAe,IAE1C/X,KAAKsX,kBAAkBY,UAAY,6BAA6BlY,KAAKiY,gBAAgBtG,aAAY,KAAK3R,KAAKiY,gBAAgBpK,GAAE,cA/CjI9N,GAACpB,EAAAwZ,UAAU,kB7B6lDNnX,EAAW,cAAerC,EAAOyZ,aAClCnC,iBAAiB/S,UAAW,iBAAkB,Q6BlnDtD+S,iBAAAlW,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,Q7BsnDZ4C,EAAW,qBAAsBkB,EAAmBkD,gBAAiBxC,EAAe+C,YAAarD,EAAoBoD,gBAAiBtD,EAAemD,eACtJ0Q,oB6BrnDK9X,GAAA8X,iBAAgBA,G7B6nDvBoC,IACA,SAASna,EAAQC,G8BzoDvBD,EAAAC,QAAA,4vH9B+oDMma,IACA,SAASpa,EAAQC,EAASC,GAE/B,Y+BhpDD,IAAAma,GAAAna,EAAiC,KACjCmE,EAAAnE,EAA0B,KAC1Boa,EAAApa,EAAqC,KACrCqa,EAAAra,EAAwC,KACxCsa,EAAAta,EAAgD,KAChDua,EAAAva,EAAyC,KACzCwa,EAAAxa,EAAgD,KAChDya,EAAAza,EAAuD,IAG1CD,GAAAgY,gBACTN,KAAM,WAAYG,UAAWuC,EAAAO,iBAAkBlF,aAAcrR,EAAAkD,aAC7DoQ,KAAM,kBAAmBG,UAAYuC,EAAAO,iBAAkBlF,aAAcrR,EAAAkD,aACrEoQ,KAAM,uBAAwBG,UAAYwC,EAAAO,qBAAsBnF,aAAcrR,EAAAkD,aAC9EoQ,KAAM,6BAA8BG,UAAYyC,EAAAO,wBAAyBpF,aAAcrR,EAAAkD,aACvFoQ,KAAM,sBAAuBG,UAAY0C,EAAAO,gCAAiCrF,aAAcrR,EAAAkD,aACxFoQ,KAAM,8BAA+BG,UAAY2C,EAAAO,yBAA0BtF,aAAcrR,EAAAkD,aACzFoQ,KAAM,sCAAuCG,UAAY4C,EAAAO,gCAAiCvF,aAAcrR,EAAAkD,aACxGoQ,KAAM,kCAAmCG,UAAY6C,EAAAO,uCAAwCxF,aAAcrR,EAAAkD,c/BqpDzG4T,IACA,SAASnb,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IgCprD3GvC,EAAAP,EAAmE,IACnEgD,EAAAhD,EAA0D,KAE1DkD,EAAAlD,EAA+B,KAC/B6D,EAAA7D,EAAkC,KAClCsE,EAAAtE,EAAyD,KACzD8D,EAAA9D,EAA2C,KAC3CwE,EAAAxE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAChCkb,EAAAlb,EAAuC,KAEvCmb,EAAAnb,EAAuB,KACvBob,EAAApb,EAAuB,KAEX8N,EAAC9N,EAAM,KAWnB0a,EAAA,WA8BI,QAAAA,kBAAoBjW,EACAC,EACA2W,EACA7C,EACAC,EACAC,EACA4C,GANA1Z,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAyZ,kBACAzZ,KAAA4W,mBACA5W,KAAA6W,OACA7W,KAAA8W,mBACA9W,KAAA0Z,eAnCpB1Z,KAAAiD,UAAoB,iBAOpBjD,KAAA2Z,cAAwB,EAMxB3Z,KAAAuT,iBAA2B,EAC3BvT,KAAA4Z,SAAmB,EAKnB5Z,KAAA6Z,qBAA4B,EAE5B7Z,KAAA8Z,gBAAuB,EAGvB9Z,KAAA+Z,QACA/Z,KAAAga,WACAha,KAAAia,kBAA0B,EAC1Bja,KAAAka,QAAgB,OAoapB,MAvZIpB,kBAAA5V,UAAAC,SAAA,cAAA6K,GAAAhO,IAEIA,MAAKma,IAAMna,KAAK6C,MAAM+F,OAAOqO,UACzB,SAAArO,GACI,GAAIiF,GAAKjF,EAAc,KACnBsD,GAAEkO,QAAQvM,GAKTG,EAAK9E,yBAJN8E,EAAKzH,WAAWsH,KAU5B7N,KAAKsX,kBAAoBtX,KAAKuX,eAAeC,cAC7CxX,KAAK4W,iBAAiBhG,aAAa5Q,KAAK6W,KAAKtF,aAAiB,IACzD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKtF,aAAa/K;GAM1DxG,KAAK6W,KAAKvF,qBACVtR,KAAK8W,iBAAiBvD,gBAAgBvT,KAAK6W,KAAKtF,aAAiB,GAAGvR,KAAK6W,KAAKtF,aAAa/K,YAAYyQ,UACnG,SAAAQ,GAAW,MAAAzJ,GAAKuF,gBAAkBkE,EAAQC,SAC1C,SAAA7X,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAGtCG,KAAKoJ,iBAIT0P,iBAAA5V,UAAAmX,YAAA,WACIra,KAAKma,IAAIG,eAGbxB,iBAAA5V,UAAAkG,cAAA,cAAA4E,GAAAhO,IACKA,MAAKyZ,gBAAgBrQ,gBACjB6N,UACG,SAAAsD,GAAc,MAAAvM,GAAKuM,WAAaA,GAChC,SAAA1a,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAG9CiZ,iBAAA5V,UAAAgG,uBAAA,cAAA8E,GAAAhO,IAEIA,MAAKyZ,gBAAgBvQ,uBAAuBlJ,KAAK6W,KAAKtF,aAAa/K,YAC9DyQ,UACG,SAAAQ,GAAW,MAAAzJ,GAAKzH,WAAWkR,IAC3B,SAAA5X,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAI9CiZ,iBAAA5V,UAAAqD,WAAA,SAAW7C,GAAX,GAAAsK,GAAAhO,IACIA,MAAKyZ,gBAAgBlT,WAAW7C,EAAO1D,KAAK6W,KAAKtF,aAAa/K,YACzDyQ,UACG,SAAAhO,GAAW,MAAA+E,GAAK/E,QAAUA,GAC1B,SAAApJ,GAAU,MAAAmO,GAAKoJ,aAAoBvX,GACnC,WAC6B2a,QAAtBxM,EAAK/E,QAAQvF,OACZsK,EAAKgM,WACLhM,EAAKgM,QAAQS,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,4GACtE5M,EAAKkM,QAAQ,UAGblM,EAAKgM,WACLhM,EAAKkM,QAAQ,OACblM,EAAK6M,aACL7M,EAAK8M,mBAAmBpX,OAK5CoV,iBAAA5V,UAAA4X,mBAAA,SAAmBpX,GAAnB,GAAAsK,GAAAhO,IAEIA,MAAKyZ,gBAAgBtQ,2BAA2BzF,EAAO1D,KAAK6W,KAAKtF,aAAa/K,YACzEyQ,UACG,SAAAQ,GACIzJ,EAAK+M,aAAetD,EAAQuD,YAC5BhN,EAAKiN,iBAAmBxD,EAAQyD,mBAKhDpC,iBAAA5V,UAAA2X,WAAA,cAAA7M,GAAAhO,IACIA,MAAK8W,iBAAiBtD,WAAWxT,KAAK6W,KAAKtF,aAAiB,IACvD0F,UACG,SAAAQ,IACOzJ,EAAK6I,KAAKtF,aAAanO,SAAY4K,EAAK6I,KAAKtF,aAAa7D,mBAAqB+J,IAAYzJ,EAAK/E,QAAQlC,UACvGiH,EAAK4L,SAAU,MAMnCd,iBAAA5V,UAAAyU,iBAAA,SAAiBC,GAAjB,GAAA5J,GAAAhO,KACQ6X,GAA8BD,EAAM1X,OAA6B4X,KACrE9X,MAAK6W,KAAKrQ,WAAaqR,EACvB7X,KAAK6W,KAAKvF,qBACVtR,KAAKqX,kBAAkBQ,GAEvB7X,KAAK8W,iBAAiBvD,gBAAgBvT,KAAK6W,KAAKtF,aAAiB,GAAGvR,KAAK6W,KAAKtF,aAAa/K,YAAYyQ,UACnG,SAAAQ,GAAW,MAAAzJ,GAAKuF,gBAAkBkE,EAAQC,SAC1C,SAAA7X,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAGtCG,KAAKkJ,0BAGD4P,iBAAA5V,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,IAE1C/X,KAAKsX,kBAAkBY,UAAY,6BAA6BlY,KAAKiY,gBAAgBtG,aAAY,KAAK3R,KAAKiY,gBAAgBpK,GAAE,cAGjIiL,iBAAA5V,UAAAiY,UAAA,cAAAnN,GAAAhO,IAEOA,MAAKuT,iBAAmBvT,KAAK6W,KAAKtF,aAAanO,QAC9CpD,KAAKob,WAAa,sBAGlBpb,KAAKob,WAAa,sBAGtBpb,KAAKyZ,gBAAgBjR,iBAAiBxI,KAAKiJ,QAAQvF,MAAO1D,KAAK6W,KAAKtF,aAAa/K,YACxEyQ,UACG,SAAAQ,GACQvL,EAAEkO,QAAQ3C,KACVzJ,EAAKqN,aAAe5D,GAExBzJ,EAAK2L,cAAe,GAExB,SAAA9Z,GAAS,MAAAmO,GAAKoJ,aAAe,0DAI7C0B,iBAAA5V,UAAAoY,eAAA,cAAAtN,GAAAhO,IACEA,MAAK4G,QAAW,GAAIlE,GAAAwR,oBAAoB,EAAE,EAAE,EAAE,IAAIlU,KAAKiJ,QAAQvF,QAC/D1D,KAAK4G,QAAQwN,SAAWpU,KAAKiY,gBAAgBpK,GAE7C7N,KAAK4G,QAAQuN,UAAY,EAEzBnU,KAAK4G,QAAQyN,SAAW,EACxBrU,KAAK4G,QAAQ0N,UAAY,GACzBtU,KAAK4G,QAAQ2N,WAAWvU,KAAKiJ,QAAQvF,QAElC1D,KAAKuT,iBAAmBvT,KAAK6W,KAAKtF,aAAanO,SAAWpD,KAAK6W,KAAKtT,cACjEvD,KAAKub,eAAiB,cACtBvb,KAAK8Z,gBAAiB,EACtB9Z,KAAK0Z,aAAatJ,sBAAsBpQ,KAAK4G,SAC5CqQ,UACO,SAAAuE,GACAxN,EAAK8L,gBAAiB,EACtB9L,EAAKyN,sBAAwBD,EACwB,UAAjDxN,EAAKyN,sBAAsB,GAAGC,gBAC9B1N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,+CAClD5M,EAAKyN,sBAAsB,GAAGE,mBAEQ,YAAlD3N,EAAKyN,sBAAsB,GAAGE,iBACnC3N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,eAAgBC,OAAQ,oBACjD5M,EAAKyN,sBAAsB,GAAGE,kBAC/C3N,EAAKyN,sBAAsB,GAAGG,WAAW,GACzC5N,EAAKyN,sBAAsB,GAAGI,YAAY,KAG1C7N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ,wDACjE5M,EAAK8N,OACQC,MAAO,cAAeC,OAAQ,SAC9BD,MAAO,aAAcC,OAAQ,QAG1ChO,EAAKiM,kBAAkB,IAM/B,SAAApa,GAAS,MAAAmO,GAAKoJ,aAAoBvX,MAI9CiZ,iBAAA5V,UAAA+Y,qBAAA,cAAAjO,GAAAhO,IACEA,MAAKkc,aAAe,qBACpBlc,KAAK4G,QAAW,GAAIlE,GAAAwR,oBAAoB,EAAE,EAAE,EAAE,IAAIlU,KAAKiJ,QAAQvF,QAC/D1D,KAAK4G,QAAQwN,SAAWpU,KAAKiY,gBAAgBpK,GAE7C7N,KAAK4G,QAAQuN,UAAY,EAEzBnU,KAAK4G,QAAQyN,SAAW,EACxBrU,KAAK4G,QAAQ0N,UAAY,GACzBtU,KAAK4G,QAAQ2N,WAAWvU,KAAKiJ,QAAQvF,QAElC1D,KAAKuT,iBAAmBvT,KAAK6W,KAAKtF,aAAanO,SAAWpD,KAAK6W,KAAKtT,cACjEvD,KAAKub,eAAiB,qBACtBvb,KAAK8Z,gBAAiB,EACtB9Z,KAAK0Z,aAAatJ,sBAAsBpQ,KAAK4G,SAC5CqQ,UACO,SAAAuE,GACAxN,EAAK8L,gBAAiB,EACtB9L,EAAKyN,sBAAwBD,EACwB,UAAjDxN,EAAKyN,sBAAsB,GAAGC,gBAC9B1N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,+CAClD5M,EAAKyN,sBAAsB,GAAGE,mBAEQ,YAAlD3N,EAAKyN,sBAAsB,GAAGE,iBACnC3N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,eAAgBC,OAAQ,oBACjD5M,EAAKyN,sBAAsB,GAAGE,kBAC/C3N,EAAKyN,sBAAsB,GAAGG,WAAW,GACzC5N,EAAKyN,sBAAsB,GAAGI,YAAY,KAG1C7N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ,wDACjE5M,EAAK8N,OACQC,MAAO,cAAeC,OAAQ,SAC9BD,MAAO,aAAcC,OAAQ,QAG1ChO,EAAKiM,kBAAkB,IAM/B,SAAApa,GAAS,MAAAmO,GAAKoJ,aAAoBvX,MAI9CiZ,iBAAA5V,UAAAiZ,aAAA,cAAAnO,GAAAhO,IACEA,MAAKkc,aAAe,sCACpBlc,KAAK4G,QAAW,GAAIlE,GAAAwR,oBAAoB,EAAE,EAAE,EAAE,IAAIlU,KAAKiJ,QAAQvF,QAC/D1D,KAAK4G,QAAQwN,SAAWpU,KAAKiY,gBAAgBpK,GAE7C7N,KAAK4G,QAAQuN,UAAY,EAEzBnU,KAAK4G,QAAQyN,SAAW,GACxBrU,KAAK4G,QAAQ0N,UAAY,EACzBtU,KAAK4G,QAAQ2N,WAAWvU,KAAKiJ,QAAQvF,QAElC1D,KAAKuT,iBAAmBvT,KAAK6W,KAAKtF,aAAanO,SAAWpD,KAAK6W,KAAKtT,cACjEvD,KAAKub,eAAiB,sCACtBvb,KAAK8Z,gBAAiB,EACtB9Z,KAAK0Z,aAAatJ,sBAAsBpQ,KAAK4G,SAC5CqQ,UACO,SAAAuE,GACAxN,EAAK8L,gBAAiB,EACtB9L,EAAKyN,sBAAwBD,EACwB,UAAjDxN,EAAKyN,sBAAsB,GAAGC,gBAC9B1N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,+CAClD5M,EAAKyN,sBAAsB,GAAGE,mBAEQ,YAAlD3N,EAAKyN,sBAAsB,GAAGE,iBACnC3N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,eAAgBC,OAAQ,oBACjD5M,EAAKyN,sBAAsB,GAAGE,kBAC/C3N,EAAKyN,sBAAsB,GAAGG,WAAW,GACzC5N,EAAKyN,sBAAsB,GAAGI,YAAY,KAG1C7N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ,wDACjE5M,EAAK8N,OACQC,MAAO,cAAeC,OAAQ,SAC9BD,MAAO,aAAcC,OAAQ,QAG1ChO,EAAKiM,kBAAkB,IAM/B,SAAApa,GAAS,MAAAmO,GAAKoJ,aAAoBvX,MAI9CiZ,iBAAA5V,UAAAkZ,YAAA,cAAApO,GAAAhO,IACEA,MAAKkc,aAAe,gBACpBlc,KAAK4G,QAAW,GAAIlE,GAAAwR,oBAAoB,EAAE,EAAE,EAAE,IAAIlU,KAAKiJ,QAAQvF,QAC/D1D,KAAK4G,QAAQwN,SAAWpU,KAAK6W,KAAKtF,aAAa/K,WAE/CxG,KAAK4G,QAAQuN,UAAY,EAEzBnU,KAAK4G,QAAQyN,SAAW,GACxBrU,KAAK4G,QAAQ0N,UAAY,EACzBtU,KAAK4G,QAAQ2N,WAAWvU,KAAKiJ,QAAQvF,QAElC1D,KAAKuT,iBAAmBvT,KAAK6W,KAAKtF,aAAanO,SAAWpD,KAAK6W,KAAKtT,cAEjEvD,KAAKub,eAAiB,gBACtBvb,KAAK8Z,gBAAiB,EACtB9Z,KAAK0Z,aAAatJ,sBAAsBpQ,KAAK4G,SAC5CqQ,UACO,SAAAuE,GACAxN,EAAK8L,gBAAiB,EACtB9L,EAAKyN,sBAAwBD,EACwB,UAAjDxN,EAAKyN,sBAAsB,GAAGC,gBAC9B1N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,+CAClD5M,EAAKyN,sBAAsB,GAAGE,mBAEQ,YAAlD3N,EAAKyN,sBAAsB,GAAGE,iBACnC3N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,eAAgBC,OAAQ,oBACjD5M,EAAKyN,sBAAsB,GAAGE,kBAC/C3N,EAAKyN,sBAAsB,GAAGG,WAAW,GACzC5N,EAAKyN,sBAAsB,GAAGI,YAAY,KAG1C7N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ,wDACjE5M,EAAK8N,OACQC,MAAO,cAAeC,OAAQ,SAC9BD,MAAO,aAAcC,OAAQ,QAG1ChO,EAAKiM,kBAAkB,IAM/B,SAAApa,GAAS,MAAAmO,GAAKoJ,aAAoBvX,MA8B9CiZ,iBAAA5V,UAAAmZ,UAAA,cAAArO,GAAAhO,IACIA,MAAKyZ,gBAAgB/Q,oBAAoB1I,KAAKiJ,QAAQvF,MAAO1D,KAAK6W,KAAKtF,aAAa/K,WAAYxG,KAAKqb,cAC5FpE,UACG,SAAAQ,KACA,SAAA5X,GACImO,EAAKoJ,aAAe,uDACpBpJ,EAAK2L,cAAe,GAExB,WAAM,MAAA3L,GAAK2L,cAAe,KAI1Cb,iBAAA5V,UAAAoZ,YAAA,WACItc,KAAK8C,OAAOW,UAAU,kBAAkBzD,KAAKiJ,QAAQvF,SAGzDoV,iBAAA5V,UAAAqZ,mBAAA,WACIvc,KAAK8C,OAAOW,UAAU,aAAazD,KAAK+a,gBAI5CjC,iBAAA5V,UAAAsZ,uBAAA,WACIxc,KAAK8C,OAAOW,UAAU,aAAazD,KAAKib,oBAG5CnC,iBAAA5V,UAAAuZ,UAAA,SAAUC,GAEN,GAAI9T,IACAlF,MAAO1D,KAAKiJ,QAAQvF,MACpBiZ,YAAa3c,KAAKiJ,QAAQqJ,KAG9BtS,MAAK8C,OAAOW,UAAU,oBAAoBiZ,EAAGpT,UAAaV,KAE9DkQ,iBAAA5V,UAAA0Z,YAAA,SAAYC,GACRhZ,OAAOiZ,KAAKD,EAAa,WAE7B/D,iBAAA5V,UAAA6Z,aAAA,SAAaC,GACTnZ,OAAOiZ,KAAKE,EAAc,WAvZ9Bjd,GAACpB,EAAAwZ,UAAU,kBhC4+DNnX,EAAW,cAAerC,EAAOyZ,aAClCU,iBAAiB5V,UAAW,iBAAkB,QgC7hEtD4V,iBAAA/Y,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,KAA6BA,EAAQ,MAEtDgG,YAAahD,EAAAiD,kBAAmBkV,EAAA0D,OAAQzD,EAAA0D,QACxCC,OAAQ7D,EAAA8D,0BhCiiEHpc,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ1E,EAAkBkD,eAAgBtC,EAAmBkD,gBAAiBxC,EAAe+C,YAAarD,EAAoBoD,gBAAiBzD,EAAuBwC,sBAC1OqU,oBgC/hEK3a,GAAA2a,iBAAgBA,GhCuiEvBuE,IACA,SAASnf,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IiC3kE3GvC,EAAAP,EAAoC,IAGpCgf,EAAA,mBAAAA,2BAgBA,MAdEA,wBAAAla,UAAAoa,UAAA,SAAUC,GAER,GAAIC,GAASD,EAAQ/c,OACpBid,EAAOC,WAAWH,EASnB,OARHE,IAAc,KACsB,KAAhCF,EAAQI,OAAOH,EAAQ,EAAG,IAA6C,KAAhCD,EAAQI,OAAOH,EAAQ,EAAG,KACjEC,OAEEG,MAAMH,KACPA,EAAK,GAGAA,EAAKI,YAfhBT,uBAAArd,GAACpB,EAAAmf,MAAMxL,KAAM,uBjC4lEJtR,EAAW,yBACZoc,0BiC5lEKjf,GAAAif,uBAAsBA,GjComE7BW,IACA,SAAS7f,EAAQC,GkCxmEvBD,EAAAC,QAAA,wnjBlC8mEM6f,IACA,SAAS9f,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,ImCznE3GvC,EAAAP,EAA4C,IAC5CgD,EAAAhD,EAA0D,KAE1DkD,EAAAlD,EAA+B,KAC/B8D,EAAA9D,EAA2C,KAC3CwE,EAAAxE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAChC+D,EAAA/D,EAAgD,KAahD2a,EAAA,WAmBI,QAAAA,sBAAoBlW,EACAC,EACA2W,EACA7C,EACAqH,EACAnH,EACAD,GANA7W,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAyZ,kBACAzZ,KAAA4W,mBACA5W,KAAAie,qBACAje,KAAA8W,mBACA9W,KAAA6W,OAxBpB7W,KAAAiD,UAAoB,iBAMpBjD,KAAA2Z,cAAwB,EAqJ5B,MAhIIZ,sBAAA7V,UAAAC,SAAA,cAAA6K,GAAAhO,IAEIA,MAAKma,IAAMna,KAAK6C,MAAM+F,OAAOqO,UACzB,SAAArO,GACI,GAAIiF,GAAKjF,EAAc,KAGvBoF,GAAKzH,WAAWsH,KAExB7N,KAAK4W,iBAAiBhG,aAAa5Q,KAAK6W,KAAKtF,aAAiB,IACzD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKtF,aAAa/K,cAI1DxG,KAAKke,aAAa,UAClBle,KAAKke,aAAa,SAClBle,KAAKke,aAAa,YAClBle,KAAKke,aAAa,YAClBle,KAAKke,aAAa,WAClBle,KAAKke,aAAa,YAElBle,KAAK8W,iBAAiBrD,gBAAgBzT,KAAK6W,KAAKtF,aAAiB,IAC5D0F,UACG,SAAAQ,GACIzJ,EAAKmQ,aAAe1G,EAAQtD,UAC5BnG,EAAKoQ,WAAa3G,EAAQ4G,WAQ1CtF,qBAAA7V,UAAAmX,YAAA,WACIra,KAAKma,IAAIG,eAIbvB,qBAAA7V,UAAAqD,WAAA,SAAW7C,GAAX,GAAAsK,GAAAhO,IACIA,MAAKyZ,gBAAgBlT,WAAW7C,EAAO1D,KAAK6W,KAAKtF,aAAa/K,YACzDyQ,UACG,SAAAhO,GAAW,MAAA+E,GAAK/E,QAAUA,GAC1B,SAAApJ,GAAU,MAAAmO,GAAKoJ,aAAoBvX,KAGvCkZ,qBAAA7V,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,KAItCgB,qBAAA7V,UAAAgb,aAAR,SAAqBrQ,GAArB,GAAAG,GAAAhO,IAEIA,MAAKie,mBAAmBrL,QAAQ/E,GAC3BoJ,UACG,SAACqH,GACY,UAANzQ,EACCG,EAAKuQ,QAAUD,EAEL,SAANzQ,EACJG,EAAKwQ,OAASF,EAEJ,YAANzQ,EACJG,EAAKyQ,WAAaH,EAER,YAANzQ,EACJG,EAAK0Q,UAAYJ,EAEP,WAANzQ,EACJG,EAAK2Q,MAAQL,EAEH,YAANzQ,IACJG,EAAK4Q,MAAQN,IAGrB,SAAAze,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAI9CkZ,qBAAA7V,UAAA8F,cAAA,cAAAgF,GAAAhO,IAGI,OAFAA,MAAKoX,aAAe,MAEhBpX,KAAKiJ,QAAQ4V,sBAAwB7e,KAAKiJ,QAAQ6V,4BAClD9e,KAAKoX,aAAe,iFAKxBpX,MAAKyZ,gBAAgBzQ,cAAchJ,KAAKiJ,SACnCgO,UACG,SAAAuE,GACkC,WAA3BA,EAASE,eACR1N,EAAKlL,OAAOW,UAAU,aAAeC,MAAOsK,EAAK/E,QAAQvF,SAE1B,SAA3B8X,EAASE,iBACb1N,EAAKoJ,aAAe,wDACpBxX,QAAQC,MAAM2b,EAASG,mBAG/B,SAAA9b,GACImO,EAAKoJ,aAAe,wDACpBxX,QAAQC,MAAMA,MAO9BkZ,qBAAA7V,UAAA6b,WAAA,WACI/e,KAAK8C,OAAOW,UAAU,aAAeC,MAAO1D,KAAKiJ,QAAQvF,UAG7DqV,qBAAA7V,UAAA8b,oBAAA,SAAoBpH,GAGbA,EAAM1X,OAAO+e,UACZjf,KAAKiJ,QAAQ6V,uBAAyB9e,KAAKme,aAC3Cne,KAAKiJ,QAAQ4V,qBAAuB7e,KAAKoe;EAjKrDrF,qBAAAhZ,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MAEjBkG,WAAYnC,EAAA6Q,cACZ5O,YAAahD,EAAAiD,qBnCquERrD,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ1E,EAAkBkD,eAAgBtC,EAAmBkD,gBAAiBjD,EAAqBmD,kBAAmBhD,EAAoBoD,gBAAiB9C,EAAe+C,eAC9OoT,wBmCnuEK5a,GAAA4a,qBAAoBA,GnC2uE3BmG,IACA,SAAShhB,EAAQC,GoChwEvBD,EAAAC,QAAA,s4ZpCswEMghB,IACA,SAASjhB,EAAQC,GqCvwEvBD,EAAAC,QAAA,yVrC6wEMihB,IACA,SAASlhB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IsCxxE3GvC,EAAAP,EAA4C,IAC5CgD,EAAAhD,EAA0D,KAG1Dmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAyB,KAEzBkD,EAAAlD,EAA+B,KAC/B8D,EAAA9D,EAA2C,KAE3CwE,EAAAxE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAEhCihB,EAAAjhB,EAAuB,KACvBkhB,EAAAlhB,EAAuB,KACX8N,EAAC9N,EAAM,KAGnBmhB,EAAAnhB,EAAuC,KAUvC4a,EAAA,WA0BI,QAAAA,yBAAoBnW,EACAC,EACA2W,EACA7C,EACAC,EACAC,GALA9W,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAyZ,kBACAzZ,KAAA4W,mBACA5W,KAAA6W,OACA7W,KAAA8W,mBApBpB9W,KAAA2Z,cAAwB,EAIxB3Z,KAAAuT,iBAA2B,EAE3BvT,KAAA4Z,SAAmB,EAMnB5Z,KAAAwf,YAAsB,EACtBxf,KAAA+Z,QAkIJ,MAvHIf,yBAAA9V,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKma,IAAMna,KAAK6C,MAAM+F,OAAOqO,UACzB,SAAArO,GACIoF,EAAK1E,UAAYV,EAAkB,UACnCoF,EAAKtK,MAAQkF,EAAc,MAC3BoF,EAAK2O,YAAc/T,EAAoB,YACvCoF,EAAKwR,WAAa5W,EAAmB,WAErCoF,EAAKyL,gBAAgBrQ,gBAChB6N,UACG,SAAAsD,GAAc,MAAAvM,GAAKyR,cAAgBlF,GACnC,SAAA1a,GAAS,MAAAmO,GAAKoJ,aAAoBvX,MAIlDG,KAAK4W,iBAAiBhG,aAAa5Q,KAAK6W,KAAKtF,aAAiB,IACzD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKtF,aAAa/K,cAI1DxG,KAAK8W,iBAAiBvD,gBAAgBvT,KAAK6W,KAAKtF,aAAiB,GAAGvR,KAAK6W,KAAKtF,aAAa/K,YAAYyQ,UACnG,SAAAQ,GAAYzJ,EAAKuF,gBAAkBkE,EAAQC,QACZ,GAAxB1J,EAAKuF,iBAAiD,GAArBvF,EAAK6I,KAAKzT,UAE1C4K,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAO,6IAGxE,SAAA/a,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAI1CmZ,wBAAA9V,UAAAmX,YAAA,WACIra,KAAKma,IAAIG,eAGLtB,wBAAA9V,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,KAI9CiB,wBAAA9V,UAAAiY,UAAA,cAAAnN,GAAAhO,IAEOA,MAAKuT,iBAAmBvT,KAAK6W,KAAKtF,aAAanO,QAC9CpD,KAAKob,WAAa,sBAGlBpb,KAAKob,WAAa,sBAGtBpb,KAAKyZ,gBAAgBjR,iBAAiBxI,KAAK0D,MAAO1D,KAAK6W,KAAKtF,aAAa/K,YAChEyQ,UACG,SAAAQ,GACQvL,EAAEkO,QAAQ3C,KACVzJ,EAAKqN,aAAe5D,GAExBzJ,EAAK2L,cAAe,GAExB,SAAA9Z,GAAS,MAAAmO,GAAKoJ,aAAe,0DAI7C4B,wBAAA9V,UAAAmZ,UAAA,cAAArO,GAAAhO,IACIA,MAAKyZ,gBAAgB/Q,oBAAoB1I,KAAK0D,MAAO1D,KAAK6W,KAAKtF,aAAa/K,WAAYxG,KAAKqb,cACpFpE,UACG,SAAAQ,KACA,SAAA5X,GACImO,EAAKoJ,aAAe,uDACpBpJ,EAAK2L,cAAe,GAExB,WAAM,MAAA3L,GAAK2L,cAAe,KAK1CX,wBAAA9V,UAAAwc,YAAA,SAAY9H,GAER,GAAIhP,IACAlF,MAAO1D,KAAK0D,MACZiZ,YAAa3c,KAAK2c,YAGtB3c,MAAK8C,OAAOW,UAAU,oBAAoBzD,KAAKyf,cAAc7H,EAAM+H,OAAOrW,UAAaV,KAG3FoQ,wBAAA9V,UAAA0c,KAAA,WACI5f,KAAK8C,OAAOW,UAAU,aAAazD,KAAK0D,SAG5CsV,wBAAA9V,UAAA2c,UAAA,WACI,GAAIjX,IACAlF,MAAO1D,KAAK0D,MACZiZ,YAAa3c,KAAK2c,YAGtB3c,MAAK8C,OAAOW,UAAU,qBAAqBzD,KAAKsJ,UAAaV,KAGjEoQ,wBAAA9V,UAAA4c,MAAA,WAEIC,SAASC,eAAe,iBAAiBC,MAAMC,WAAW,SAE1DH,SAASC,eAAe,cAAcC,MAAMC,WAAW,SACvDH,SAASC,eAAe,cAAcC,MAAMC,WAAW,SACvDrc,OAAOic,QACPC,SAASC,eAAe,iBAAiBC,MAAMC,WAAW,UAE1DH,SAASC,eAAe,cAAcC,MAAMC,WAAW,UACvDH,SAASC,eAAe,cAAcC,MAAMC,WAAW,WA9J/DlH,wBAAAjZ,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAElB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,kBAAmBgb,EAAAnC,OAAQ3D,EAAA4G,QAAS3G,EAAA4G,SAAUb,EAAAc,uBAAwBf,EAAArC,UtCy3E9Ejc,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ1E,EAAkBkD,eAAgBtC,EAAmBkD,gBAAiBxC,EAAe+C,YAAarD,EAAoBoD,mBAClMsT,2BsCv3EK7a,GAAA6a,wBAAuBA,GtC+3E9BsH,IACA,SAASpiB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IuCt6E3GvC,EAAAP,EAA4D,IAC5DgD,EAAAhD,EAA0D,KAC1DqE,EAAArE,EAA+F,KAC/FkD,EAAAlD,EAA+B,KAC/B8D,EAAA9D,EAAgC,KAChCkE,EAAAlE,EAAgC,KAChCwE,EAAAxE,EAA4B,KAC5Bmb,EAAAnb,EAAuB,KACvBob,EAAApb,EAAuB,KACvBihB,EAAAjhB,EAA+B,KAC/BkhB,EAAAlhB,EAAgC,KAChCmiB,EAAAniB,EAA8B,KAC9BoiB,EAAApiB,EAAyC,KACzCqiB,EAAAriB,EAAuB,KACX8N,EAAC9N,EAAM,KAInBiE,EAAAjE,EAAoC,KAUpCiiB,EAAA,WA4BI,QAAAA,wBAAoBxd,EACAC,EACA2W,EACA7C,EACAE,EACAD,EACAjQ,EACA8Z,GAPA1gB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAyZ,kBACAzZ,KAAA4W,mBACA5W,KAAA8W,mBACA9W,KAAA6W,OACA7W,KAAA4G,UACA5G,KAAA0gB,wBAjBpB1gB,KAAA2gB,eAAyB,EAEzB3gB,KAAA4Z,SAAmB,EACnB5Z,KAAA4gB,aAAe,SAGf5gB,KAAA6gB,eAAyB,sBAsP7B,MAxOIR,wBAAAnd,UAAAC,SAAA,cAAA6K,GAAAhO,IACOA,MAAK8gB,WAEJ9gB,KAAK4G,QAAQ0C,UAAYtJ,KAAK+gB,UAAUzX,UACxCtJ,KAAK4G,QAAQJ,WAAaxG,KAAK6W,KAAKtF,aAAa/K,WACjDxG,KAAK4G,QAAQlD,MAAQ1D,KAAK0D,MAC1B1D,KAAK4G,QAAQxD,QAAUpD,KAAK6W,KAAKtF,aAAanO,QAAU,EAAI,EAG3DpD,KAAKyZ,gBAAgBpQ,qBAAqBrJ,KAAK4G,SACvCqQ,UACG,SAAA+J,GACIhT,EAAKgT,QAAUA,EACfhT,EAAKiT,gBAAkB/U,EAAE8L,OAAOhK,EAAKgT,QAAS,SAASE,GAAU,OAAQA,EAAOC,aAChFjV,EAAEkV,KAAKJ,EAAS,SAASE,GAA4B,QAApBA,EAAOnX,UAAmBmX,EAAOG,MAAM,EAAEH,EAAOG,MAAM,KAG3F,SAAAxhB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,cAIZG,KAAKshB,eAKbjB,uBAAAnd,UAAAmX,YAAA,aAGAgG,uBAAAnd,UAAAoe,WAAA,cAAAtT,GAAAhO,IAEGA,MAAK0gB,sBAAsBrN,mBACrB4D,UACD,SAAAsK,GAAqB,MAAAvT,GAAKuT,kBAAoBA,GAC9C,SAAA1hB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKyL,gBAAgBlQ,kBAAkByE,EAAKpH,SAC/BqQ,UACG,SAAAuK,GACIxT,EAAKwT,QAAUA,EACfxT,EAAKwT,QAAQ5W,IAAI,SAAA6W,GACbA,EAAOC,gBAAqC,GAAnBD,EAAOE,SAAgB,GAAK,MAGrD3T,EAAKwR,aAELxR,EAAKwT,QAAUxT,EAAKwT,QAAQxJ,OAAO,SAAAwJ,GAAa,MAAOA,GAAQI,MAAS5T,EAAKuT,kBAAkBM,QAAU,KAG7G7T,EAAKwT,QAAQM,KAAK,SAACC,EAAGC,GAClB,MAAID,GAAGH,MAAQI,EAAGJ,MACP,EAGPG,EAAGH,MAAQI,EAAGJ,SAIX,IAGX5T,EAAKiU,kBAAkBjU,EAAKwR,aAGhC,SAAA3f,GAAS,MAAAmO,GAAKoJ,aAAoBvX,OAK9DwgB,uBAAAnd,UAAAgf,YAAA,SAAYtK,GAAZ,GAAA5J,GAAAhO,IAIOA,MAAK6W,KAAKtF,aAAanO,SACtBpD,KAAK4gB,aAAe,OACpB5gB,KAAK4Z,SAAU,EACf5Z,KAAKmiB,QAAUniB,KAAKoiB,SAASxK,EAAM7M,MACnC/K,KAAK2gB,eAAgB,GAGrB3gB,KAAK8W,iBAAiBvD,gBAAgBvT,KAAK6W,KAAKtF,aAAiB,GAAGqG,EAAM7M,KAAK4W,UAAU1K,UACrF,SAAAQ,GACOA,EAAQC,SACP1J,EAAK4S,aAAe,OACpB5S,EAAK4L,SAAU,EACf5L,EAAKmU,QAAUnU,EAAKoU,SAASxK,EAAM7M,MACnCiD,EAAK2S,eAAgB,IAGrB3S,EAAK4S,aAAe,SACpB5S,EAAK4L,SAAU,EACf5L,EAAKmU,QAAUnU,EAAKoU,SAASxK,EAAM7M,MACnCiD,EAAK2S,eAAgB,IAI7B,SAAA9gB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAM9CwgB,uBAAAnd,UAAAkf,SAAA,SAASC,GACL,GAAIC,GAAgC,EAChCC,EAA2B,EAE3BC,KAGJC,EAAA,SAAAC,GAEI,GAAIC,IAAwB7K,MAAO,GAAI/N,UAAW,GAAI6Y,YAAa,GAAIC,UAAU,EAAOC,SAAS,EAE7F5W,GAAEkV,KAAK2B,EAAK9B,gBAAiB,SAASC,GAAc,MAAOA,GAAOnX,YAAc2Y,KAEhFC,EAAM7K,MAAQuK,EAAYK,GAC1BC,EAAM5Y,UAAY2Y,EAClBC,EAAMC,YAAcG,EAAK9B,gBAAgBqB,GAAuBM,YAChED,EAAME,UAAW,EAEjBL,EAAUD,GAAoBI,EAE9BL,IACAC,KAac,UAATG,GAGLC,EAAM7K,MAAQuK,EAAYK,GAC1BC,EAAM5Y,UAAY2Y,EAClBC,EAAMC,YAAc,OACpBD,EAAME,UAAW,EAEjBL,EAAUD,GAAoBI,EAE9BJ,KAGc,aAATG,IAELC,EAAM7K,MAAQuK,EAAYK,GAC1BC,EAAM5Y,UAAY2Y,EAClBC,EAAMG,SAAU,EAChBH,EAAME,UAAW,EAEjBL,EAAUD,GAAoBI,EAE9BJ,MvCi1EHQ,EAAS/iB,IuCl4Ed,KAAI,GAAI0iB,KAAQL,GvCo4EXI,EAAQC,EuC/0Eb,OAAOF,IAGXnC,uBAAAnd,UAAA8f,iBAAA,WAEI,GAAIpa,IACAlF,MAAO1D,KAAK0D,MACZ4F,UAAWtJ,KAAK+gB,UAAUzX,UAC1BqT,YAAa3c,KAAK2c,YAGtB3c,MAAK8C,OAAOW,UAAU,uBAAwBmF,KAGlDyX,uBAAAnd,UAAA+f,YAAA,SAAYrL,GACR,GAAIhP,IACAlF,MAAO1D,KAAK0D,MACZqG,UAAW6N,EAAMmE,MACjBY,YAAa3c,KAAK2c,YAGtB3c,MAAK8C,OAAOW,UAAU,yBAAyBzD,KAAK+gB,UAAUzX,UAAaV,KAG/EyX,uBAAAnd,UAAAggB,KAAA,cAAAlV,GAAAhO,KACQ4I,GACAU,UAAWtJ,KAAK+gB,UAAUzX,UAC1B5F,MAAO1D,KAAK0D,MACZye,QAASniB,KAAKmiB,QAIlBniB,MAAKyZ,gBAAgBjQ,iBAAiBZ,GACjCqO,UACG,SAAAuE,GACkC,WAA3BA,EAASE,gBACR1N,EAAKsT,aACLtT,EAAK2S,eAAgB,GAEU,SAA3BnF,EAASE,iBACb1N,EAAK2S,eAAgB,EACrB3S,EAAKoJ,aAAe,mDACpBxX,QAAQC,MAAM2b,EAASG,mBAG/B,SAAA9b,GACImO,EAAK2S,eAAgB,EACrB3S,EAAKoJ,aAAe,wDACpBxX,QAAQC,MAAMA,MAK9BwgB,uBAAAnd,UAAAigB,gBAAA,WAEInjB,KAAKwf,YAAcxf,KAAKwf,WAExBxf,KAAKiiB,kBAAkBjiB,KAAKwf,YAE5Bxf,KAAKshB,cAGTjB,uBAAAnd,UAAA+e,kBAAA,SAAkBmB,GACXA,EACCpjB,KAAK6gB,eAAiB,sBAEtB7gB,KAAK6gB,eAAiB,uBA1Q9B9gB,GAACpB,EAAA0kB,QvCklFIriB,EAAW,cAAeN,SAC3B2f,uBAAuBnd,UAAW,YAAa,QuChlFnDnD,GAACpB,EAAA0kB,QvCmlFIriB,EAAW,cAAesiB,UAC3BjD,uBAAuBnd,UAAW,WAAY,QuCnlFlDnD,GAACpB,EAAA0kB,QvCslFIriB,EAAW,cAAeuiB,SAC3BlD,uBAAuBnd,UAAW,QAAS,QuCtlF/CnD,GAACpB,EAAA0kB,QvCylFIriB,EAAW,cAAeuiB,SAC3BlD,uBAAuBnd,UAAW,cAAe,QuCzlFrDnD,GAACpB,EAAA0kB,QvC4lFIriB,EAAW,cAAesiB,UAC3BjD,uBAAuBnd,UAAW,aAAc,QuC5mFxDmd,uBAAAtgB,GAACpB,EAAAqF,WACGC,SAAU,iBACVC,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MAEjBgG,YAAamV,EAAA2D,OAAQ1D,EAAAgK,OAAQnE,EAAAoE,eAAgBnE,EAAAoE,gBAAiBnD,EAAAoD,cAAenD,EAAAoD,yBAA0BnD,EAAAoD,UvCgnFlG7iB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ1E,EAAkBkD,eAAgBtC,EAAmBkD,gBAAiB9C,EAAoBoD,gBAAiB9C,EAAe+C,YAAalD,EAAqBoD,sBAAuBxD,EAAyBuD,wBACxRya,0BuC9mFKliB,GAAAkiB,uBAAsBA,GvCsnF7ByD,IACA,SAAS5lB,EAAQC,GwCnpFvBD,EAAAC,QAAA,6sHxCypFM4lB,IACA,SAAS7lB,EAAQC,GyC1pFvBD,EAAAC,QAAA,i6FzCgqFM6lB,IACA,SAAS9lB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I0C3qF3GvC,EAAAP,EAA4C,IAC5CgD,EAAAhD,EAA0D,KAG1DkD,EAAAlD,EAA+B,KAC/B8D,EAAA9D,EAA2C,KAE3CwE,EAAAxE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAEhCmb,EAAAnb,EAAuB,KACvBob,EAAApb,EAAuB,KAIvBiE,EAAAjE,EAAqC,KAarC6a,EAAA,WAaI,QAAAA,iCAAoBpW,EACAC,EACA2W,EACA7C,EACAC,EACAC,EACA4J,GANA1gB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAyZ,kBACAzZ,KAAA4W,mBACA5W,KAAA6W,OACA7W,KAAA8W,mBACA9W,KAAA0gB,wBAoHxB,MAhHIzH,iCAAA/V,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKma,IAAMna,KAAK6C,MAAM+F,OAAOqO,UACzB,SAAArO,GACIoF,EAAK1E,UAAYV,EAAkB,UACnCoF,EAAKtK,MAAQkF,EAAc,MAC3BoF,EAAK2O,YAAc/T,EAAoB,cAI/C5I,KAAK4W,iBAAiBhG,aAAa5Q,KAAK6W,KAAKtF,aAAiB,IACzD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKtF,aAAa/K,cAI1DxG,KAAK0gB,sBAAsBrN,mBACtB4D,UACG,SAAAsK,GAAqB,MAAAvT,GAAKuT,kBAAoBA,GAC9C,SAAA1hB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAI9CoZ,gCAAA/V,UAAAmX,YAAA,WACIra,KAAKma,IAAIG,eAGLrB,gCAAA/V,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,KAI9CkB,gCAAA/V,UAAA+gB,OAAA;AAAA,GAAAjW,GAAAhO,IAII,IAFAA,KAAKoX,aAAe,KAEjBpX,KAAKkkB,MAAQlkB,KAAKuhB,kBAAkB4C,QAEnC,YADAnkB,KAAKoX,aAAe,oDAMpB,IAAI5Q,GAAU,MAGVA,GADDxG,KAAKkkB,KAAOlkB,KAAKuhB,kBAAkBM,QACrB,EAGA7hB,KAAK6W,KAAKtF,aAAa/K,UAIxC,IAAIoC,IACAU,UAAWtJ,KAAKsJ,UAChB5F,MAAO1D,KAAK0D,MACZ0Q,SAAU5N,EACV4d,MAAOpkB,KAAKkkB,KAGhBlkB,MAAKyZ,gBAAgBhQ,mBAAmBb,GACnCqO,UACG,SAAAuE,GACI,GAA8B,WAA3BA,EAASE,eAA4B,CAGpC,GAAI8D,GAAqB,CAEtBxR,GAAKkW,KAAOlW,EAAKuT,kBAAkBM,QAAU,IAC5CrC,EAAa,EAGjB,IAAI6E,IACA3gB,MAAOsK,EAAKtK,MACZiZ,YAAa3O,EAAK2O,YAClB6C,WAAYA,EAGhBxR,GAAKlL,OAAOW,UAAU,oBAAoBuK,EAAK1E,UAAa+a,QAG7B,aAA3B7I,EAASE,eACb1N,EAAKoJ,aAAe,gDAEW,SAA3BoE,EAASE,iBACb1N,EAAKoJ,aAAe,wDACpBxX,QAAQC,MAAM2b,EAASG,mBAG/B,SAAA9b,GACImO,EAAKoJ,aAAe,iDACpBxX,QAAQC,MAAMA,MAMlCoZ,gCAAA/V,UAAAohB,OAAA,WACI,GAAI1b,IACAlF,MAAO1D,KAAK0D,MACZiZ,YAAa3c,KAAK2c,YAGtB3c,MAAK8C,OAAOW,UAAU,oBAAoBzD,KAAKsJ,UAAaV,KA1IpEqQ,gCAAAlZ,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,kBAAmBkV,EAAA2D,OAAQ1D,EAAAyD,U1C6vFnCjc,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ1E,EAAkBkD,eAAgBtC,EAAmBkD,gBAAiBxC,EAAe+C,YAAarD,EAAoBoD,gBAAiBrD,EAAyBuD,wBAC5OqT,mC0C3vFK9a,GAAA8a,gCAA+BA,G1CmwFtCsL,IACA,SAASrmB,EAAQC,G2ChyFvBD,EAAAC,QAAA,ilF3CsyFMqmB,IACA,SAAStmB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I4CjzF3GvC,EAAAP,EAA4C,IAC5CgD,EAAAhD,EAA0D,KAG1Dmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAyB,KAEzBkD,EAAAlD,EAA+B,KAC/B8D,EAAA9D,EAA2C,KAE3CwE,EAAAxE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAEhCihB,EAAAjhB,EAAuB,KAGvBqmB,EAAArmB,EAAmD,KASnD8a,EAAA,WAeI,QAAAA,0BAAoBrW,EACAC,EACA2W,EACA7C,EACAC,EACAC,GALA9W,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAyZ,kBACAzZ,KAAA4W,mBACA5W,KAAA6W,OACA7W,KAAA8W,mBAZpB9W,KAAAuT,iBAA2B,EAiF/B,MAjEI2F,0BAAAhW,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKma,IAAMna,KAAK6C,MAAM+F,OAAOqO,UACzB,SAAArO,GACIoF,EAAK1E,UAAYV,EAAkB,UACnCoF,EAAKtK,MAAQkF,EAAc,MAC3BoF,EAAK2O,YAAc/T,EAAoB,YAEvCoF,EAAKyL,gBAAgBrQ,gBAChB6N,UACG,SAAAsD,GAAc,MAAAvM,GAAKyR,cAAgBlF,GACnC,SAAA1a,GAAS,MAAAmO,GAAKoJ,aAAoBvX,MAIlDG,KAAK4W,iBAAiBhG,aAAa5Q,KAAK6W,KAAKtF,aAAiB,IACzD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKtF,aAAa/K,cAI1DxG,KAAK8W,iBAAiBvD,gBAAgBvT,KAAK6W,KAAKtF,aAAiB,GAAGvR,KAAK6W,KAAKtF,aAAa/K,YAAYyQ,UACnG,SAAAQ,GAAW,MAAAzJ,GAAKuF,gBAAkBkE,EAAQC,SAC1C,SAAA7X,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAI1CqZ,yBAAAhW,UAAAmX,YAAA,WACIra,KAAKma,IAAIG,eAGLpB,yBAAAhW,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,KAI9CmB,yBAAAhW,UAAAwc,YAAA,SAAY9H,GAER,GAAIhP,IACAlF,MAAO1D,KAAK0D,MACZiZ,YAAa3c,KAAK2c,YAGtB3c,MAAK8C,OAAOW,UAAU,qBAAqBzD,KAAKyf,cAAc7H,EAAM+H,OAAOrW,UAAaV,KAG5FsQ,yBAAAhW,UAAAwhB,iBAAA,WACI1kB,KAAK8C,OAAOW,UAAU,aAAazD,KAAK0D,SAG5CwV,yBAAAhW,UAAAyhB,cAAA,WAEI,GAAI/b,IACAlF,MAAO1D,KAAK0D,MACZiZ,YAAa3c,KAAK2c,YAGtB3c,MAAK8C,OAAOW,UAAU,oBAAoBzD,KAAKsJ,UAAaV,KA7FpEsQ,yBAAAnZ,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KACjB+F,QAAS/F,EAAQ,KAAkCA,EAAQ,MAC5DgG,YAAahD,EAAAiD,kBAAmBgb,EAAAnC,OAAQ3D,EAAA4G,QAAS3G,EAAA4G,SAAUqE,EAAAG,sC5Ck2FtD5jB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ1E,EAAkBkD,eAAgBtC,EAAmBkD,gBAAiBxC,EAAe+C,YAAarD,EAAoBoD,mBAClMwT,4B4Ch2FK/a,GAAA+a,yBAAwBA,G5Cw2F/B2L,IACA,SAAS3mB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I6C54F3GvC,EAAAP,EAA4D,IAC5DgD,EAAAhD,EAA0D,KAC1DqE,EAAArE,EAA+F,KAC/FkD,EAAAlD,EAA+B,KAC/B8D,EAAA9D,EAAgC,KAChCkE,EAAAlE,EAAgC,KAChCwE,EAAAxE,EAA4B,KAC5Bmb,EAAAnb,EAAuB,KACvBob,EAAApb,EAAyB,KAKzBiE,EAAAjE,EAAoC,KASpCwmB,EAAA,WAuBI,QAAAA,oCAAoB/hB,EACAC,EACA2W,EACA7C,EACAE,EACAD,EACAjQ,EACA8Z,GAPA1gB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAyZ,kBACAzZ,KAAA4W,mBACA5W,KAAA8W,mBACA9W,KAAA6W,OACA7W,KAAA4G,UACA5G,KAAA0gB,wBAjBpB1gB,KAAA8kB,cACA9kB,KAAA+kB,YAIA/kB,KAAAglB,UAAoB,MACpBhlB,KAAAilB,eAAyB,EAEzBjlB,KAAAklB,eAAyB,EAqK7B,MAzJIN,oCAAA1hB,UAAAC,SAAA,cAAA6K,GAAAhO,IACI,IAAGA,KAAK8gB,SAAS,CAET,GAAIlY,IACAU,UAAWtJ,KAAK+gB,UAAUzX,UAC1B5F,MAAO1D,KAAK0D,MACZ8C,WAAYxG,KAAK6W,KAAKtF,aAAa/K,WAGvCxG,MAAKyZ,gBAAgB5P,aAAajB,GAC7BqO,UACG,SAAAuE,GACOA,EAAS2J,SAERnX,EAAKmX,SAAU,EACfnX,EAAKkX,eAAgB,EAErBlX,EAAKoX,aAELpX,EAAKqX,2BAGLrX,EAAKmX,SAAU,EACfnX,EAAKkX,eAAgB,IAG7B,SAAArlB,GACImO,EAAKoJ,aAAe,eACpBxX,QAAQC,MAAMA,OAMtC+kB,mCAAA1hB,UAAAkiB,WAAA,cAAApX,GAAAhO,IACIA,MAAK4G,QAAQ0C,UAAYtJ,KAAK+gB,UAAUzX,UACxCtJ,KAAK4G,QAAQJ,WAAaxG,KAAK6W,KAAKtF,aAAa/K,WACjDxG,KAAK4G,QAAQlD,MAAQ1D,KAAK0D,MAC1B1D,KAAK4G,QAAQxD,QAAUpD,KAAK6W,KAAKtF,aAAanO,QAAU,EAAI,EAC5DpD,KAAKyZ,gBAAgBpQ,qBAAqBrJ,KAAK4G,SACtCqQ,UACG,SAAA+J,GAAW,MAAAhT,GAAKgT,QAAUA,GAC1B,SAAAnhB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAGlD+kB,mCAAA1hB,UAAAmiB,uBAAA,cAAArX,GAAAhO,IACIA,MAAK0gB,sBAAsBrN,mBACtB4D,UACG,SAAAsK,GACIvT,EAAKuT,kBAAoBA,EACzBvT,EAAKsX,iBAET,SAAAzlB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAG9C+kB,mCAAA1hB,UAAAoiB,cAAA,cAAAtX,GAAAhO,IAEIA,MAAK8W,iBAAiBrD,gBAAgBzT,KAAK6W,KAAKtF,aAAiB,IAC5D0F,UACG,SAAAQ,GACIzJ,EAAKuX,mBAAmB9N,EAAQtD,WAChCnG,EAAKwX,iBAAiB/N,EAAQ4G,YAM9CuG,mCAAA1hB,UAAAqiB,mBAAA,SAAmBpR,GAAnB,GASQnK,GATRgE,EAAAhO,KAEQ4I,GACAU,UAAWtJ,KAAK+gB,UAAUzX,UAC1B5F,MAAO1D,KAAK0D,MACZ8C,WAAYxG,KAAK6W,KAAKtF,aAAa/K,WAMvCxG,MAAKyZ,gBAAgB9P,gBAAgBf,GAChCqO,UACG,SAAAwO,GACIzb,EAAUyb,CAGV,KAAI,GADA9F,GAAQ,EACJuE,EAAOla,EAASka,GAAQlW,EAAKuT,kBAAkB4C,QAASD,IAC5DlW,EAAK8W,WAAWnF,GAASuE,EACzBvE,GAIDxL,GACCnG,EAAK0X,kBAAoBvR,EAGzBnG,EAAK0X,kBAAoB1X,EAAKuT,kBAAkBM,QAAU7T,EAAKiX,kBAMnFL,mCAAA1hB,UAAAsiB,iBAAA,SAAiBnH,GAGb,IAAI,GADAsB,GAAQ,EACJuE,EAAOlkB,KAAKuhB,kBAAkBM,QAAU7hB,KAAKilB,eAAgBf,GAAQlkB,KAAKuhB,kBAAkB4C,QAASD,IACzGlkB,KAAK+kB,SAASpF,GAASuE,EACvBvE,GAIDtB,GACCre,KAAK2lB,gBAAkBtH,EAIvBre,KAAK2lB,gBAAkB3lB,KAAKuhB,kBAAkBM,QAAU7hB,KAAKilB,gBAKrEL,mCAAA1hB,UAAAmX,YAAA,aAEAuK,mCAAA1hB,UAAA0iB,cAAA,WAEG5lB,KAAKoX,aAAe,IAEnB,IAAIyO,GAAkB7lB,KAAKghB,QAAQhJ,OAAO,SAASkJ,GAC/C,MAAwB,IAAjBA,EAAO4E,QAGlB,IAA8B,IAA3BD,EAAgBrlB,OAEf,YADAR,KAAKoX,aAAe,6CAIxB,IAAGpX,KAAK2lB,iBAAmB3lB,KAAK0lB,kBAE5B,YADA1lB,KAAKoX,aAAe,kEAIxB1K,gBAAeK,QAAQ,2BAA4BjE,KAAKC,UAAU8c,GAElE,IAAIjd,IACAga,YAAa5iB,KAAK+gB,UAAU6B,YAC5Blf,MAAO1D,KAAK0D,MACZiZ,YAAa3c,KAAK2c,YAClBqI,UAAWhlB,KAAKglB,UAChB7Q,UAAWnU,KAAK0lB,kBAChBrH,QAASre,KAAK2lB,gBACdI,WAAY,QAGhB/lB,MAAK8C,OAAOW,UAAU,6BAA6BzD,KAAK+gB,UAAUzX,UAAaV,KAvLnF7I,GAACpB,EAAA0kB,Q7CwgGIriB,EAAW,cAAeN,SAC3BkkB,mCAAmC1hB,UAAW,YAAa,Q6CxgG/DnD,GAACpB,EAAA0kB,Q7C2gGIriB,EAAW,cAAesiB,UAC3BsB,mCAAmC1hB,UAAW,WAAY,Q6C3gG9DnD,GAACpB,EAAA0kB,Q7C8gGIriB,EAAW,cAAeuiB,SAC3BqB,mCAAmC1hB,UAAW,QAAS,Q6C9gG3DnD,GAACpB,EAAA0kB,Q7CihGIriB,EAAW,cAAeuiB,SAC3BqB,mCAAmC1hB,UAAW,cAAe,Q6CjhGjEnD,GAACpB,EAAA0kB,Q7CohGIriB,EAAW,cAAesiB,UAC3BsB,mCAAmC1hB,UAAW,aAAc,Q6CjiGpE0hB,mCAAA7kB,GAACpB,EAAAqF,WACGC,SAAU,8BACVC,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAamV,EAAA2D,OAAQ1D,EAAAwM,Y7CqiGhBhlB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ1E,EAAkBkD,eAAgBtC,EAAmBkD,gBAAiB9C,EAAoBoD,gBAAiB9C,EAAe+C,YAAalD,EAAqBoD,sBAAuBxD,EAAyBuD,wBACxRgf,sC6CniGKzmB,GAAAymB,mCAAkCA,G7C2iGzCqB,IACA,SAAS/nB,EAAQC,G8ClkGvBD,EAAAC,QAAA,wyG9CwkGM+nB,IACA,SAAShoB,EAAQC,G+CzkGvBD,EAAAC,QAAA,u7C/C+kGMgoB,IACA,SAASjoB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IgD1lG3GvC,EAAAP,EAA4C,IAC5CgD,EAAAhD,EAA0D,KAM1DkD,EAAAlD,EAA+B,KAC/B8D,EAAA9D,EAA2C,KAE3CwE,EAAAxE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAEhCmb,EAAAnb,EAAuB,KACX8N,EAAC9N,EAAM,KAQnB+a,EAAA,WAyBI,QAAAA,iCAAoBtW,EACAC,EACA2W,EACA7C,EACAC,EACAC,GALA9W,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAyZ,kBACAzZ,KAAA4W,mBACA5W,KAAA6W,OACA7W,KAAA8W,mBAjBpB9W,KAAAglB,UAAoB,MAkKxB,MA9II7L,iCAAAjW,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKma,IAAMna,KAAK6C,MAAM+F,OAAOqO,UACzB,SAAArO,GACIoF,EAAK1E,UAAYV,EAAkB,UACnCoF,EAAK4U,YAAcha,EAAoB,YACvCoF,EAAKtK,MAAQkF,EAAc,MAC3BoF,EAAK2O,YAAc/T,EAAoB,YACvCoF,EAAKgX,UAAYpc,EAAkB,UACnCoF,EAAKmG,UAAYvL,EAAkB,UACnCoF,EAAKqQ,QAAUzV,EAAgB,QAC/BoF,EAAK+X,WAAand,EAAmB,WAErCoF,EAAKgT,QAAUlY,KAAK2D,MAAMC,eAAeC,QAAQ,6BAEjDqB,EAAKpE,iBAIb5J,KAAK4W,iBAAiBhG,aAAa5Q,KAAK6W,KAAKtF,aAAiB,IACzD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKtF,aAAa/K,eAM9D2S,gCAAAjW,UAAA0G,aAAA,cAAAoE,GAAAhO,KAEQ4I,GACAU,UAAWtJ,KAAKsJ,UAChB5F,MAAO1D,KAAK0D,MACZ8C,WAAYxG,KAAK6W,KAAKtF,aAAa/K,WACnC2N,UAAWnU,KAAKmU,UAChBkK,QAASre,KAAKqe,QACd2C,QAAShhB,KAAKghB,QAGlBhhB,MAAKyZ,gBAAgB7P,aAAahB,GAC7BqO,UACG,SAAAwK,GACIzT,EAAKyT,OAASA,EAEdzT,EAAKoY,wBAKrBjN,gCAAAjW,UAAAkjB,mBAAA,WAEI,GAAIC,GAASna,EAAEtB,IAAI5K,KAAKyhB,OAAO,SAC3B6E,IAEJ,KAAI,GAAI3G,KAAS3f,MAAKghB,QACtB,CACI,GAAIuF,IACIC,MAAOxmB,KAAKghB,QAAQrB,GAAO8G,UAC3B1b,KAAMmB,EAAEtB,IAAI5K,KAAKyhB,OAAQzhB,KAAKghB,QAAQrB,GAAO8G,WAC7CC,MAAM,EAENC,gBAAiB3mB,KAAK4mB,iBACtBC,YAAa7mB,KAAK4mB,iBAG1BN,GAAS3G,GAAS4G,EAGtBvmB,KAAK+K,MACFsb,OAAQA,EACRC,SAAUA,GAEbtmB,KAAK8mB,cACGC,QACQC,QACIC,OACIC,aAAY,QAOxC/N,gCAAAjW,UAAAmX,YAAA,WACIra,KAAKma,IAAIG,eAGLnB,gCAAAjW,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,KAK9CoB,gCAAAjW,UAAAwhB,iBAAA,WACI1kB,KAAK8C,OAAOW,UAAU,aAAazD,KAAK0D,SAG5CyV,gCAAAjW,UAAAyhB,cAAA,WAEI,GAAI/b,IACAlF,MAAO1D,KAAK0D,MACZiZ,YAAa3c,KAAK2c,YAGtB3c,MAAK8C,OAAOW,UAAU,oBAAoBzD,KAAKsJ,UAAaV,KAGhEuQ,gCAAAjW,UAAAikB,eAAA,WACI,GAAIve,IACAlF,MAAO1D,KAAK0D,MACZiZ,YAAa3c,KAAK2c,YAGtB3c,MAAK8C,OAAOW,UAAU,qBAAqBzD,KAAKsJ,UAAaV,KAGjEuQ,gCAAAjW,UAAA0jB,eAAA,WAII,IAAK,GAHDQ,GAAU,mBACVC,EAAQ,IAEHvmB,EAAI,EAAGA,EAAI,EAAGA,IACnBumB,GAASD,EAAQE,KAAKC,MAAsB,GAAhBD,KAAKE,UAGrC,OAAOH,IAGXlO,gCAAAjW,UAAAukB,eAAA,WAEI,GAAI7e,IACAlF,MAAO1D,KAAK0D,MACZqG,UAAW/J,KAAKghB,QAAQ,GAAGjX,UAC3B4S,YAAa3c,KAAK2c,YAGtB3c,MAAK8C,OAAOW,UAAU,yBAAyBzD,KAAKsJ,UAAaV,KAnLzEuQ,gCAAApZ,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,kBAAmBkV,EAAAmO,WhD2sG3B1mB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ1E,EAAkBkD,eAAgBtC,EAAmBkD,gBAAiBxC,EAAe+C,YAAarD,EAAoBoD,mBAClMyT,mCgDzsGKhb,GAAAgb,gCAA+BA,GhDitGtCwO,IACA,SAASzpB,EAAQC,GiDxuGvBD,EAAAC,QAAA,8kDjD8uGMypB,IACA,SAAS1pB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IkDzvG3GvC,EAAAP,EAA4C,IAC5CgD,EAAAhD,EAA0D,KAC1DqE,EAAArE,EAAkD,KAElDmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAyB,KAEzBkD,EAAAlD,EAA+B,KAC/B8D,EAAA9D,EAA2C,KAE3CwE,EAAAxE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAEhCihB,EAAAjhB,EAAuB,KAGvBypB,EAAAzpB,EAA8C,KAS9Cgb,EAAA,WAgBI,QAAAA,wCAAoBvW,EACAC,EACA2W,EACA7C,EACAC,EACAC,GALA9W,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAyZ,kBACAzZ,KAAA4W,mBACA5W,KAAA6W,OACA7W,KAAA8W,mBAbpB9W,KAAAuT,iBAA2B,EAiG/B,MAhFI6F,wCAAAlW,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKma,IAAMna,KAAK6C,MAAM+F,OAAOqO,UACzB,SAAArO,GACIoF,EAAK1E,UAAYV,EAAkB,UACnCoF,EAAKtK,MAAQkF,EAAc,MAC3BoF,EAAK2O,YAAc/T,EAAoB,YACvCoF,EAAKjE,UAAYnB,EAAkB,UACnCoF,EAAKyL,gBAAgBrQ,gBAChB6N,UACG,SAAAsD,GAAc,MAAAvM,GAAKyR,cAAgBlF,GACnC,SAAA1a,GAAS,MAAAmO,GAAKoJ,aAAoBvX,MAIlDG,KAAK4W,iBAAiBhG,aAAa5Q,KAAK6W,KAAKtF,aAAiB,IACzD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKtF,aAAa/K,cAI1DxG,KAAK8W,iBAAiBvD,gBAAgBvT,KAAK6W,KAAKtF,aAAiB,GAAGvR,KAAK6W,KAAKtF,aAAa/K,YAAYyQ,UACnG,SAAAQ,GAAW,MAAAzJ,GAAKuF,gBAAkBkE,EAAQC,SAC1C,SAAA7X,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAI1CuZ,uCAAAlW,UAAAmX,YAAA,WACIra,KAAKma,IAAIG,eAGLlB,uCAAAlW,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,KAI9CqB,uCAAAlW,UAAAwc,YAAA,SAAY9H,GAAZ,GAAA5J,GAAAhO,KAEQ4G,EAAiC,GAAInE,GAAAoD,qBACzCe,GAAQ0C,UAAYtJ,KAAKyf,cAAc7H,EAAM+H,OAAOrW,UACpD1C,EAAQJ,WAAaxG,KAAK6W,KAAKtF,aAAa/K,WAC5CI,EAAQlD,MAAQ1D,KAAK0D,MACrBkD,EAAQxD,QAAUpD,KAAK6W,KAAKtF,aAAanO,QAAU,EAAI,EAEvDpD,KAAKyZ,gBAAgBpQ,qBAAqBzC,GACjCqQ,UACG,SAAA+J,GACI,GAAIE,GAASF,EAAQhJ,OAAO,SAASkJ,GAAS,MAA4B,IAArBA,EAAOC,aAAoB,GAE5EvY,GACAlF,MAAOsK,EAAKtK,MACZiZ,YAAa3O,EAAK2O,YAClB5S,UAAWmX,EAAOnX,UAGtBiE,GAAKlL,OAAOW,UAAU,yBAAyBuK,EAAKyR,cAAc7H,EAAM+H,OAAOrW,UAAaV,KAGhG,SAAA/I,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAGlDuZ,uCAAAlW,UAAAwhB,iBAAA,WACI1kB,KAAK8C,OAAOW,UAAU,aAAazD,KAAK0D,SAG5C0V,uCAAAlW,UAAAyhB,cAAA,WAEI,GAAI/b,IACAlF,MAAO1D,KAAK0D,MACZiZ,YAAa3c,KAAK2c,YAGtB3c,MAAK8C,OAAOW,UAAU,oBAAoBzD,KAAKsJ,UAAaV,KA7GpEwQ,uCAAArZ,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,kBAAmBgb,EAAAnC,OAAQ3D,EAAA4G,QAAS3G,EAAA4G,SAAUyH,EAAAC,iClDuzGtD9mB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ1E,EAAkBkD,eAAgBtC,EAAmBkD,gBAAiBxC,EAAe+C,YAAarD,EAAoBoD,mBAClM0T,0CkDrzGKjb,GAAAib,uCAAsCA,GlD6zG7C2O,IACA,SAAS7pB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,ImDj2G3GvC,EAAAP,EAA4D,IAC5DgD,EAAAhD,EAA0D,KAC1DqE,EAAArE,EAAuI,KACvIkD,EAAAlD,EAA+B,KAC/B8D,EAAA9D,EAAgC,KAChCkE,EAAAlE,EAAgC,KAChCwE,EAAAxE,EAA4B,KAC5Bmb,EAAAnb,EAAuB,KACX8N,EAAC9N,EAAM,KAOnBiE,EAAAjE,EAAoC,KACpCK,EAAAL,EAA0B,KAS1B0pB,EAAA,WA+CI,QAAAA,+BAAoBjlB,EACAC,EACA2W,EACA7C,EACAE,EACAD,EACAjQ,EACA8Z,GAPA1gB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAyZ,kBACAzZ,KAAA4W,mBACA5W,KAAA8W,mBACA9W,KAAA6W,OACA7W,KAAA4G,UACA5G,KAAA0gB,wBAtCpB1gB,KAAA8kB,cACA9kB,KAAA+kB,YAMA/kB,KAAAilB,eAAyB,EAYzBjlB,KAAAuT,iBAA2B,EAI3BvT,KAAAgoB,cAAwB,EACxBhoB,KAAAioB,gBAA0B,EAC1BjoB,KAAAkoB,gBAA0B,EAC1BloB,KAAA8Z,gBAAwB,EACxB9Z,KAAA+Z,QAEA/Z,KAAAmoB,aAAqB,OA+ezB,MAneIL,+BAAA5kB,UAAAC,SAAA,cAAA6K,GAAAhO,IAEMA,MAAKma,IAAMna,KAAK6C,MAAM+F,OAAOqO,UAC3B,SAAArO,GACIoF,EAAKjE,UAAYnB,EAAkB,YAIxC5I,KAAK8gB,WAGJ9gB,KAAKolB,aACLplB,KAAKqlB,0BAETrlB,KAAK8W,iBAAiBvD,gBAAgBvT,KAAK6W,KAAKtF,aAAiB,GAAGvR,KAAK6W,KAAKtF,aAAa/K,YAAYyQ,UACnG,SAAAQ,GAAYzJ,EAAKuF,gBAAkBkE,EAAQC,QACZ,GAAxB1J,EAAKuF,iBAAiD,GAArBvF,EAAK6I,KAAKzT,UAC1C4K,EAAKma,aAAa,QAClBna,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAO,6IAGxE,SAAA/a,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAO1CioB,8BAAA5kB,UAAAklB,SAAA,cAAApa,GAAAhO,IACIA,MAAK8Z,gBAAiB,CACtB,IAAIuO,GAA4BzQ,MAAM1X,OAA6B4X,MAC/DlP,EAA4B,GAAInG,GAAAuR,iBACjChU,MAAK+J,WAAase,GAAyC7N,QAApB6N,IACtCroB,KAAK+J,UAAYse,GAErBzf,EAAOmB,UAAY/J,KAAK+J,UACxBnB,EAAOlF,MAAQ1D,KAAK0D,MACpBkF,EAAOU,UAAYtJ,KAAK+gB,UAAUzX,UAClCV,EAAOpC,WAAaxG,KAAK6W,KAAKtF,aAAa/K,WAC3CoC,EAAOoB,QAAUhK,KAAKuhB,kBAAkBM,QAAU7hB,KAAKilB,eAEvDjlB,KAAKyZ,gBAAgB3P,iBAAiBlB,GACjCqO,UACG,SAAAQ,GACOA,EAAQjX,OAAS,IAChBwN,EAAKsa,eAAiB7Q,EAEtBzJ,EAAKua,mBAAmBva,EAAKsa,gBAE7Bta,EAAKsa,eAAe1d,IAAI,SAAAG,GACpBA,EAAKyd,cAAgBzd,EAAK+M,QAG9B9J,EAAKsa,eAAe1d,IAAI,SAAAG,GACpBA,EAAK0d,OAASza,EAAK0a,eAAe3d,EAAK+M,MAAO/M,EAAK4d,eAAgB,KAGvE3a,EAAKsa,eAAe1d,IAAI,SAAAG,GACpBA,EAAK6d,eAAiB7d,EAAK0d,SAG/Bza,EAAK6a,YAAc7a,EAAK0a,eAEpB1a,EAAKsa,eAAelH,KAAM,SAAArW,GAAU,MAAOA,GAAK+d,QAAU9a,EAAKuT,kBAAkB4C,UAAWrM,MAC5F9J,EAAKsa,eAAelH,KAAM,SAAArW,GAAU,MAAOA,GAAK+d,QAAU9a,EAAKuT,kBAAkBwH,SAAUjR,MAC3F9J,EAAKuT,kBAAkB4C,QAAUnW,EAAKuT,kBAAkBwH,SAEhE/a,EAAK8L,gBAAiB,GAE1B,SAAAja,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAI9CioB,8BAAA5kB,UAAAqlB,mBAAA,SAAmBS,GAEf,IAAI,GAAIrJ,KAASqJ,GAEC,KAAVrJ,EACAqJ,EAAOrJ,GAAOgJ,eAAiBK,EAAOrJ,GAAO7H,MAG7CkR,EAAOrJ,GAAOgJ,eAAiBK,GAAQrJ,EAAQ,GAAG7H,OAM9DgQ,8BAAA5kB,UAAAwlB,eAAA,SAAeO,EAAoBC,EAAqBC,GAEpD,GAAIC,GAAU,CAqBd,OAnBIH,GAAa,GAAKC,EAAc,GAAKC,EAAY,IACjDC,EAAoF,KAAzE9B,KAAK+B,KAAK/B,KAAKtc,IAAIie,GAAc3B,KAAKtc,IAAIke,IAAcC,GAAY,IAGjE,GAAfD,GAAoBD,EAAa,IAChCG,EAAU,QAGXF,EAAc,GAAmB,GAAdD,IAClBG,WAGAA,EAAU,SACVA,EAAU,QAGVA,YACAA,WAEG,GAGXtB,8BAAA5kB,UAAAomB,gBAAA,WACItpB,KAAKsoB,eAAe1d,IAAI,SAAAG,GACpBA,EAAK+M,MAAQ/M,EAAKyd,iBAI1BV,8BAAA5kB,UAAAqmB,kBAAA,WACIvpB,KAAKsoB,eAAe1d,IAAI,SAAAG,GACpBA,EAAK0d,OAAS1d,EAAK6d,kBAI3Bd,8BAAA5kB,UAAAkiB,WAAA,cAAApX,GAAAhO,IACIA,MAAK4G,QAAQ0C,UAAYtJ,KAAK+gB,UAAUzX,UACxCtJ,KAAK4G,QAAQJ,WAAaxG,KAAK6W,KAAKtF,aAAa/K,WACjDxG,KAAK4G,QAAQlD,MAAQ1D,KAAK0D,MAC1B1D,KAAK4G,QAAQxD,QAAUpD,KAAK6W,KAAKtF,aAAanO,QAAU,EAAI,EAC5DpD,KAAKyZ,gBAAgBpQ,qBAAqBrJ,KAAK4G,SACtCqQ,UACG,SAAA+J,GACIhT,EAAKgT,QAAUA,EAAQhJ,OAAO,SAASkJ,GAAS,MAA4B,IAArBA,EAAOC,cAElE,SAAAthB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAGlDioB,8BAAA5kB,UAAAmiB,uBAAA,cAAArX,GAAAhO,IACIA,MAAK0gB,sBAAsBrN,mBACtB4D,UACG,SAAAsK,GACIvT,EAAKuT,kBAAoBA,EACzBvT,EAAKsX,gBACLtX,EAAKoa,YAET,SAAAvoB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAG9CioB,8BAAA5kB,UAAAoiB,cAAA,WACItlB,KAAKulB,qBACLvlB,KAAKwlB,oBAGTsC,8BAAA5kB,UAAAqiB,mBAAA,WAGI,IAAI,GADA5F,GAAQ,EACJuE,EAAOlkB,KAAKuhB,kBAAkBM,QAASqC,GAAQlkB,KAAKuhB,kBAAkB4C,QAASD,IACnFlkB,KAAK8kB,WAAWnF,GAASuE,EACzBvE,GAGJ3f,MAAK0lB,kBAAoB1lB,KAAKuhB,kBAAkBM,SAGpDiG,8BAAA5kB,UAAAsiB,iBAAA,WAGI,IAAI,GADA7F,GAAQ,EACJuE,EAAOlkB,KAAKuhB,kBAAkBM,QAAU7hB,KAAKilB,eAAgBf,GAAQlkB,KAAKuhB,kBAAkB4C,QAASD,IACzGlkB,KAAK+kB,SAASpF,GAASuE,EACvBvE,GAGJ3f,MAAK2lB,gBAAkB3lB,KAAKuhB,kBAAkB4C,SAIlD2D,8BAAA5kB,UAAAmX,YAAA,aAEAyN,8BAAA5kB,UAAAsmB,cAAA,SAAc5R,GACN5X,KAAKioB,iBACLjoB,KAAKupB,oBACLvpB,KAAKioB,gBAAiB,GAGvBjoB,KAAKgoB,eACJhoB,KAAKspB,kBACLtpB,KAAKgoB,cAAe,GAGxBhoB,KAAKgoB,eAAwC,eAAvBpQ,EAAM1X,OAAO4X,OACnC9X,KAAKioB,iBAA0C,iBAAvBrQ,EAAM1X,OAAO4X,OACrC9X,KAAKkoB,iBAA0C,iBAAvBtQ,EAAM1X,OAAO4X,OAAmD,eAAvBF,EAAM1X,OAAO4X,QAKlFgQ,8BAAA5kB,UAAAumB,aAAA,SAAa7R,EAAY8R,EAA8BC,GAEzB,KAAvB/R,EAAM1X,OAAO4X,QACZF,EAAM1X,OAAO4X,MAAQ,GAGzB4R,EAAQjB,SAAW,GAAIhqB,GAAAmrB,aAActM,UAAU1F,EAAM1X,OAAO4X,MAAO6R,IAGvE7B,8BAAA5kB,UAAA2mB,WAAA,SAAWjS,EAAY8R,EAA8BC,GACvB,KAAvB/R,EAAM1X,OAAO4X,QACZF,EAAM1X,OAAO4X,MAAQ,GAGzB4R,EAAQ5R,QAAU,GAAIrZ,GAAAmrB,aAActM,UAAU1F,EAAM1X,OAAO4X,MAAO6R,IAEtE7B,8BAAA5kB,UAAA4mB,cAAA,SAAcJ,EAA8BviB,GACxC,GAAI4iB,GAAS/pB,KAAKuhB,kBAAkB4C,OAEpC,IAAGuF,EAAQ5R,QAAU4R,EAAQlB,eAAiBkB,EAAQjB,SAAWiB,EAAQd,eAIzE,GAAa,SAATzhB,EAAgB,CAGhBuiB,EAAQ5R,MAAQwP,KAAKC,MAAMmC,EAAQ5R,MAEnC,IAAIkS,GAAmC9d,EAAEkV,KAAKphB,KAAKsoB,eAAgB,SAAA2B,GAE3D,GAAGA,EAAInB,OAASY,EAAQZ,MAAQ,EAC5B,MAAOmB,IAMnB,IAFAP,EAAQjB,OAASzoB,KAAK0oB,eAAegB,EAAQ5R,MAAOkS,EAAYlS,MAAQ,GAErE4R,EAAQZ,MAAQiB,EAAO,CACtB,GAAIG,GAA+Bhe,EAAEkV,KAAKphB,KAAKsoB,eAAgB,SAAA2B,GAEvD,GAAGA,EAAInB,OAASY,EAAQZ,MAAQ,EAC5B,MAAOmB,IAInBC,GAAQzB,OAASzoB,KAAK0oB,eAAgBwB,EAAQpS,MAAO4R,EAAQ5R,MAAO,QAIvE,IAAa,WAAT3Q,EAAkB,CAEvB,GAAIgjB,GAAeje,EAAE8L,OAAOhY,KAAKsoB,eAAgB,SAAAvd,GAAU,MAAOA,GAAK+d,OAASY,EAAQZ,QAEpFsB,GAAiB,EAErB3H,EAAA,SAAA9C,GAEI,GAAGyK,EAAM,CAEL,GAAIC,GAA+Bne,EAAEkV,KAAK2B,EAAKuF,eAAgB,SAAAvd,GAAU,MAAOA,GAAK+d,OAASqB,EAAaxK,GAAOmJ,MAAQ,GAE1HqB,GAAaxK,GAAO7H,MAAQwP,KAAKC,MAAM8C,EAAQvS,MAC9CuS,EAAQvS,MAAQqS,EAAaxK,GAAO8I,OAAU,KAC/C2B,GAAQ,MAGRD,GAAaxK,GAAO7H,MAAQwP,KAAKC,MAAM4C,GAAcxK,EAAQ,GAAG7H,MAC/DqS,GAAcxK,EAAQ,GAAG7H,MAAQqS,EAAaxK,GAAO8I,OAAU,IAGjE0B,GAAaxK,GAAO7H,MAAQ,IAC3BqS,EAAaxK,GAAO7H,MAAQ,InD4uG/BiL,EAAS/iB,ImD5vGd,KAAI,GAAI2f,KAASwK,GnD8vGZ1H,EAAQ9C,KmDtuGrBmI,8BAAA5kB,UAAAonB,MAAA,WAEItqB,KAAKuqB,kBAAoB,KAEzBvqB,KAAKspB,kBAELtpB,KAAKupB,oBAELvpB,KAAKgoB,cAAe,EACpBhoB,KAAKioB,gBAAiB,EACtBjoB,KAAKkoB,gBAAiB,GAG1BJ,8BAAA5kB,UAAAohB,OAAA,WACI,GAAI1b,IACAlF,MAAO1D,KAAK0D,MACZiZ,YAAa3c,KAAK2c,YAGtB3c,MAAK8C,OAAOW,UAAU,oBAAoBzD,KAAK+gB,UAAUzX,UAAaV,KAG1Ekf,8BAAA5kB,UAAAsnB,QAAA,WAEI,IAAIxqB,KAAKuqB,kBAEL,MADNvqB,MAAKoX,aAAe,0CACP,CAId,IAA4C,UAAtCpX,KAAKuqB,kBAAkB5M,OAAO,EAAE,GAAiB,CACtD,OAAQ3d,KAAKuqB,mBACZ,IAAK,cAEJ,GAA8B,MAA3BvqB,KAAKyqB,mBAEP,MADAzqB,MAAKoX,aAAe,8EACb,CAGIkQ,MAAKC,MAAMvnB,KAAKyqB,mBAC5B,MAEQ,KAAK,cAED,GAAuB,MAApBzqB,KAAK0qB,YAEJ,MADA1qB,MAAKoX,aAAe;CACb,CAGXkQ,MAAKC,MAAMvnB,KAAK0qB,YAChB,MAEJ,KAAK,aACD,GAA2B,MAAxB1qB,KAAK2qB,gBAEJ,MADA3qB,MAAKoX,aAAe,8EACb,CAEX,MAEJ,KAAK,gBACD,GAA8B,MAA3BpX,KAAK4qB,mBAEJ,MADA5qB,MAAKoX,aAAe,kFACb,EAOnB,GAAIpX,KAAK0lB,kBAAoB1lB,KAAK2lB,gBAE9B,MADA3lB,MAAKoX,aAAe,+CACb,EAGf,OAAO,GAGX0Q,8BAAA5kB,UAAAggB,KAAA,cAAAlV,GAAAhO,IAKI,IAHAA,KAAKoX,aAAe,KACpBpX,KAAK6qB,eAAiB,KAEnB7qB,KAAKwqB,UAEJ,GADAxqB,KAAK8Z,gBAAiB,EACQ,eAA3B9Z,KAAKuqB,mBAAiE,iBAA3BvqB,KAAKuqB,kBAAqC,CAGpF,GAAI3hB,IACAU,UAAWtJ,KAAK+gB,UAAUzX,UAC1B5F,MAAO1D,KAAK0D,MACZqG,UAAW/J,KAAK+J,UAChB8X,QAAS7hB,KAAK0lB,kBACdvB,QAASnkB,KAAK2lB,gBACdmF,OAAQ9qB,KAAKsoB,eAEjBtoB,MAAKyZ,gBAAgBxP,qBAAqBrB,GACrCqO,UACG,SAAAuE,GACkC,WAA3BA,EAASE,gBACR1N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ,qBACjE5M,EAAK8L,gBAAiB,EACtB9L,EAAKoa,YAG0B,SAA3B5M,EAASE,iBACb1N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,mDAEnEhb,QAAQC,MAAM2b,EAASG,iBACvB3N,EAAK8L,gBAAiB,IAG9B,SAAAja,GACImO,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,mDAEnEhb,QAAQC,MAAMA,GACdmO,EAAK8L,gBAAiB,QAIH,gBAA3B9Z,KAAKuqB,kBACTvqB,KAAK+qB,qBAAqB/qB,KAAKyqB,oBAEA,gBAA3BzqB,KAAKuqB,kBACTvqB,KAAK+qB,qBAAqB/qB,KAAK0qB,aAEA,eAA3B1qB,KAAKuqB,kBACTvqB,KAAK+qB,qBAAqB/qB,KAAK2qB,gBAAgB,KAEhB,kBAA3B3qB,KAAKuqB,kBACTvqB,KAAK+qB,qBAAqB/qB,KAAK4qB,mBAAmB,KAGlD5qB,KAAK+qB,wBAMTjD,8BAAA5kB,UAAA6nB,qBAAR,SAA6BjT,GAA7B,GAAA9J,GAAAhO,IACIA,MAAK8Z,gBAAiB,CAEtB,IAAIlR,IACAzB,KAAMnH,KAAKuqB,kBACXpW,UAAWnU,KAAK0lB,kBAChBrH,QAASre,KAAK2lB,gBACd7N,MAAOA,EACPpU,MAAO1D,KAAK0D,MACZqG,UAAW/J,KAAK+J,UAChBT,UAAWtJ,KAAK+gB,UAAUzX,UAC1B8K,SAAUpU,KAAK6W,KAAKtF,aAAa/K,WAErCxG,MAAKyZ,gBAAgBvP,oBAAoBtB,GACpCqO,UACG,SAAAuE,GACkC,WAA3BA,EAASE,gBACR1N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ,qBACjE5M,EAAK8L,gBAAiB,EACtB9L,EAAKoa,YAG0B,SAA3B5M,EAASE,iBACb1N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,mDAEnE5M,EAAK8L,gBAAiB,EACtBla,QAAQC,MAAM2b,EAASG,mBAG/B,SAAA9b,GACImO,EAAKoJ,aAAe,iDACpBpJ,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,mDACnEhb,QAAQC,MAAMA,GACdmO,EAAK8L,gBAAiB,KAKtCgO,8BAAA5kB,UAAA6iB,WAAA,WACI,GAAIiF,GAAgBC,QAAQ,4JAE5B,IAAoB,GAAjBD,EAAsB,CAErB,GAAIE,GAAQlrB,KAAK+J,UACb8b,EAAkB3Z,EAAE8L,OAAOhY,KAAKghB,QAAS,SAASE,GAAU,MAAOA,GAAOnX,YAAcmhB,GAE5Fxe,gBAAeK,QAAQ,2BAA4BjE,KAAKC,UAAU8c,GAElE,IAAIjd,IACAga,YAAa5iB,KAAK+gB,UAAU6B,YAC5Blf,MAAO1D,KAAK0D,MACZiZ,YAAa3c,KAAK2c,YAClBqI,UAAW,OACX7Q,UAAWnU,KAAK0lB,kBAChBrH,QAASre,KAAK2lB,gBACdI,WAAY,OAGhB/lB,MAAK8C,OAAOW,UAAU,6BAA6BzD,KAAK+gB,UAAUzX,UAAaV,MAvhBvF7I,GAACpB,EAAA0kB,QnDwuHIriB,EAAW,cAAeN,SAC3BonB,8BAA8B5kB,UAAW,YAAa,QmDxuH1DnD,GAACpB,EAAA0kB,QnD2uHIriB,EAAW,cAAesiB,UAC3BwE,8BAA8B5kB,UAAW,WAAY,QmD3uHzDnD,GAACpB,EAAA0kB,QnD8uHIriB,EAAW,cAAeuiB,SAC3BuE,8BAA8B5kB,UAAW,QAAS,QmD9uHtDnD,GAACpB,EAAA0kB,QnDivHIriB,EAAW,cAAeuiB,SAC3BuE,8BAA8B5kB,UAAW,cAAe,QmDjvH5DnD,GAACpB,EAAA0kB,QnDovHIriB,EAAW,cAAeuiB,SAC3BuE,8BAA8B5kB,UAAW,YAAa,QmDjwH9D4kB,8BAAA/nB,GAACpB,EAAAqF,WACGC,SAAU,wBACVC,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAamV,EAAA2D,UnDqwHRlc,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ1E,EAAkBkD,eAAgBtC,EAAmBkD,gBAAiB9C,EAAoBoD,gBAAiB9C,EAAe+C,YAAalD,EAAqBoD,sBAAuBxD,EAAyBuD,wBACxRkiB,iCmDnwHK3pB,GAAA2pB,8BAA6BA,GnD2wHpCqD,IACA,SAASjtB,EAAQC,GoDryHvBD,EAAAC,QAAA,s4oBpD2yHMitB,IACA,SAASltB,EAAQC,GqD5yHvBD,EAAAC,QAAA,09CrDkzHMktB,IACA,SAASntB,EAAQC,EAASC,GAE/B,YsDpzHD,IAAAktB,GAAAltB,EAA0C,KAC1CmtB,EAAAntB,EAAgC,KAChCotB,EAAAptB,EAA0C,KAC1CqtB,EAAArtB,EAAqC,KACrCstB,EAAAttB,EAA8B,KAC9ButB,EAAAvtB,EAAwC,KACxCwtB,EAAAxtB,EAAkC,KAClCytB,EAAAztB,EAA6C,KAC7C0tB,EAAA1tB,EAAoC,KACpC2tB,EAAA3tB,EAAuC,KACvC4tB,EAAA5tB,EAAgC,KAChC6tB,EAAA7tB,EAAsC,KAEtCmE,EAAAnE,EAA0B,IAEbD,GAAAiY,yBACTP,KAAM,oBAAqBG,UAAWsV,EAAAY,0BAA4BtY,aAAcrR,EAAAkD,aAChFoQ,KAAM,WAAYG,UAAWuV,EAAAY,iBAAkBvY,aAAcrR,EAAAkD,aAC7DoQ,KAAM,qBAAsBG,UAAWwV,EAAAY,2BAA4BxY,aAAcrR,EAAAkD,aACjFoQ,KAAM,eAAgBG,UAAUyV,EAAAY,qBAAsBzY,aAAcrR,EAAAkD,aACpEoQ,KAAM,oBAAqBG,UAAU+V,EAAAO,yBAA0B1Y,aAAcrR,EAAAkD,aAC7EoQ,KAAM,kBAAmBG,UAAUiW,EAAAM,wBAAyB3Y,aAAcrR,EAAAkD,atDozH3EyQ,OsDlzHEwV,EAAAc,cACAb,EAAAc,wBACAb,EAAAc,kBACAb,EAAAc,+BACAb,EAAAc,sBACAZ,EAAAa,oBtDkzHCC,IACA,SAAS5uB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IuD11H3GvC,EAAAP,EAAqE,IACrEgD,EAAAhD,EAA0D,KAC1DwE,EAAAxE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAChC8D,EAAA9D,EAA2C,KAW3C8tB,EAAA,WAQI,QAAAA,2BAAoBrpB,EACAC,EACA8T,EACAC,EACAC,GAJA9W,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAA4W,mBACA5W,KAAA6W,OACA7W,KAAA8W,mBAXpB9W,KAAAiD,UAAoB,oBAKpBjD,KAAAuT,iBAA2B,EAwC/B,MA9BI2Y,2BAAAhpB,UAAAC,SAAA,cAAA6K,GAAAhO,IAEIA,MAAKsX,kBAAoBtX,KAAKuX,eAAeC,cAC7CxX,KAAK4W,iBAAiBhG,aAAa5Q,KAAK6W,KAAKtF,aAAiB,IACzD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKtF,aAAa/K,cAK1DxG,KAAK6W,KAAKvF,qBAEVtR,KAAK8W,iBAAiBvD,gBAAgBvT,KAAK6W,KAAKtF,aAAiB,GAAGvR,KAAK6W,KAAKtF,aAAa/K,YAAYyQ,UACnG,SAAAQ,GAAW,MAAAzJ,GAAKuF,gBAAkBkE,EAAQC,SAC1C,SAAA7X,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAIlCqsB,0BAAAhpB,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,IAE1C/X,KAAKsX,kBAAkBY,UAAY,6BAA6BlY,KAAKiY,gBAAgBtG,aAAY,KAAK3R,KAAKiY,gBAAgBpK,GAAE,cA9BjI9N,GAACpB,EAAAwZ,UAAU,kBvDo2HNnX,EAAW,cAAerC,EAAOyZ,aAClC8T,0BAA0BhpB,UAAW,iBAAkB,QuD13H/DgpB,0BAAAnsB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,qBvD83HRrD,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ9D,EAAmBkD,gBAAiBxC,EAAe+C,YAAarD,EAAoBoD,mBAChKwmB,6BuD53HK/tB,GAAA+tB,0BAAyBA,GvDo4HhCa,IACA,SAAS7uB,EAAQC,GwDp5HvBD,EAAAC,QAAA,+8BxD05HM6uB,IACA,SAAS9uB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IyDr6H3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAC1D6uB,EAAA7uB,EAAwE,KACxEmD,EAAAnD,EAA+B,KAW/B+tB,EAAA,WAWI,QAAAA,kBAAoBtpB,EACAC,EACAoqB,GAFAltB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAktB,kBAZpBltB,KAAAiD,UAAoB,WAKpBjD,KAAA+Z,QAGA/Z,KAAA8Z,gBAAwB,EAqF5B,MA3EIqS,kBAAAjpB,UAAAC,SAAA,WACInD,KAAKmtB,eAAgB,GAAIF,GAAAG,sBAAsB,EAAG,iDAClDptB,KAAKmL,SACO,GAAI8hB,GAAAG,sBAAsB,EAAG,iDAC7B,GAAIH,GAAAG,sBAAsB,EAAG,8DAC7B,GAAIH,GAAAG,sBAAsB,EAAG,4DAC7B,GAAIH,GAAAG,sBAAsB,EAAG,oEAC7B,GAAIH,GAAAG,sBAAsB,EAAG,iFAC7B,GAAIH,GAAAG,sBAAsB,EAAG,8EAC7B,GAAIH,GAAAG,sBAAsB,EAAG,gGAC7B,GAAIH,GAAAG,sBAAsB,EAAG,8DAC7B,GAAIH,GAAAG,sBAAsB,EAAG,8DAC7B,GAAIH,GAAAG,sBAAsB,GAAI,yDAC9B,GAAIH,GAAAG,sBAAsB,GAAI,kDAC9B,GAAIH,GAAAG,sBAAsB,GAAI,+CAC9B,GAAIH,GAAAG,sBAAsB,GAAI,iDAC9B,GAAIH,GAAAG,sBAAsB,GAAI,uCAC9B,GAAIH,GAAAG,sBAAsB,GAAI,wCAC9B,GAAIH,GAAAG,sBAAsB,GAAI,uCAC9B,GAAIH,GAAAG,sBAAsB,GAAI,qCAC9B,GAAIH,GAAAG,sBAAsB,GAAI;AAE1CptB,KAAK4G,QAAU,GAAIqmB,GAAAI,gBAAgB,IAEvClB,iBAAAjpB,UAAAoqB,SAAA,SAASC,GACPvtB,KAAKmtB,eAAiBntB,KAAKmL,QAAQ6M,OAAO,SAACwV,GAAQ,MAAAA,GAAK3f,IAAM0f,IAAU,IAG3EpB,iBAAAjpB,UAAAuqB,eAAA,cAAAzf,GAAAhO,IACIA,MAAK+Z,QACL/Z,KAAK8Z,gBAAiB,EACtB9Z,KAAK4G,QAAQ8mB,UAAY1tB,KAAKmtB,eAAetf,GAC7C7N,KAAKktB,gBAAgB5e,gBAAgBtO,KAAK4G,SAChCqQ,UACD,SAAAuE,GACIxN,EAAK8L,gBAAiB,EACtB9L,EAAKyN,sBAAwBD,EACwB,UAAjDxN,EAAKyN,sBAAsB,GAAGC,gBAC9B1N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,+CAClD5M,EAAKyN,sBAAsB,GAAGE,mBAEQ,YAAlD3N,EAAKyN,sBAAsB,GAAGE,iBACnC3N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,eAAgBC,OAAQ,oBACjD5M,EAAKyN,sBAAsB,GAAGE,kBAC/C3N,EAAKyN,sBAAsB,GAAGG,WAAW,GACzC5N,EAAKyN,sBAAsB,GAAGI,YAAY,KAG1C7N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ,wDACjE5M,EAAK8N,OACQC,MAAO,cAAeC,OAAQ,SAC9BD,MAAO,aAAcC,OAAQ,UAOlD,SAAAnc,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAG/CssB,iBAAAjpB,UAAA0Z,YAAA,SAAYC,GACPhZ,OAAOiZ,KAAKD,EAAa,WAE9BsP,iBAAAjpB,UAAA6Z,aAAA,SAAaC,GACRnZ,OAAOiZ,KAAKE,EAAc,WAE9BmP,iBAAAjpB,UAAAmX,YAAA,aAhGJ8R,iBAAApsB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClBgG,YAAahD,EAAAiD,qBzDw/HRrD,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQzE,EAAmBmD,kBAC/FynB,oByDr/HKhuB,GAAAguB,iBAAgBA,GzD6/HvBwB,IACA,SAASzvB,EAAQC,GAEtB,Y0DvgID,IAAAkvB,GAAA,WAEG,QAAAA,iBAAYK,GACP1tB,KAAK0tB,UAAUA,EAEvB,MAAAL,mBALalvB,GAAAkvB,gBAAeA,CAM5B,IAAAD,GAAA,WAGI,QAAAA,uBAAYvf,EAAYyE,GACpBtS,KAAK6N,GAAGA,EACR7N,KAAKsS,KAAKA,EAElB,MAAA8a,yBAPajvB,GAAAivB,sBAAqBA,G1DqhI5BQ,IACA,SAAS1vB,EAAQC,G2DniIvBD,EAAAC,QAAA,u6D3DyiIM0vB,IACA,SAAS3vB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I4DpjI3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAC1DwE,EAAAxE,EAA4B,KAS5BguB,EAAA,WAKI,QAAAA,4BAAoBvpB,EACAC,EACA+T,GAFA7W,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAA6W,OANpB7W,KAAAiD,UAAoB,qBAmBxB,MATImpB,4BAAAlpB,UAAAC,SAAA,WACGnD,KAAKoU,SAAWpU,KAAK6W,KAAKtF,aAAa/K,YAG1C4lB,2BAAAlpB,UAAAmX,YAAA,aArBJ+R,2BAAArsB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClBgG,YAAahD,EAAAiD,qB5DqkIRrD,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQpD,EAAe+C,eAC3FymB,8B4DnkIKjuB,GAAAiuB,2BAA0BA,G5D2kIjC0B,IACA,SAAS5vB,EAAQC,G6DvlIvBD,EAAAC,QAAA,ixB7D6lIM4vB,IACA,SAAS7vB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I8DxmI3GvC,EAAAP,EAAsE,IACtEgD,EAAAhD,EAA0D,KAC1D4vB,EAAA5vB,EAAqC,KACrC6vB,EAAA7vB,EAAiC,KACjCwE,EAAAxE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAChC8D,EAAA9D,EAA2C,KAW3CiuB,EAAA,WAQI,QAAAA,sBAAoBxpB,EACAC,EACA8T,EACAC,EACAC,GAJA9W,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAA4W,mBACA5W,KAAA6W,OACA7W,KAAA8W,mBAXpB9W,KAAAiD,UAAoB,cAIpBjD,KAAAuT,iBAA2B,EA6C/B,MAjCI8Y,sBAAAnpB,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKsX,kBAAoBtX,KAAKuX,eAAeC,cAC7CxX,KAAK4W,iBAAiBhG,aAAa5Q,KAAK6W,KAAKtF,aAAiB,IACzD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKtF,aAAa/K,cAK1DxG,KAAK6W,KAAKvF,qBAEVtR,KAAK8W,iBAAiBvD,gBAAgBvT,KAAK6W,KAAKtF,aAAiB,GAAGvR,KAAK6W,KAAKtF,aAAa/K,YAAYyQ,UACnG,SAAAQ,GAAW,MAAAzJ,GAAKuF,gBAAkBkE,EAAQC,SAC1C,SAAA7X,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAGlCwsB,qBAAAnpB,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,IAE1C/X,KAAKsX,kBAAkBY,UAAY,6BAA6BlY,KAAKiY,gBAAgBtG,aAAY,KAAK3R,KAAKiY,gBAAgBpK,GAAE,cAEjIwe,qBAAAnpB,UAAAmX,YAAA,aA9BAta,GAACpB,EAAAwZ,UAAU,kB9DqnINnX,EAAW,cAAerC,EAAOyZ,aAClCiU,qBAAqBnpB,UAAW,iBAAkB,Q8D9oI1DmpB,qBAAAtsB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,mBACbC,WAAY0pB,EAAAE,uBAAwBD,EAAAE,sB9DkpI/BntB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ9D,EAAmBkD,gBAAiBxC,EAAe+C,YAAarD,EAAoBoD,mBAChK2mB,wB8D/oIKluB,GAAAkuB,qBAAoBA,G9DupI3B+B,IACA,SAASlwB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I+DnrI3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAG3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAA8vB,GAAA,WAMI,QAAAA,wBAAoB7nB,GAAArG,KAAAqG,aAFZrG,KAAAquB,oBAAsB,uCAmBlC,MAfIH,wBAAAhrB,UAAAorB,sBAAA,SAAsBC,GACjB,MAAOvuB,MAAKqG,WAAWI,IAAOzG,KAAKquB,oBAAmB,IAAIE,IAOvDL,uBAAAhrB,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAtBvDquB,uBAAAnuB,GAACpB,EAAAwH,a/DqsIQnF,EAAW,qBAAsBwB,EAAcgD,cAChD0oB,0B+DrsIK/vB,GAAA+vB,uBAAsBA,G/D6sI7BM,IACA,SAAStwB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IgEnuI3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAG3BoE,EAAApE,EAA2B,IAC3BA,GAAO,KACPA,EAAO,IAGP,IAAA+vB,GAAA,WAMI,QAAAA,oBAAqB9nB,GAAArG,KAAAqG,aAFbrG,KAAAyuB,oBAAsB,mCAmBlC,MAfIN,oBAAAjrB,UAAAwrB,uBAAA,WACK,MAAO1uB,MAAKqG,WAAWI,IAAI,GAAGzG,KAAKyuB,sBAOhCN,mBAAAjrB,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAtBvDsuB,mBAAApuB,GAACpB,EAAAwH,ahEsvIQnF,EAAW,qBAAsBwB,EAAcgD,cAChD2oB,sBgEtvIKhwB,GAAAgwB,mBAAkBA,GhE8vIzBQ,IACA,SAASzwB,EAAQC,GiEzwIvBD,EAAAC,QAAA,woBjE+wIMywB,IACA,SAAS1wB,EAAQC,EAASC,GAE/B,YkEjxID,IAAAmtB,GAAAntB,EAAiC,KACjCywB,EAAAzwB,EAAmC,KACnC0wB,EAAA1wB,EAAwC,KACxC2wB,EAAA3wB,EAAmC,KACnC4wB,EAAA5wB,EAAmC,KACnC6wB,EAAA7wB,EAAmC,KACnC8wB,EAAA9wB,EAAmC,KACnC+wB,EAAA/wB,EAAmC,KACnCgxB,EAAAhxB,EAAmC,KACnCixB,EAAAjxB,EAAmC,KACnCmE,EAAAnE,EAA0B,IAEbD,GAAAquB,gBACT3W,KAAM,WAAYG,UAAWuV,EAAAY,iBAAkBvY,aAAcrR,EAAAkD,aAC7DoQ,KAAM,cAAeG,UAAW6Y,EAAAS,qBAChCzZ,KAAM,oBAAqBG,UAAW8Y,EAAAS,0BACtC1Z,KAAM,cAAeG,UAAW+Y,EAAAS,qBAChC3Z,KAAM,cAAeG,UAAWgZ,EAAAS,qBAChC5Z,KAAM,cAAeG,UAAWiZ,EAAAS,qBAChC7Z,KAAM,cAAeG,UAAWkZ,EAAAS,qBAChC9Z,KAAM,cAAeG,UAAWmZ,EAAAS,qBAChC/Z,KAAM,cAAeG,UAAWoZ,EAAAS,qBAChCha,KAAM,cAAeG,UAAWqZ,EAAAS,sBlEuxI9BC,IACA,SAAS7xB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,ImEzzI3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAI1DyD,EAAAzD,EAAiC,KAEjCmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAqB,KACrBihB,EAAAjhB,EAAqB,KAUrBkxB,EAAA,WAKI,QAAAA,oBAAoBzsB,EACAC,EACAktB,GAFAhwB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAgwB,oBANpBhwB,KAAAiD,UAAoB,cAsBxB,MAZIqsB,oBAAApsB,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKgwB,kBAAkBxgB,eACrByH,UACM,SAAAgZ,GAAgB,MAAAjiB,GAAKiiB,aAAeA,GACpC,SAAApwB,GAAU,MAAAmO,GAAKoJ,aAAoBvX,KAG/CyvB,mBAAApsB,UAAAmX,YAAA,aAxBJiV,mBAAAvvB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA2W,UAAU1W,EAAAgK,OAAQnE,EAAA8Q,UnEu0I5CnvB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQnE,EAAsB8C,oBAClG2qB,sBmEr0IKnxB,GAAAmxB,mBAAkBA,GnE60IzBc,IACA,SAASlyB,EAAQC,GoEj2IvBD,EAAAC,QAAA,inPpEu2IMkyB,IACA,SAASnyB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IqEl3I3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAC1D4D,EAAA5D,EAAsC,KAGtCmb,EAAAnb,EAAuB,KACX8N,EAAC9N,EAAM,KAuBnBmxB,EAAA,WAUI,QAAAA,yBAAoB1sB,EACAC,EACAwtB,GAFAtwB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAswB,yBAVpBtwB,KAAAiD,UAAoB,oBA6DxB,MAjDIssB,yBAAArsB,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKswB,uBAAuBrgB,yBAC1BgH,UACG,SAAAsZ,GAAqB,MAAAviB,GAAKuiB,kBAAoBA,GAC3C,SAAA1wB,GAAO,MAAAD,SAAQoL,IAAI,QAASnL,IAC5B,WACImO,EAAKwiB,uBAAyBtkB,EAAEtB,IAAI9B,KAAK2D,MAAM3D,KAAKC,UAAUiF,EAAKuiB,oBAAoB,SACvFviB,EAAKyiB,sBAAwBvkB,EAAEtB,IAAI9B,KAAK2D,MAAM3D,KAAKC,UAAUiF,EAAKuiB,oBAAoB,aAGtFviB,EAAKjD,MACGsb,OAAQrY,EAAKwiB,uBACblK,WAEQE,MAAO,cACPzb,KAAMiD,EAAKyiB,yBAI3BziB,EAAK7C,SACWulB,QACI5N,SAAS,EACT6N,SAAU,UAEd5J,QACI6J,QACOC,YACK/N,SAAS,EACTgO,YAAa,aAGzB9J,QACI6J,YACQ/N,SAAS,EACTgO,YAAa,6BAU7DvB,wBAAArsB,UAAAmX,YAAA,aAjEJkV,wBAAAxvB,GAACpB,EAAAqF,WAEIE,SAAU9F,EAAQ,KACnBgG,YAAahD,EAAAiD,kBAAmBkV,EAAAmO,WrEs6I3B1mB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQhE,EAA4B6C,yBACxG0qB,2BqEn6IKpxB,GAAAoxB,wBAAuBA,GrE26I9BwB,IACA,SAAS7yB,EAAQC,GsEz8IvBD,EAAAC,QAAA,8sBtE+8IM6yB,IACA,SAAS9yB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IuE19I3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAC1D0D,EAAA1D,EAAiC,KAGjCmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAqB,KACrBihB,EAAAjhB,EAAqB,KAWrBoxB,EAAA,WAKI,QAAAA,oBAAoB3sB,EACAC,EACAmuB,GAFAjxB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAixB,oBANpBjxB,KAAAiD,UAAoB,cAsBxB,MAZIusB,oBAAAtsB,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKixB,kBAAkBthB,eACrBsH,UACM,SAAAia,GAAgB,MAAAljB,GAAKkjB,aAAeA,GACpC,SAAArxB,GAAU,MAAAmO,GAAKoJ,aAAoBvX,KAG/C2vB,mBAAAtsB,UAAAmX,YAAA,aAzBJmV,mBAAAzvB,GAACpB,EAAAqF,WAEIE,SAAU9F,EAAQ,KACnBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA2W,UAAU1W,EAAAgK,OAAQnE,EAAA8Q,UvE0+I5CnvB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQlE,EAAsB8C,oBAClG4qB,sBuEv+IKrxB,GAAAqxB,mBAAkBA,GvE++IzB2B,IACA,SAASjzB,EAAQC,GwElgJvBD,EAAAC,QAAA,ykPxEwgJMizB,IACA,SAASlzB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM;AAChJ,MAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IyEnhJ3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAC1D2D,EAAA3D,EAAiC,KAGjCmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAqB,KACrBihB,EAAAjhB,EAAqB,KAWrBqxB,EAAA,WAKI,QAAAA,oBAAoB5sB,EACAC,EACAuuB,GAFArxB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAqxB,oBANpBrxB,KAAAiD,UAAoB,cAsBxB,MAZIwsB,oBAAAvsB,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKqxB,kBAAkBvhB,eACrBmH,UACM,SAAAqa,GAAgB,MAAAtjB,GAAKsjB,aAAeA,GACpC,SAAAzxB,GAAU,MAAAmO,GAAKoJ,aAAoBvX,KAG/C4vB,mBAAAvsB,UAAAmX,YAAA,aAzBJoV,mBAAA1vB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA2W,UAAU1W,EAAAgK,OAAQnE,EAAA8Q,UzEmiJ5CnvB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQjE,EAAsB+C,oBAClG2qB,sByEhiJKtxB,GAAAsxB,mBAAkBA,GzEwiJzB8B,IACA,SAASrzB,EAAQC,G0E3jJvBD,EAAAC,QAAA,85D1EikJMqzB,IACA,SAAStzB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I2E5kJ3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAC1DoD,EAAApD,EAAiC,KAGjCmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAqB,KACrBihB,EAAAjhB,EAAqB,KAWrBsxB,EAAA,WAKI,QAAAA,oBAAoB7sB,EACAC,EACA2uB,GAFAzxB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAyxB,oBANpBzxB,KAAAiD,UAAoB,cAsBxB,MAZIysB,oBAAAxsB,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKyxB,kBAAkBhjB,eACrBwI,UACM,SAAAya,GAAgB,MAAA1jB,GAAK0jB,aAAeA,GACpC,SAAA7xB,GAAU,MAAAmO,GAAKoJ,aAAoBvX,KAG/C6vB,mBAAAxsB,UAAAmX,YAAA,aAzBJqV,mBAAA3vB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA2W,UAAU1W,EAAAgK,OAAQnE,EAAA8Q,U3E4lJ5CnvB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQxE,EAAsBuD,oBAClG2qB,sB2EzlJKvxB,GAAAuxB,mBAAkBA,G3EimJzBiC,IACA,SAASzzB,EAAQC,G4EpnJvBD,EAAAC,QAAA,2wF5E0nJMyzB,IACA,SAAS1zB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I6EroJ3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAC1DqD,EAAArD,EAAiC,KAGjCmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAqB,KACrBihB,EAAAjhB,EAAqB,KAWrBuxB,EAAA,WAKI,QAAAA,oBAAoB9sB,EACAC,EACA+uB,GAFA7xB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAA6xB,oBANpB7xB,KAAAiD,UAAoB,cAsBxB,MAZI0sB,oBAAAzsB,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAK6xB,kBAAkBjjB,eACrBqI,UACM,SAAA6a,GAAgB,MAAA9jB,GAAK8jB,aAAeA,GACpC,SAAAjyB,GAAU,MAAAmO,GAAKoJ,aAAoBvX,KAG/C8vB,mBAAAzsB,UAAAmX,YAAA,aAzBJsV,mBAAA5vB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA2W,UAAU1W,EAAAgK,OAAQnE,EAAA8Q,U7EqpJ5CnvB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQvE,EAAsBuD,oBAClG2qB,sB6ElpJKxxB,GAAAwxB,mBAAkBA,G7E0pJzBoC,IACA,SAAS7zB,EAAQC,G8E7qJvBD,EAAAC,QAAA,4wF9EmrJM6zB,IACA,SAAS9zB,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I+E9rJ3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAC1DsD,EAAAtD,EAAiC,KAGjCmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAqB,KACrBihB,EAAAjhB,EAAqB,KAWrBwxB,EAAA,WAKI,QAAAA,oBAAoB/sB,EACAC,EACAmvB,GAFAjyB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAiyB,oBANpBjyB,KAAAiD,UAAoB,cAsBxB,MAZI2sB,oBAAA1sB,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKiyB,kBAAkBljB,eACrBkI,UACM,SAAAib,GAAgB,MAAAlkB,GAAKkkB,aAAeA,GACpC,SAAAryB,GAAU,MAAAmO,GAAKoJ,aAAoBvX,KAG/C+vB,mBAAA1sB,UAAAmX,YAAA,aAzBJuV,mBAAA7vB,GAACpB,EAAAqF,WAEIE,SAAU9F,EAAQ,KACnBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA2W,UAAU1W,EAAAgK,OAAQnE,EAAA8Q,U/E8sJ5CnvB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQtE,EAAsBuD,oBAClG2qB,sB+E3sJKzxB,GAAAyxB,mBAAkBA,G/EmtJzBuC,IACA,SAASj0B,EAAQC,GgFtuJvBD,EAAAC,QAAA,ylGhF4uJMi0B,IACA,SAASl0B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IiFvvJ3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAC1DuD,EAAAvD,EAAiC,KAGjCmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAqB,KACrBihB,EAAAjhB,EAAqB,KAWrByxB,EAAA,WAKI,QAAAA,oBAAoBhtB,EACAC,EACAuvB,GAFAryB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAqyB,oBANpBryB,KAAAiD,UAAoB,cAsBxB,MAZI4sB,oBAAA3sB,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKqyB,kBAAkBnjB,eACrB+H,UACM,SAAAqb,GAAgB,MAAAtkB,GAAKskB,aAAeA,GACpC,SAAAzyB,GAAU,MAAAmO,GAAKoJ,aAAoBvX,KAG/CgwB,mBAAA3sB,UAAAmX,YAAA,aAzBJwV,mBAAA9vB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA2W,UAAU1W,EAAAgK,OAAQnE,EAAA8Q,UjFuwJ5CnvB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQrE,EAAsBuD,oBAClG2qB,sBiFpwJK1xB,GAAA0xB,mBAAkBA,GjF4wJzB0C,IACA,SAASr0B,EAAQC,GkF/xJvBD,EAAAC,QAAA,ylGlFqyJMq0B,IACA,SAASt0B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,ImFhzJ3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAC1DwD,EAAAxD,EAAiC,KAGjCmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAqB,KACrBihB,EAAAjhB,EAAqB,KAWrB0xB,EAAA,WAKI,QAAAA,oBAAoBjtB,EACAC,EACA2vB,GAFAzyB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAyyB,oBANpBzyB,KAAAiD,UAAoB,cAsBxB,MAZI6sB,oBAAA5sB,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKyyB,kBAAkBpjB,eACrB4H,UACM,SAAAyb,GAAgB,MAAA1kB,GAAK0kB,aAAeA,GACpC,SAAA7yB,GAAU,MAAAmO,GAAKoJ,aAAoBvX,KAG/CiwB,mBAAA5sB,UAAAmX,YAAA,aAzBJyV,mBAAA/vB,GAACpB,EAAAqF,WAEIE,SAAU9F,EAAQ,KACnBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA2W,UAAU1W,EAAAgK,OAAQnE,EAAA8Q,UnFg0J5CnvB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQpE,EAAsBuD,oBAClG2qB,sBmF7zJK3xB,GAAA2xB,mBAAkBA,GnFq0JzB6C,IACA,SAASz0B,EAAQC,GoFx1JvBD,EAAAC,QAAA,ylGpF81JMy0B,IACA,SAAS10B,EAAQC,EAASC,GAE/B,YqF/1JD,IAAAy0B,GAAAz0B,EAAiD,KACjD00B,EAAA10B,EAAgD,KAChD20B,EAAA30B,EAA2C,IAE9BD,GAAAsuB,0BAEV5W,KAAM,4BAA6BG,UAAW6c,EAAAG,mCAC9Cnd,KAAM,2BAA4BG,UAAW8c,EAAAG,kCAC7Cpd,KAAM,wBAAyBG,UAAW+c,EAAAG,gCrFq2JvCC,IACA,SAASj1B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IsF13J3GvC,EAAAP,EAA0D,IAC1DgD,EAAAhD,EAA0D,KAG1Dg1B,EAAAh1B,EAA+C,KAC/CwE,EAAAxE,EAA4B,KAG5Bmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAqB,KACrBihB,EAAAjhB,EAAqB,KAErBkhB,EAAAlhB,EAAwB,KAUxB40B,EAAA,WAQI,QAAAA,kCAAoBnwB,EACAC,EACAuwB,EACAxc,GAHA7W,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAqzB,kCACArzB,KAAA6W,OAVpB7W,KAAAiD,UAAoB,4BAsCxB,MAxBI+vB,kCAAA9vB,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKoU,SAAWpU,KAAK6W,KAAKtF,aAAa/K,WACnCxG,KAAKqzB,gCAAgCC,YAAYtzB,KAAKoU,UACrD6C,UACG,SAAAsc,GAA8B,MAAAvlB,GAAKulB,2BAA6BA,GAChE,SAAA1zB,GAAU,MAAAmO,GAAKoJ,aAAoBvX,IAC1CG,KAAK8b,OACDC,MAAO,QAASC,OAAQ,UACxBD,MAAO,OAAQC,OAAQ,SACvBD,MAAO,KAAMC,OAAQ,gBACrBD,MAAO,KAAMC,OAAQ,aACrBD,MAAO,KAAMC,OAAQ,qBACrBD,MAAO,MAAOC,OAAQ,aACtBD,MAAO,WAAYC,OAAQ,sBAC3BD,MAAO,SAAUC,OAAQ,sBAKlCgX,iCAAA9vB,UAAAmX,YAAA,aAzCJ2Y,iCAAAjzB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA2W,UAAU1W,EAAAgK,OAAQnE,EAAA8Q,OAAQ7Q,EAAAkU,WACrDlvB,WAAY8uB,EAAAK,kCtFq5JXzyB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQotB,EAAoCK,+BAAgC7wB,EAAe+C,eAC/JqtB,oCsFn5JK70B,GAAA60B,iCAAgCA,GtF25JvCU,IACA,SAASx1B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IuF57J3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAG3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAAq1B,GAAA,WAMI,QAAAA,gCAAoBptB,GAAArG,KAAAqG,aAFZrG,KAAA2zB,4BAA8B,gCAmB1C,MAfIF,gCAAAvwB,UAAAowB,YAAA,SAAY9sB,GACP,MAAOxG,MAAKqG,WAAWI,IAAOzG,KAAK2zB,4BAA2B,IAAIntB,IAO/DitB,+BAAAvwB,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAtBvD4zB,+BAAA1zB,GAACpB,EAAAwH,avF88JQnF,EAAW,qBAAsBwB,EAAcgD,cAChDiuB,kCuF98JKt1B,GAAAs1B,+BAA8BA,GvFs9JrCG,IACA,SAAS11B,EAAQC,GwFl+JvBD,EAAAC,QAAA,smCxFw+JM01B,IACA,SAAS31B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IyFn/J3GvC,EAAAP,EAA0D,IAC1DgD,EAAAhD,EAA0D,KAG1D01B,EAAA11B,EAA8C,KAE9Cmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAqB,KACrBihB,EAAAjhB,EAAqB,KAErBkhB,EAAAlhB,EAAwB,KAWxB60B,EAAA,WAOI,QAAAA,iCAAoBpwB,EACAC,EACAixB,GAFA/zB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAA+zB,iCARpB/zB,KAAAiD,UAAoB,2BAqCxB,MAzBIgwB,iCAAA/vB,UAAAC,SAAA,cAAA6K,GAAAhO,IACQA,MAAK+zB,+BAA+BC,aACnC/c,UACG,SAAAgd,GAA6B,MAAAjmB,GAAKimB,0BAA4BA,GAC9D,SAAAp0B,GAAU,MAAAmO,GAAKoJ,aAAoBvX,IAC1CG,KAAK8b,OACDC,MAAO,QAASC,OAAQ,UACxBD,MAAO,OAAQC,OAAQ,SACvBD,MAAO,QAASC,OAAQ,gBACxBD,MAAO,QAASC,OAAQ,aACxBD,MAAO,QAASC,OAAQ,qBACxBD,MAAO,SAAUC,OAAQ,aACzBD,MAAO,QAASC,OAAQ,UACxBD,MAAO,SAAUC,OAAQ,mBACzBD,MAAO,WAAYC,OAAQ,sBAC3BD,MAAO,SAAUC,OAAQ,sBAKlCiX,gCAAA/vB,UAAAmX,YAAA,aAzCJ4Y,gCAAAlzB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA2W,UAAU1W,EAAAgK,OAAQnE,EAAA8Q,OAAQ7Q,EAAAkU,WACzDlvB,WAAWwvB,EAAAI,iCzF+gKNlzB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ8tB,EAAmCI,iCAC/GjB,mCyF5gKK90B,GAAA80B,gCAA+BA,GzFohKtCkB,IACA,SAASj2B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I0FpjK3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAE3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAA81B,GAAA,WAMI,QAAAA,+BAAqB7tB,GAAArG,KAAAqG,aAFbrG,KAAAo0B,2BAA6B,+BAmBzC,MAfIF,+BAAAhxB,UAAA8wB,WAAA,WACK,MAAOh0B,MAAKqG,WAAWI,IAAI,GAAGzG,KAAKo0B,6BAOhCF,8BAAAhxB,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAtBvDq0B,8BAAAn0B,GAACpB,EAAAwH,a1FukKQnF,EAAW,qBAAsBwB,EAAcgD,cAChD0uB,iC0FvkKK/1B,GAAA+1B,8BAA6BA,G1F+kKpCG,IACA,SAASn2B,EAAQC,G2F1lKvBD,EAAAC,QAAA;E3FgmKMm2B,IACA,SAASp2B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I4F3mK3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAE1Dm2B,EAAAn2B,EAAyC,KAGzCmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAqB,KACrBihB,EAAAjhB,EAAqB,KASrB80B,EAAA,WASI,QAAAA,8BAAoBrwB,EACAC,EACA0xB,GAFAx0B,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAw0B,8BAVpBx0B,KAAAiD,UAAoB,sCAkDxB,MArCGiwB,8BAAAhwB,UAAAC,SAAA,cAAA6K,GAAAhO,IACSA,MAAKw0B,4BAA4BC,kBAChCxd,UACG,SAAAyd,GAAsB,MAAA1mB,GAAK0mB,mBAAqBA,GAChD,SAAA70B,GAAU,MAAAmO,GAAKoJ,aAAoBvX,IAC1CG,KAAK8b,OACDC,MAAO,QAASC,OAAQ,uBACxBD,MAAO,QAASC,OAAQ,oBACxBD,MAAO,QAASC,OAAQ,4BACxBD,MAAO,SAAUC,OAAQ,oBACzBD,MAAO,WAAYC,OAAQ,iBAC3BD,MAAO,YAAaC,OAAQ,0BAC5BD,MAAO,cAAeC,OAAQ,6BAElChc,KAAK20B,QACD5Y,MAAO,QAASC,OAAQ,oBACxBD,MAAO,QAASC,OAAQ,iBACxBD,MAAO,QAASC,OAAQ,yBACxBD,MAAO,SAAUC,OAAQ,iBACzBD,MAAO,WAAYC,OAAQ,cAC3BD,MAAO,YAAaC,OAAQ,uBAC5BD,MAAO,cAAeC,OAAQ,0BAEnChc,KAAK40B,QACA7Y,MAAO,SAAUC,OAAQ,qBACzBD,MAAO,SAAUC,OAAQ,kBACzBD,MAAO,SAAUC,OAAQ,0BACzBD,MAAO,UAAWC,OAAQ,kBAC1BD,MAAO,YAAaC,OAAQ,eAC5BD,MAAO,aAAcC,OAAQ,wBAC7BD,MAAO,eAAgBC,OAAQ,4BAGzCkX,6BAAAhwB,UAAAmX,YAAA,aArDH6Y,6BAAAnzB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA2W,UAAU1W,EAAAgK,OAAQnE,EAAA8Q,QACjD7rB,WAAYiwB,EAAAM,8B5FspKP7zB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQuuB,EAAgCM,8BAC5G3B,gC4FrpKK/0B,GAAA+0B,6BAA4BA,G5F6pKnC4B,IACA,SAAS52B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I6FzrK3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAI3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAAy2B,GAAA,WAMI,QAAAA,4BAAoBxuB,GAAArG,KAAAqG,aAFZrG,KAAA+0B,iBAAmB,oCAmB/B,MAfIF,4BAAA3xB,UAAAuxB,gBAAA,WACK,MAAOz0B,MAAKqG,WAAWI,IAAI,GAAGzG,KAAK+0B,mBAOhCF,2BAAA3xB,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAtBvDg1B,2BAAA90B,GAACpB,EAAAwH,a7F0sKQnF,EAAW,qBAAsBwB,EAAcgD,cAChDqvB,8B6F1sKK12B,GAAA02B,2BAA0BA,G7FktKjCG,IACA,SAAS92B,EAAQC,G8F/tKvBD,EAAAC,QAAA,+5B9FquKM82B,IACA,SAAS/2B,EAAQC,EAASC,GAE/B,Y+FvuKD,IAAAqtB,GAAArtB,EAAqC,KACrC82B,EAAA92B,EAAyC,KACzC+2B,EAAA/2B,EAAmC,IAEtBD,GAAAuuB,oBAEV7W,KAAM,eAAgBG,UAAWyV,EAAAY,uBACjCxW,KAAM,oBAAqBG,UAAWkf,EAAAE,2BACtCvf,KAAM,gBAAiBG,UAAWmf,EAAAE,wB/F6uK/BC,IACA,SAASp3B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IgGjwK3GvC,EAAAP,EAAuE,IACvEgD,EAAAhD,EAA0D,KAC1Dm3B,EAAAn3B,EAA+B,KAC/B4vB,EAAA5vB,EAAqC,KACrCwE,EAAAxE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAChC8D,EAAA9D,EAA2C,KAE3Cmb,EAAAnb,EAAuB,KACvBob,EAAApb,EAAuB,KAWvBg3B,EAAA,WAYI,QAAAA,0BAAoBvyB,EACAC,EACA0yB,EACA5e,EACAC,EACAC,GALA9W,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAw1B,sBACAx1B,KAAA4W,mBACA5W,KAAA6W,OACA7W,KAAA8W,mBAhBpB9W,KAAAiD,UAAoB,qBAIpBjD,KAAA8Z,gBAAwB,EACxB9Z,KAAA+Z,QAEA/Z,KAAAuT,iBAA2B,EAUvBvT,KAAKy1B,sBAAwB,GAAIF,GAAAG,iBAAiB,IA4D1D,MAxDIN,0BAAAlyB,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKsX,kBAAoBtX,KAAKuX,eAAeC,cAC7CxX,KAAK4W,iBAAiBhG,aAAa5Q,KAAK6W,KAAKtF,aAAiB,IACzD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKtF,aAAa/K,cAK1DxG,KAAK6W,KAAKvF,qBAEVtR,KAAK8W,iBAAiBvD,gBAAgBvT,KAAK6W,KAAKtF,aAAiB,GAAGvR,KAAK6W,KAAKtF,aAAa/K,YAAYyQ,UACnG,SAAAQ,GAAW,MAAAzJ,GAAKuF,gBAAkBkE,EAAQC,SAC1C,SAAA7X,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAIxCG,KAAK8Z,gBAAiB,EACtB9Z,KAAKw1B,oBAAoBlH,sBAAsBtuB,KAAK6W,KAAKtF,aAAa/K,YACjEyQ,UAAW,SAAAwe,GACFznB,EAAKynB,sBAAwBA,EACzBznB,EAAKynB,sBAAsB9pB,QAAQgqB,QAAQ,UAAU,GACrD3nB,EAAK8L,gBAAiB,EACtB9L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ5M,EAAKynB,sBAAsB9pB,UAC9F/L,QAAQC,MAAOmO,EAAKynB,sBAAsB9pB,WAG1CqC,EAAK8L,gBAAiB,EACtB9L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ5M,EAAKynB,sBAAsB9pB,YAGpG,SAAA9L,GACImO,EAAK8L,gBAAiB,EACtB9L,EAAKoJ,aAAe,wDACpBpJ,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ5M,EAAKoJ,eACxExX,QAAQC,MAAMA,MAGtBu1B,yBAAAlyB,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,IAE1C/X,KAAKsX,kBAAkBY,UAAY,6BAA6BlY,KAAKiY,gBAAgBtG,aAAY,KAAK3R,KAAKiY,gBAAgBpK,GAAE,cAGjIunB,yBAAAlyB,UAAAmX,YAAA,aApDAta,GAACpB,EAAAwZ,UAAU,kBhG8xKNnX,EAAW,cAAerC,EAAOyZ,aAClCgd,yBAAyBlyB,UAAW,iBAAkB,QgG7zK9DkyB,yBAAAr1B,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,kBAAmBkV,EAAA0D,OAAQzD,EAAAoc,UACxCtxB,WAAW0pB,EAAAE,0BhGi0KNltB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQgoB,EAA4BE,uBAAwBhsB,EAAmBkD,gBAAiBxC,EAAe+C,YAAarD,EAAoBoD,mBACpN0vB,4BgG9zKKj3B,GAAAi3B,yBAAwBA,GhGs0K/BS,IACA,SAAS33B,EAAQC,GAEtB,YiG71KD,IAAAu3B,GAAA,WAEI,QAAAA,kBAAc/pB,GACV3L,KAAK2L,QAAUA,EAEvB,MAAA+pB,oBALav3B,GAAAu3B,iBAAgBA,GjGy2KvBI,IACA,SAAS53B,EAAQC,GkG12KvBD,EAAAC,QAAA,kqClGg3KM43B,IACA,SAAS73B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,ImG33K3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAC1D43B,EAAA53B,EAA2B,KAC3B6vB,EAAA7vB,EAAiC,KASjCi3B,EAAA,WAOI,QAAAA,sBAAoBxyB,EACAC,EACAmzB,GAFAj2B,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAi2B,sBARpBj2B,KAAAiD,UAAoB,gBAShBjD,KAAKk2B,kBAAoB,GAAIF,GAAAG,aAAa,4CAelD,MAZId,sBAAAnyB,UAAAC,SAAA,cAAA6K,GAAAhO,IACEA,MAAKi2B,oBAAoBvH,yBACpBzX,UACI,SAAAif,GAAqB,MAAAloB,GAAKkoB,kBAAoBA,GAC9C,SAAAr2B,GAAU,MAAAmO,GAAKoJ,aAAoBvX,KAG9Cw1B,qBAAAnyB,UAAAmX,YAAA,aA3BJgb,qBAAAt1B,GAACpB,EAAAqF,WAEIE,SAAU9F,EAAQ,KACnBgG,YAAahD,EAAAiD,mBACbC,WAAW2pB,EAAAE,sBnGg5KNntB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQioB,EAAwBE,sBACpGkH,wBmG94KKl3B,GAAAk3B,qBAAoBA,GnGs5K3Be,IACA,SAASl4B,EAAQC,GAEtB,YoGr6KD,IAAAg4B,GAAA,WAEI,QAAAA,cAAcxqB,GACV3L,KAAK2L,QAAUA,EAEvB,MAAAwqB,gBALah4B,GAAAg4B,aAAYA,GpGi7KnBE,IACA,SAASn4B,EAAQC,GqGl7KvBD,EAAAC,QAAA,klBrGw7KMm4B,IACA,SAASp4B,EAAQC,EAASC,GAE/B,YsG17KD,IAAAm4B,GAAAn4B,EAAkD,IAGrCD,GAAAwuB,iCAEV9W,KAAM,8BAA+BG,UAAWugB,EAAAC,qCtG+7K7CC,IACA,SAASv4B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IuGh9K3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAG1Ds4B,EAAAt4B,EAA8C,KAE9CiE,EAAAjE,EAAmC,KACnCu4B,EAAAv4B,EAA4B,KAE5Bmb,EAAAnb,EAAwB,KACxBob,EAAApb,EAAqB,KACrBihB,EAAAjhB,EAAqB,KAErBkhB,EAAAlhB,EAAwB,KASxBo4B,EAAA,WAgBK,QAAAA,mCAAoB3zB,EACDC,EACA0xB,EACAoC,EACAlW,GAJC1gB,KAAA6C,QACD7C,KAAA8C,SACA9C,KAAAw0B,8BACAx0B,KAAA42B,iBACA52B,KAAA0gB,wBAnBpB1gB,KAAAiD,UAAoB,+BAoBJjD,KAAK62B,aAAc,EACnB72B,KAAK82B,eAAe,EACpB92B,KAAK+2B,qBAAqB,EAC1B/2B,KAAKg3B,uBAAuB,EAC5Bh3B,KAAKi3B,cAAgBL,EA4DzC,MAzDGJ,mCAAAtzB,UAAAC,SAAA,cAAA6K,GAAAhO,IAGIA,MAAK0gB,sBAAsBrN,mBACrB4D,UACD,SAAAsK,GAAqB,MAAAvT,GAAKuT,kBAAoBA,GAC9C,SAAA1hB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAK+a,OAAS/a,EAAKuT,kBAAkBwH,OACrCnpB,QAAQoL,IAAI,uCAAyCgD,EAAK+a,WAIvEyN,kCAAAtzB,UAAAg0B,2BAAA,cAAAlpB,GAAAhO,IACKA,MAAK62B,aAAc,EACnB72B,KAAKw0B,4BAA4B0C,6BACpBjgB,UACG,SAAAkgB,GAAoB,MAAAnpB,GAAKmpB,iBAAmBA,GAC5C,SAAAt3B,GAAU,MAAAmO,GAAKoJ,aAAoBvX,GACnC,WACImO,EAAK8oB,eAAe,EACpB9oB,EAAK6oB,aAAc,IAE/B72B,KAAK8b,OACAC,MAAO,QAASC,OAAQ,UACxBD,MAAO,QAASC,OAAQ,iBACxBD,MAAO,QAASC,OAAQ,cACxBD,MAAO,QAASC,OAAQ,sBACxBD,MAAO,SAAUC,OAAQ,cACzBD,MAAO,WAAYC,OAAQ,WAC3BD,MAAO,YAAaC,OAAQ,oBAC5BD,MAAO,cAAeC,OAAQ,wBAGhDwa,kCAAAtzB,UAAAk0B,wBAAA,cAAAppB,GAAAhO,IACKA,MAAK62B,aAAc,EACnB72B,KAAKw0B,4BAA4B4C,0BACpBngB,UACG,SAAAogB,GAAmB,MAAArpB,GAAKqpB,gBAAkBA,GAC1C,SAAAx3B,GAAU,MAAAmO,GAAKoJ,aAAoBvX,GACnC,WACImO,EAAK+oB,qBAAqB,EAC1B/oB,EAAK6oB,aAAc,KAG3CL,kCAAAtzB,UAAAo0B,eAAA,cAAAtpB,GAAAhO,IACIA,MAAK62B,aAAc,EACnB72B,KAAKw0B,4BAA4B8C,iBACpBrgB,UACG,SAAAsgB,GAAuB,MAAAvpB,GAAKupB,oBAAsBA,GAClD,SAAA13B,GAAU,MAAAmO,GAAKoJ,aAAoBvX,GACnC,WACImO,EAAKgpB,uBAAuB,EAC5BhpB,EAAK6oB,aAAc,KAvF/CL,kCAAAz2B,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA2W,UAAU1W,EAAAgK,OAAQnE,EAAA8Q,OAAQ7Q,EAAAkU,WACzDlvB,WAAWoyB,EAAAc,gCAAgCb,EAAA1jB,iBvG2gLtCjS,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ0wB,EAAsCc,gCAAiCb,EAAiB1jB,cAAe5Q,EAAyBuD,wBAC5M4wB,qCuG1gLKr4B,GAAAq4B,kCAAiCA,GvGkhLxCiB,IACA,SAASv5B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IwGnjL3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAI3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAAo5B,GAAA,WAII,QAAAA,iCAAoBnxB,GAAArG,KAAAqG,aAFZrG,KAAA03B,4BAA8B,uBAoB1C,MAhBWF,iCAAAt0B,UAAAg0B,2BAAP,WACK,MAAOl3B,MAAKqG,WAAWI,IAAOzG,KAAK03B,4BAA2B,6BAE5DF,gCAAAt0B,UAAAk0B,wBAAP,WACK,MAAOp3B,MAAKqG,WAAWI,IAAOzG,KAAK03B,4BAA2B,wBAE5DF,gCAAAt0B,UAAAo0B,eAAP,WACK,MAAOt3B,MAAKqG,WAAWI,IAAOzG,KAAK03B,4BAA2B,0BAG3DF,gCAAAt0B,UAAA+H,YAAR,SAAoBpL,GAIf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBArBvD23B,gCAAAz3B,GAACpB,EAAAwH,axGqkLQnF,EAAW,qBAAsBwB,EAAcgD,cAChDgyB,mCwGrkLKr5B,GAAAq5B,gCAA+BA,GxG6kLtCG,IACA,SAASz5B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IyGpmL3GvC,EAAAP,EAA2B,IAG3BiE,EAAAjE,EAAoC,KAWpC6U,EAAA,WAUI,QAAAA,eAAqByN,GAAA1gB,KAAA0gB,wBACf1gB,KAAK43B,cAwBf,MAtBY3kB,eAAA/P,UAAA00B,YAAR,cAAA5pB,GAAAhO,IACIA,MAAK0gB,sBAAsBrN,mBACtB4D,UACD,SAAAsK,GAAqB,MAAAvT,GAAKuT,kBAAoBA,GAC9C,SAAA1hB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WAEImO,EAAK+a,OAAS/a,EAAKuT,kBAAkBwH,OACrC/a,EAAK6T,QAAU7T,EAAKuT,kBAAkBM,QACtC7T,EAAK6pB,YAAc7pB,EAAKuT,kBAAkBsW,YAC1C7pB,EAAKmW,QAAUnW,EAAKuT,kBAAkB4C,QACtCnW,EAAK8pB,UAAY9pB,EAAKuT,kBAAkBuW,aAzBxD7kB,cAAAlT,GAACpB,EAAAwH,azGonLQnF,EAAW,qBAAsBqB,EAAyBuD,wBAC3DqN,iByGpnLK9U,GAAA8U,cAAaA,GzG4nLpB8kB,IACA,SAAS75B,EAAQC,G0G3oLvBD,EAAAC,QAAA,8jE1GipLM65B,IACA,SAAS95B,EAAQC,EAASC,GAE/B,Y2GnpLD,IAAA2tB,GAAA3tB,EAAuC,KACvC65B,EAAA75B,EAAoC,KACpC85B,EAAA95B,EAAsC,IAEzBD,GAAAyuB,wBACR/W,KAAK,oBAAqBG,UAAU+V,EAAAO,2BACpCzW,KAAM,0BAA2BG,UAAWiiB,EAAAE,wBAC5CtiB,KAAM,4BAA6BG,UAAWkiB,EAAAE,2B3GypL7CC,IACA,SAASn6B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I4G5qL3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAU1DkuB,EAAA,WAII,QAAAA,0BAAoBzpB,EACAC,GADA9C,KAAA6C,QACA7C,KAAA8C,SAJpB9C,KAAAiD,UAAoB,oBAiBxB,MATIqpB,0BAAAppB,UAAAC,SAAA,aAIAmpB,yBAAAppB,UAAAmX,YAAA,aArBJiS,yBAAAvsB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClBgG,YAAahD,EAAAiD,mBACbC,e5G4rLKtD,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,UACpEsmB,4B4GzrLKnuB,GAAAmuB,yBAAwBA,G5GisL/BgM,IACA,SAASp6B,EAAQC,G6G7sLvBD,EAAAC,QAAA,qgB7GmtLMo6B,IACA,SAASr6B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I8G9tL3GvC,EAAAP,EAA6E,IAC7EgD,EAAAhD,EAA0D,KAC1Do6B,EAAAp6B,EAAiJ,KACjJq6B,EAAAr6B,EAA0C,KAE1Cu4B,EAAAv4B,EAA4B,KAE5BiE,EAAAjE,EAAoC,KAEpCmb,EAAAnb,EAAuB,KACvBob,EAAApb,EAAuB,KAWvB+5B,EAAA,WAgBI,QAAAA,uBAAoBt1B,EACAC,EACA41B,EACAhY,GAHA1gB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAA04B,0BACA14B,KAAA0gB,wBAlBpB1gB,KAAAiD,UAAoB,iBASpBjD,KAAA8Z,gBAAwB,EACxB9Z,KAAA+Z,QASY/Z,KAAKi3B,cAAgB,GAAIN,GAAA1jB,cAAcyN,GACvC1gB,KAAK24B,eAAiB,GAAIH,GAAAI,wBAAwB54B,KAAKi3B,cAAcY,aAwDrF,MApDIM,uBAAAj1B,UAAAC,SAAA,WACInD,KAAK64B,qBAAqB,GAAIL,GAAAM,6BAA8BC,WAAW,EAAGC,SAAU,cAAeC,gBAAgB,KACnH,GAAIT,GAAAM,6BAA8BC,WAAW,EAAGC,SAAU,2BACtDC,gBAAgB,uLACpB,GAAIT,GAAAM,6BAA8BC,WAAW,EAAGC,SAAU,uCAAwCC,gBAAgB,6QAClH,GAAIT,GAAAM,6BAA8BC,WAAW,EAAGC,SAAU,kCAAmCC,gBAAgB,4DAC7G,GAAIT,GAAAM,6BAA8BC,WAAW,EAAGC,SAAU,yBAA0BC,gBAAgB,sDACpG,GAAIT,GAAAM,6BAA8BC,WAAW,EAAGC,SAAU,2CAA4CC,gBAAgB,uDACtH,GAAIT,GAAAM,6BAA8BC,WAAW,EAAGC,SAAU,uDAAwDC,gBAAgB,0LAClI,GAAIT,GAAAM,6BAA8BC,WAAW,EAAGC,SAAU,4CAA6CC,gBAAgB,wLACvH,GAAIT,GAAAM,6BAA8BC,WAAW,EAAGC,SAAU,2BAA4BC,gBAAgB,qGACtG,GAAIT,GAAAM,6BAA8BC,WAAW,GAAIC,SAAU,iBAAkBC,gBAAgB,wZAC7F,GAAIT,GAAAM,6BAA8BC,WAAW,GAAIC,SAAU,sDAAuDC,gBAAgB,OAItId,sBAAAj1B,UAAAg2B,WAAA,WACSl5B,KAAK24B,eAAexU,QAAUnkB,KAAKm5B,qBAAqB3hB,cAAcM,OAE/EqgB,sBAAAj1B,UAAAk2B,SAAA,cAAAprB,GAAAhO,IAE0C,IAAlCA,KAAKi3B,cAAcY,cAAkB73B,KAAK24B,eAAexU,QAAUnkB,KAAKi3B,cAAc9S,SAC1FnkB,KAAK24B,eAAe5P,OAAS/oB,KAAKi3B,cAAclO,OAChD/oB,KAAK24B,eAAeI,WAAa/4B,KAAKi3B,cAAcY,YAGpD73B,KAAK8Z,gBAAiB,EACtB9Z,KAAK04B,wBAAwBW,wBAAwBr5B,KAAK24B,gBACjD1hB,UACG,SAAAqiB,GAAmB,MAAAtrB,GAAKsrB,gBAAkBA,GAC1C,SAAAz5B,GAAUmO,EAAKoJ,aAAevX,EAC1BmO,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAO5M,EAAKsrB,gBAAgB3tB,QAAS,IAAKqC,EAAKoJ,gBAE9G,WACQpJ,EAAKsrB,gBAAgB3tB,QAAQgqB,QAAQ,UAAU,EAC/C3nB,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAO5M,EAAKsrB,gBAAgB3tB,UAGvFqC,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAO5M,EAAKsrB,gBAAgB3tB,UAEzFqC,EAAKipB,cAAgB,GAAIN,GAAA1jB,cAAcjF,EAAK0S,uBAC5C1S,EAAK8L,gBAAiB,KAM1Cqe,sBAAAj1B,UAAAmX,YAAA,aA3DAta,GAACpB,EAAA46B,S9GmwLIv4B,EAAW,cAAe21B,EAAiB1jB,gBAC5CklB,sBAAsBj1B,UAAW,gBAAiB,Q8GnwLtDnD,GAACpB,EAAAwZ,UAAU,wB9GswLNnX,EAAW,cAAerC,EAAOyZ,aAClC+f,sBAAsBj1B,UAAW,uBAAwB,Q8G/xLjEi1B,sBAAAp4B,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAElB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,kBAAmBkV,EAAA0D,OAAQzD,EAAAoc,UACxCtxB,WAAWm0B,EAAAe,4BAA4Bn3B,EAAAuD,wB9GmyLlC5E,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQyyB,EAAkCe,4BAA6Bn3B,EAAyBuD,wBACpKuyB,yB8GhyLKh6B,GAAAg6B,sBAAqBA,G9GwyL5BsB,IACA,SAASv7B,EAAQC,GAEtB,Y+Gh0LD,IAAAu7B,GAAA,mBAAAA,0BAEA,MAAAA,yBAFav7B,GAAAu7B,sBAAqBA,CAIlC,IAAAd,GAAA,WAII,QAAAA,yBAAYG,GACRA,EAAaA,EAGrB,MAAAH,2BARaz6B,GAAAy6B,wBAAuBA,CASpC,IAAAe,GAAA,mBAAAA,6BAEA,MAAAA,4BAFax7B,GAAAw7B,yBAAwBA,CAIrC,IAAAC,GAAA,mBAAAA,gCAGA,MAAAA,+BAHaz7B,GAAAy7B,4BAA2BA,CAIxC,IAAAd,GAAA,WAIQ,QAAAA,6BAAa3tB,GACTA,IACAnL,KAAK+4B,WAAa5tB,EAAQ4tB,WAC1B/4B,KAAKg5B,SAAW7tB,EAAQ6tB,SACxBh5B,KAAKi5B,gBAAkB9tB,EAAQ8tB,iBAG3C,MAAAH,+BAXa36B,GAAA26B,4BAA2BA,G/Go1LlCe,IACA,SAAS37B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IgHp3L3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAG3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAAo7B,GAAA,WAII,QAAAA,6BAAoB/oB,GAAAzQ,KAAAyQ,cAFZzQ,KAAA85B,oBAAsB,uBAsBlC,MAdWN,6BAAAt2B,UAAA62B,sBAAP,SAA6BC,GACxB,MAAOh6B,MAAKyQ,YAAY/G,KAAQ1J,KAAK85B,oBAAmB,kBAAmBE,IAEzER,4BAAAt2B,UAAAm2B,wBAAP,SAA+BW,GAC1B,MAAOh6B,MAAKyQ,YAAY/G,KAAQ1J,KAAK85B,oBAAmB,2BAA4BE,IAGjFR,4BAAAt2B,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAvBvD25B,4BAAAz5B,GAACpB,EAAAwH,ahHu4LQnF,EAAW,qBAAsBwB,EAAcgD,cAChDg0B,+BgHv4LKr7B,GAAAq7B,4BAA2BA,GhH+4LlCS,IACA,SAAS/7B,EAAQC,GiH35LvBD,EAAAC,QAAA;EjHi6LM+7B,IACA,SAASh8B,EAAQC,GkHl6LvBD,EAAAC,QAAA,mpSlHw6LMg8B,IACA,SAASj8B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,ImHn7L3GvC,EAAAP,EAA6E,IAC7EgD,EAAAhD,EAA0D,KAE1Dg8B,EAAAh8B,EAAoC,KAEpCu4B,EAAAv4B,EAA4B,KAE5BiE,EAAAjE,EAAmC,KAEnCmb,EAAAnb,EAAuB,KACvBob,EAAApb,EAAuB,KACvBihB,EAAAjhB,EAAwB,KACxBkhB,EAAAlhB,EAAqB,KACrBmiB,EAAAniB,EAAqB,KAErBoiB,EAAApiB,EAAwB,KAcxBg6B,EAAA,WAkBI,QAAAA,yBAAoBv1B,EACAC,EACAu3B,EACA3Z,GAHA1gB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAq6B,yBACAr6B,KAAA0gB,wBApBpB1gB,KAAAiD,UAAoB,mBAIpBjD,KAAA8Z,gBAAwB,EACxB9Z,KAAA2gB,eAAsB,EAMtB3gB,KAAA+Z,QAUiB/Z,KAAKi3B,cAAgB,GAAIN,GAAA1jB,cAAcyN,GAgP5D,MA5OI0X,yBAAAl1B,UAAAC,SAAA,aAECi1B,wBAAAl1B,UAAAo3B,mBAAA,cAAAtsB,GAAAhO,IACKA,MAAK8Z,gBAAiB,EAEtB9Z,KAAKq6B,uBAAuBE,uBACjBtjB,UACG,SAAAujB,GAAqB,MAAAxsB,GAAKwsB,kBAAoBA,GAC9C,SAAA36B,GAAS,MAAAmO,GAAKoJ,aAAevX,GAC7B,WACImO,EAAK8L,gBAAiB,EACtBiG,SAASC,eAAe,mBAAmBC,MAAM6C,QAAU,UAK7E9iB,KAAK8b,OACFC,MAAO,QAASC,OAAQ,UACxBD,MAAO,QAASC,OAAQ,UACxBD,MAAO,SAAUC,OAAQ,WACzBD,MAAO,UAAWC,OAAQ,mBAC1BD,MAAO,UAAWC,OAAQ,aAC1BD,MAAO,YAAaC,OAAQ,eAC5BD,MAAO,WAAYC,OAAQ,mBAC3BD,MAAO,WAAYC,OAAQ,cAC3BD,MAAO,SAAUC,OAAQ,aAKlCoc,wBAAAl1B,UAAAu3B,kBAAA,cAAAzsB,GAAAhO,IACMA,MAAK8Z,gBAAiB,EACtBla,QAAQoL,IAAI,qBACZhL,KAAKq6B,uBAAuBK,sBACjBzjB,UACG,SAAA0jB,GAAoB,MAAA3sB,GAAK2sB,iBAAmBA,GAC5C,SAAA96B,GAAS,MAAAmO,GAAKoJ,aAAevX,GAC7B,WACImO,EAAK8L,gBAAiB,EACtBiG,SAASC,eAAe,kBAAkBC,MAAM6C,QAAU,UAK5E9iB,KAAK8b,OACFC,MAAO,QAASC,OAAQ,UACxBD,MAAO,QAASC,OAAQ,UACxBD,MAAO,SAAUC,OAAQ,WACzBD,MAAO,UAAWC,OAAQ,mBAC1BD,MAAO,UAAWC,OAAQ,aAC1BD,MAAO,YAAaC,OAAQ,eAC5BD,MAAO,WAAYC,OAAQ,mBAC3BD,MAAO,WAAYC,OAAQ,cAC3BD,MAAO,SAAUC,OAAQ,aAIlCoc,wBAAAl1B,UAAA03B,eAAA,cAAA5sB,GAAAhO,IACMA,MAAK8Z,gBAAiB,EAEtB9Z,KAAKq6B,uBAAuBQ,mBACjB5jB,UACG,SAAA6jB,GAAiB,MAAA9sB,GAAK8sB,cAAgBA,GACtC,SAAAj7B,GAAS,MAAAmO,GAAKoJ,aAAevX,GAC7B,WACImO,EAAK8L,gBAAiB,EACtBiG,SAASC,eAAe,eAAeC,MAAM6C,QAAU,UAKzE9iB,KAAK8b,OACFC,MAAO,WAAYC,OAAQ,cAC3BD,MAAO,aAAcC,OAAQ,gBAC7BD,MAAO,UAAWC,OAAQ,aAC1BD,MAAO,YAAaC,OAAQ,eAC5BD,MAAO,YAAaC,OAAQ,eAC5BD,MAAO,cAAeC,OAAQ,iBAC9BD,MAAO,eAAgBC,OAAQ,qBAC/BD,MAAO,iBAAkBC,OAAQ,wBAI1Coc,wBAAAl1B,UAAA63B,eAAA,cAAA/sB,GAAAhO,IACMA,MAAK8Z,gBAAiB,EAEtB9Z,KAAKq6B,uBAAuBW,mBACjB/jB,UACG,SAAAgkB,GAAiB,MAAAjtB,GAAKitB,cAAgBA,GACtC,SAAAp7B,GAAS,MAAAmO,GAAKoJ,aAAevX,GAC7B,WACImO,EAAK8L,gBAAiB,EACtBiG,SAASC,eAAe,iBAAiBC,MAAM6C,QAAU,UAK3E9iB,KAAK8b,OACFC,MAAO,WAAYC,OAAQ,cAC3BD,MAAO,aAAcC,OAAQ,gBAC7BD,MAAO,UAAWC,OAAQ,aAC1BD,MAAO,YAAaC,OAAQ,eAC5BD,MAAO,YAAaC,OAAQ,eAC5BD,MAAO,cAAeC,OAAQ,iBAC9BD,MAAO,eAAgBC,OAAQ,qBAC/BD,MAAO,iBAAkBC,OAAQ,wBAI1Coc,wBAAAl1B,UAAAg4B,sBAAA,cAAAltB,GAAAhO,IACMA,MAAK8Z,gBAAiB,EAEtB9Z,KAAKq6B,uBAAuBa,wBACjBjkB,UACG,SAAAkkB,GAAsB,MAAAntB,GAAKmtB,mBAAqBA,GAChD,SAAAt7B,GAAS,MAAAmO,GAAKoJ,aAAevX,GAC7B,WACImO,EAAK8L,gBAAiB,EACtBiG,SAASC,eAAe,oBAAoBC,MAAM6C,QAAU,UAK9E9iB,KAAK8b,OACFC,MAAO,QAASC,OAAQ,UACxBD,MAAO,SAAUC,OAAQ,WACzBD,MAAO,YAAaC,OAAQ,iBAC5BD,MAAO,OAAQC,OAAQ,SACvBD,MAAO,QAASC,OAAQ,UACxBD,MAAO,OAAQC,OAAQ,SACvBD,MAAO,SAAUC,OAAQ,WACzBD,MAAO,WAAYC,OAAQ,aAC3BD,MAAO,YAAaC,OAAQ,eAIrCoc,wBAAAl1B,UAAAk4B,WAAA,cAAAptB,GAAAhO,IACMA,MAAK8Z,gBAAiB,EAEtB9Z,KAAKq6B,uBAAuBgB,kBACjBpkB,UACG,SAAAkkB,GAAsB,MAAAntB,GAAKmtB,mBAAqBA,GAChD,SAAAt7B,GAAS,MAAAmO,GAAKoJ,aAAevX,GAC7B,WACImO,EAAK8L,gBAAiB,EACtBiG,SAASC,eAAe,qBAAqBC,MAAM6C,QAAU,UAK/E9iB,KAAK8b,OACFC,MAAO,QAASC,OAAQ,WAIjCoc,wBAAAl1B,UAAAgf,YAAA,SAAYtK,GACR5X,KAAK0U,MAAQkD,EAAM7M,KAAK2J,MACxB1U,KAAK2gB,eAAgB,GAEzByX,wBAAAl1B,UAAAoI,OAAA,cAAA0C,GAAAhO,KACS4I,GACDlF,MAAO1D,KAAK0U,MAGf1U,MAAKq6B,uBAAuBiB,iBAAiB1yB,GAC5CqO,UACM,SAAAuE,GACIxN,EAAKwN,SAAWA,EAEZxN,EAAKwN,SAAS7P,QAAQgqB,QAAQ,UAAU,GACxC3nB,EAAK2S,eAAgB,EACrB3S,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ5M,EAAKwN,SAAS7P,UACjF/L,QAAQC,MAAOmO,EAAKwN,SAAS7P,WAG7BqC,EAAK2S,eAAgB,EACrB3S,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ5M,EAAKwN,SAAS7P,YAGvF,SAAA9L,GACImO,EAAK2S,eAAgB,EACrB3S,EAAKoJ,aAAe,wDACpBxX,QAAQC,MAAMA,MAI9Bu4B,wBAAAl1B,UAAAq4B,0BAAA,WACIxb,SAASC,eAAe,kBAAkBC,MAAM6C,QAAU,QAE9DsV,wBAAAl1B,UAAAs4B,2BAAA,WACIzb,SAASC,eAAe,mBAAmBC,MAAM6C,QAAU,QAE/DsV,wBAAAl1B,UAAAu4B,uBAAA,WACI1b,SAASC,eAAe,eAAeC,MAAM6C,QAAU,QAE3DsV,wBAAAl1B,UAAAw4B,uBAAA,WACI3b,SAASC,eAAe,eAAeC,MAAM6C,QAAU,QAE3DsV,wBAAAl1B,UAAAy4B,uBAAA,WACI5b,SAASC,eAAe,oBAAoBC,MAAM6C,QAAU,QAEhEsV,wBAAAl1B,UAAA04B,eAAA,WACI7b,SAASC,eAAe,qBAAqBC,MAAM6C,QAAU,QAEjEsV,wBAAAl1B,UAAA24B,OAAA,cAAA7tB,GAAAhO,KACS4I,GACDlF,MAAO1D,KAAK0U,MAEf1U,MAAKq6B,uBAAuByB,iBAAiBlzB,GAC5CqO,UACM,SAAAuE,GACIxN,EAAKwN,SAAWA,EAEZxN,EAAKwN,SAAS7P,QAAQgqB,QAAQ,UAAU,GACxC3nB,EAAK2S,eAAgB,EACrB3S,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ5M,EAAKwN,SAAS7P,UACjFqC,EAAKysB,oBACL76B,QAAQC,MAAOmO,EAAKwN,SAAS7P,WAG7BqC,EAAK2S,eAAgB,EACrB3S,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ5M,EAAKwN,SAAS7P,YAGvF,SAAA9L,GACImO,EAAK2S,eAAgB,EACrB3S,EAAKoJ,aAAe,wDACpBxX,QAAQC,MAAMA,MAI9Bu4B,wBAAAl1B,UAAAmX,YAAA,aAhPDta,GAACpB,EAAA46B,SnH6mMKv4B,EAAW,cAAe21B,EAAiB1jB,gBAC5CmlB,wBAAwBl1B,UAAW,gBAAiB,QmHzoM5Dk1B,wBAAAr4B,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAElB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,kBAAmBkV,EAAA0D,OAAQzD,EAAAoc,SAASvW,EAAA6Q,UAAU5Q,EAAAkE,OAAQjD,EAAA4P,OAAQ3P,EAAAgT,WAC3ElvB,WAAY81B,EAAA2B,yBnH6oMP/6B,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQo0B,EAAoC2B,sBAAuB15B,EAAyBuD,wBAChKwyB,2BmH1oMKj6B,GAAAi6B,wBAAuBA,GnHkpM9B4D,IACA,SAAS99B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IoH1rM3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAG3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAA29B,GAAA,WAII,QAAAA,uBAAoBtrB,GAAAzQ,KAAAyQ,cAFZzQ,KAAA85B,oBAAsB,uBAwClC,MAjCWiC,uBAAA74B,UAAAm4B,gBAAP,WACK,MAAOr7B,MAAKyQ,YAAYhK,IAAOzG,KAAK85B,oBAAmB,oBAErDiC,sBAAA74B,UAAAg4B,sBAAP,WACK,MAAOl7B,MAAKyQ,YAAYhK,IAAOzG,KAAK85B,oBAAmB,iCAErDiC,sBAAA74B,UAAA83B,iBAAP,WACK,MAAOh7B,MAAKyQ,YAAYhK,IAAOzG,KAAK85B,oBAAmB,gCAErDiC,sBAAA74B,UAAA23B,iBAAP,WACK,MAAO76B,MAAKyQ,YAAYhK,IAAOzG,KAAK85B,oBAAmB,gCAGrDiC,sBAAA74B,UAAAq3B,qBAAP,WACK,MAAOv6B,MAAKyQ,YAAYhK,IAAOzG,KAAK85B,oBAAmB,gCAErDiC,sBAAA74B,UAAAw3B,oBAAP,WACK,MAAO16B,MAAKyQ,YAAYhK,IAAOzG,KAAK85B,oBAAmB,+BAErDiC,sBAAA74B,UAAAo4B,iBAAP,SAAwB10B,GACnB,MAAO5G,MAAKyQ,YAAY/G,KAAQ1J,KAAK85B,oBAAmB,oBAAqBlzB,IAE3Em1B,sBAAA74B,UAAA44B,iBAAP,SAAwBl1B,GACnB,MAAO5G,MAAKyQ,YAAY/G,KAAQ1J,KAAK85B,oBAAmB,oBAAqBlzB,IAG1Em1B,sBAAA74B,UAAA+H,YAAR,SAAoBpL,GAKf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBAzCvDk8B,sBAAAh8B,GAACpB,EAAAwH,apH+tMQnF,EAAW,qBAAsBwB,EAAcgD,cAChDu2B,yBoH/tMK59B,GAAA49B,sBAAqBA,GpHuuM5BE,IACA,SAAS/9B,EAAQC,GqHnvMvBD,EAAAC,QAAA,2oRrHyvMM+9B,IACA,SAASh+B,EAAQC,EAASC,GAE/B,YsH3vMD,IAAA+9B,GAAA/9B,EAAqC,KAErCmE,EAAAnE,EAA0B,IAEbD,GAAA0uB,oBACVhX,KAAM,eAAgBG,UAAWmmB,EAAAC,qBAAsBxoB,aAAcrR,EAAAkD,ctHgwMlE42B,IACA,SAASn+B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IuHjxM3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAC1DwE,EAAAxE,EAA4B,KAE5Bk+B,EAAAl+B,EAAiC,KACjCm+B,EAAAn+B,EAAgI,KAEpH8N,EAAC9N,EAAM,KASnBg+B,EAAA,WAeK,QAAAA,sBAAoBv5B,EACDC,EACA05B,EACAC,GAHCz8B,KAAA6C,QACD7C,KAAA8C,SACA9C,KAAAw8B,sBACAx8B,KAAAy8B,QAjBpBz8B,KAAAiD,UAAoB,eAkBjBjD,KAAK08B,cAAe,GAAIH,GAAAI,oBAAoB,MAAO,KAAMF,EAAMlrB,aAAa/K,WAAY,KAAM,MAC9FxG,KAAK48B,kBAAiB,EAsF7B,MAnFKR,sBAAAl5B,UAAAC,SAAA,cAAA6K,GAAAhO,IACGA,MAAKw8B,oBAAoBK,gBACxB5lB,UACG,SAAA6lB,GAAa,MAAA9uB,GAAK8uB,YAAcA,GAChC,SAAAj9B,GAAS,MAAAmO,GAAKoJ,aAAevX,GAC7B,WACImO,EAAK0G,MAAQxI,EAAEtB,IAAIoD,EAAK8uB,YAAY,WAS5C98B,KAAKw8B,oBAAoBO,eACxB9lB,UACG,SAAA6lB,GAAa,MAAA9uB,GAAK8uB,YAAcA,GAChC,SAAAj9B,GAAS,MAAAmO,GAAKoJ,aAAevX,GAC7B,WACImO,EAAKgvB,MAAQ9wB,EAAEtB,IAAIoD,EAAK8uB,YAAY,YAKhDV,qBAAAl5B,UAAA+5B,oBAAA,SAAoBrlB,GAChB,GAAIslB,GAA4BtlB,EAAM1X,MACtCF,MAAK08B,cAAcS,SAAWD,EAAOplB,OAEzCskB,qBAAAl5B,UAAAk6B,cAAA,SAAcxlB,GACT,GAAIslB,GAA4BtlB,EAAM1X,MAEvCF,MAAK08B,cAActY,OAAS8Y,EAAOplB,OAGtCskB,qBAAAl5B,UAAAuqB,eAAA,cAAAzf,GAAAhO,IACEA,MAAKw8B,oBAAoBa,gBAAgBr9B,KAAK08B,eACpCzlB,UACG,SAAAqmB,GAAkB,MAAAtvB,GAAKsvB,eAAiBA,GACxC,SAAAz9B,GAAS,MAAAmO,GAAKoJ,aAAevX,GAC7B,WACImO,EAAK4uB,kBAAiB,KAM1CR,qBAAAl5B,UAAAq6B,sBAAA,cAAAvvB,GAAAhO,IAEIA,MAAKw8B,oBAAoBgB,uBAAuBx9B,KAAK08B,eAC5CzlB,UACG,SAAAwmB,GAAyB,MAAAzvB,GAAKyvB,sBAAwBA,GACtD,SAAA59B,GAAS,MAAAmO,GAAKoJ,aAAevX,GAC7B,WACImO,EAAK4uB,kBAAkB,EAEvBh9B,QAAQoL,IAAI,yBAA2BgD,EAAKyvB,0BAIhErB,qBAAAl5B,UAAAw6B,kBAAA,cAAA1vB,GAAAhO,IAEIA,MAAKw8B,oBAAoBkB,kBAAkB19B,KAAK08B,eACvCzlB,UACG,SAAA0mB,GAA2B,MAAA3vB,GAAK2vB,wBAA0BA,GAC1D,SAAA99B,GAAS,MAAAmO,GAAKoJ,aAAevX,GAC7B,eAKhBu8B,qBAAAl5B,UAAA06B,iBAAA,cAAA5vB,GAAAhO,IAEIA,MAAKw8B,oBAAoBkB,kBAAkB19B,KAAK08B,eACvCzlB,UACG,SAAA4mB,GAAoB,MAAA7vB,GAAK6vB,iBAAmBA,GAC5C,SAAAh+B,GAAS,MAAAmO,GAAKoJ,aAAevX,GAC7B,eA3GpBu8B,qBAAAr8B,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,mBACbC,WAAWg4B,EAAAwB,sBvH21MN98B,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQs2B,EAAuBwB,mBAAoBl7B,EAAe+C,eACtIy2B,wBuH11MKj+B,GAAAi+B,qBAAoBA,GvHk2M3B2B,IACA,SAAS7/B,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IwH73M3GvC,EAAAP,EAA2B,IAE3BgQ,EAAAhQ,EAA2B,IAG3BoE,EAAApE,EAA2B,IAE3BA,GAAO,KACPA,EAAO,IAGP,IAAA0/B,GAAA,WAKI,QAAAA,oBAAoBrtB,GAAAzQ,KAAAyQ,cAHZzQ,KAAAg+B,YAAc,YACdh+B,KAAAi+B,iBAAiB,uBA4B7B,MAxBWH,oBAAA56B,UAAA25B,cAAP,WACK,MAAO78B,MAAKyQ,YAAYhK,IAAOzG,KAAKg+B,YAAW,YAE7CF,mBAAA56B,UAAA65B,aAAP,WACK,MAAO/8B,MAAKyQ,YAAYhK,IAAOzG,KAAKg+B,YAAW,WAE7CF,mBAAA56B,UAAAm6B,gBAAP,SAAuBX,GAClB,MAAO18B,MAAKyQ,YAAY/G,KAAQ1J,KAAKi+B,iBAAgB,mBAAoBvB,IAEvEoB,mBAAA56B,UAAAs6B,uBAAP,SAA8Bd,GACzB,MAAO18B,MAAKyQ,YAAY/G,KAAQ1J,KAAKi+B,iBAAgB,0BAA2BvB,IAE9EoB,mBAAA56B,UAAAw6B,kBAAP,SAAyBhB,GACpB,MAAO18B,MAAKyQ,YAAY/G,KAAQ1J,KAAKi+B,iBAAgB,qBAAsBvB,IAEzEoB,mBAAA56B,UAAA06B,iBAAP,SAAwBlB;AACnB,MAAO18B,MAAKyQ,YAAY/G,KAAQ1J,KAAKi+B,iBAAgB,oBAAqBvB,IAEvEoB,mBAAA56B,UAAA+H,YAAR,SAAoBpL,GAIf,MADAD,SAAQC,MAAMA,GACPuO,EAAAtC,WAAWC,MAAMlM,EAAM4L,OAAO5L,OAAS,iBA9BvDi+B,mBAAA/9B,GAACpB,EAAAwH,axH05MQnF,EAAW,qBAAsBwB,EAAcgD,cAChDs4B,sBwH15MK3/B,GAAA2/B,mBAAkBA,GxHk6MzBI,IACA,SAAShgC,EAAQC,GAEtB,YyHh7MD,IAAAggC,GAAA,mBAAAA,iBAEA,MAAAA,gBAFahgC,GAAAggC,aAAYA,CAIzB,IAAAxB,GAAA,WAMI,QAAAA,qBAAcQ,EAAiB/Y,EAAc5d,EAAmB43B,EAAcC,GAC1Er+B,KAAKm9B,SAAWA,EAChBn9B,KAAKokB,MAAQA,EACbpkB,KAAKwG,WAAaA,EAClBxG,KAAKo+B,MAAQA,EACbp+B,KAAKq+B,MAAQA,EAErB,MAAA1B,uBAbax+B,GAAAw+B,oBAAmBA,CAchC,IAAA2B,GAAA,mBAAAA,WAEA,MAAAA,UAFangC,GAAAmgC,OAAMA,CAInB,IAAAC,GAAA,WAUI,QAAAA,yBAGJ,MAAAA,wBAbapgC,GAAAogC,qBAAoBA,CAcjC,IAAAC,GAAA,mBAAAA,gCAKA,MAAAA,+BALargC,GAAAqgC,4BAA2BA,CAMxC,IAAAC,GAAA,mBAAAA,kCAEA,MAAAA,iCAFatgC,GAAAsgC,8BAA6BA,GzHq7MpCC,IACA,SAASxgC,EAAQC,G0Hh+MvBD,EAAAC,QAAA,ksO1Hs+MMwgC,IACA,SAASzgC,EAAQC,G2Hv+MvBD,EAAAC,QAAA,8f3H6+MMygC,IACA,SAAS1gC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I4Hx/M3GvC,EAAAP,EAA8C,IAC9CgD,EAAAhD,EAA0D,KAG1DygC,EAAAzgC,EAAoC,KAYpCmuB,EAAA,WAII,QAAAA,yBAAoB1pB,EACAC,GADA9C,KAAA6C,QACA7C,KAAA8C,SAJpB9C,KAAAiD,UAAoB,kBAMxB,MADCspB,yBAAArpB,UAAAC,SAAA,aAbDopB,wBAAAxsB,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,KAElBgG,YAAahD,EAAAiD,mBACbC,WAAWu6B,EAAAC,yB5H8/MN99B,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,UACpEumB,2B4H7/MKpuB,GAAAouB,wBAAuBA,G5HqgN9BwS,IACA,SAAS7gC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I6HhiN3GvC,EAAAP,EAA2B,GAM3BA,GAAO,KACPA,EAAO,IAGP,IAAA0gC,GAAA,mBAAAA,0BAAoC,MADpCA,uBAAA/+B,GAACpB,EAAAwH,a7HiiNQnF,EAAW,yBACZ89B,yB6HjiNK3gC,GAAA2gC,sBAAqBA,G7HyiN5BE,IACA,SAAS9gC,EAAQC,G8HpjNvBD,EAAAC,QAAA,4R9H0jNM8gC,IACA,SAAS/gC,EAAQC,EAASC,GAE/B,Y+H3jND,IAAA8gC,GAAA9gC,EAA4C,KAC5C+gC,EAAA/gC,EAAwC,KACxCghC,EAAAhhC,EAA+C,KAC/CihC,EAAAjhC,EAAkD,KAClDkhC,EAAAlhC,EAA4C,KAC5CmhC,EAAAnhC,EAAwC,KACxCohC,EAAAphC,EAAkD,KAClDqhC,EAAArhC,EAA4C,KAC5CshC,EAAAthC,EAAoD,KACpDmE,EAAAnE,EAA0B,IAEbD,GAAAkY,2BACTR,KAAM,sBAAuBG,UAAWkpB,EAAAS,4BAA6B/rB,aAAcrR,EAAAkD,aACnFoQ,KAAM,kBAAmBG,UAAWmpB,EAAAS,wBAAyBhsB,aAAcrR,EAAAkD,aAC3EoQ,KAAM,0BAA2BG,UAAWopB,EAAAS,+BAAgCjsB,aAAcrR,EAAAkD,aAC1FoQ,KAAM,6BAA8BG,UAAWqpB,EAAAS,kCAAmClsB,aAAcrR,EAAAkD,aAChGoQ,KAAM,kBAAmBG,UAAWspB,EAAAS,4BAA6BnsB,aAAcrR,EAAAkD,aAC/EoQ,KAAM,kBAAmBG,UAAWupB,EAAAS,wBAAyBpsB,aAAcrR,EAAAkD,aAC3EoQ,KAAM,6BAA8BG,UAAWwpB,EAAAS,kCAAmCrsB,aAAcrR,EAAAkD,aAChGoQ,KAAM,sBAAuBG,UAAWypB,EAAAS,4BAA6BtsB,aAAcrR,EAAAkD,aACnFoQ,KAAM,+BAAgCG,UAAW0pB,EAAAS,oCAAqCvsB,aAAcrR,EAAAkD,c/HikNlG26B,IACA,SAASliC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IgIlmN3GvC,EAAAP,EAA0D,IAC1DgD,EAAAhD,EAA0D,KAC1D8D,EAAA9D,EAA2C,KAC3CwE,EAAAxE,EAA4B,KAC5BgE,EAAAhE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAQhCuhC,EAAA,WAOI,QAAAA,6BAAoB98B,EACAC,EACA8T,EACA5T,EACAD,EACA+T,GALA9W,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAA4W,mBACA5W,KAAAgD,QACAhD,KAAA+C,cACA/C,KAAA8W,mBAXpB9W,KAAAiD,UAAoB,sBA+CxB,MAhCI08B,6BAAAz8B,UAAAC,SAAA,cAAA6K,GAAAhO,IAEEA,MAAK4W,iBAAiBhG,aAAa5Q,KAAKgD,MAAMuO,aAAiB,IACxD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACQmO,EAAKhL,MAAM8O,mBACXlS,QAAQoL,IAAI,cAAgBgD,EAAKhL,MAAMuO,aAAa/K,YACpDwH,EAAKqJ,kBAAkBrJ,EAAKhL,MAAMuO,aAAa/K,cAG/CwH,EAAKqJ,kBAAkBrJ,EAAKhL,MAAMwD,YAClCwH,EAAKhL,MAAMsO,wBAI7BtR,KAAKsX,kBAAoBtX,KAAKuX,eAAeC,cAER,mBAA3BxX,MAAKgD,MAAgB,YAC7BhD,KAAK8C,OAAOW,UAAU,2BAGlBk8B,4BAAAz8B,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,IAE1C/X,KAAKsX,kBAAkBY,UAAY,6BAA6BlY,KAAKiY,gBAAgBtG,aAAY,KAAK3R,KAAKiY,gBAAgBpK,GAAE,cAhCjI9N,GAACpB,EAAAwZ,UAAU,kBhIqnNNnX,EAAW,cAAerC,EAAOyZ,aAClCunB,4BAA4Bz8B,UAAW,iBAAkB,QgI1oNjEy8B,4BAAA5/B,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,qBhI8oNRrD,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ9D,EAAmBkD,gBAAiBxC,EAAe+C,YAAavD,EAAemD,YAAajD,EAAoBoD,mBAC5Li6B,+BgI5oNKxhC,GAAAwhC,4BAA2BA,GhIopNlCU,IACA,SAASniC,EAAQC,GiIlqNvBD,EAAAC,QAAA,mgGjIwqNMmiC,IACA,SAASpiC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IkInrN3GvC,EAAAP,EAA0D,IAC1DgD,EAAAhD,EAA0D,KAC1D8D,EAAA9D,EAA0F,KAC1FwE,EAAAxE,EAA4B,KAC5Bmb,EAAAnb,EAAuB,KAUvBwhC,EAAA,WASI,QAAAA,yBAAoB/8B,EACRC,EACA8D,EACAgQ,EACA5T,GAJQhD,KAAA6C,QACR7C,KAAA8C,SACA9C,KAAA4G,UACA5G,KAAA4W,mBACA5W,KAAAgD,QAZZhD,KAAAiD,UAAoB,oBAKpBjD,KAAA8Z,gBAAwB,EACxB9Z,KAAA+Z,QAkHJ,MAvGI6lB,yBAAA18B,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAK8Z,gBAAiB,EAEe,mBAA3B9Z,MAAKgD,MAAgB,YAC3BhD,KAAK8C,OAAOW,UAAU,0BAE1BzD,KAAKugC,cAAgBvgC,KAAK2R,aAAa6F,cAIvCxX,KAAK4W,iBAAiBhG,aAAa5Q,KAAKgD,MAAMuO,aAAiB,IAC1D0F,UACD,SAAAE,GAAgB,MAAAnJ,GAAKmJ,aAAeA,GACpC,SAAAtX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKiK,gBAAkBjK,EAAKmJ,aAAaa,OAAO,SAAUwoB,GACtD,MAAOA,GAAG3yB,KAAO7N,KAAKgD,MAAMuO,aAAa/K,YAC3Ci6B,KAAKzyB,IAAO,GACdA,EAAKpH,QAAQE,eAAiBkH,EAAKmJ,aAAa,GAAGtJ,KAE3D7N,KAAK4G,QAAQiK,OAAS7Q,KAAKgD,MAAM6N,OACjC7Q,KAAK4G,QAAQ8K,QAAS,GAI1BkuB,wBAAA18B,UAAAw9B,aAAA,WAEO1gC,KAAK2gC,mBAAmB3gC,KAAKugC,cAAczoB,SAG9C9X,KAAK4G,QAAQ+K,aAAe3R,KAAKugC,cAAczoB,QAGnD8nB,wBAAA18B,UAAA09B,eAAA,SAAehpB,GACX,GAAIslB,GAA4BtlB,EAAM1X,MACtCF,MAAK4G,QAAQE,gBAAkBo2B,EAAOplB,OAG1C8nB,wBAAA18B,UAAA29B,iBAAA,SAAiBjpB,GACb,GAAIkpB,GAA6BlpB,EAAM1X,MACvCF,MAAK4G,QAAQ8K,OAASovB,EAAS7hB,SAGnC2gB,wBAAA18B,UAAA69B,iBAAA,WACO/gC,KAAK2gC,mBAAmB3gC,KAAKugC,cAAczoB,SAG9C9X,KAAK4G,QAAQgL,OAAS,WACtB5R,KAAK4G,QAAQ6K,cAIbzR,KAAK4G,QAAQ0K,qBAEbtR,KAAK8C,OAAOW,UAAU,mCAG1Bm8B,wBAAA18B,UAAA89B,wBAAA,cAAAhzB,GAAAhO,IAEOA,MAAK2gC,mBAAmB3gC,KAAKugC,cAAczoB,SAG9C9X,KAAK4G,QAAQgL,OAAS,MACtB5R,KAAK8Z,gBAAiB,EACtB9Z,KAAK4W,iBAAiB5F,eAAehR,KAAK4G,SACrCqQ,UACG,SAACuE,GACG,MAA+B,UAA5BA,EAASE,gBACR1N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQY,EAASG,uBAC5E3N,EAAK8L,gBAAiB,KAG1B9L,EAAK8L,gBAAiB,MACtB9L,GAAKlL,OAAOW,UAAU,gCAE1B,SAAA5D,GAAS,MAAAmO,GAAKoJ,aAAoBvX,MAI9C+/B,wBAAA18B,UAAAohB,OAAA,WACItkB,KAAK8C,OAAOW,UAAU,2BAGlBm8B,wBAAA18B,UAAAy9B,mBAAR,SAA2BruB,GACvB,IAAIA,EAGA,MAFAtS,MAAK+Z,QACL/Z,KAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,sEAC5D,CAEX,IAAIqmB,GAAQjhC,KAAKmX,aAAaa,OAAO,SAAUwoB,GAC3C,MAAOA,GAAG7uB,eAAiBW,GAC7BmuB,KAAKzgC,MAEP,OAAIihC,GAAMzgC,OAAS,IACfR,KAAK+Z,QACL/Z,KAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,qEAEnE5a,KAAKugC,cAAczoB,MAAQ,IACpB,IArGf/X,GAACpB,EAAAwZ,UAAU,gBlI0vNNnX,EAAW,cAAerC,EAAOyZ,aAClCwnB,wBAAwB18B,UAAW,eAAgB,QkIjxN3D08B,wBAAA7/B,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,kBAAmBkV,EAAA0D,UlIqxN3Bjc,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ9D,EAAmBmD,sBAAuBnD,EAAmBkD,gBAAiBxC,EAAe+C,eACzKi6B,2BkInxNKzhC,GAAAyhC,wBAAuBA,GlI2xN9BsB,IACA,SAAShjC,EAAQC,GmI1yNvBD,EAAAC,QAAA,s7FnIgzNMgjC,IACA,SAASjjC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IoI3zN3GvC,EAAAP,EAAsC,IACtCgD,EAAAhD,EAAkC,KAClC8D,EAAA9D,EAAiD,KAQjDyhC,EAAA,WAII,QAAAA,gCAAoBj5B,GAAA5G,KAAA4G,UAHpB5G,KAAAiD,UAAmB,kBAQvB,MAHI48B,gCAAA38B,UAAAmX,YAAA,WACIra,KAAK4G,QAAQiL,kBAbrBguB,+BAAA9/B,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,qBpIu0NRrD,EAAW,qBAAsBkB,EAAmBmD,yBACrDw6B,kCoIr0NK1hC,GAAA0hC,+BAA8BA,GpI60NrCuB,IACA,SAASljC,EAAQC,GqIx1NvBD,EAAAC,QAAA,gpCrI81NMkjC,IACA,SAASnjC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IsIz2N3GvC,EAAAP,EAA0D,IAC1DgD,EAAAhD,EAA0D,KAC1D8D,EAAA9D,EAA0F,KAC1FkD,EAAAlD,EAA+B,KAC/B6D,EAAA7D,EAAmC,KACnCsE,EAAAtE,EAAmE,KACnEkjC,EAAAljC,EAAsC,KACtC+D,EAAA/D,EAA8D,KAC9DwE,EAAAxE,EAA4B,KAW5B0hC,EAAA,WA6BI,QAAAA,mCAAoBj9B,EACRC,EACA8D,EACA26B,EACA3qB,EACA4qB,EACA/nB,EACAwE,EACAjb,GARQhD,KAAA6C,QACR7C,KAAA8C,SACA9C,KAAA4G,UACA5G,KAAAuhC,gBACAvhC,KAAA4W,mBACA5W,KAAAwhC,sBACAxhC,KAAAyZ,kBACAzZ,KAAAie,qBACAje,KAAAgD,QApCZhD,KAAAiD,UAAoB,6BAEpBjD,KAAA+Z,QAUA/Z,KAAAyhC,kBAA4B,GAC5BzhC,KAAA0hC,4BAKA1hC,KAAA2hC,0BAAoC,EACpC3hC,KAAA4hC,iCAA2C,oCAC3C5hC,KAAA6hC,+BAAyC,SAEzC7hC,KAAA8hC,YAAmB,EAGnB9hC,KAAA8Z,gBAAwB,EA0X5B,MA5WIgmB,mCAAA58B,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAK+hC,UAAW,GAAIn1B,OAAOo1B,cAEY,mBAA3BhiC,MAAKgD,MAAgB,YAC7BhD,KAAK8C,OAAOW,UAAU,0BAE1BzD,KAAK4G,QAAU5G,KAAK4G,QAAQ2K,aAG5BvR,KAAK4W,iBAAiBjG,YAAY3Q,KAAKgD,MAAMwD,YACxCyQ,UACD,SAAA7C,GAAY,MAAApG,GAAKiK,gBAAkB7D,GACnC,SAAAvU,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAItCG,KAAKyZ,gBAAgB/S,iBAAiB1G,KAAK4G,QAAQE,gBAC9CmQ,UACD,SAAAgrB,GAAU,MAAAj0B,GAAKk0B,aAAeD,GAC9B,SAAApiC,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAItCG,KAAK4W,iBAAiBjG,YAAY3Q,KAAK4G,QAAQE,gBAC1CmQ,UACD,SAAA7C,GAAY,MAAApG,GAAKm0B,eAAiB/tB,GAClC,SAAAvU,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAItCG,KAAKyZ,gBAAgBpR,oBAAoBrI,KAAK4G,QAAQE,gBACjDmQ,UACD,SAAAmrB,GAAa,MAAAp0B,GAAKq0B,UAAYD,GAC9B,SAAAviC,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAItCG,KAAKyZ,gBAAgBnR,kBAAkBtI,KAAK4G,QAAQE,gBAC/CmQ,UACD,SAAAgrB,GAAU,MAAAj0B,GAAKs0B,eAAiBL,GAChC,SAAApiC,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAItCG,KAAKyZ,gBAAgBlR,sBAAsBvI,KAAK4G,QAAQE,gBACnDmQ,UACD,SAAA/F,GAAO,MAAAlD,GAAKu0B,mBAAqBrxB,GACjC,SAAArR,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAItCG,KAAKie,mBAAmBnL,kBACnBmE,UACD,SAAAurB,GAAQ,MAAAx0B,GAAKy0B,UAAYD,GACzB,SAAA3iC,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAItCG,KAAKie,mBAAmBlL,sBACnBkE,UACD,SAAA+lB,GAAS,MAAAhvB,GAAK00B,iBAAmB1F,GACjC,SAAAn9B,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAItC,KAAK,GADD8iC,IAA2B,SAAU,QAAS,UAAW,WAAY,YAChEC,EAAY,EAAGA,EAAID,EAAcniC,OAAQoiC,IAC9C5iC,KAAK6iC,qBAAqBF,EAAcC,GAI5C5iC,MAAKuhC,cAAcz6B,eAAiB9G,KAAK4G,QAAQE,eACjD9G,KAAKsQ,aAAa,GAAI5N,GAAA+R,8BAA8B,IAAI,IAE5DqrB,kCAAA58B,UAAA4/B,WAAA,WACI9iC,KAAK8hC,YAAW,GAEpBhC,kCAAA58B,UAAAmN,WAAA,cAAArC,GAAAhO,KAEQ+iC,EAAU,gBACVC,EAAahjC,KAAKijC,eAAeC,QAAS,kBAAkB,IAAKC,MAAMJ,EAC3E,IAAe,MAAZC,EAGC,MAFAhjC,MAAK+Z,YACL/Z,MAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,wFAKvE,KAAI,GAFAwoB,GAAqBpjC,KAAKijC,eAAeC,QAAS,kBAAkB,KAAKz1B,MAAM,KAC/E41B,GAAS,EACLviC,EAAE,EAAGA,GAAGsiC,EAAkB5iC,OAAO,EAAGM,IAExC,GAA2B,MAAvBsiC,EAAkBtiC,KACdsiC,EAAkBtiC,GAAGN,OAAO,GAAO4iC,EAAkBtiC,GAAGN,OAAQ,GAI5D,MAHA6iC,IAAO,EACPrjC,KAAK+Z,YACL/Z,MAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,mDAKnF5a,MAAKsQ,aAAaoE,MAAM0uB,EACxBpjC,KAAKsQ,aAAa9J,WAAaxG,KAAKiY,gBAAgBpK,GACpD7N,KAAKwhC,oBAAoBnxB,WAAWrQ,KAAKsQ,cAChC2G,UACG,SAAAuE,GACmC,aAA5BA,EAASG,kBACR3N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,8DACjDY,EAAS8nB,aAAe,kDAEhB,MAA3B9nB,EAAS+nB,iBAERv1B,EAAKpH,QAAQ6K,WAAa+J,EAAS+nB,eACnCv1B,EAAK8zB,YAAa,EAClB9zB,EAAKi1B,eAAe,GACpBj1B,EAAK+L,UAKb,SAAAla,GACImO,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,oDACnE5M,EAAK8zB,YAAa,GAEtB,eAGhBhC,kCAAA58B,UAAAsgC,aAAA,WACIxjC,KAAK8hC,YAAa,EAClB9hC,KAAKijC,eAAe,IAExBnD,kCAAA58B,UAAAugC,OAAA,cAAAz1B,GAAAhO,IACIA,MAAKyZ,gBAAgB9S,2BAA2B3G,KAAKuhC,eAChDtqB,UACD,SAACuK,GAEG,GAAuB,IAAnBA,EAAQhhB,OAGR,MAFAwN,GAAK+L,YACL/L,GAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,6CAKvE,KAAK,GAAIgoB,GAAI,EAAGA,EAAIphB,EAAQhhB,OAAQoiC,IAC5B50B,EAAKpH,QAAQ6K,WAAWkkB,QAAQnU,EAAQohB,UACxC50B,EAAKpH,QAAQ6K,WAAWgJ,KAAK+G,EAAQohB,GAI7C50B,GAAKpH,QAAQ0K,sBAEjB,SAAAzR,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAI1CigC,kCAAA58B,UAAAwgC,uBAAA,WACS1jC,KAAK2hC,0BAqBN3hC,KAAK2hC,0BAA2B,EAChC3hC,KAAK6hC,+BAAiC,SACtC7hC,KAAK4hC,iCAAmC5hC,KAAK4hC,iCAAiCsB,QAAQ,OAAQ,SAG9FljC,KAAKuhC,cAAc55B,aAAe,OAzBlC3H,KAAK2hC,0BAA2B,EAChC3hC,KAAK6hC,+BAAiC,sBACtC7hC,KAAK4hC,iCAAmC5hC,KAAK4hC,iCAAiCsB,QAAQ,QAAS,QAG/FljC,KAAKuhC,cAAc55B,aAAe,SACiB,mBAAvC3H,MAAKuhC,cAA4B,iBACzCvhC,KAAKuhC,cAAc35B,eAAiB5H,KAAKyiC,UAAU,GAAGkB,gBACN,mBAAxC3jC,MAAKuhC,cAA6B,kBAC1CvhC,KAAKuhC,cAAc15B,iBAAkB,GAAI+E,OAAOo1B,eACF,mBAAtChiC,MAAKuhC,cAA2B,gBACxCvhC,KAAKuhC,cAAcz5B,eAAgB,GAAI8E,OAAOo1B,eACC,mBAAvChiC,MAAKuhC,cAA4B,iBACzCvhC,KAAKuhC,cAAcx5B,eAAiB,QACa,mBAAzC/H,MAAKuhC,cAA8B,mBAC3CvhC,KAAKuhC,cAAcv5B,iBAAmB,GACe,mBAA7ChI,MAAKuhC,cAAkC,uBAC/CvhC,KAAKuhC,cAAct5B,sBAAuB;AAWlDrI,QAAQoL,IAAIhL,KAAKuhC,gBAGrBzB,kCAAA58B,UAAA8N,eAAA,cAAAhD,GAAAhO,IAEI,IADAA,KAAK8Z,gBAAiB,EACiB,IAAnC9Z,KAAK4G,QAAQ6K,WAAWjR,OAAc,CACtC,GAAIojC,GAAc,4KAMlB,OAJA5jC,MAAK+Z,YACL/Z,MAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQgpB,IAMvE5jC,KAAK4W,iBAAiB5F,eAAehR,KAAK4G,SACrCqQ,UACD,SAACuE,GACG,MAAgC,UAA5BA,EAASE,gBACT1N,EAAK+L,YACL/L,GAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQY,EAASG,uBAIhF3N,GAAKlL,OAAOW,UAAU,+BAE1B,SAAA5D,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAI1CigC,kCAAA58B,UAAA2gC,uBAAA,SAAuBnvB,GACnB,GAAIiL,GAAgB3f,KAAK4G,QAAQ6K,WAAWkkB,QAAQjhB,EACpD1U,MAAK4G,QAAQ6K,WAAWqyB,OAAOnkB,EAAO,GACtC3f,KAAK4G,QAAQ0K,sBAGjBwuB,kCAAA58B,UAAA6gC,mBAAA,WACI/jC,KAAK4G,QAAQ6K,cACbzR,KAAK4G,QAAQ0K,sBAGjBwuB,kCAAA58B,UAAAohB,OAAA,WACItkB,KAAK4G,QAAQiL,iBACb7R,KAAK8C,OAAOW,UAAU,2BAG1Bq8B,kCAAA58B,UAAA8gC,SAAA,SAASpsB,EAAcqsB,GACnB,GAAI/G,GAA4BtlB,EAAM1X,MACtC,QAAQ+jC,GACJ,IAAK,SACDjkC,KAAKuhC,cAAcx6B,OAA0B,QAAjBm2B,EAAOplB,MAAkBolB,EAAOplB,MAAQ,EACpE,MACJ,KAAK,QACD9X,KAAKuhC,cAAcv6B,MAAyB,QAAjBk2B,EAAOplB,MAAkBolB,EAAOplB,MAAQ,EACnE,MACJ,KAAK,UACD9X,KAAKuhC,cAAct6B,QAA2B,QAAjBi2B,EAAOplB,OAAmBolB,EAAOplB,QAC9D,MACJ,KAAK,QACD9X,KAAKuhC,cAAcr6B,MAAyB,QAAjBg2B,EAAOplB,OAAmBolB,EAAOplB,QAC5D,MACJ,KAAK,WACD9X,KAAKuhC,cAAcp6B,KAAwB,QAAjB+1B,EAAOplB,OAAmBolB,EAAOplB,QAC3D,MACJ,KAAK,eACD9X,KAAKuhC,cAAch6B,SAA4B,QAAjB21B,EAAOplB,OAAmBolB,EAAOplB,QAC/D,MACJ,KAAK,gBACD9X,KAAKuhC,cAAc35B,eAAiBs1B,EAAOplB,KAC3C,MACJ,KAAK,kBACD9X,KAAKuhC,cAAc15B,iBAAmBq1B,EAAOplB,KAC7C,MACJ,KAAK,gBACD9X,KAAKuhC,cAAcz5B,eAAiBo1B,EAAOplB,KAC3C,MACJ,KAAK,YACD9X,KAAKuhC,cAAcr5B,cAAgBg1B,EAAOplB,QAKtDgoB,kCAAA58B,UAAAghC,QAAA,SAAQtsB,EAAcqsB,GAClB,GAAIE,GAAyBvsB,EAAM1X,MAEnC,OAAG0d,QAAOumB,EAAMrsB,QACb9X,KAAK+Z,QACL/Z,KAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAO,0DAEjEupB,EAAMrsB,MAAQ,MAGH,WAAZmsB,IACCjkC,KAAKuhC,cAAcv5B,kBAAoBm8B,EAAMrsB,YAClC,aAAZmsB,IACCjkC,KAAKuhC,cAAcn5B,UAAY+7B,EAAMrsB,UAG7CgoB,kCAAA58B,UAAAkhC,mBAAA,SAAmBxsB,EAAcqsB,GACb,WAAZA,IACAjkC,KAAKuhC,cAAc55B,aAAe,UAEtB,aAAZs8B,IACAjkC,KAAKuhC,cAAc55B,aAAe,WACe,mBAArC3H,MAAKuhC,cAA0B,eACvCvhC,KAAKuhC,cAAcr5B,cAAe,GAAI0E,OAAOo1B,eACI,mBAAzChiC,MAAKuhC,cAA8B,mBAC3CvhC,KAAKuhC,cAAcp5B,iBAAmB,QACG,mBAAjCnI,MAAKuhC,cAAsB,WACnCvhC,KAAKuhC,cAAcn5B,SAAW,KAI1C03B,kCAAA58B,UAAAmhC,uBAAA,SAAuBzsB,EAAcqsB,EAAiBnsB,GACnC,WAAZmsB,IACCjkC,KAAKuhC,cAAcx5B,eAAiB+P,GAEzB,aAAZmsB,IACCjkC,KAAKuhC,cAAcp5B,iBAAmB2P,IAI9CgoB,kCAAA58B,UAAAohC,QAAA,SAAQ1sB,EAAcqsB,GAClB,GAAInD,GAA6BlpB,EAAM1X,MACvC,QAAQ+jC,GACJ,IAAK,eACDjkC,KAAKuhC,cAAcn6B,aAAe05B,EAAS7hB,OAC3C,MACJ,KAAK,0BACDjf,KAAKuhC,cAAcl6B,qBAAuBy5B,EAAS7hB,OACnD,MACJ,KAAK,SACDjf,KAAKuhC,cAAcj6B,MAAQw5B,EAAS7hB,OACpC,MACJ,KAAK,uBACDjf,KAAKuhC,cAAct5B,qBAAuB64B,EAAS7hB,UAK/D6gB,kCAAA58B,UAAAqhC,mBAAA,WACIvkC,KAAKuhC,cAAc79B,MAAQ1D,KAAKyhC,kBAAkB+C,OAC9CxkC,KAAKyhC,kBAAkB+C,OAAOhkC,OAAS,IACvCR,KAAK0hC,yBAA2B1hC,KAAKkiC,aAAalqB,OAAO,SAAUwoB,GAC/D,MAAOA,GAAGiE,cAAc9O,QAAQ31B,KAAKyhC,kBAAkBgD,mBACzDhE,KAAKzgC,SAIf8/B,kCAAA58B,UAAAwhC,mBAAA,SAAmBlX,GACfxtB,KAAKyhC,kBAAoBjU,EACzBxtB,KAAK0hC,4BACL1hC,KAAKuhC,cAAc79B,MAAQ8pB,GAGvBsS,kCAAA58B,UAAA2/B,qBAAR,SAA6BjxB,GAA7B,GAAA5D,GAAAhO,IACIA,MAAKie,mBAAmBrL,QAAQhB,GAC3BqF,UACD,SAACqH,GACG,OAAQ1M,GACJ,IAAK,SACD5D,EAAKuQ,QAAUD,CACf,MACJ,KAAK,QACDtQ,EAAKwQ,OAASF,CACd,MACJ,KAAK,UACDtQ,EAAK22B,SAAWrmB,CAChB,MACJ,KAAK,WACDtQ,EAAK0Q,UAAYJ,CACjB,MACJ,KAAK,WACDtQ,EAAK42B,UAAYtmB,IAI7B,SAAAze,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAxZ9CigC,kCAAA//B,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,KAA4BA,EAAQ,MACrDkG,WAAYg9B,EAAAuD,sBAAuB1iC,EAAA6Q,cACnC5O,YAAahD,EAAAiD,qBtIqqORrD,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ9D,EAAmBmD,sBAAuBi8B,EAA0BuD,sBAAuB3iC,EAAmBkD,gBAAiBnD,EAAuBwC,mBAAoBnD,EAAkBkD,eAAgBrC,EAAqBmD,kBAAmB1C,EAAe+C,eAC/Um6B,qCsInqOK3hC,GAAA2hC,kCAAiCA,GtI2qOxCgF,IACA,SAAS5mC,EAAQC,GAEtB,YuIjsOD,IAAA0mC,GAAA,mBAAAA,yBACI7kC,KAAA8G,kBACA9G,KAAA0D,MAAgB,GAChB1D,KAAA+G,OAAiB,GACjB/G,KAAAgH,MAAgB,GAChBhH,KAAAiH,WACAjH,KAAAkH,SACAlH,KAAAmH,QACAnH,KAAAoH,cAAwB,EACxBpH,KAAAqH,sBAAgC,EAChCrH,KAAAsH,OAAiB,EACjBtH,KAAAuH,YAgBJ,MAAAs9B,yBA3Ba1mC,GAAA0mC,sBAAqBA,GvIutO5BE,IACA,SAAS7mC,EAAQC,GwIxtOvBD,EAAAC,QAAA,02bxI8tOM6mC,IACA,SAAS9mC,EAAQC,GyI/tOvBD,EAAAC,QAAA,+tCzIquOM8mC,IACA,SAAS/mC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I0IhvO3GvC,EAAAP,EAAyD,IACzDgD,EAAAhD,EAA0D,KAC1D8D,EAAA9D,EAA2C,KAC3CwE,EAAAxE,EAA4B,KAC5BgE,EAAAhE,EAA4B,KAE5BkE,EAAAlE,EAAgC,KAQhC2hC,EAAA,WAcI,QAAAA,6BAAoBl9B,EACRC,EACA8T,EACA5T,EACA8T,EACA/T,GALQ/C,KAAA6C,QACR7C,KAAA8C,SACA9C,KAAA4W,mBACA5W,KAAAgD,QACAhD,KAAA8W,mBACA9W,KAAA+C,cAlBZ/C,KAAAiD,UAAoB,kBAOpBjD,KAAA+Z,QAEA/Z,KAAAklC,YAAoB,QACpBllC,KAAAuT,iBAA2B,EAC3BvT,KAAAmoB,aAAqB,OAwFzB,MA7EI4X,6BAAA78B,UAAAC,SAAA,cAAA6K,GAAAhO,IAGKA,MAAK4W,iBAAiBhG,aAAa5Q,KAAKgD,MAAMuO,aAAiB,IAC3D0F,UACD,SAAAC,GAAclJ,EAAKmJ,aAAeD,EAAWtX,QAAQoL,IAAI,aAAegD,EAAKmJ,aAAa,GAAGxF,eAC7F,SAAA9R,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACQmO,EAAKhL,MAAM8O,kBACX9D,EAAKqJ,kBAAkBrJ,EAAKhL,MAAMuO,aAAa/K,aAI/CwH,EAAKqJ,kBAAkBrJ,EAAKhL,MAAMwD,YAClCwH,EAAKhL,MAAMsO,wBAIvBtR,KAAKsX,kBAAoBtX,KAAKuX,eAAeC,cACR,mBAA3BxX,MAAKgD,MAAgB,YAC3BhD,KAAK8C,OAAOW,UAAU,0BAE1BzD,KAAK8W,iBAAiBvD,gBAAgBvT,KAAKgD,MAAMuO,aAAiB,GAAGvR,KAAKgD,MAAMuO,aAAa/K,YAAYyQ,UACrG,SAAAQ,GAAYzJ,EAAKuF,gBAAkBkE,EAAQC,QACZ,GAAxB1J,EAAKuF,iBAAkD,GAAtBvF,EAAKhL,MAAMI,UAC3C4K,EAAKma,aAAa,QAClBna,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAO,6IAGxE,SAAA/a,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAGtCG,KAAK4W,iBAAiB7F,uBAAuB/Q,KAAKgD,MAAM6N,QACnDoG,UACD,SAAAC,GAAa,MAAAlJ,GAAKkJ,UAAYA,GAC9B,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAEtCG,KAAKklC,YAAY,OACjBllC,KAAKmlC,yBAEDpF,4BAAA78B,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA8B/X,KAAKmX,aAAaa,OAAO,SAAU5D,GACjE,MAAOA,GAASvG,KAAOrH,GAEvBuR,GAAevX,OAAS,IACxBR,KAAKiY,gBAAkBF,EAAe,IAE1C/X,KAAKsX,kBAAkBY,UAAY,6BAA6BlY,KAAKiY,gBAAgBtG,aAAY,KAAK3R,KAAKiY,gBAAgBpK,GAAE,cAEjIkyB,4BAAA78B,UAAA+N,gBAAA,cAAAjD,GAAAhO,IACIA,MAAK4W,iBAAiB3F,gBAAgBjR,KAAKmlC,sBACtCluB,UACO,SAAAmuB,GAAa,MAAAp3B,GAAKo3B,YAAcA,GAChC,SAAAvlC,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WAEI,MAAImO,GAAKoJ,cACLpJ,EAAK+L,YACL/L,GAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,yBAA2B5M,EAAKoJ,iBAG/FpJ,EAAKk3B,YAAa,WAE1BrhC,QAAOC,SAASC,aAMhCg8B,4BAAA78B,UAAAmiC,kBAAA,SAAkBC,GAClBtlC,KAAKmlC,qBAAqB1qB,KAAK6qB,IAGnCvF,4BAAA78B,UAAAqiC,aAAA,WACIvlC,KAAK8C,OAAOW,UAAU,2BA7E1B1D,GAACpB,EAAAwZ,UAAU,kB1IiyONnX,EAAW,cAAerC,EAAOyZ,aAClC2nB,4BAA4B78B,UAAW,iBAAkB,Q0I7zOjE68B,4BAAAhgC,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,qB1Ii0ORrD,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ9D,EAAmBkD,gBAAiBxC,EAAe+C,YAAarD,EAAoBoD,gBAAiBtD,EAAemD,eAChMw6B,+B0I/zOK5hC,GAAA4hC,4BAA2BA,G1Iu0OlCyF,IACA,SAAStnC,EAAQC,G2It1OvBD,EAAAC,QAAA,gtD3I41OMsnC,IACA,SAASvnC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I4Iv2O3GvC,EAAAP,EAAyD,IACzDgD,EAAAhD,EAA0D,KAC1D8D,EAAA9D,EAAsG,KACtGwE,EAAAxE,EAA4B,KAE5Bmb,EAAAnb,EAAuB,KACvBkE,EAAAlE,EAAgC,KAChCgE,EAAAhE,EAA4B,KASxB4hC,EAAA,WA2BA,QAAAA,yBAAoBn9B,EACRC,EACA8D,EACAgQ,EACAE,EACA9T,EACAD,GANQ/C,KAAA6C,QACR7C,KAAA8C,SACA9C,KAAA4G,UACA5G,KAAA4W,mBACA5W,KAAA8W,mBACA9W,KAAAgD,QACAhD,KAAA+C,cAhCZ/C,KAAAiD,UAAoB,iBAkBpBjD,KAAA+Z,QACA/Z,KAAAmoB,aAAqB,QACrBnoB,KAAA8Z,gBAAwB,EAGxB9Z,KAAAuT,iBAA2B,EAyS/B,MA/QIysB,yBAAA98B,UAAAC,SAAA,cAAA6K,GAAAhO,IAGIA,MAAK4G,QAAQiK,OAAS7Q,KAAKgD,MAAM6N,OACjC7Q,KAAK4G,QAAQ8+B,IAAM,EACnB1lC,KAAK4G,QAAQ++B,kBAAmB,EAChC3lC,KAAK4G,QAAQg/B,OAAS,EACtB5lC,KAAK4G,QAAQi/B,oBAAsB,EACnC7lC,KAAK4G,QAAQk/B,sBAAwB,EACrC9lC,KAAK4G,QAAQm/B,iBAAmB,EAChC/lC,KAAK4G,QAAQo/B,wBAA0B,EACvChmC,KAAK4G,QAAQq/B,eAAiB,EAC9BjmC,KAAK4G,QAAQs/B,cAAgB,EAC7BlmC,KAAK4G,QAAQu/B,eAAiB,EAC9BnmC,KAAK4G,QAAQw/B,iBAAmB,EAChCpmC,KAAK4G,QAAQy/B,eAAiB,EAE9BrmC,KAAK4G,QAAQ0/B,SAAW,EACxBtmC,KAAK4G,QAAQ2/B,OAAS,EACtBvmC,KAAK4G,QAAQ4/B,OAAS,EACtBxmC,KAAK4G,QAAQ6/B,SAAW,EACxBzmC,KAAK4G,QAAQ8/B,aAAe,EAE5B1mC,KAAK4W,iBAAiBhG,aAAa5Q,KAAKgD,MAAMuO,aAAiB,IAC1D0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GACnC,WACKmO,EAAKhL,MAAM8O,kBACX9D,EAAKqJ,kBAAkBrJ,EAAKhL,MAAMuO,aAAa/K,aAI/CwH,EAAKqJ,kBAAkBrJ,EAAKhL,MAAMwD,YAClCwH,EAAKhL,MAAMsO,wBAIvBtR,KAAKsX,kBAAoBtX,KAAKuX,eAAeC,cAER,mBAA3BxX,MAAKgD,MAAgB,YAC3BhD,KAAK8C,OAAOW,UAAU,0BAE1B7D,QAAQoL,IAAK,qBAAuBhL,KAAKuT,gBAAkB,mBAAqBvT,KAAKgD,MAAMI,SAE3FpD,KAAK8W,iBAAiBvD,gBAAgBvT,KAAKgD,MAAMuO,aAAiB,GAAGvR,KAAKgD,MAAMuO,aAAa/K,YAAYyQ,UACrG,SAAAQ,GAAYzJ,EAAKuF,gBAAkBkE,EAAQC,QACZ,GAAxB1J,EAAKuF,iBAAkD,GAAtBvF,EAAKhL,MAAMI,UAC3C4K,EAAKma,aAAa,QAClBna,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAO,6IAGxE,SAAA/a,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAItCG,KAAKgD,MAAMsO,qBAIXtR,KAAK4W,iBAAiB9F,sBAAsB,SAAU9Q,KAAKgD,MAAM6N,QAC5DoG,UACG,SAAA0vB,GACI34B,EAAK24B,gBAAkBA,EACpB34B,EAAK24B,gBAAgBnmC,OAAO,GAC3BwN,EAAKpH,QAAQggC,iBAAmB54B,EAAK24B,gBAAgB,GAAG94B,GACxDG,EAAKpH,QAAQigC,mBAAqB74B,EAAK24B,gBAAgB,GAAGh1B,aAC1D3D,EAAKma,aAAa,SAkBlBna,EAAKma,aAAa,QAClBna,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBACtCC,OAAQ,wGAGxB,SAAA/a,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAItCG,KAAK4W,iBAAiB9F,sBAAsB,SAAU9Q,KAAKgD,MAAM6N,QAC5DoG,UACD,SAAA6vB,GAAmB,MAAA94B,GAAK84B,gBAAkBA,GAC1C,SAAAjnC,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKpH,QAAQmgC,iBAAmB/4B,EAAK84B,gBAAgB,GAAGj5B,GACxDG,EAAKpH,QAAQogC,mBAAqBh5B,EAAK84B,gBAAgB,GAAGn1B,gBAI/DquB,wBAAA98B,UAAAmU,kBAAR,SAA0B7Q,GACrB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,IAE1C/X,KAAKsX,kBAAkBY,UAAY,6BAA6BlY,KAAKiY,gBAAgBtG,aAAY,KAAK3R,KAAKiY,gBAAgBpK,GAAE,cAIjImyB,wBAAA98B,UAAA09B,eAAA,SAAehpB,EAAczQ,GACzB,GAAI+1B,GAA4BtlB,EAAM1X,MAC1B,WAARiH,IACAnH,KAAK4G,QAAQggC,kBAAoB1J,EAAOplB,MACxC9X,KAAK4G,QAAQigC,mBAAqB3J,EAAO/xB,QAAQ+xB,EAAO+J,eAAe/uB,WAE/D,UAAR/Q,IACAnH,KAAK4G,QAAQmgC,kBAAoB7J,EAAOplB,MACxC9X,KAAK4G,QAAQogC,mBAAqB9J,EAAO/xB,QAAQ+xB,EAAO+J,eAAe/uB,YAG/E8nB,wBAAA98B,UAAAgkC,sBAAA,SAAsBtvB,GAClB,GAAIkpB,GAA6BlpB,EAAM1X,MACtC,QAAQ4gC,EAASjzB,IACb,IAAK,WACF7N,KAAK4G,QAAQ0/B,SAAWxF,EAAS7hB,QAAU,EAAI,CAC/C,MACJ,KAAK,SACDjf,KAAK4G,QAAQ2/B,OAASzF,EAAS7hB,QAAU,EAAI,CAC7C,MACJ,KAAK,SACDjf,KAAK4G,QAAQ4/B,OAAS1F,EAAS7hB,QAAU,EAAI,CAC7C,MACJ,KAAK,WACDjf,KAAK4G,QAAQ6/B,SAAW3F,EAAS7hB,QAAU,EAAI,CAC/C,MACJ,KAAK,eACDjf,KAAK4G,QAAQ8/B,aAAe5F,EAAS7hB,QAAU,EAAI,IAI/D+gB,wBAAA98B,UAAA29B,iBAAA,SAAiBjpB,GACb,GAAIkpB,GAA6BlpB,EAAM1X,MAEpB,SAAhB4gC,EAASjzB,IAAiBizB,EAAS7hB,UAEnCjf,KAAK4G,QAAQ8+B,IAAK,GAGF,QAAhB5E,EAASjzB,IAAgBizB,EAAS7hB,UAiBjCjf,KAAK4G,QAAQ8+B,IAAK,EAClB1lC,KAAK4G,QAAQ++B,kBAAmB,EAChC3lC,KAAK4G,QAAQg/B,OAAQ,EACrB5lC,KAAK4G,QAAQi/B,oBAAqB,EAClC7lC,KAAK4G,QAAQk/B,sBAAuB,EACpC9lC,KAAK4G,QAAQm/B,iBAAkB,EAC/B/lC,KAAK4G,QAAQo/B,wBAAyB,EACtChmC,KAAK4G,QAAQq/B,eAAgB,EAC7BjmC,KAAK4G,QAAQs/B,cAAe,EAC5BlmC,KAAK4G,QAAQu/B,eAAgB,EAC7BnmC,KAAK4G,QAAQw/B,iBAAkB,EAC/BpmC,KAAK4G,QAAQy/B,eAAgB,IA4DrCrG,wBAAA98B,UAAAikC,aAAA,cAAAn5B,GAAAhO,IACIA,MAAK8Z,gBAAiB,EAGtB9Z,KAAK4W,iBAAiBzF,qBAAqBnR,KAAK4G,SAC3CqQ,UACD,SAAAuE,GAAY,MAAAxN,GAAKo5B,gBAAkB5rB,GACnC,SAAA3b,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACI,MAAImO,GAAKoJ,iBACLiwB,OAAMr5B,EAAKoJ,cAG6B,UAAxCpJ,EAAKo5B,gBAAgB1rB,gBACrB1N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ5M,EAAKo5B,gBAAgBzrB,uBACxF3N,EAAK8L,gBAAiB,QAG1B9L,GAAKlL,OAAOW,UAAU,6BAKlCu8B,wBAAA98B,UAAAohB,OAAA,WACItkB,KAAK8C,OAAOW,UAAU,2BA/Q1B1D,GAACpB,EAAAwZ,UAAU,kB5IiiPNnX,EAAW,cAAerC,EAAOyZ,aAClC4nB,wBAAwB98B,UAAW,iBAAkB,Q4IzlP7D88B,wBAAAjgC,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA0D,QAC/B3Y,WAAYpC,EAAA8P,4BAA6B9P,EAAA+P,gC5I6lPpCjR,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ9D,EAAmB8P,4BAA6B9P,EAAmBkD,gBAAiB9C,EAAoBoD,gBAAiB9C,EAAe+C,YAAavD,EAAemD,eAChPy6B,2B4I3lPS7hC,GAAA6hC,wBAAuBA,G5ImmPlCsH,IACA,SAASppC,EAAQC,G6IpnPvBD,EAAAC,QAAA;E7I0nPMopC,IACA,SAASrpC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I8IroP3GvC,EAAAP,EAAyD,IACzDgD,EAAAhD,EAA0D,KAC1D8D,EAAA9D,EAA8G,KAC9GkD,EAAAlD,EAA+B,KAC/BwE,EAAAxE,EAA4B,KAE5BkE,EAAAlE,EAAgC,KAEhCgE,EAAAhE,EAA4B,KAS5B6hC,EAAA,WAqBI,QAAAA,mCAAoBp9B,EACRC,EACA8D,EACAgQ,EACA6C,EACA3C,EACA9T,EACAD,GAPQ/C,KAAA6C,QACR7C,KAAA8C,SACA9C,KAAA4G,UACA5G,KAAA4W,mBACA5W,KAAAyZ,kBACAzZ,KAAA8W,mBACA9W,KAAAgD,QACAhD,KAAA+C,cA3BZ/C,KAAAiD,UAAoB,6BAKpBjD,KAAAwnC,oBAAwC,KAIxCxnC,KAAAynC,0BAAoC,GACpCznC,KAAA0nC,oCACA1nC,KAAA2nC,wBAAkC,GAClC3nC,KAAA4nC,kCACA5nC,KAAA6nC,wBAAkC,GAGlC7nC,KAAAmoB,aAAqB,OACrBnoB,KAAA+Z,QACA/Z,KAAAuT,iBAA2B,EA0T/B,MA1SI0sB,mCAAA/8B,UAAA4kC,gBAAA,WAEI9nC,KAAKwnC,oBAAsBxnC,KAAK+nC,eAAevwB,cAC/CxX,KAAKgoC,kBAAoBhoC,KAAKioC,aAAazwB,eAE/CyoB,kCAAA/8B,UAAAC,SAAA,cAAA6K,GAAAhO,IAEIA,MAAK4W,iBAAiBhG,aAAa5Q,KAAKgD,MAAMuO,aAAiB,IAC1D0F,UACD,SAAAC,GAAY,MAAAlJ,GAAKmJ,aAAeD,GAChC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACQmO,EAAKhL,MAAM8O,kBACX9D,EAAKqJ,kBAAkBrJ,EAAKhL,MAAMuO,aAAa/K,aAG/CwH,EAAKqJ,kBAAkBrJ,EAAKhL,MAAMwD,YAClCwH,EAAKhL,MAAMsO,wBAKxBtR,KAAKsX,kBAAoBtX,KAAKuX,eAAeC,cAEN,mBAA3BxX,MAAKgD,MAAgB,YAC5BhD,KAAK8C,OAAOW,UAAU,0BAG3BzD,KAAK8W,iBAAiBvD,gBAAgBvT,KAAKgD,MAAMuO,aAAiB,GAAGvR,KAAKgD,MAAMuO,aAAa/K,YAAYyQ,UACpG,SAAAQ,GACIzJ,EAAKuF,gBAAkBkE,EAAQC,QACJ,GAAxB1J,EAAKuF,iBAAkD,GAAtBvF,EAAKhL,MAAMI,UAC3C4K,EAAK+L,QACL/L,EAAKma,aAAa,QAClBna,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAO,6IAGxE,SAAA/a,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAItCG,KAAK4G,QAAQshC,WAAY,EACzBloC,KAAK4G,QAAQma,UAAY,OACzB/gB,KAAK4G,QAAQuhC,kBAAoBnoC,KAAKgD,MAAMuO,aAAa/K,WACzDxG,KAAK4G,QAAQwhC,iBAAmBpoC,KAAKgD,MAAMuO,aAAa/K,WACxDxG,KAAK4G,QAAQyhC,iBAAmBroC,KAAKgD,MAAMuO,aAAa/K,WAQxDxG,KAAK4W,iBAAiB9F,sBAAsB,SAAU9Q,KAAKgD,MAAM6N,QAC5DoG,UACD,SAAA0vB,GAAoB34B,EAAK24B,gBAAkBA,EACL,GAA/B34B,EAAK24B,gBAAgBnmC,SACpBwN,EAAKma,aAAa,QAClBna,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAClCC,OAAQ,wGAGxB,SAAA/a,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKpH,QAAQ0hC,iBAAmBt6B,EAAK24B,gBAAgB,GAAG94B,GAGxDG,EAAKyL,gBAAgB/S,iBAAiBsH,EAAK24B,gBAAgB,GAAG94B,IACzDoJ,UACD,SAAAgrB,GAAU,MAAAj0B,GAAKu6B,sBAAwBtG,GACvC,SAAApiC,GAAS,MAAAmO,GAAKoJ,aAAoBvX,MAK9CG,KAAK4W,iBAAiB9F,sBAAsB,SAAU9Q,KAAKgD,MAAM6N,QAC5DoG,UACD,SAAA6vB,GAAmB,MAAA94B,GAAK84B,gBAAkBA,GAC1C,SAAAjnC,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WAEImO,EAAKpH,QAAQwhC,iBAAmBp6B,EAAKhL,MAAMuO,aAAa/K,WACxDwH,EAAKpH,QAAQyhC,iBAAmBr6B,EAAKhL,MAAMuO,aAAa/K,WAGxDwH,EAAKyL,gBAAgB/S,iBAAiBsH,EAAKhL,MAAMuO,aAAa/K,YACzDyQ,UACD,SAAAgrB,GAAU,MAAAj0B,GAAKw6B,oBAAsBvG,GACrC,SAAApiC,GAAS,MAAAmO,GAAKoJ,aAAoBvX,OAI1CogC,kCAAA/8B,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA8B/X,KAAKmX,aAAaa,OAAO,SAAU5D,GACjE,MAAOA,GAASvG,KAAOrH,GAEvBuR,GAAevX,OAAS,IACxBR,KAAKiY,gBAAkBF,EAAe,IAE1C/X,KAAKsX,kBAAkBY,UAAY,6BAA6BlY,KAAKiY,gBAAgBtG,aAAY,KAAK3R,KAAKiY,gBAAgBpK,GAAE,cAEjIoyB,kCAAA/8B,UAAA09B,eAAA,SAAehpB,EAAczQ,EAAcshC,GAA3C,GAAAz6B,GAAAhO,KACQk9B,EAA2BtlB,EAAM1X,MACxB,YAATiH,IACAnH,KAAK4G,QAAQ0hC,kBAAoBpL,EAAOplB,MACxC9X,KAAKyZ,gBAAgB/S,iBAAiB1G,KAAK4G,QAAQ0hC,kBAC9CrxB,UACD,SAAAgrB,GAAU,MAAAj0B,GAAKu6B,sBAAwBtG,GACvC,SAAApiC,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAI7B,WAATsH,GAAsC,aAAjBshC,IACrBzoC,KAAK4G,QAAQwhC,kBAAoBlL,EAAOplB,MACxC9X,KAAKyZ,gBAAgB/S,iBAAiB1G,KAAK4G,QAAQwhC,kBAC9CnxB,UACG,SAAAgrB,GAAWj0B,EAAKu6B,sBAAwBtG,GAExC,SAAApiC,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAGjC,WAATsH,GAAsC,WAAjBshC,IACrBzoC,KAAK4G,QAAQyhC,kBAAoBnL,EAAOplB,MACxC9X,KAAKyZ,gBAAgB/S,iBAAiB1G,KAAK4G,QAAQyhC,kBAC9CpxB,UACD,SAAAgrB,GAAU,MAAAj0B,GAAKw6B,oBAAsBvG,GACrC,SAAApiC,GAAS,MAAAmO,GAAKoJ,aAAoBvX,MAK9CogC,kCAAA/8B,UAAAwlC,0BAAA,SAA0B9wB,EAAc+wB,GACpC3oC,KAAK4G,QAAQma,UAAY4nB,GAG7B1I,kCAAA/8B,UAAA0lC,0BAAA,SAA0BhxB,GACtB,GAAIkpB,GAA6BlpB,EAAM1X,MACvCF,MAAK4G,QAAQshC,UAAYpH,EAAS7hB,SAGtCghB,kCAAA/8B,UAAA2lC,gBAAA,cAAA76B,GAAAhO,IAOI,IANAA,KAAK+Z,QACwB,UAA1B/Z,KAAK4G,QAAQma,YACZ/gB,KAAK4G,QAAQma,UAAY,QAIS,IAAlC/gB,KAAK4G,QAAQ0hC,kBAAqD,SAA3BtoC,KAAK4G,QAAQma,UAGpD,MAFA/gB,MAAK+Z,YACL/Z,MAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,yGAGvE,IAAI5a,KAAK4G,QAAQ0hC,mBAAqBtoC,KAAK4G,QAAQwhC,iBAG/C,MAFApoC,MAAK+Z,YACL/Z,MAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,yDAGvE,IAAgC,OAA7B5a,KAAKwnC,oBAGJ,MAFAxnC,MAAK+Z,YACL/Z,MAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,2DAInE,IAAIqnB,GAASjiC,KAAKwnC,oBAAoB1vB,MAAMorB,QAAQ,OAAQ,IAAIA,QAAQ,MAAO,IAAIuB,aAEnFzkC,MAAK4G,QAAQq7B,OAASA,EAAOx0B,MAAM,KAEA,IAA/BzN,KAAK4G,QAAQq7B,OAAOzhC,QAAkD,IAAlCR,KAAK4G,QAAQq7B,OAAO,GAAGzhC,QAC3DR,KAAK4G,QAAQq7B,OAAO6G,MAE5B9oC,KAAK4W,iBAAiBxF,yBAAyBpR,KAAK4G,SAC/CqQ,UACD,SAACuE,GACG,GAAIG,GAA0B,EAE9B,IAAIH,EAASutB,eAAevoC,OAAS,EAAG,CACpCmb,GAAmB,qEACnB,KAAK,GAAIinB,GAAY,EAAGA,EAAIpnB,EAASutB,eAAevoC,OAAQoiC,IACxDjnB,GAAmB,KAAKH,EAASutB,eAAenG,GAAE,MAEtDjnB,IAAmB,OAGvB,GAAIH,EAASwtB,kBAAkBxoC,OAAS,EAAG,CACvCmb,GAAmB,iFACnB,KAAK,GAAIinB,GAAY,EAAGA,EAAIpnB,EAASwtB,kBAAkBxoC,OAAQoiC,IAC3DjnB,GAAmB,KAAKH,EAASwtB,kBAAkBpG,GAAE,MAEzDjnB,IAAmB,OAGvB,GAAIH,EAASytB,eAAezoC,OAAS,EAAG,CACpCmb,GAAmB,uFAAiH,SAA3B3N,EAAKpH,QAAQma,UAAuB,QAAU,UAAQ,gCAC/J,KAAK,GAAI6hB,GAAY,EAAGA,EAAIpnB,EAASytB,eAAezoC,OAAQoiC,IACxDjnB,GAAmB,KAAKH,EAASytB,eAAerG,GAAE,OAK1D,GAAIpnB,EAAS0tB,gBAAgB1oC,OAAS,EAAG,CACrCmb,GAAmB,gDAA0E,SAA3B3N,EAAKpH,QAAQma,UAAuB,QAAU,UAAQ,OACxH,KAAK,GAAI6hB,GAAY,EAAGA,EAAIpnB,EAAS0tB,gBAAgB1oC,OAAQoiC,IACzDjnB,GAAmB,KAAKH,EAAS0tB,gBAAgBtG,GAAE,OAI3D50B,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQe,KAGrE,SAAA9b,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAI1CogC,kCAAA/8B,UAAAimC,cAAA,cAAAn7B,GAAAhO,IACIA,MAAK4G,QAAQma,UAAY,QACzB,IAAIkhB,GAASjiC,KAAKgoC,kBAAkBlwB,MAAMorB,QAAQ,OAAQ,IAAIA,QAAQ,MAAO,IAAIuB,aAEjF,OADAzkC,MAAK4G,QAAQq7B,OAASA,EAAOx0B,MAAM,KACb,IAAlBw0B,EAAOzhC,QACPR,KAAK+Z,YACL/Z,MAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,iEAGvE5a,MAAK4W,iBAAiBxF,yBAAyBpR,KAAK4G,SAC/CqQ,UACD,SAACuE,GACG,GAAIG,GAA0B,EAE9B,IAAIH,EAAS4tB,qBAAqB5oC,OAAS,EAAG,CAC1Cmb,GAAmB,kGACnB,KAAK,GAAIinB,GAAY,EAAGA,EAAIpnB,EAAS4tB,qBAAqB5oC,OAAQoiC,IAC9DjnB,GAAmB,KAAKH,EAAS4tB,qBAAqBxG,GAK9D,GAAIpnB,EAAS6tB,cAAc7oC,OAAS,EAAG,CACnCmb,GAAmB,qBACnB,KAAK,GAAIinB,GAAY,EAAGA,EAAIpnB,EAAS6tB,cAAc7oC,OAAQoiC,IACvDjnB,GAAmB,KAAKH,EAAS6tB,cAAczG,GAGvD50B,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQe,KAGrE,SAAA9b,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAI1CogC,kCAAA/8B,UAAAohB,OAAA,WACItkB,KAAK8C,OAAOW,UAAU,2BAG1Bw8B,kCAAA/8B,UAAAqhC,mBAAA,SAAmB+E,GAEf,MADAtpC,MAAK6nC,wBAA0ByB,EACsB,IAAjDtpC,KAAKynC,0BAA0BjD,OAAOhkC,QAA+D,IAA/CR,KAAK2nC,wBAAwBnD,OAAOhkC,QAC1FR,KAAK0nC,yCACL1nC,KAAK4nC,qCAIL5nC,KAAKynC,0BAA0BjD,OAAOhkC,OAAS,IAC/CR,KAAK0nC,iCAAmC1nC,KAAKuoC,sBAAsBvwB,OAAO,SAAUwoB,GAChF,MAAOA,GAAGiE,cAAc9O,QAAQ31B,KAAKynC,0BAA0Bh6B,MAAM,KAAKzN,KAAKynC,0BAA0Bh6B,MAAM,KAAKjN,OAAS,GAAGgkC,OAAOC,mBACzIhE,KAAKzgC,aAGPA,KAAK2nC,wBAAwBnD,OAAOhkC,OAAS,IAC7CR,KAAK4nC,+BAAiC5nC,KAAKwoC,oBAAoBxwB,OAAO,SAAUwoB,GAC5E,MAAOA,GAAGiE,cAAc9O,QAAQ31B,KAAK2nC,wBAAwBl6B,MAAM,KAAKzN,KAAK2nC,wBAAwBl6B,MAAM,KAAKjN,OAAS,GAAGgkC,OAAOC,mBACrIhE,KAAKzgC,WAIfigC,kCAAA/8B,UAAAwhC,mBAAA,SAAmB6E,EAAqB/b,GACpC,GAAIgc,GAAqB,EACzB,IAAoB,aAAhBD,GAA8C,WAAhBA,EAAlC,CAGA,GAAoB,aAAhBA,EAA4B,CAC5B,IAAK,GAAI3G,GAAY,EAAGA,EAAI5iC,KAAKwnC,oBAAoB1vB,MAAMrK,MAAM,KAAKjN,OAAS,EAAGoiC,IAC9E4G,GAAcxpC,KAAKwnC,oBAAoB1vB,MAAMrK,MAAM,KAAKm1B,GAAK,GAEjE5iC,MAAKynC,0BAA4B+B,EAAahc,EAGlD,GAAoB,WAAhB+b,EAA0B,CAC1B,IAAK,GAAI3G,GAAY,EAAGA,EAAI5iC,KAAKgoC,kBAAkBlwB,MAAMrK,MAAM,KAAKjN,OAAS,EAAGoiC,IAC5E4G,GAAcxpC,KAAKgoC,kBAAkBlwB,MAAMrK,MAAM,KAAKm1B,GAAK,GAE/D5iC,MAAK2nC,wBAA0B6B,EAAahc,EAEhDxtB,KAAK0nC,oCACL1nC,KAAK4nC,oCA3ST7nC,GAACpB,EAAAwZ,UAAU,kB9I02PNnX,EAAW,cAAerC,EAAOyZ,aAClC6nB,kCAAkC/8B,UAAW,iBAAkB,Q8I12PnEnD,GAACpB,EAAAwZ,UAAU,gB9I62PNnX,EAAW,cAAerC,EAAOyZ,aAClC6nB,kCAAkC/8B,UAAW,eAAgB,Q8I72PjEnD,GAACpB,EAAAwZ,UAAU,kB9Ig3PNnX,EAAW,cAAerC,EAAOyZ,aAClC6nB,kCAAkC/8B,UAAW,iBAAkB,Q8Iz5PvE+8B,kCAAAlgC,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,mBACbC,WAAYpC,EAAAgQ,gCAAiChQ,EAAAiQ,oC9I65PxCnR,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ9D,EAAmBgQ,gCAAiChQ,EAAmBkD,gBAAiB9D,EAAkBkD,eAAgBlC,EAAoBoD,gBAAiB9C,EAAe+C,YAAavD,EAAemD,eACtR06B,qC8I35PK9hC,GAAA8hC,kCAAiCA,G9Im6PxCwJ,IACA,SAASvrC,EAAQC,G+Ir7PvBD,EAAAC,QAAA,+nM/I27PMurC,IACA,SAASxrC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IgJt8P3GvC,EAAAP,EAA0D,IAC1DgD,EAAAhD,EAA0C,KAC1C8D,EAAA9D,EAA8F,KAC9F+D,EAAA/D,EAAiD,KACjDwE,EAAAxE,EAA4B,KAG5BurC,EAAAvrC,EAAkC,KAClCwrC,EAAAxrC,EAA8B,KAC9ByrC,EAAAzrC,EAA6B,KAC7B0rC,EAAA1rC,EAAiC,KASjC8hC,EAAA,WA4BI,QAAAA,6BAAoB6J,EACR9rB,EACArH,EACA6lB,EACAuN,GAJQhqC,KAAA+pC,UACR/pC,KAAAie,qBACAje,KAAA4W,mBACA5W,KAAAy8B,QACAz8B,KAAAgqC,WA/BZhqC,KAAAiD,UAAoB,gCAIpBjD,KAAA8kB,cACA9kB,KAAA+kB,YACA/kB,KAAAiqC,aAAuB,EACvBjqC,KAAAkqC,sBAAgC,EAChClqC,KAAAmqC,qBAA+B,EAC/BnqC,KAAAoqC,gBAA0B,EAC1BpqC,KAAAqqC,aAAuB,oCACvBrqC,KAAAsqC,sBAAgC,oCAChCtqC,KAAAuqC,qBAA+B,oCAC/BvqC,KAAAwqC,gBAA0B,oCAC1BxqC,KAAAyqC,iBAA2B,aAC3BzqC,KAAA0qC,eAAyB,aACzB1qC,KAAA2qC,iBAA2B,aAC3B3qC,KAAA4qC,mBAA6B,aAC7B5qC,KAAA6qC,yBAAmC,kBACnC7qC,KAAA8qC,gCAA0C,SAC1C9qC,KAAA+qC,qBAA+B,aAC/B/qC,KAAAgrC,mBAA6B,aAC7BhrC,KAAA8Z,gBAAwB,EACxB9Z,KAAA+Z,QACA/Z,KAAAirC,UAAiB,EA4WrB,MAjWI/K,6BAAAh9B,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAK8Z,gBAAiB,EACiB,mBAA3B9Z,MAAKy8B,MAAgB,YAC7Bz8B,KAAK+pC,QAAQtmC,UAAU,0BAE3BzD,KAAKsX,kBAAoBtX,KAAKuX,eAAeC,cAC7CxX,KAAK4W,iBAAiBhG,aAAa5Q,KAAKy8B,MAAMlrB,aAAiB,IAC1D0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAKyuB,MAAMlrB,aAAa/K,cAK3DxG,KAAKie,mBAAmBpL,uBACnBoE,UACD,SAACi0B,GAIG,IAAK,GAHDlhC,GAAkBkhC,EAAOniB,OAAS,EAClCoiB,EAAkBD,EAAO/mB,QAEpBye,EAAY54B,EAAS44B,GAAKuI,EAASvI,IACxC50B,EAAK8W,WAAWrK,KAAKmoB,EAEzB,KAAK,GAAIA,GAAYuI,EAASvI,GAAK54B,EAAS44B,IACxC50B,EAAK+W,SAAStK,KAAKmoB,EAEvB50B,GAAKg8B,SAAS71B,UAAYnG,EAAK8W,WAAW,GAC1C9W,EAAKg8B,SAAS3rB,QAAUrQ,EAAK+W,SAAS,IAE1C,SAAAllB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAG1CqgC,4BAAAh9B,UAAAyU,iBAAA,SAAiBC,GACb,GAAIC,IAA+BD,EAAM1X,OAA6B4X,KACtE9X,MAAKy8B,MAAMj2B,WAAaqR,EACxB7X,KAAKqX,kBAAkBQ,GACvB7X,KAAKy8B,MAAMnrB,sBAEP4uB,4BAAAh9B,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,IAE1C/X,KAAKsX,kBAAkBY,UAAY,6BAA6BlY,KAAKiY,gBAAgBtG,aAAY,KAAK3R,KAAKiY,gBAAgBpK,GAAE,cAEjIqyB,4BAAAh9B,UAAAkoC,UAAA,SAAUxzB,EAAcyzB,GACpB,OAAQA,GACJ,IAAK,OACIrrC,KAAKiqC,aAiBNjqC,KAAKiqC,aAAc,EACnBjqC,KAAKqqC,aAAerqC,KAAKqqC,aAAanH,QAAQ,OAAQ,SACtDljC,KAAKyqC,iBAAmBzqC,KAAKyqC,iBAAiBvH,QAAQ,WAAY,IAClEljC,KAAKgqC,SAASsB,kBAAoB9wB,SAnBlCxa,KAAKiqC,aAAc,EACnBjqC,KAAKqqC,aAAerqC,KAAKqqC,aAAanH,QAAQ,QAAS,QACvDljC,KAAKyqC,iBAAmBzqC,KAAKyqC,iBAAiBv0B,OAAO,YACrDlW,KAAKgqC,SAASsB,kBAAoB,GAAI3B,GAAA4B,kBACtCvrC,KAAKgqC,SAASsB,kBAAkBE,UAAW,EAC3CxrC,KAAKgqC,SAASsB,kBAAkBG,UAAW,EAC3CzrC,KAAKgqC,SAASsB,kBAAkBI,UAAW,EAC3C1rC,KAAKgqC,SAASsB,kBAAkBK,UAAW,EAC3C3rC,KAAKgqC,SAASsB,kBAAkBM,eAAgB,EAChD5rC,KAAKgqC,SAASsB,kBAAkBO,YAAa,EAC7C7rC,KAAKgqC,SAASsB,kBAAkBQ,OAAQ,EACxC9rC,KAAKgqC,SAASsB,kBAAkBS,QAAS,EACzC/rC,KAAKgqC,SAASsB,kBAAkBU,SAAU,EAC1ChsC,KAAKgqC,SAASsB,kBAAkBW,UAAW,EAC3CjsC,KAAKgqC,SAASsB,kBAAkBY,kBAAmB,EAOvD,MACJ,KAAK,KACIlsC,KAAKkqC,sBAWNlqC,KAAKkqC,sBAAuB,EAC5BlqC,KAAKsqC,sBAAwBtqC,KAAKsqC,sBAAsBpH,QAAQ,OAAQ,SACxEljC,KAAK0qC,eAAiB1qC,KAAK0qC,eAAexH,QAAQ,WAAY,IAC9DljC,KAAKgqC,SAASmC,cAAgB3xB,SAb9Bxa,KAAKkqC,sBAAuB,EAC5BlqC,KAAKsqC,sBAAwBtqC,KAAKsqC,sBAAsBpH,QAAQ,QAAS,QACzEljC,KAAK0qC,eAAiB1qC,KAAK0qC,eAAex0B,OAAO,YACjDlW,KAAKgqC,SAASmC,cAAgB,GAAIvC,GAAAwC,cAClCpsC,KAAKgqC,SAASmC,cAAcE,YAAa,EACzCrsC,KAAKgqC,SAASmC,cAAcG,KAAM,EAClCtsC,KAAKgqC,SAASmC,cAAcI,OAAQ,EACpCvsC,KAAKgqC,SAASmC,cAAcK,OAAQ,EACpCxsC,KAAKgqC,SAASmC,cAAcM,QAAS,EAOzC,MACJ,KAAK,OACIzsC,KAAKmqC,qBAWNnqC,KAAKmqC,qBAAsB,EAC3BnqC,KAAKuqC,qBAAuBvqC,KAAKuqC,qBAAqBrH,QAAQ,OAAQ,SACtEljC,KAAK2qC,iBAAmB3qC,KAAK2qC,iBAAiBzH,QAAQ,WAAY,IAClEljC,KAAKgqC,SAAS0C,aAAelyB,SAb7Bxa,KAAKmqC,qBAAsB,EAC3BnqC,KAAKuqC,qBAAuBvqC,KAAKuqC,qBAAqBrH,QAAQ,QAAS,QACvEljC,KAAK2qC,iBAAmB3qC,KAAK2qC,iBAAiBz0B,OAAO,YACrDlW,KAAKgqC,SAAS0C,aAAe,GAAI7C,GAAA8C,aACjC3sC,KAAKgqC,SAAS0C,aAAaE,YAAa,EACxC5sC,KAAKgqC,SAAS0C,aAAaG,SAAU,EACrC7sC,KAAKgqC,SAAS0C,aAAaI,UAAW,EACtC9sC,KAAKgqC,SAAS0C,aAAaK,aAAc,EACzC/sC,KAAKgqC,SAAS0C,aAAaM,QAAS,EAOxC,MACJ,KAAK,SACIhtC,KAAKoqC,gBAYNpqC,KAAKoqC,gBAAiB,EACtBpqC,KAAKwqC,gBAAkBxqC,KAAKwqC,gBAAgBtH,QAAQ,OAAQ,SAC5DljC,KAAK4qC,mBAAqB5qC,KAAK4qC,mBAAmB1H,QAAQ,WAAY,IACtEljC,KAAKgqC,SAASiD,iBAAmBzyB,SAdjCxa,KAAKoqC,gBAAiB,EACtBpqC,KAAKwqC,gBAAkBxqC,KAAKwqC,gBAAgBtH,QAAQ,QAAS,QAC7DljC,KAAK4qC,mBAAqB5qC,KAAK4qC,mBAAmB10B,OAAO,YACzDlW,KAAKgqC,SAASiD,iBAAmB,GAAInD,GAAAoD,iBACrCltC,KAAKgqC,SAASiD,iBAAiBL,YAAa,EAC5C5sC,KAAKgqC,SAASiD,iBAAiBJ,SAAU,EACzC7sC,KAAKgqC,SAASiD,iBAAiBE,iBAAkB,EACjDntC,KAAKgqC,SAASiD,iBAAiBG,UAAW,EAC1CptC,KAAKgqC,SAASiD,iBAAiBf,kBAAmB,KAYlEhM,4BAAAh9B,UAAA09B,eAAA,SAAehpB,EAAchG,GACzB,GAAIsrB,GAA4BtlB,EAAM1X,MACtC,QAAQ0R,GACJ,IAAK,WACD5R,KAAKgqC,SAASxjC,YAAc02B,EAAOplB,KACnC,IAAIu1B,GAAartC,KAAKgqC,SAASxjC,WAC3B28B,EAAmBnjC,KAAKmX,aAAaa,OAAO,SAAUs1B,GACtD,MAAOA,GAAEz/B,KAAOw/B,IACjB,EAEHrtC,MAAKgqC,SAAS33B,iBAAiB8wB,EAAMxxB,aACrC,MACJ,KAAK,aACD3R,KAAKgqC,SAAS71B,WAAa+oB,EAAOplB,KAClC,MACJ,KAAK,WACD9X,KAAKgqC,SAAS3rB,SAAW6e,EAAOplB,QAK5CooB,4BAAAh9B,UAAA29B,iBAAA,SAAiBjpB,EAAc21B,EAAiBC,GAC5C,GAAI1M,GAA6BlpB,EAAM1X,MACvC,QAAQqtC,GACJ,IAAK,OACD,OAAQC,GACJ,IAAK,gBACDxtC,KAAKgqC,SAASsB,kBAAkBM,cAAgB9K,EAAS7hB,OACzD,MACJ,KAAK,aACDjf,KAAKgqC,SAASsB,kBAAkBO,WAAa/K,EAAS7hB,OACtD,MACJ,KAAK,QACDjf,KAAKgqC,SAASsB,kBAAkBQ,MAAQhL,EAAS7hB,OACjD,MACJ,KAAK,SACDjf,KAAKgqC,SAASsB,kBAAkBS,OAASjL,EAAS7hB,OAClD,MACJ,KAAK,UACDjf,KAAKgqC,SAASsB,kBAAkBU,QAAUlL,EAAS7hB,OACnD,MACJ,KAAK,WACDjf,KAAKgqC,SAASsB,kBAAkBW,SAAWnL,EAAS7hB,OACpD,MACJ,KAAK,mBACDjf,KAAKgqC,SAASsB,kBAAkBY,iBAAmBpL,EAAS7hB,OAC5D,MACJ,KAAK,WACDjf,KAAKgqC,SAASsB,kBAAkBG,SAAW3K,EAAS7hB,OACpD,MACJ,KAAK,WACDjf,KAAKgqC,SAASsB,kBAAkBE,SAAW1K,EAAS7hB,OACpD,MACJ,KAAK,WACDjf,KAAKgqC,SAASsB,kBAAkBI,SAAW5K,EAAS7hB,OACpD,MACJ,KAAK,WACDjf,KAAKgqC,SAASsB,kBAAkBK,SAAW7K,EAAS7hB,QAG5D,KACJ,KAAK,KACD,OAAQuuB,GACJ,IAAK,SACDxtC,KAAKgqC,SAASmC,cAAcM,OAAS3L,EAAS7hB,OAC9C,MACJ,KAAK,MACDjf,KAAKgqC,SAASmC,cAAcG,IAAMxL,EAAS7hB,OAC3C,MACJ,KAAK,QACDjf,KAAKgqC,SAASmC,cAAcI,MAAQzL,EAAS7hB,OAC7C,MACJ,KAAK,aACDjf,KAAKgqC,SAASmC,cAAcE,WAAavL,EAAS7hB,OAClD,MACJ,KAAK,QACDjf,KAAKgqC,SAASmC,cAAcK,MAAQ1L,EAAS7hB,QAGrD,KACJ,KAAK,OACD,OAAQuuB,GACJ,IAAK,aACDxtC,KAAKgqC,SAAS0C,aAAaE,WAAa9L,EAAS7hB,OACjD,MACJ,KAAK,UACDjf,KAAKgqC,SAAS0C,aAAaG,QAAU/L,EAAS7hB,OAC9C,MACJ,KAAK,WACDjf,KAAKgqC,SAAS0C,aAAaI,SAAWhM,EAAS7hB,OAC/C,MACJ,KAAK,SACDjf,KAAKgqC,SAAS0C,aAAaM,OAASlM,EAAS7hB,OAC7C,MACJ,KAAK,cACDjf,KAAKgqC,SAAS0C,aAAaK,YAAcjM,EAAS7hB,QAG1D,KACJ,KAAK,SACD,OAAQuuB,GACJ,IAAK,aACDxtC,KAAKgqC,SAASiD,iBAAiBL,WAAa9L,EAAS7hB,OACrD,MACJ,KAAK,UACDjf,KAAKgqC,SAASiD,iBAAiBJ,QAAU/L,EAAS7hB,OAClD,MACJ,KAAK,kBACDjf,KAAKgqC,SAASiD,iBAAiBE,gBAAkBrM,EAAS7hB,OAC1D,MACJ,KAAK,WACDjf,KAAKgqC,SAASiD,iBAAiBG,SAAWtM,EAAS7hB,OACnD,MACJ,KAAK,mBACDjf,KAAKgqC,SAASiD,iBAAiBf,iBAAmBpL,EAAS7hB,WAO/EihB,4BAAAh9B,UAAAuqC,WAAA,cAAAz/B,GAAAhO,IAEQA,MAAKgqC,SAAS71B,WAAanU,KAAKgqC,SAAS3rB,UACzCre,KAAK+Z,QACL/Z,KAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,0CACnE5a,KAAKirC,UAAW,GAI6B,mBAArCjrC,MAAKgqC,SAA0B,mBACC,mBAAjChqC,MAAKgqC,SAAsB,eACK,mBAAhChqC,MAAKgqC,SAAqB,cACU,mBAApChqC,MAAKgqC,SAAyB,mBACrChqC,KAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,4BACnE5a,KAAKirC,UAAW,GAK2B,mBAApCjrC,MAAKgqC,SAA0B,mBACrChqC,KAAKgqC,SAASsB,kBAAkBG,YAAY,GAC5CzrC,KAAKgqC,SAASsB,kBAAkBE,YAAY,GAC5CxrC,KAAKgqC,SAASsB,kBAAkBI,YAAY,GAC5C1rC,KAAKgqC,SAASsB,kBAAkBK,YAAY,GAC5C3rC,KAAKgqC,SAASsB,kBAAkBM,iBAAiB,GACjD5rC,KAAKgqC,SAASsB,kBAAkBO,cAAc,GAC9C7rC,KAAKgqC,SAASsB,kBAAkBQ,SAAS,GACzC9rC,KAAKgqC,SAASsB,kBAAkBS,UAAU,GAC1C/rC,KAAKgqC,SAASsB,kBAAkBU,WAAY,GAC5ChsC,KAAKgqC,SAASsB,kBAAkBW,YAAY,GAC5CjsC,KAAKgqC,SAASsB,kBAAkBY,oBAAoB,IACrDlsC,KAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,2DACpE5a,KAAKirC,UAAW,GAGwB,mBAAhCjrC,MAAKgqC,SAAsB,eACjChqC,KAAKgqC,SAASmC,cAAcE,cAAc,GAC1CrsC,KAAKgqC,SAASmC,cAAcG,OAAO,GACnCtsC,KAAKgqC,SAASmC,cAAcI,SAAU,GACtCvsC,KAAKgqC,SAASmC,cAAcK,SAAU,GACtCxsC,KAAKgqC,SAASmC,cAAcM,UAAW,IACxCzsC,KAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,uDACnE5a,KAAKirC,UAAW,GAIsB,mBAA/BjrC,MAAKgqC,SAAqB,cAChChqC,KAAKgqC,SAAS0C,aAAaE,cAAe,GAC1C5sC,KAAKgqC,SAAS0C,aAAaG,WAAW,GACtC7sC,KAAKgqC,SAAS0C,aAAaI,YAAa,GACxC9sC,KAAKgqC,SAAS0C,aAAaK,eAAe,GAC1C/sC,KAAKgqC,SAAS0C,aAAaM,UAAU,IACtChtC,KAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,qDACnE5a,KAAKirC,UAAW,GAI0B,mBAAnCjrC,MAAKgqC,SAAyB,kBACpChqC,KAAKgqC,SAASiD,iBAAiBL,cAAe,GAC9C5sC,KAAKgqC,SAASiD,iBAAiBJ,WAAY,GAC3C7sC,KAAKgqC,SAASiD,iBAAiBE,mBAAoB,GACnDntC,KAAKgqC,SAASiD,iBAAiBG,YAAa,GAC5CptC,KAAKgqC,SAASiD,iBAAiBf,oBAAqB,IACrDlsC,KAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,0DACnE5a,KAAKirC,UAAW,GAEhBjrC,KAAKirC,SA0BLjrC,KAAKirC,UAAU,GAzBfjrC,KAAK+Z,QACL/Z,KAAK8Z,gBAAiB,EACtB9Z,KAAKgrC,mBAAqBhrC,KAAKgrC,mBAAmB90B,OAAO,YACzDlW,KAAK6qC,yBAA2B7qC,KAAK6qC,yBAAyB3H,QAAQ,cAAc,kBACpFljC,KAAK+qC,qBAAuB,mBAE5B/qC,KAAK4W,iBAAiBvF,kBAAkBrR,KAAKgqC,UACxC/yB,UACD,SAACuE,GAEG,MADAxN,GAAK8L,gBAAiB,EACU,UAA5B0B,EAASE,gBACT1N,EAAKg9B,mBAAqBh9B,EAAKg9B,mBAAmB9H,QAAQ,WAAY,IACtEl1B,EAAK68B,yBAA2B78B,EAAK68B,yBAAyB3H,QAAQ,iBAAiB,eACvFl1B,EAAK88B,gCAAkC,SACvC98B,EAAK+8B,qBAAuB,aAC5B/8B,EAAK+L,YACL/L,GAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,sDAGvE5M,GAAK+7B,QAAQtmC,UAAU,oCAE3B,SAAA5D,GAAS,MAAAmO,GAAKoJ,aAAoBvX,MAQ9CqgC,4BAAAh9B,UAAAohB,OAAA,WACItkB,KAAK+pC,QAAQtmC,UAAU,2BAjW3B1D,GAACpB,EAAAwZ,UAAU,kBhJ0wQNnX,EAAW,cAAerC,EAAOyZ,aAClC8nB,4BAA4Bh9B,UAAW,iBAAkB,QgJpzQjEg9B,4BAAAngC,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBkG,WAAYpC,EAAAkQ,wBAAyBu3B,EAAA4B,kBAAmB3B,EAAAwC,cAAevC,EAAA8C,aAAc7C,EAAAoD,kBACrF9oC,YAAahD,EAAAiD,qBhJwzQRrD,EAAW,qBAAsBI,EAAS4E,OAAQ7D,EAAqBmD,kBAAmBpD,EAAmBkD,gBAAiBxC,EAAe+C,YAAazD,EAAmBkQ,2BAC9K8tB,+BgJtzQK/hC,GAAA+hC,4BAA2BA,GhJ8zQlCwN,IACA,SAASxvC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IiJ51Q3GvC,EAAAP,EAA2B,IAG3BmtC,EAAA,mBAAAA,sBAYA,MAbAA,mBAAAxrC,GAACpB,EAAAwH,ajJk2QQnF,EAAW,yBACZuqC,qBiJl2QKptC,GAAAotC,kBAAiBA,GjJ02QxBoC,IACA,SAASzvC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IkJx3Q3GvC,EAAAP,EAA2B,IAG3BguC,EAAA,mBAAAA,kBAMA,MAPAA,eAAArsC,GAACpB,EAAAwH,alJ83QQnF,EAAW,yBACZorC,iBkJ93QKjuC,GAAAiuC,cAAaA,GlJs4QpBwB,IACA,SAAS1vC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,ImJp5Q3GvC,EAAAP,EAA2B,IAG3BuuC,EAAA,mBAAAA,iBAMA,MAPAA,cAAA5sC,GAACpB,EAAAwH,anJ05QQnF,EAAW,yBACZ2rC,gBmJ15QKxuC,GAAAwuC,aAAYA,GnJk6QnBkB,IACA,SAAS3vC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IoJh7Q3GvC,EAAAP,EAA2B,IAG3B8uC,EAAA,mBAAAA,qBAMA,MAPAA,kBAAAntC,GAACpB,EAAAwH,apJs7QQnF,EAAW,yBACZksC,oBoJt7QK/uC,GAAA+uC,iBAAgBA,GpJ87QvBY,IACA,SAAS5vC,EAAQC,GqJl8QvBD,EAAAC,QAAA;ErJw8QM4vC,IACA,SAAS7vC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IsJn9Q3GvC,EAAAP,EAA6C,IAC7CgD,EAAAhD,EAA0C,KAC1C8D,EAAA9D,EAAoE,KACpEwE,EAAAxE,EAA4B,KAS5B+hC,EAAA,WAMI,QAAAA,qCAAoBvpB,EACR6lB,EACAsN,EACAC,GAHQhqC,KAAA4W,mBACR5W,KAAAy8B,QACAz8B,KAAA+pC,UACA/pC,KAAAgqC,WARZhqC,KAAAiD,UAAoB,+BA0BxB,MAhBIk9B,qCAAAj9B,UAAAC,SAAA,cAAA6K,GAAAhO,IAC2C,oBAA3BA,MAAKy8B,MAAgB,YAC7Bz8B,KAAK+pC,QAAQtmC,UAAU,0BAE3BzD,KAAK4W,iBAAiBjG,YAAY3Q,KAAKy8B,MAAMlrB,aAAa/K,YACrDyQ,UACD,SAAA7C,GAAY,MAAApG,GAAKiK,gBAAkB7D,GACnC,SAAAvU,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAGtCG,KAAKguC,uBAAyBhuC,KAAKgqC,SAASz3B,oBAGhD4tB,oCAAAj9B,UAAAmX,YAAA,WACIra,KAAKgqC,SAASx3B,wBAhCtB2tB,oCAAApgC,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBkG,WAAYpC,EAAAkQ,yBACZhO,YAAahD,EAAAiD,qBtJ0+QRrD,EAAW,qBAAsBkB,EAAmBkD,gBAAiBxC,EAAe+C,YAAavE,EAAS4E,OAAQ9D,EAAmBkQ,2BACtI+tB,uCsJx+QKhiC,GAAAgiC,oCAAmCA,GtJg/Q1C8N,IACA,SAAS/vC,EAAQC,GuJ7/QvBD,EAAAC,QAAA,+ZvJmgRM+vC,IACA,SAAShwC,EAAQC,GwJpgRvBD,EAAAC,QAAA,mwBxJ0gRMgwC,IACA,SAASjwC,EAAQC,EAASC,GAE/B,YyJ5gRD,IAAAgwC,GAAAhwC,EAAqC,KACrCiwC,EAAAjwC,EAAoD,KACpDkwC,EAAAlwC,EAAgD,KAChDmE,EAAAnE,EAA0B,IAEbD,GAAAmY,oBACTT,KAAM,gBAAiBG,UAAWo4B,EAAAG,qBAAsB36B,aAAcrR,EAAAkD,aACtEoQ,KAAM,iCAAkCG,UAAWq4B,EAAAG,oCAAqC56B,aAAcrR,EAAAkD,aACtGoQ,KAAM,8BAA+BG,UAAWs4B,EAAAG,iCAAkC76B,aAAcrR,EAAAkD,czJkhR9FipC,IACA,SAASxwC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I0JtiR3GvC,EAAAP,EAAoE,IACpEgD,EAAAhD,EAA0D,KAC1DsE,EAAAtE,EAAmH,KACnH6D,EAAA7D,EAAmC,KACnC8D,EAAA9D,EAA2C,KAC3CwE,EAAAxE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAGhCiE,EAAAjE,EAAoC,KAGpCmb,EAAAnb,EAAuB,KAevBmwC,EAAA,WAsCI,QAAAA,sBAAoB1rC,EACAC,EACA0+B,EACA5qB,EACAC,EACAC,EACA4J,GANA1gB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAwhC,sBACAxhC,KAAA4W,mBACA5W,KAAA6W,OACA7W,KAAA8W,mBACA9W,KAAA0gB,wBA3CpB1gB,KAAAiD,UAAoB,gBAGpBjD,KAAA+Z,QASA/Z,KAAAuT,iBAA2B,EAO3BvT,KAAA2uC,aAAqB,EACrB3uC,KAAA8hC,YAAmB,EACnB9hC,KAAA4uC,YAAqB,EACrB5uC,KAAA8Z,gBAAwB,EAOxB9Z,KAAA6uC,SAAkB,EAElB7uC,KAAA8uC,gBAAuB,EAEvB9uC,KAAA+uC,eAAuB,EAYP/uC,KAAKmtB,eAAgB,GAAIzqB,GAAA8R,0BAA0B,EAAG,uCACtDxU,KAAKgvC,kBAAmB,GAAItsC,GAAA8R,0BAA0B,EAAG,uBACzDxU,KAAKmL,SACG,GAAIzI,GAAA8R,0BAA0B,EAAG,uCACjC,GAAI9R,GAAA8R,0BAA0B,EAAG,8CACjC,GAAI9R,GAAA8R,0BAA0B,EAAG,0HACjC,GAAI9R,GAAA8R,0BAA0B,EAAG,kIACjC,GAAI9R,GAAA8R,0BAA0B,EAAG,sEACjC,GAAI9R,GAAA8R,0BAA0B,EAAG,uCACjC,GAAI9R,GAAA8R,0BAA0B,EAAG,8CACjC,GAAI9R,GAAA8R,0BAA0B,EAAG,+CAGzCxU,KAAKivC,YACD,GAAIvsC,GAAA8R,0BAA0B,EAAG,uBACjC,GAAI9R,GAAA8R,0BAA0B,GAAI,+BAEtCxU,KAAK8mB,eACAhE,QAAS,qBAAsBhL,MAAO,EAAGo3B,OAAO,sBAChDpsB,QAAS,iBAAkBhL,MAAO,EAAEo3B,OAAO,kBAC3CpsB,QAAS,eAAgBhL,MAAO,EAAGo3B,OAAO,iBAC1CpsB,QAAS,oBAAqBhL,MAAO,EAAEo3B,OAAO,cAEnDlvC,KAAKmvC,UAAY,GAAIzsC,GAAA8R,0BAA0B,EAAE,KAmQrE,MA9PI+5B,sBAAArrC,UAAAC,SAAA,cAAA6K,GAAAhO,IAEIA,MAAKsX,kBAAoBtX,KAAKuX,eAAeC,cAC7CxX,KAAK4W,iBAAiBhG,aAAa5Q,KAAK6W,KAAKtF,aAAiB,IACzD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKtF,aAAa/K,cAK1DxG,KAAK6W,KAAKvF,qBAEVtR,KAAK8W,iBAAiBvD,gBAAgBvT,KAAK6W,KAAKtF,aAAiB,GAAGvR,KAAK6W,KAAKtF,aAAa/K,YAAYyQ,UACnG,SAAAQ,GAAW,MAAAzJ,GAAKuF,gBAAkBkE,EAAQC,SAC1C,SAAA7X,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAEtCG,KAAKqlB,0BAITkpB,qBAAArrC,UAAAmiB,uBAAA,cAAArX,GAAAhO,IACIA,MAAK0gB,sBAAsBrN,mBACtB4D,UACG,SAAAsK,GACQvT,EAAKuT,kBAAoBA,GAEjC,SAAA1hB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACQmO,EAAKohC,QAAUphC,EAAKuT,kBAAkBwH,OAAQ,EAC9C/a,EAAKpH,QAAU,GAAIlE,GAAAwR,oBAAoBlG,EAAKuT,kBAAkBwH,OAAQ,EAAE,EAAE,EAAE,MAC5E/a,EAAKsC,aAAa,GAAI5N,GAAA+R,8BAA8B,IAAI,EAKxD,KAAI,GAAIyP,GAAO,KAAMA,GAAOlW,EAAKuT,kBAAkBwH,OAAO,EAAG7E,IACtDlW,EAAKmhC,SAAS10B,KAAM,GAAI/X,GAAA8R,0BAA0B0P,EAAMA,EAAK,IAEpElW,GAAK+gC,eAAiB/gC,EAAKuT,kBAAkBwH,OAAO,KAGxEwlB,qBAAArrC,UAAAmsC,eAAA,SAAe9hB,GACXvtB,KAAKgvC,kBAAoBhvC,KAAKivC,WAAWj3B,OAAO,SAACwV,GAAQ,MAAAA,GAAK3f,IAAM0f,IAAU,GAChD,IAA3BvtB,KAAKgvC,kBAAkBnhC,GACtB7N,KAAK8hC,YAAW,EAGhB9hC,KAAK8hC,YAAY,GAGzByM,qBAAArrC,UAAAosC,aAAA,SAAa13B,GACR,GAAI23B,IAA+B33B,EAAM1X,OAA6B4X,KACtE9X,MAAK+uC,eAAiBQ,GAG3BhB,qBAAArrC,UAAAssC,uBAAA,SAAuB53B,GAClB,GAAI63B,IAAgC73B,EAAM1X,OAA6B4X,KACvE9X,MAAK8uC,gBAAkBW,GAG5BlB,qBAAArrC,UAAAyU,iBAAA,SAAiBC,GACb,GAAIC,IAA+BD,EAAM1X,OAA6B4X,KACtE9X,MAAK6W,KAAKrQ,WAAaqR,EACvB7X,KAAKqX,kBAAkBQ,GACvB7X,KAAK6W,KAAKvF,sBAEdi9B,qBAAArrC,UAAAoqB,SAAA,SAASC,GACPvtB,KAAKmtB,eAAiBntB,KAAKmL,QAAQ6M,OAAO,SAACwV,GAAQ,MAAAA,GAAK3f,IAAM0f,IAAU,GAE3C,IAA1BvtB,KAAKmtB,eAAetf,IAAqC,IAA1B7N,KAAKmtB,eAAetf,GAClD7N,KAAK2uC,aAAc,EAInB3uC,KAAK2uC,aAAc,EAEM,IAA1B3uC,KAAKmtB,eAAetf,GACnB7N,KAAK4uC,YAAa,EAGlB5uC,KAAK4uC,YAAY,GAGfL,qBAAArrC,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,IAE1C/X,KAAKsX,kBAAkBY,UAAY,6BAA6BlY,KAAKiY,gBAAgBtG,aAAY,KAAK3R,KAAKiY,gBAAgBpK,GAAE,cAGjI0gC,qBAAArrC,UAAAuqB,eAAA,cAAAzf,GAAAhO,IAUM,IARAA,KAAK+Z,QACL/Z,KAAK8Z,gBAAiB,EACtB9Z,KAAK4G,QAAQwN,SAAWpU,KAAKiY,gBAAgBpK,GAC7C7N,KAAK4G,QAAQuN,UAAYnU,KAAK+uC,eAC9B/uC,KAAK4G,QAAQyN,SAAWrU,KAAKmtB,eAAetf,GAC5C7N,KAAK4G,QAAQ0N,UAAYtU,KAAKgvC,kBAAkBnhC,GAChD7N,KAAK4G,QAAQ2N,aAEc,GAAxBvU,KAAK4G,QAAQuN,UAIV,MAHAnU,MAAK+Z,QACL/Z,KAAK+Z,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ,mCACjE5a,KAAK8Z,gBAAiB,EAG5B,IAAyB,MAAtB9Z,KAAK0vC,eAC4B,KAA9B1vC,KAAKgvC,kBAAkBnhC,KACG,IAAzB7N,KAAK4G,QAAQyN,UAA2C,IAA1BrU,KAAK4G,QAAQyN,UAKhD,MAHArU,MAAK+Z,QACL/Z,KAAK+Z,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ,sEACjE5a,KAAK8Z,gBAAiB,EAOxB,IAJ+B,MAAtB9Z,KAAK0vC,eACsB,KAA9B1vC,KAAKgvC,kBAAkBnhC,KAC1B7N,KAAK4G,QAAQ2N,UAAYvU,KAAK0vC,cAAcnM,gBAElB,IAA1BvjC,KAAK4G,QAAQyN,SAAe,CAC1B,GAAIzL,IACCuL,UAAUnU,KAAK+uC,eACf1wB,QAAQre,KAAKuhB,kBAAkB4C,QAC/B/P,SAASpU,KAAK4G,QAAQwN,SACtBu7B,QAAQ3vC,KAAK8uC,gBACbz6B,SAAUrU,KAAK4G,QAAQyN,SAG5B,YADArU,MAAK8C,OAAOW,UAAU,kCAAmCmF,IAG9D5I,KAAKwhC,oBAAoBpxB,sBAAsBpQ,KAAK4G,SAC7CqQ,UACD,SAAAuE,GACIxN,EAAK8L,gBAAiB,EACtB9L,EAAKyN,sBAAwBD,EACwB,UAAjDxN,EAAKyN,sBAAsB,GAAGC,gBAC9B1N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,+CAClD5M,EAAKyN,sBAAsB,GAAGE,mBAEQ,YAAlD3N,EAAKyN,sBAAsB,GAAGE,iBACnC3N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,eAAgBC,OAAQ,oBACjD5M,EAAKyN,sBAAsB,GAAGE,kBAC/C3N,EAAKyN,sBAAsB,GAAGG,WAAW,GACzC5N,EAAKyN,sBAAsB,GAAGI,YAAY,KAG1C7N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ,wDACjE5M,EAAK8N,OACQC,MAAO,cAAeC,OAAQ,SAC9BD,MAAO,aAAcC,OAAQ,QAEd,IAAzBhO,EAAKpH,QAAQyN,UAA2C,IAA1BrG,EAAKpH,QAAQyN,WAC7CrG,EAAK0hC,cAAcnM,eAAe,KAClCv1B,EAAK6gC,SAAU,KAOxB,SAAAhvC,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAW9C0uC,qBAAArrC,UAAAsgC,aAAA,WACIxjC,KAAK8hC,YAAa,EAClB9hC,KAAKijC,eAAe,IAGxBsL,qBAAArrC,UAAA2gC,uBAAA,SAAuBnvB,GACnB,GAAIiL,GAAgB3f,KAAK0vC,cAAcnM,eAAe5N,QAAQjhB,EAC9D1U,MAAK0vC,cAAcnM,eAAeO,OAAOnkB,EAAO,GAChD3f,KAAK6uC,SAAU7uC,KAAK0vC,cAAcnM,eAAe/iC,QAErD+tC,qBAAArrC,UAAAohB,OAAA,WACItkB,KAAK8C,OAAOW,UAAU,cAE1B8qC,qBAAArrC,UAAAmN,WAAA,cAAArC,GAAAhO,KAEQ+iC,EAAU,gBACVC,EAAahjC,KAAKijC,eAAeC,QAAS,kBAAkB,IAAKC,MAAMJ,EAC3E,IAAe,MAAZC,EAGC,MAFAhjC,MAAK+Z,YACL/Z,MAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,wFAKvE,KAAI,GAFAwoB,GAAqBpjC,KAAKijC,eAAeC,QAAS,kBAAkB,KAAKz1B,MAAM,KAC/E41B,GAAS,EACLviC,EAAE,EAAGA,GAAGsiC,EAAkB5iC,OAAO,EAAGM,IACxC,GAA2B,MAAvBsiC,EAAkBtiC,KACdsiC,EAAkBtiC,GAAGN,OAAO,GAAO4iC,EAAkBtiC,GAAGN,OAAQ,GAI5D,MAHA6iC,IAAO,EACPrjC,KAAK+Z,YACL/Z,MAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,mDAKnF5a,MAAKsQ,aAAaoE,MAAM0uB,EACxBpjC,KAAKsQ,aAAa9J,WAAaxG,KAAKiY,gBAAgBpK,GACpD7N,KAAKwhC,oBAAoBnxB,WAAWrQ,KAAKsQ,cAChC2G,UACG,SAAAuE,GACIxN,EAAK0hC,cAAgBl0B,EAEoB,aAAtCxN,EAAK0hC,cAAc/zB,kBAClB3N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,8DACjD5M,EAAK0hC,cAAcpM,aAAe,mDACnDt1B,EAAK6gC,SAAW,GAErB7gC,EAAK8zB,YAAa,EACsB,MAArC9zB,EAAK0hC,cAAcnM,iBAElBv1B,EAAK6gC,SAAW7gC,EAAK0hC,cAAcnM,eAAe/iC,SAK1D,SAAAX,GACImO,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,oDACnE5M,EAAK8zB,YAAa,EAClB9zB,EAAK6gC,SAAW,GAEpB,cAEhB7uC,KAAKijC,eAAe,IAEpBsL,qBAAArrC,UAAA0Z,YAAA,SAAYC,GACRhZ,OAAOiZ,KAAKD,EAAa,WAE7B0xB,qBAAArrC,UAAA6Z,aAAA,SAAaC,GACTnZ,OAAOiZ,KAAKE,EAAc,WAE9BuxB,qBAAArrC,UAAAmX,YAAA,aA7PAta,GAACpB,EAAAwZ,UAAU,kB1JwtRNnX,EAAW,cAAerC,EAAOyZ,aAClCm2B,qBAAqBrrC,UAAW,iBAAkB,Q0JvyR1DqrC,qBAAAxuC,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,kBAAkBkV,EAAA0D,U1J2yR1Bjc,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ/D,EAAuBwC,mBAAoBvC,EAAmBkD,gBAAiBxC,EAAe+C,YAAarD,EAAoBoD,gBAAiBrD,EAAyBuD,wBACrP2oC,wB0JzyRKpwC,GAAAowC,qBAAoBA,G1JizR3BqB,IACA,SAAS1xC,EAAQC,G2J70RvBD,EAAAC,QAAA,grR3Jm1RM0xC,IACA,SAAS3xC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I4J91R3GvC,EAAAP,EAAmF,IACnFgD,EAAAhD,EAA0D,KAC1DkD,EAAAlD,EAA+B,KAC/BsE,EAAAtE,EAAmF,KACnF8D,EAAA9D,EAA2C,KAE3CkE,EAAAlE,EAAgC,KAChC6D,EAAA7D,EAAmC,KACnCwE,EAAAxE,EAA4B,KAC5Bmb,EAAAnb,EAAuB,KACvBob,EAAApb,EAAyB,KAOzBiE,EAAAjE,EAAoC,KASpCowC,EAAA,WAsCI,QAAAA,qCAAoB3rC,EACAC,EACA2W,EACA+nB,EACA5qB,EACAE,EACAD,EACAjQ,EACA8Z,GARA1gB,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAyZ,kBACAzZ,KAAAwhC,sBACAxhC,KAAA4W,mBACA5W,KAAA8W,mBACA9W,KAAA6W,OACA7W,KAAA4G,UACA5G,KAAA0gB,wBArCpB1gB,KAAA+Z,QAIA/Z,KAAA8kB,cACA9kB,KAAA+kB,YAIA/kB,KAAAglB,UAAoB,OACpBhlB,KAAAilB,eAAyB,EAEzBjlB,KAAAklB,eAAyB,EAazBllB,KAAAuT,iBAA2B,EAE3BvT,KAAA8Z,gBAAwB,EAgL5B,MAlKI00B,qCAAAtrC,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKsX,kBAAoBtX,KAAKuX,eAAeC,cAC7CxX,KAAK4W,iBAAiBhG,aAAa5Q,KAAK6W,KAAKtF,aAAiB,IACzD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKtF,aAAa/K,cAK1DxG,KAAK6W,KAAKvF,qBAEVtR,KAAK8W,iBAAiBvD,gBAAgBvT,KAAK6W,KAAKtF,aAAiB,GAAGvR,KAAK6W,KAAKtF,aAAa/K,YAAYyQ,UACnG,SAAAQ,GAAW,MAAAzJ,GAAKuF,gBAAkBkE,EAAQC,SAC1C,SAAA7X,GAAS,MAAAmO,GAAKoJ,aAAoBvX,IAGtCG,KAAKma,IAAMna,KAAK6C,MAAM+F,OAAOqO,UACzB,SAAArO,GAKI,OAJAoF,EAAK2hC,QAAU/mC,EAAgB,QAC/BoF,EAAKmG,UAAYvL,EAAkB,UACnCoF,EAAKqQ,QAAUzV,EAAgB,QAC/BoF,EAAKoG,SAAWxL,EAAiB,SACzBoF,EAAK2hC,SACT,IAAK,IAED3hC,EAAK1E,UAAU,oBACf0E,EAAK8hC,iBAAiB,oBACtB,MAEJ,KAAK,IAED9hC,EAAK1E,UAAU,gBACf0E,EAAK8hC,iBAAiB,gBACtB,MAEJ,KAAK,IAED9hC,EAAK1E,UAAU,eACf0E,EAAK8hC,iBAAiB,cACtB,MAEJ,KAAK,IAED9hC,EAAK1E,UAAU,YACf0E,EAAK8hC,iBAAiB,oBAM9B9hC,EAAKoX,gBAITopB,oCAAAtrC,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,IAE1C/X,KAAKsX,kBAAkBY,UAAY,6BAA6BlY,KAAKiY,gBAAgBtG,aAAY,KAAK3R,KAAKiY,gBAAgBpK,GAAE,cAIjI2gC,oCAAAtrC,UAAAkiB,WAAA,cAAApX,GAAAhO,IAEIA,MAAK4G,QAAQ0C,UAAYtJ,KAAKsJ,UAC9BtJ,KAAK4G,QAAQwN,SAAWpU,KAAK6W,KAAKtF,aAAa/K,WAC/CxG,KAAK4G,QAAQxD,QAAUpD,KAAK6W,KAAKtF,aAAanO,QAAU,EAAI,EAC5DpD,KAAKyZ,gBAAgBpQ,qBAAqBrJ,KAAK4G,SACtCqQ,UACG,SAAA+J,GAAW,MAAAhT,GAAKgT,QAAUA,GAC1B,SAAAnhB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAGlD2uC,oCAAAtrC,UAAAmiB,uBAAA,cAAArX,GAAAhO,IACIA,MAAK0gB,sBAAsBrN,mBACtB4D,UACG,SAAAsK,GACIvT,EAAKuT,kBAAoBA,GAE7B,SAAA1hB,GAAS,MAAAmO,GAAKoJ,aAAoBvX,KAE9C2uC,oCAAAtrC,UAAAohB,OAAA,WACItkB,KAAK8C,OAAOW,UAAU,oBAE1B+qC,oCAAAtrC,UAAAmX,YAAA,aAEAm0B,oCAAAtrC,UAAA0iB,cAAA,cAAA5X,GAAAhO,IACIA,MAAK8Z,gBAAgB,CACrB,IAAI+L,GAAkB7lB,KAAKghB,QAAQhJ,OAAO,SAASkJ,GAC/C,MAAwB,IAAjBA,EAAO4E,QAElB,OAA8B,KAA3BD,EAAgBrlB,QACfR,KAAK+Z,YACL/Z,MAAK+Z,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,iDAIvElO,eAAeK,QAAQ,2BAA4BjE,KAAKC,UAAU8c,IAalE7lB,KAAK4G,QAAQoe,UAAYhlB,KAAKglB,UAC9BhlB,KAAK4G,QAAQJ,WAAaxG,KAAKoU,SAC/BpU,KAAK4G,QAAQuN,UAAYnU,KAAKmU,UAC9BnU,KAAK4G,QAAQyN,SAAW,EACxBrU,KAAK4G,QAAQoa,QAAUlY,KAAK2D,MAAMC,eAAeC,QAAQ,iCAGzD3M,MAAKwhC,oBAAoBpxB,sBAAsBpQ,KAAK4G,SAC3CqQ,UACD,SAAAuE,GACGxN,EAAK8L,gBAAiB,EACrB9L,EAAKyN,sBAAwBD,EACwB,UAAjDxN,EAAKyN,sBAAsB,GAAGC,gBAC9B1N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,gBAAiBC,OAAQ,+CAClD5M,EAAKyN,sBAAsB,GAAGE,mBAEQ,YAAlD3N,EAAKyN,sBAAsB,GAAGE,iBACnC3N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,QAASC,QAAQ,eAAgBC,OAAQ,oBACjD5M,EAAKyN,sBAAsB,GAAGE,kBAC/C3N,EAAKyN,sBAAsB,GAAGG,WAAW,GACzC5N,EAAKyN,sBAAsB,GAAGI,YAAY,KAG1C7N,EAAK+L,QACL/L,EAAK+L,KAAKU,MAAMC,SAAS,OAAQC,QAAQ,eAAgBC,OAAQ,wDACjE5M,EAAK8N,OACQC,MAAO,cAAeC,OAAQ,SAC9BD,MAAO,aAAcC,OAAQ,UAOlD,SAAAnc,GAAS,MAAAmO,GAAKoJ,aAAoBvX,MAI9C2uC,oCAAAtrC,UAAA0Z,YAAA,SAAYC,GACRhZ,OAAOiZ,KAAKD,EAAa,WAE7B2xB,oCAAAtrC,UAAA6Z,aAAA,SAAaC,GACTnZ,OAAOiZ,KAAKE,EAAc,WAhN9Bjd,GAACpB,EAAA0kB,Q5Ji/RIriB,EAAW,cAAesiB,UAC3BkrB,oCAAoCtrC,UAAW,WAAY,Q4Jj/R/DnD,GAACpB,EAAA0kB,Q5Jo/RIriB,EAAW,cAAeuiB,SAC3BirB,oCAAoCtrC,UAAW,QAAS,Q4Jp/R5DnD,GAACpB,EAAA0kB,Q5Ju/RIriB,EAAW,cAAeuiB,SAC3BirB,oCAAoCtrC,UAAW,cAAe,Q4Jv/RlEnD,GAACpB,EAAA0kB,Q5J0/RIriB,EAAW,cAAesiB,UAC3BkrB,oCAAoCtrC,UAAW,aAAc,Q4Jh9RjEnD,GAACpB,EAAAwZ,UAAU,kB5Jm9RNnX,EAAW,cAAerC,EAAOyZ,aAClCo2B,oCAAoCtrC,UAAW,iBAAkB,Q4J3gSzEsrC,oCAAAzuC,GAACpB,EAAAqF,WACGC,SAAU,iCACVC,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAamV,EAAA2D,OAAQ1D,EAAAwM,Y5J+gShBhlB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ1E,EAAkBkD,eAAgBvC,EAAuBwC,mBAAoBvC,EAAmBkD,gBAAiB9C,EAAoBoD,gBAAiB9C,EAAe+C,YAAajD,EAAeoD,uBAAwBzD,EAAyBuD,wBAC9T4oC,uC4J7gSKrwC,GAAAqwC,oCAAmCA,G5JqhS1CuB,IACA,SAAS7xC,EAAQC,G6JhjSvBD,EAAAC,QAAA,ohG7JsjSM6xC,IACA,SAAS9xC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I8JjkS3GvC,EAAAP,EAA4C,IAC5CgD,EAAAhD,EAA0D,KAM1D6D,EAAA7D,EAAmC,KACnC8D,EAAA9D,EAA2C,KAE3CwE,EAAAxE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAIhCmb,EAAAnb,EAAuB,KACX8N,EAAC9N,EAAM,KAQnBqwC,EAAA,WAwBI,QAAAA,kCAAoB5rC,EACAC,EACA0+B,EACA5qB,EACAC,EACAC,GALA9W,KAAA6C,QACA7C,KAAA8C,SACA9C,KAAAwhC,sBACAxhC,KAAA4W,mBACA5W,KAAA6W,OACA7W,KAAA8W,mBAzBpB9W,KAAA+Z,QASA/Z,KAAAglB,UAAoB,MAuHxB,MApGIypB,kCAAAvrC,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKma,IAAMna,KAAK6C,MAAM+F,OAAOqO,UACzB,SAAArO,GACIoF,EAAK1E,UAAYV,EAAkB,UACnCoF,EAAK4U,YAAcha,EAAoB,YACvCoF,EAAKtK,MAAQkF,EAAc,MAC3BoF,EAAK2O,YAAc/T,EAAoB,YACvCoF,EAAKgX,UAAYpc,EAAkB,UACnCoF,EAAKmG,UAAYvL,EAAkB,UACnCoF,EAAKqQ,QAAUzV,EAAgB,QAC/BoF,EAAK+X,WAAand,EAAmB,WAErCoF,EAAKgT,QAAUlY,KAAK2D,MAAMC,eAAeC,QAAQ,6BAEjDqB,EAAKpE,iBAIb5J,KAAK4W,iBAAiBhG,aAAa5Q,KAAK6W,KAAKtF,aAAiB,IACzD0F,UACG,SAAAC,GAAa,MAAAlJ,GAAKmJ,aAAeD,GACjC,SAAArX,GAAS,MAAAmO,GAAKoJ,aAAoBvX,GAClC,WACImO,EAAKqJ,kBAAkBrJ,EAAK6I,KAAKtF,aAAa/K,eAM9DioC,iCAAAvrC,UAAA0G,aAAA,cAAAoE,GAAAhO,KAEQ4I,GACAU,UAAWtJ,KAAKsJ,UAChB5F,MAAO,EACP8C,WAAYxG,KAAK6W,KAAKtF,aAAa/K,WACnC2N,UAAWnU,KAAKmU;AAChBkK,QAASre,KAAKqe,QACd2C,QAAShhB,KAAKghB,QAGlBhhB,MAAKwhC,oBAAoBpxB,sBAAsBxH,GAC1CqO,UACG,SAAAwK,GACIzT,EAAKyT,OAASA,EAEdzT,EAAKoY,wBAKrBqoB,iCAAAvrC,UAAAkjB,mBAAA,WAEI,GAAIC,GAASna,EAAEtB,IAAI5K,KAAKyhB,OAAO,SAC3B6E,IAEJ,KAAI,GAAI3G,KAAS3f,MAAKghB,QACtB,CACI,GAAIuF,IACIC,MAAOxmB,KAAKghB,QAAQrB,GAAO8G,UAC3B1b,KAAMmB,EAAEtB,IAAI5K,KAAKyhB,OAAQzhB,KAAKghB,QAAQrB,GAAO8G,WAC7CC,MAAM,EAENC,gBAAiB3mB,KAAK4mB,iBACtBC,YAAa7mB,KAAK4mB,iBAG1BN,GAAS3G,GAAS4G,EAGtBvmB,KAAK+K,MACFsb,OAAQA,EACRC,SAAUA,IAKjBmoB,iCAAAvrC,UAAAmX,YAAA,WACIra,KAAKma,IAAIG,eAGLm0B,iCAAAvrC,UAAAmU,kBAAR,SAA0B7Q,GACtB,GAAIuR,GAA6B/X,KAAKmX,aAAaa,OAAO,SAAS5D,GAC/D,MAAOA,GAASvG,KAAOrH,GAExBuR,GAAevX,OAAS,IACvBR,KAAKiY,gBAAkBF,EAAe,KAI9C02B,iCAAAvrC,UAAA0jB,eAAA,WAII,IAAK,GAHDQ,GAAU,mBACVC,EAAQ,IAEHvmB,EAAI,EAAGA,EAAI,EAAGA,IACnBumB,GAASD,EAAQE,KAAKC,MAAsB,GAAhBD,KAAKE,UAGrC,OAAOH,IAvIfonB,iCAAA1uC,GAACpB,EAAAqF,WACGE,SAAU9F,EAAQ,KAClB+F,QAAS/F,EAAQ,MACjBgG,YAAahD,EAAAiD,kBAAmBkV,EAAAmO,W9J+oS3B1mB,EAAW,qBAAsBI,EAAS2E,eAAgB3E,EAAS4E,OAAQ/D,EAAuBwC,mBAAoBvC,EAAmBkD,gBAAiBxC,EAAe+C,YAAarD,EAAoBoD,mBAC3M+oC,oC8J7oSKtwC,GAAAswC,iCAAgCA,G9JqpSvCwB,IACA,SAAS/xC,EAAQC,G+J9qSvBD,EAAAC,QAAA,qjD/JorSM+xC,IACA,SAAShyC,EAAQC,EAASC,GAE/B,YgKrrSD,IAAA+xC,GAAA/xC,EAA+B,KAC/BgyC,EAAAhyC,EAAwC,KACxCiyC,EAAAjyC,EAAuC,KACvCkyC,EAAAlyC,EAA8C,IAEjCD,GAAAoY,aACTV,KAAM,QAASG,UAAWm6B,EAAAI,iBAC1B16B,KAAM,aAAcG,UAAYo6B,EAAAI,0BAChC36B,KAAM,iBAAkBG,UAAYq6B,EAAAI,yBACpC56B,KAAM,yBAA0BG,UAAYs6B,EAAAI,iChK2rS1CC,IACA,SAASzyC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IiKjtS3GvC,EAAAP,EAA8C,IAC9CgE,EAAAhE,EAA4B,KAC5BgD,EAAAhD,EAAsC,KACtCwyC,EAAAxyC,EAA+B,KAC/BwE,EAAAxE,EAA4B,KAC5BkE,EAAAlE,EAAgC,KAEpB8N,EAAC9N,EAAM,KAWnBmyC,EAAA,WAcI,QAAAA,gBAAoBztC,EACRC,EACAF,EACAgU,EACAC,GAJQ9W,KAAA8C,SACR9C,KAAA+C,cACA/C,KAAA6C,QACA7C,KAAA6W,OACA7W,KAAA8W,mBAXL9W,KAAA6wC,eAAgB,EAGhB7wC,KAAA8T,aAAsB,GACtB9T,KAAA+N,SAAkB,GAiE7B,MAxDIwiC,gBAAArtC,UAAAC,SAAA,cAAA6K,GAAAhO,IACGJ,SAAQoL,IAAIhL,KAAK6C,MAAMiuC,aAGtB9wC,KAAKma,IAAMna,KAAK6C,MAAM+F,OAAOqO,UACzB,SAAArO,GACIoF,EAAK8F,aAAelL,EAAqB,eAGjD5I,KAAK+wC,QAAU/wC,KAAK6C,MAAMiuC,YAAY75B,UAClC,SAAArO,GACI,GAAImF,GAAWnF,EAAa,IACxBsD,GAAEkO,QAAQrM,IACVC,EAAKF,MAAMC,KAKpB/N,KAAK+C,YAAYO,cAChBtD,KAAK8C,OAAOW,UAAU,cAI9B8sC,eAAArtC,UAAA8tC,UAAA,WACIhxC,KAAK+C,YAAYqJ,aAGrBmkC,eAAArtC,UAAA4K,MAAA,SAAMC,GAAN,GAAAC,GAAAhO,IACIA,MAAKixC,WAAY,EAEjBjxC,KAAK+C,YAAY+K,MAAMC,GAClBkJ,UACG,SAAAQ,GACIzJ,EAAK6I,KAAKvF,qBACVtD,EAAK7K,WACF6K,EAAK8F,aACJ9F,EAAKlL,OAAOW,UAAUuK,EAAK8F,eAG3B9F,EAAKlL,OAAOW,UAAU,aAE1BI,OAAOC,SAASC,UAGpB,SAAAlE,GACID,QAAQoL,IAAI,QAAUnL,GACtBmO,EAAKkjC,UACpBljC,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK/jC,EAAMqO,mBAAqB,+BACnDF,EAAKijC,WAAY,KAKjCV,eAAArtC,UAAAiuC,WAAA,SAAWxxB,GACP3f,KAAKkxC,OAAOpN,OAAOnkB,EAAO,IAnFlC4wB,eAAAxwC,GAACpB,EAAAqF,WAEGI,YAAawsC,EAAAQ,kBAEbltC,SAAU9F,EAAQ,OjK0wSb4C,EAAW,qBAAsBI,EAAS4E,OAAQ5D,EAAemD,YAAanE,EAAS2E,eAAgBnD,EAAe+C,YAAarD,EAAoBoD,mBACxJ6qC,kBiKtwSKpyC,GAAAoyC,eAAcA,GjK8wSrBc,IACA,SAASnzC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IkK3yS3GvC,EAAAP,EAAwB,IAExBkzC,EAAA,WAEI,QAAAA,aAAYC,GACRvxC,KAAKwxC,QAAUD,EAQvB,MANID,aAAApuC,UAAAuuC,QAAA,WACIzxC,KAAKwxC,SAAU,GAEnBF,YAAApuC,UAAAwuC,MAAA,WACI1xC,KAAKwxC,SAAU,GAEvBF,cAXanzC,GAAAmzC,YAAWA,CAiBxB,IAAAF,GAAA,mBAAAA,qBAA+B,MAJ/BA,kBAAArxC,GAACpB,EAAAqF,WACGC,SAAU,oBACVC,SAAU,ysMlKkzSLlD,EAAW,yBACZowC,oBkKjzSKjzC,GAAAizC,iBAAgBA,GlKyzSvBO,IACA,SAASzzC,EAAQC,GmK70SvBD,EAAAC,QAAA,yuCnKm1SMyzC,IACA,SAAS1zC,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IoK91S3GvC,EAAAP,EAA8C,IAC9CyzC,EAAAzzC,EAA+B,KAC/BgD,EAAAhD,EAAsC,KAStCoyC,EAAA,WAaI,QAAAA,yBAAoB1tC,EACRgvC,EACAjvC,GAFQ7C,KAAA8C,SACR9C,KAAA8xC,iBACA9xC,KAAA6C,QAZL7C,KAAA+xC,OAAS,WAyIpB,MA3HIvB,yBAAAttC,UAAAC,SAAA,aAyBAqtC,wBAAAttC,UAAA8uC,aAAA,cAAAhkC,GAAAhO,IACIiyC,YAAW,WACPjkC,EAAKkjC,WAGN,MAKPV,wBAAAttC,UAAAgvC,gBAAA,cAAAlkC,GAAAhO,IAIIA,MAAKmyC,cAAe,CAEpB,IAAIC,GAAUvuC,OAAOC,SAASwI,KAAK+lC,UAAU,EAAGxuC,OAAOC,SAASwI,KAAKgmC,YAAY,KAkB7EtyC,MAAK8xC,eAAeS,WAAWC,MAAOxyC,KAAKwyC,MAAOJ,QAASA,IACtDK,QAAQ,WAAM,MAAAzkC,GAAKmkC,cAAe,IAClCl7B,UACG,SAAAQ,GACIzJ,EAAKkjC,UACLljC,EAAKkjC,OAAOz2B,MAAMtT,KAAM,UAAWy8B,IAAK,gCAE5C,SAAA/jC,GACImO,EAAKkjC,UACLljC,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK/jC,IACvCmO,EAAKgkC,kBAMzBxB,wBAAAttC,UAAAiuC,WAAA,SAAWxxB,GACV3f,KAAKkxC,OAAOpN,OAAOnkB,EAAO,IAG3B6wB,wBAAAttC,UAAAwvC,uBAAA,cAAA1kC,GAAAhO,IACIA,MAAK8xC,eAAeY,uBAAuB1yC,KAAKwyC,MAAOxyC,KAAK2yC,QACvD17B,UACG,SAAAlM,GACgB,SAATA,EACCiD,EAAKlL,OAAOW,UAAU,qBAEtBuK,EAAKkjC,UACvBljC,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK,8DAG7B,SAAA/jC,GACImO,EAAKkjC,UACLljC,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK,+DAE3C,WAAM,MAAA51B,GAAKgkC,kBAI1BxB,wBAAAttC,UAAA0vC,cAAA,cAAA5kC,GAAAhO,KACQ6yC,GACHL,MAAOxyC,KAAKwyC,MACfM,WAAY9yC,KAAK+yC,KACjBC,YAAahzC,KAAKgzC,YAGnBhzC,MAAK8xC,eAAemB,SAASJ,GAClB57B,UACG,SAAAlM,GACOA,EAAKmoC,UACJllC,EAAKlL,OAAOW,UAAU,6BAEtBuK,EAAKkjC,UACvBljC,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK74B,EAAKooC,OAAO,OAGzC,SAAAtzC,GACImO,EAAKkjC,UACLljC,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK,iEAE3C,WAAM,MAAA51B,GAAKgkC,kBA9I3BxB,wBAAAzwC,GAACpB,EAAAqF,WACGM,WAAYutC,EAAAuB,gBAEVlvC,SAAU9F,EAAQ,OpK28Sf4C,EAAW,qBAAsBI,EAAS4E,OAAQ6rC,EAAkBuB,eAAgBhyC,EAAS2E,kBAC9FyqC,2BoKz8SKryC,GAAAqyC,wBAAuBA,GpKi9S9B6C,IACA,SAASn1C,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IqKv+S3GvC,EAAAP,EAA2B,IAG3BoE,EAAApE,EAA2B,KAI3Bg1C,EAAA,WAEI,QAAAA,gBAAoB/sC,GAAArG,KAAAqG,aA+ExB,MA7EI+sC,gBAAAlwC,UAAAowC,UAAA,SAAUT,GACN,MAAO7yC,MAAKqG,WAAWqD,KACnB,6BACAZ,KAAKC,UAAU8pC,KAG1BO,eAAAlwC,UAAAqvC,UAAA,SAAUM,GACH,MAAO7yC,MAAKqG,WAAWqD,KACnB,6BACAZ,KAAKC,UAAU8pC,KAGvBO,eAAAlwC,UAAAwvC,uBAAA,SAAuBF,EAAeG,GAElC,GAAI5nC,IACNynC,MAAOA,EACVG,OAAQA,EAGH,OAAO3yC,MAAKqG,WAAWqD,KACnB,4CACAZ,KAAKC,UAAUgC,KAG1BqoC,eAAAlwC,UAAAqwC,4BAAA,SAA4Bf,GAC3B,GAAIgB,IACHhB,MAAOA,EAGF,OAAOxyC,MAAKqG,WAAWqD,KACnB,oCACAZ,KAAKC,UAAUyqC,KAG1BJ,eAAAlwC,UAAA+vC,SAAA,SAASJ,GAEF,MAAO7yC,MAAKqG,WAAWqD,KACnB,4BACAZ,KAAKC,UAAU8pC,KAG1BO,eAAAlwC,UAAAuwC,qBAAA,WACO,MAAOzzC,MAAKqG,WAAWI,IAAI,+BAGlC2sC,eAAAlwC,UAAAwwC,eAAA,SAAeC,GAER,GAAI5oC,IACL4oC,SAAUA,EAGT,OAAO3zC,MAAKqG,WAAWqD,KACnB,wBACAZ,KAAKC,UAAUgC,KAI1BqoC,eAAAlwC,UAAA0wC,4BAAA,SAA4BC,GAErB,MAAO7zC,MAAKqG,WAAWqD,KACnB,sCACAZ,KAAKC,UAAU8qC,KAG1BT,eAAAlwC,UAAA4wC,iBAAA,SAAiBC,GAEV,MAAO/zC,MAAKqG,WAAWqD,KACnB,kCACAZ,KAAKC,UAAUgrC,KAG1BX,eAAAlwC,UAAA8wC,aAAA,SAAaC,GAEN,MAAOj0C,MAAKqG,WAAWqD,KACnB,gCACAZ,KAAKC,UAAUkrC,KAhF3Bb,eAAArzC,GAACpB,EAAAwH,arKohTQnF,EAAW,qBAAsBwB,EAAcgD,cAChD4tC,kBqKphTKj1C,GAAAi1C,eAAcA,GrK4hTrBc,IACA,SAASh2C,EAAQC,GsKpiTvBD,EAAAC,QAAA,i4CtK0iTMg2C,IACA,SAASj2C,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IuKrjT3GvC,EAAAP,EAA8C,IAE9CyzC,EAAAzzC,EAA+B,KAC/BgD,EAAAhD,EAAsC,KACtCg2C,EAAAh2C,EAA+B,KAU/BqyC,EAAA,WAUI,QAAAA,wBAAoB3tC,EACRgvC,EACAjvC,GAFQ7C,KAAA8C,SACR9C,KAAA8xC,iBACA9xC,KAAA6C,QAkDhB,MAhDI4tC,wBAAAvtC,UAAAC,SAAA,cAAA6K,GAAAhO,IAEKA,MAAKma,IAAMna,KAAK6C,MAAMiuC,YAAY75B,UAC9B,SAAArO,GACIoF,EAAKwkC,MAAQ5pC,EAAc,MAC3BoF,EAAK+kC,KAAOnqC,EAAa,QAKtC6nC,uBAAAvtC,UAAA8uC,aAAA,cAAAhkC,GAAAhO,IACIiyC,YAAW,WACPjkC,EAAKkjC,WAGN,MAIPT,uBAAAvtC,UAAAiuC,WAAA,SAAWxxB,GACV3f,KAAKkxC,OAAOpN,OAAOnkB,EAAO,IAG9B8wB,uBAAAvtC,UAAA0vC,cAAA,cAAA5kC,GAAAhO,IACOA,MAAKkxC,SAER,IAAI2B,IACHL,MAAOxyC,KAAKwyC,MACfM,WAAY9yC,KAAK+yC,KACjBC,YAAahzC,KAAKgzC,YAGnBhzC,MAAK8xC,eAAemB,SAASJ,GAClB57B,UACG,SAAAlM,GACOA,EAAKmoC,UACJllC,EAAKlL,OAAOW,UAAU,4BAExCuK,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK74B,EAAKooC,OAAO,MAGzC,SAAAtzC,GACImO,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK,iEAE3C,WAAM,MAAA51B,GAAKgkC,kBAjE3BvB,uBAAA1wC,GAACpB,EAAAqF,WACGM,WAAYutC,EAAAuB,gBAEZlvC,SAAU9F,EAAQ,KAClBgG,YAAagwC,EAAAC,kBvKmmTRrzC,EAAW,qBAAsBI,EAAS4E,OAAQ6rC,EAAkBuB,eAAgBhyC,EAAS2E,kBAC9F0qC,0BuKjmTKtyC,GAAAsyC,uBAAsBA,GvKymT7B6D,IACA,SAASp2C,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IAEtGqzC,EAAWv0C,MAAQA,KAAKu0C,SAAY,SAAUC,EAAYC,GAC1D,MAAO,UAAUv0C,EAAQC,GAAOs0C,EAAUv0C,EAAQC,EAAKq0C,KwKroT5D71C,EAAAP,EAA0D,IAC1DE,EAAAF,EAA0D,KAQ1Di2C,EAAA,WACI,QAAAA,gBAAgDK,EACfC,GADe30C,KAAA00C,gBACf10C,KAAA20C,UAsCrC,MAlCIj0C,QAAAK,eAAYszC,eAAAnxC,UAAA,axKgoTPuD,IwKhoTL,WACI,QAAKzG,KAAK20C,SACc,SAAjB30C,KAAK20C,SxKmoTXC,YAAY,EACZC,cAAc,IwKjoTnBR,eAAAnxC,UAAA4xC,SAAA,SAASx0C,GAEL,GAAIY,GAAIZ,EAAEwX,MAGNi9B,EAAIz0C,EAAE00C,KAAK5zB,KAAKphB,KAAK00C,cAGzB,OAAIK,IAAK7zC,IAAM6zC,EAAEj9B,QAAU9X,KAAKi1C,WAE5BP,eAAe,IAKfK,GAAK7zC,IAAM6zC,EAAEj9B,OAAS9X,KAAKi1C,kBACpBF,GAAE5B,OAAsB,cAC1BzyC,OAAOw0C,KAAKH,EAAE5B,QAAQ3yC,QAAQu0C,EAAEI,UAAU,OAI/CJ,GAAK7zC,IAAM6zC,EAAEj9B,OAAS9X,KAAKi1C,WAC3BF,EAAEI,WACET,eAAe,IAIhB,OA5CfL,eAAAt0C,GAACpB,EAAAy2C,WACGnxC,SAAU,yFACVK,WACI3F,EAAAS,QAAQd,EAAA+2C,eAAiBC,YAAa32C,EAAA42C,WAAW,WAAM,MAAAlB,kBAAiB9H,OAAO,OxKirT9EgI,EAAQ,EwK7qTC51C,EAAA62C,UAAU,kBxK8qTnBjB,EAAQ,EwK7qTR51C,EAAA62C,UAAU,YxK8qTVx0C,EAAW,qBAAsBuiB,OAAQA,UAC1C8wB,kBwKjrTKl2C,GAAAk2C,eAAcA,GxKyrTrBoB,IACA,SAASv3C,EAAQC,GyKnsTvBD,EAAAC,QAAA,82FzKysTMu3C,IACA,SAASx3C,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I0KptT3GvC,EAAAP,EAAkC,IAUlCsyC,EAAA,mBAAAA,kCAEA,MAPAA,+BAAA3wC,GAACpB,EAAAqF,WAEGE,SAAU9F,EAAQ,O1KwtTb4C,EAAW,yBACZ0vC,iC0KttTKvyC,GAAAuyC,8BAA6BA,G1K8tTpCiF,IACA,SAASz3C,EAAQC,G2KzuTvBD,EAAAC,QAAA,kT3K+uTMy3C,IACA,SAAS13C,EAAQC,EAASC,GAE/B,Y4KjvTD,IAAAy3C,GAAAz3C,EAA+B,KAC/B03C,EAAA13C,EAA8B,KAC9BmE,EAAAnE,EAA0B,IAEbD,GAAAqY,cACTX,KAAM,QAASG,UAAW6/B,EAAAE,eAAgBniC,aAAcrR,EAAAkD,aACxDoQ,KAAM,aAAcG,UAAW8/B,EAAAE,cAAepiC,aAAcrR,EAAAkD,aAC5DoQ,KAAM,iBAAkBG,UAAY8/B,EAAAE,cAAepiC,aAAcrR,EAAAkD,c5KuvT/DwwC,IACA,SAAS/3C,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I6K1wT3GvC,EAAAP,EAAkC,IAElC83C,EAAA93C,EAA6B,KAE7BgD,EAAAhD,EAAsC,KAItCmb,EAAAnb,EAAyD,KAEzDob,EAAApb,EAA0B,KAC1BihB,EAAAjhB,EAAuB,KACvBkhB,EAAAlhB,EAAuB,KACvBmiB,EAAAniB,EAAuB,KAEvBoiB,EAAApiB,EAAqB,KAErBqiB,EAAAriB,EAA+B,KAS/B23C,EAAA,WAOI,QAAAA,gBAAoBjzC,EACRqzC,EACAtzC,GAFQ7C,KAAA8C,SACR9C,KAAAm2C,eACAn2C,KAAA6C,QARZ7C,KAAAo2C,iBAAkB,EAiEtB,MAvDIL,gBAAA7yC,UAAAC,SAAA,cAAA6K,GAAAhO,IACIA,MAAKq2C,SAELr2C,KAAKs2C,WACLt2C,KAAKu2C,QACA/vB,MAAO,OAAQgwB,KAAM,UAAWC,QAAS,SAAC7+B,GAAU,MAAA5J,GAAK0oC,SAAS1oC,EAAK2oC,iBACvEnwB,MAAO,SAAUgwB,KAAM,WAAYC,QAAS,SAAC7+B,GAAU,MAAA5J,GAAK4oC,WAAW5oC,EAAK2oC,kBAMxFZ,eAAA7yC,UAAAozC,SAAA,cAAAtoC,GAAAhO,IACIA,MAAKo2C,iBAAkB,EAEpBp2C,KAAKm2C,aAAaG,WACbr/B,UACG,SAAAo/B,GACIroC,EAAKqoC,MAAQA,EACbroC,EAAKqoC,MAAMzrC,IAAI,SAAAisC,GACXA,EAAKvpC,MAAQupC,EAAKvpC,MAAM1C,IAAI,SAAC2C,GAAc,MAAAA,GAAK+E,OAAMwkC,KAAK,SAGnE,SAAAj3C,GACRmO,EAAKkjC,UACLljC,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK,0CAC/B,WAAM,MAAA51B,GAAKooC,iBAAkB,KAGzCL,eAAA7yC,UAAA6zC,QAAA,WACI/2C,KAAK8C,OAAOW,UAAU,iBAG1BsyC,eAAA7yC,UAAAwzC,SAAA,SAASG,GACL72C,KAAK8C,OAAOW,UAAU,eAAiBoK,GAAIgpC,EAAKhpC,OAGpDkoC,eAAA7yC,UAAA0zC,WAAA,SAAWC,GAAX,GAAA7oC,GAAAhO,KACQgrB,EAAgBC,QAAQ,wCAA0C4rB,EAAK3pC,SAEvD,IAAjB8d,GACThrB,KAAKm2C,aAAaS,WAAWC,EAAKhpC,IACvBoJ,UACG,SAAAo/B,GACIroC,EAAKooC,iBAAkB,EACvBpoC,EAAKkjC,UACjBljC,EAAKkjC,OAAOz2B,MAAMtT,KAAM,UAAWy8B,IAAK,8BACxC51B,EAAKsoC,YACG,SAAAz2C,GACRmO,EAAKkjC,UACLljC,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK,2BAE/B,WAAM,MAAA51B,GAAKooC,iBAAkB,KAtE7CL,eAAAh2C,GAACpB,EAAAqF,WACGM,WAAY4xC,EAAAc,cAEZ9yC,SAAU9F,EAAQ,KAClBgG,YAAaoV,EAAA0W,UAAW7Q,EAAAmE,OAAQlE,EAAA6Q,OAAQ5P,EAAArD,OAAQsD,EAAAy2B,KAAM19B,EAAA29B,YAAaz2B,EAAA02B,kB7K0zT9Dn2C,EAAW,qBAAsBI,EAAS4E,OAAQkwC,EAAgBc,aAAc51C,EAAS2E,kBAC1FgwC,kB6KxzTK53C,GAAA43C,eAAcA,G7Kg0TrBqB,IACA,SAASl5C,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,I8Kr2T3GvC,EAAAP,EAA2B,IAG3BoE,EAAApE,EAA2B,KAI3B44C,EAAA,WAKI,QAAAA,cAAoB3wC,GAAArG,KAAAqG,aAqDxB,MAjDI2wC,cAAA9zC,UAAAozC,SAAA,WAGI,MAAOt2C,MAAKqG,WAAWI,IAAI,cAG/BuwC,aAAA9zC,UAAAmK,SAAA,WACI,MAAOrN,MAAKqG,WAAWI,IAAI,2BAI/BuwC,aAAA9zC,UAAAm0C,eAAA,WACC,MAAOr3C,MAAKq2C,OAKbW,aAAA9zC,UAAAo0C,WAAA,SAAWT,GACP,MAAO72C,MAAKqG,WAAWqD,KAEnB,aACAZ,KAAKC,UAAU8tC,KAIvBG,aAAA9zC,UAAAq0C,YAAA,SAAY/E,GACR,MAAOxyC,MAAKqG,WAAWqD,KACnB,+BAEAZ,KAAKC,WAAWypC,MAAOA,MAG/BwE,aAAA9zC,UAAAs0C,eAAA,SAAe7D,GACX,MAAO3zC,MAAKqG,WAAWqD,KACnB,kCAEAZ,KAAKC,WAAW4qC,SAAUA,MAGlCqD,aAAA9zC,UAAAu0C,WAAA,SAAWZ,GACP,MAAO72C,MAAKqG,WAAWwC,IACnB,aAAeguC,EAAKhpC,GACpB/E,KAAKC,UAAU8tC,KAGvBG,aAAA9zC,UAAA0zC,WAAA,SAAWc,GACP,MAAO13C,MAAKqG,WAAWiF,OAAO,aAAeosC,IAxDrDV,aAAAj3C,GAACpB,EAAAwH,a9K64TQnF,EAAW,qBAAsBwB,EAAcgD,cAChDwxC,gB8K74TK74C,GAAA64C,aAAYA,G9Kq5TnBW,IACA,SAASz5C,EAAQC,G+K75TvBD,EAAAC,QAAA;E/Km6TMy5C,IACA,SAAS15C,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IgL96T3GvC,EAAAP,EAAkC,IAClC83C,EAAA93C,EAA6B,KAC7BgD,EAAAhD,EAAsC,KACtC+D,EAAA/D,EAAgD,KACpC8N,EAAC9N,EAAM,KASnB43C,EAAA,WAaI,QAAAA,eAAoBlzC,EACRqzC,EACAl4B,EACApb,GAHQ7C,KAAA8C,SACR9C,KAAAm2C,eACAn2C,KAAAie,qBACAje,KAAA6C,QAiJhB,MA/IImzC,eAAA9yC,UAAAC,SAAA,cAAA6K,GAAAhO,IAEIA,MAAKma,IAAMna,KAAK6C,MAAM+F,OAAOqO,UACzB,SAAArO,GACA,GAAIiF,GAAKjF,EAAW,EAEV4R,UAAP3M,GACCG,EAAK6pC,SAAU,EACf7pC,EAAK/K,UAAY,cAC1B+K,EAAK6oC,QACI7oC,EAAKX,aAGLW,EAAK6pC,SAAU,EACf7pC,EAAK/K,UAAY,YAEjB+K,EAAK8pC,QAAUjqC,EAIfG,EAAKmoC,aAAaG,WAAWr/B,UACzB,SAAAlM,GACI,GAAIsrC,GAAQtrC,CACZiD,GAAK6oC,KAAO3qC,EAAEkV,KAAKi1B,EAAO,SAASQ,GAC3C,MAAOA,GAAKhpC,KAAOkqC,OAAOlqC,KAElBG,EAAKgqC,SAAW9rC,EAAE+rC,UAAUjqC,EAAK6oC,MACjC7oC,EAAKX,gBAMrBrN,KAAKke,aAAa,WAGd83B,cAAA9yC,UAAAgb,aAAR,SAAqBrQ,GAArB,GAAAG,GAAAhO,IAEIA,MAAKie,mBAAmBrL,QAAQ/E,GAC3BoJ,UACG,SAACqH,GACY,UAANzQ,IACCG,EAAKuQ,QAAUD,MAMnC03B,cAAA9yC,UAAAmK,SAAA,cAAAW,GAAAhO,IACIA,MAAKm2C,aAAa9oC,WACb4J,UACG,SAAA3J,GACIU,EAAKV,MAAQA,EACTU,EAAKkqC,gBAIzBlC,cAAA9yC,UAAAg1C,WAAA,WACC,GAAGl4C,KAAK62C,MAAQ72C,KAAK62C,KAAKvpC,MAAM,CACzB,GAAI6qC,GAASn4C,KAAK62C,KAAKvpC,MAAM,GAAGO,EAChC7N,MAAK62C,KAAKuB,aAAelsC,EAAEkV,KAAKphB,KAAKsN,MAAO,SAASC,GAC1D,MAAOA,GAAKM,KAAOsqC,QAGvBn4C,MAAK62C,KAAKuB,aAAep4C,KAAKsN,MAAM,IAKnC0oC,cAAA9yC,UAAAm1C,WAAA,cAAArqC,GAAAhO,IAEIA,MAAKkxC,UAERlxC,KAAK63C,QACE73C,KAAKm2C,aAAaqB,eAAex3C,KAAK62C,KAAK3pC,UACtC+J,UACG,SAAAQ,GACkB,GAAXA,EACCzJ,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK,gCAGvC51B,EAAKmoC,aAAaoB,YAAYvpC,EAAK6oC,KAAKrE,OACnCv7B,UACG,SAAAQ,GACkB,GAAXA,EACCzJ,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK,4BAGvC51B,EAAKsqC,YAGb,SAAAz4C,GACImO,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK,0CAI3D,SAAA/jC,GACXmO,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK,yCAIpC5jC,KAAKs4C,YAOhBtC,cAAA9yC,UAAAo1C,SAAA,cAAAtqC,GAAAhO,IACOA,MAAKkxC,UAEXlxC,KAAK62C,KAAKtpC,KAAOvN,KAAK62C,KAAKuB,aAAa9lC,KAErCtS,KAAK63C,SAEE73C,KAAK62C,KAAKzE,QAAUvuC,OAAOC,SAASwI,KAAK+lC,UAAU,EAAGxuC,OAAOC,SAASwI,KAAKgmC,YAAY,MAEvFtyC,KAAKm2C,aAAamB,WAAWt3C,KAAK62C,MAC7B5/B,UACG,SAAAQ,GAAW,MAAAzJ,GAAKlL,OAAOW,UAAU,YACjC,SAAA5D,GACXmO,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK,wBAGpC5jC,KAAKm2C,aAAasB,WAAWz3C,KAAK62C,MAC7B5/B,UACG,SAAAQ,GAAW,MAAAzJ,GAAKlL,OAAOW,UAAU,YACjC,SAAA5D,GACXmO,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK,sBAK/CoS,cAAA9yC,UAAAq1C,UAAA,WACCv4C,KAAK62C,KAAO72C,KAAKg4C,SACjBh4C,KAAKk4C,cAKNlC,cAAA9yC,UAAAiuC,WAAA,SAAWxxB,GACJ3f,KAAKkxC,OAAOpN,OAAOnkB,EAAO,IArKlCq2B,cAAAj2C,GAACpB,EAAAqF,WACGM,WAAY4xC,EAAAc,cAEZ9yC,SAAU9F,EAAQ,OhLyiUb4C,EAAW,qBAAsBI,EAAS4E,OAAQkwC,EAAgBc,aAAc70C,EAAqBmD,kBAAmBlE,EAAS2E,kBAClIiwC,iBgLviUK73C,GAAA63C,cAAaA,GhL+iUpBwC,IACA,SAASt6C,EAAQC,GiL7jUvBD,EAAAC,QAAA,8wQjLmkUMs6C,IACA,SAASv6C,EAAQC,EAASC,GAE/B,YkLrkUD,IAAAs6C,GAAAt6C,EAAiC,KACjCu6C,EAAAv6C,EAA2C,KAC3CmE,EAAAnE,EAA0B,IAGbD,GAAAsY,gBACTZ,KAAM,UAAWG,UAAW0iC,EAAAE,iBAAkBhlC,aAAcrR,EAAAkD,aAC5DoQ,KAAM,qBAAsBG,UAAW2iC,EAAAE,8BlL0kUrCC,IACA,SAAS56C,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,ImL7lU3GvC,EAAAP,EAAkC,IAClCyzC,EAAAzzC,EAA+B,KAC/BgE,EAAAhE,EAA4B,KAC5BgD,EAAAhD,EAAsC,KAUtCw6C,EAAA,WAYI,QAAAA,kBAAoB91C,EACRgvC,EACA/uC,EACAF,GAHQ7C,KAAA8C,SACR9C,KAAA8xC,iBACA9xC,KAAA+C,cACA/C,KAAA6C,QAwFhB,MArFI+1C,kBAAA11C,UAAAC,SAAA,aAGHy1C,iBAAA11C,UAAA8uC,aAAA,WACMC,WAAW,WACZjyC,KAAK+4C,gBACL,MAGLH,iBAAA11C,UAAA81C,eAAA,cAAAhrC,GAAAhO,IAECA,MAAKkxC,SAEL,IAAI2B,IACHc,SAAU3zC,KAAK+C,YAAYkK,kBAC3BgsC,gBAAiBj5C,KAAKi5C,gBACtBjG,YAAahzC,KAAKgzC,YAGbhzC,MAAK8xC,eAAewB,UAAUT,GACzB57B,UACG,SAAAlM,GACOA,EAAKmoC,UAChBllC,EAAKkjC,OAAOz2B,MAAMtT,KAAM,UAAWy8B,IAAK,kCAGxC51B,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK74B,EAAKooC,OAAO,MAG/C,SAAAtzC,GACImO,EAAKkjC,OAAOz2B,MAAMtT,KAAM,SAAUy8B,IAAK/jC,KAE3C,WAAM,MAAAmO,GAAKgkC,kBAkD1B4G,iBAAA11C,UAAAiuC,WAAA,SAAWxxB,GACJ3f,KAAKkxC,OAAOpN,OAAOnkB,EAAO,IA5GlCi5B,iBAAA74C,GAACpB,EAAAqF,WACGM,WAAYutC,EAAAuB,eAAgBhxC,EAAAmD,aAE5BrB,SAAU9F,EAAQ,OnLgrUb4C,EAAW,qBAAsBI,EAAS4E,OAAQ6rC,EAAkBuB,eAAgBhxC,EAAemD,YAAanE,EAAS2E,kBAC1H6yC,oBmL7qUKz6C,GAAAy6C,iBAAgBA,GnLqrUvBM,IACA,SAASh7C,EAAQC,GoLnsUvBD,EAAAC,QAAA,mnHpLysUMg7C,IACA,SAASj7C,EAAQC,EAASC,GAE/B,YACA,IAAI2B,GAAcC,MAAQA,KAAKD,YAAe,SAAUE,EAAYC,EAAQC,EAAKC,GAC7E,GAA2HC,GAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,CACrH,IAAuB,gBAAZQ,UAAoD,kBAArBA,SAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,OACpH,KAAK,GAAIU,GAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,EAChJ,OAAOH,GAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,GAE5DO,EAAchB,MAAQA,KAAKgB,YAAe,SAAUC,EAAGC,GACvD,GAAuB,gBAAZN,UAAoD,kBAArBA,SAAQO,SAAyB,MAAOP,SAAQO,SAASF,EAAGC,IqLptU3GvC,EAAAP,EAAkC,IAClCyzC,EAAAzzC,EAA+B,KAC/BgD,EAAAhD,EAA0D,KAW1Dy6C,EAAA,WAII,QAAAA,4BAAoB/1C,EACRgvC,EACAjvC,GAFQ7C,KAAA8C,SACR9C,KAAA8xC,iBACA9xC,KAAA6C,QA4BhB,MA1BIg2C,4BAAA31C,UAAAC,SAAA,cAEQqvC,GACAhmC,EAHRwB,EAAAhO,IAKIA,MAAKma,IAAMna,KAAK6C,MAAMiuC,YAAY75B,UAC9B,SAAArO,GACI4pC,EAAQ5pC,EAAc,MACtB4D,EAAQ5D,EAAc,OAG9B,IAAImC,IACHynC,MAAOA,EACVhmC,MAAOA,EAGLxM,MAAK8xC,eAAekC,aAAajpC,GACjCkM,UACI,SAAAQ,GACIzJ,EAAKrC,QAAU,4CAKnB,SAAA9L,GAAS,MAAAmO,GAAKrC,QAAU,6BAA+B9L,KAxCnEg5C,2BAAA94C,GAACpB,EAAAqF,WAEGM,WAAYutC,EAAAuB,gBAEZlvC,SAAU9F,EAAQ,KAClBgG,YAAahD,EAAAiD,qBrLivURrD,EAAW,qBAAsBI,EAAS4E,OAAQ6rC,EAAkBuB,eAAgBhyC,EAAS2E,kBAC9F8yC,8BqL/uUK16C,GAAA06C,2BAA0BA,GrLuvUjCO,IACA,SAASl7C,EAAQC,GsLrwUvBD,EAAAC,QAAA","file":"app.4e7fdec8a5a40bdf6602.js","sourcesContent":["webpackJsonp([0],{\n\n/***/ 0:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar platform_browser_dynamic_1 = __webpack_require__(1);\r\n\tvar forms_1 = __webpack_require__(337);\r\n\t// Our main component\r\n\tvar app_component_1 = __webpack_require__(375);\r\n\t// Our main routes\r\n\tvar app_routes_1 = __webpack_require__(702);\r\n\tvar common_1 = __webpack_require__(205);\r\n\tvar http_1 = __webpack_require__(376);\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar common_2 = __webpack_require__(205);\r\n\tif (true) {\r\n\t // Production\r\n\t core_1.enableProdMode();\r\n\t}\r\n\tplatform_browser_dynamic_1.bootstrap(app_component_1.AppComponent, [\r\n\t [http_1.HTTP_PROVIDERS],\r\n\t app_routes_1.APP_ROUTER_PROVIDERS,\r\n\t forms_1.disableDeprecatedForms(),\r\n\t forms_1.provideForms(),\r\n\t core_1.provide(common_1.LocationStrategy, { useClass: common_1.PathLocationStrategy }),\r\n\t { provide: common_2.APP_BASE_HREF, useValue: '/taf2024/' }\r\n\t])\r\n\t .catch(function (err) { return console.error(err); });\r\n\n\n/***/ },\n\n/***/ 375:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar http_1 = __webpack_require__(376);\r\n\t__webpack_require__(398);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar app_config_values_1 = __webpack_require__(676);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar taf_book_service_1 = __webpack_require__(681);\r\n\tvar taf_book_b1_service_1 = __webpack_require__(682);\r\n\tvar taf_book_b2_service_1 = __webpack_require__(683);\r\n\tvar taf_book_b3_service_1 = __webpack_require__(684);\r\n\tvar taf_book_b4_service_1 = __webpack_require__(685);\r\n\tvar taf_book_b5_service_1 = __webpack_require__(686);\r\n\tvar taf_book_s1_service_1 = __webpack_require__(687);\r\n\tvar taf_book_s2_service_1 = __webpack_require__(688);\r\n\tvar taf_book_s3_service_1 = __webpack_require__(689);\r\n\tvar taf_book_graph_s1_service_1 = __webpack_require__(690);\r\n\tvar query_report_service_1 = __webpack_require__(691);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar commondata_service_1 = __webpack_require__(693);\r\n\tvar auth_service_1 = __webpack_require__(679);\r\n\tvar system_control_service_1 = __webpack_require__(694);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar auth_guard_service_1 = __webpack_require__(696);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\tvar airport_interfaces_1 = __webpack_require__(697);\r\n\tvar query_report_1 = __webpack_require__(698);\r\n\tvar router_2 = __webpack_require__(655);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar AppComponent = (function () {\r\n\t // private IMGFOOTRIGHT= require('/app/images/foot_app_right.gif');\r\n\t function AppComponent(route, router, authService, _User) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this.authService = authService;\r\n\t this._User = _User;\r\n\t this.pageTitle = 'TAF Legacy NET 472';\r\n\t }\r\n\t AppComponent.prototype.ngOnInit = function () {\r\n\t this.isAdmin = this.authService.isInRole(\"System Developer\");\r\n\t this.isLoggedIn = this.authService.isLoggedIn();\r\n\t this.isReadOnly = this.authService.isReadOnly();\r\n\t };\r\n\t AppComponent.prototype.onSubmit = function () {\r\n\t this.router.navigate(['/airports', { locId: this.locId }]);\r\n\t this.locId = '';\r\n\t };\r\n\t AppComponent.prototype.logout = function () {\r\n\t this.authService.logOut();\r\n\t this.router.navigate(['/login']);\r\n\t window.location.reload();\r\n\t };\r\n\t AppComponent = __decorate([\r\n\t core_1.Component({\r\n\t selector: 'pm-app',\r\n\t template: \"\\n
\\n
\\n
\\n \\n \\\"Federal\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n Home\\n Facility View\\n Scenario Activities\\n Query Reports\\n
\\n \\n \\n
\\n
\\n
\\n \\n Aviation Data and Statistics Home\\n \\n \\n
\\n
\\n Go to LOCID:\\n \\n
\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n\\n
\\n \\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\",\r\n\t styles: [__webpack_require__(700), __webpack_require__(701)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES],\r\n\t providers: [app_config_values_1.AppConfigValues,\r\n\t airport_service_1.AirportService,\r\n\t query_report_service_1.QueryReportService,\r\n\t taf_book_service_1.TAFBookService,\r\n\t taf_book_s1_service_1.TAFBookS1Service,\r\n\t taf_book_s2_service_1.TAFBookS2Service,\r\n\t taf_book_graph_s1_service_1.TAFBookGraphS1Service,\r\n\t taf_book_s3_service_1.TAFBookS3Service,\r\n\t taf_book_b1_service_1.TAFBookB1Service,\r\n\t taf_book_b2_service_1.TAFBookB2Service,\r\n\t taf_book_b3_service_1.TAFBookB3Service,\r\n\t taf_book_b4_service_1.TAFBookB4Service,\r\n\t taf_book_b5_service_1.TAFBookB5Service,\r\n\t scenario_service_1.ScenarioService,\r\n\t scenario_service_1.CreateScenarioRequest,\r\n\t commondata_service_1.CommonDataService,\r\n\t http_1.HTTP_PROVIDERS,\r\n\t auth_service_1.AuthService,\r\n\t http_helper_1.HttpHelper,\r\n\t auth_guard_service_1.AuthGuard,\r\n\t user_info_service_1.UserInfoService,\r\n\t user_session_1.UserSession,\r\n\t system_control_service_1.SystemControlService,\r\n\t airport_interfaces_1.OperationsListRequest,\r\n\t query_report_1.QueryReportListRequest]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_2.ActivatedRoute, router_2.Router, auth_service_1.AuthService, user_session_1.UserSession])\r\n\t ], AppComponent);\r\n\t return AppComponent;\r\n\t}());\r\n\texports.AppComponent = AppComponent;\r\n\n\n/***/ },\n\n/***/ 676:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar AppConfigValues = (function () {\r\n\t function AppConfigValues() {\r\n\t }\r\n\t //public apiHostUrl: string = 'http://localhost:55706/'; // local development settings\r\n\t //public apiHostUrl: string = ''; // production settings\r\n\t AppConfigValues.prototype.getApiHostUrl = function () {\r\n\t //console.log(\"process.env.ENV\" + process.env.ENV);\r\n\t if (true) {\r\n\t return '/taf2024/'; // production settings\r\n\t }\r\n\t else {\r\n\t return 'http://localhost:55706/'; // local development settings\r\n\t }\r\n\t };\r\n\t AppConfigValues = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [])\r\n\t ], AppConfigValues);\r\n\t return AppConfigValues;\r\n\t}());\r\n\texports.AppConfigValues = AppConfigValues;\r\n\n\n/***/ },\n\n/***/ 677:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\tvar AirportService = (function () {\r\n\t function AirportService(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _baseAirportUrl = `http://localhost:55706/api/airport`;\r\n\t this._baseAirportUrl = \"api/airport\";\r\n\t }\r\n\t AirportService.prototype.getAirport = function (locId, scenarioId) {\r\n\t this.locId = locId;\r\n\t this.scenarioId = scenarioId;\r\n\t //console.log(\"scenarioId: \" + scenarioId);\r\n\t return this.httpHelper.get(this._baseAirportUrl + \"/\" + scenarioId + \"/\" + locId);\r\n\t };\r\n\t AirportService.prototype.getAirportLocIds = function (scenarioId) {\r\n\t return this.httpHelper.get(this._baseAirportUrl + \"/locidlist/\" + scenarioId);\r\n\t };\r\n\t AirportService.prototype.getAirportLocIdsByCriteria = function (request) {\r\n\t var url = (this._baseAirportUrl + \"/facilities/search?\") +\r\n\t (\"baseScenarioId=\" + request.baseScenarioId) +\r\n\t (\"&locId=\" + request.locId) +\r\n\t (\"®ion=\" + request.region) +\r\n\t (\"&state=\" + request.state) +\r\n\t (\"&hubSize=\" + request.hubSize) +\r\n\t (\"&level=\" + request.level) +\r\n\t (\"&type=\" + request.type) +\r\n\t (\"&allFaaTowers=\" + request.allFaaTowers) +\r\n\t (\"&allFaaAndContractTowers=\" + request.allFaaContractTowers) +\r\n\t (\"&oep35=\" + request.oep35) +\r\n\t (\"¢erId=\" + request.centerId) +\r\n\t (\"&relieverFacility=\" + request.relieverFacility) +\r\n\t (\"&relieverLocId=\" + request.relieverLocId) +\r\n\t (\"&approachControlId=\" + request.approachControlId) +\r\n\t (\"&searchOption=\" + request.searchOption) +\r\n\t (\"&selectVariable=\" + request.selectVariable) +\r\n\t (\"&growthStartYear=\" + request.growthStartYear) +\r\n\t (\"&growthEndYear=\" + request.growthEndYear) +\r\n\t (\"&growthOperator=\" + request.growthOperator) +\r\n\t (\"&growthPercentage=\" + request.growthPercentage) +\r\n\t (\"&growthExcludeChanges=\" + request.growthExcludeChanges) +\r\n\t (\"&varValueYear=\" + request.varValueYear) +\r\n\t (\"&varValueOperator=\" + request.varValueOperator) +\r\n\t (\"&varValue=\" + request.varValue);\r\n\t return this.httpHelper.get(url);\r\n\t };\r\n\t AirportService.prototype.getAirportCenterIds = function (baseScenarioId) {\r\n\t return this.httpHelper.get(this._baseAirportUrl + \"/centerids/\" + baseScenarioId);\r\n\t };\r\n\t AirportService.prototype.getRelieverLocIds = function (scenarioId) {\r\n\t return this.httpHelper.get(this._baseAirportUrl + \"/relieverids/\" + scenarioId);\r\n\t };\r\n\t AirportService.prototype.getApproachControlIds = function (scenarioId) {\r\n\t return this.httpHelper.get(this._baseAirportUrl + \"/approachcontrolids/\" + scenarioId);\r\n\t };\r\n\t AirportService.prototype.getScenarioNotes = function (locId, scenarioId) {\r\n\t return this.httpHelper.get(this._baseAirportUrl + \"/scenarionotes/\" + scenarioId + \"/\" + locId);\r\n\t };\r\n\t AirportService.prototype.getFacilityList = function (scenarioId) {\r\n\t return this.httpHelper.get(this._baseAirportUrl + \"/facilitylist/\" + scenarioId);\r\n\t };\r\n\t AirportService.prototype.updateScenarioNotes = function (locId, scenarioId, note) {\r\n\t var params = {\r\n\t locId: locId,\r\n\t scenarioId: scenarioId,\r\n\t note: note\r\n\t };\r\n\t return this.httpHelper.put(this._baseAirportUrl + \"/scenarionotes\", JSON.stringify(params));\r\n\t };\r\n\t AirportService.prototype.updateAirport = function (airport) {\r\n\t return this.httpHelper.put(\"\" + this._baseAirportUrl, airport);\r\n\t };\r\n\t AirportService.prototype.getAirportFromScenario = function (scenarioId) {\r\n\t return this.httpHelper.get(this._baseAirportUrl + \"/scenario-airport/\" + scenarioId);\r\n\t };\r\n\t AirportService.prototype.getNextAndPreviousAirports = function (locId, scenarioId) {\r\n\t return this.httpHelper.get(this._baseAirportUrl + \"/next-previous/\" + scenarioId + \"/\" + locId);\r\n\t };\r\n\t AirportService.prototype.getOperations = function () {\r\n\t return this.httpHelper.get(this._baseAirportUrl + \"/operations\");\r\n\t };\r\n\t AirportService.prototype.getOperationsColumns = function (request) {\r\n\t var url = (this._baseAirportUrl + \"/operations-columns?\") +\r\n\t (\"tableName=\" + request.tableName) +\r\n\t (\"&locId=\" + request.locId) +\r\n\t (\"&scenarioId=\" + request.scenarioId) +\r\n\t (\"&isAdmin=\" + request.isAdmin);\r\n\t return this.httpHelper.get(url);\r\n\t };\r\n\t AirportService.prototype.getOperationsList = function (request) {\r\n\t var url = (this._baseAirportUrl + \"/operations-list?\") +\r\n\t (\"tableName=\" + request.tableName) +\r\n\t (\"&locId=\" + request.locId) +\r\n\t (\"&scenarioId=\" + request.scenarioId) +\r\n\t (\"&isAdmin=\" + request.isAdmin);\r\n\t return this.httpHelper.get(url);\r\n\t };\r\n\t AirportService.prototype.updateOperations = function (request) {\r\n\t return this.httpHelper.put(this._baseAirportUrl + \"/operations-update\", request);\r\n\t };\r\n\t AirportService.prototype.saveOperationsYear = function (request) {\r\n\t return this.httpHelper.post(this._baseAirportUrl + \"/operations-year\", request);\r\n\t };\r\n\t AirportService.prototype.getGraphMinYear = function (request) {\r\n\t var url = (this._baseAirportUrl + \"/operations-graph/min-year?\") +\r\n\t (\"tableName=\" + request.tableName) +\r\n\t (\"&locId=\" + request.locId) +\r\n\t (\"&scenarioId=\" + request.scenarioId);\r\n\t return this.httpHelper.get(url);\r\n\t };\r\n\t AirportService.prototype.getGraphData = function (request) {\r\n\t return this.httpHelper.post(this._baseAirportUrl + \"/operations-graph\", request);\r\n\t };\r\n\t AirportService.prototype.hasGraphData = function (request) {\r\n\t var url = (this._baseAirportUrl + \"/operations-graph/has-data?\") +\r\n\t (\"tableName=\" + request.tableName) +\r\n\t (\"&locId=\" + request.locId) +\r\n\t (\"&scenarioId=\" + request.scenarioId);\r\n\t return this.httpHelper.get(url);\r\n\t };\r\n\t AirportService.prototype.getReforcastData = function (request) {\r\n\t var url = (this._baseAirportUrl + \"/operations-reforecast?\") +\r\n\t (\"tableName=\" + request.tableName) +\r\n\t (\"&fieldName=\" + request.fieldName) +\r\n\t (\"&minYear=\" + request.minYear) +\r\n\t (\"&locId=\" + request.locId) +\r\n\t (\"&scenarioId=\" + request.scenarioId);\r\n\t return this.httpHelper.get(url);\r\n\t };\r\n\t AirportService.prototype.reforecastSupplyData = function (request) {\r\n\t return this.httpHelper.post(this._baseAirportUrl + \"/operations-reforecast/supply-data\", request);\r\n\t };\r\n\t AirportService.prototype.reforecastOperation = function (request) {\r\n\t return this.httpHelper.post(this._baseAirportUrl + \"/operations-reforecast/operation\", request);\r\n\t };\r\n\t AirportService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], AirportService);\r\n\t return AirportService;\r\n\t}());\r\n\texports.AirportService = AirportService;\r\n\n\n/***/ },\n\n/***/ 678:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar http_1 = __webpack_require__(376);\r\n\tvar Rx_1 = __webpack_require__(398);\r\n\tvar app_config_values_1 = __webpack_require__(676);\r\n\tvar auth_service_1 = __webpack_require__(679);\r\n\tvar HttpHelper = (function () {\r\n\t function HttpHelper(http, config, authService) {\r\n\t this.http = http;\r\n\t this.config = config;\r\n\t this.authService = authService;\r\n\t this.urlPrefix = config.getApiHostUrl();\r\n\t }\r\n\t HttpHelper.prototype.get = function (url) {\r\n\t var headers = new http_1.Headers();\r\n\t if (this.authService.isLoggedIn()) {\r\n\t headers.append('Authorization', \"Bearer \" + this.authService.getAccessToken());\r\n\t }\r\n\t return this.http.get(this.urlPrefix + url, { headers: headers })\r\n\t .map(this.extractData)\r\n\t .do(function (data) { return console.log(data); })\r\n\t .catch(this.handleError);\r\n\t };\r\n\t HttpHelper.prototype.post = function (url, body, options) {\r\n\t var headers = new http_1.Headers({ 'Content-Type': 'application/json' });\r\n\t if (this.authService.isLoggedIn()) {\r\n\t headers.append('Authorization', \"Bearer \" + this.authService.getAccessToken());\r\n\t }\r\n\t var postOptions = options || { headers: headers };\r\n\t return this.http.post(this.urlPrefix + url, body, postOptions)\r\n\t .map(this.extractData)\r\n\t .do(function (data) { return console.log(\" data \" + data); })\r\n\t .catch(this.handleError);\r\n\t };\r\n\t HttpHelper.prototype.put = function (url, body, options) {\r\n\t var headers = new http_1.Headers({ 'Content-Type': 'application/json' });\r\n\t if (this.authService.isLoggedIn()) {\r\n\t headers.append('Authorization', \"Bearer \" + this.authService.getAccessToken());\r\n\t }\r\n\t var postOptions = options || { headers: headers };\r\n\t return this.http.put(this.urlPrefix + url, body, postOptions)\r\n\t .map(this.extractData)\r\n\t .do(function (data) { return console.log(data); })\r\n\t .catch(this.handleError);\r\n\t };\r\n\t HttpHelper.prototype.delete = function (url, options) {\r\n\t //not sure if I actually need the headers and options here \r\n\t //let headers = new Headers({'Content-Type': 'application/json'});\r\n\t //let postOptions = options || {headers : headers }\r\n\t //return this.http.delete(this.urlPrefix + url, postOptions)\r\n\t var headers = new http_1.Headers();\r\n\t if (this.authService.isLoggedIn()) {\r\n\t headers.append('Authorization', \"Bearer \" + this.authService.getAccessToken());\r\n\t }\r\n\t return this.http.delete(this.urlPrefix + url, { headers: headers })\r\n\t .map(this.extractData)\r\n\t .do(function (data) { return console.log(data); })\r\n\t .catch(this.handleError);\r\n\t };\r\n\t HttpHelper.prototype.extractData = function (res) {\r\n\t var body;\r\n\t // check if empty, before call json\r\n\t if (res.text()) {\r\n\t body = res.json();\r\n\t }\r\n\t return body || {};\r\n\t };\r\n\t HttpHelper.prototype.handleError = function (error) {\r\n\t var errMsg = (error.message) ? error.message :\r\n\t error.status ? error.status + \" - \" + error.statusText : 'Server error';\r\n\t console.error(errMsg);\r\n\t return Rx_1.Observable.throw(errMsg);\r\n\t };\r\n\t HttpHelper = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_1.Http, app_config_values_1.AppConfigValues, auth_service_1.AuthService])\r\n\t ], HttpHelper);\r\n\t return HttpHelper;\r\n\t}());\r\n\texports.HttpHelper = HttpHelper;\r\n\n\n/***/ },\n\n/***/ 679:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\t// user.service.ts\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar http_1 = __webpack_require__(376);\r\n\t//import { HttpHelper } from '../shared/http-helper';\r\n\tvar Rx_1 = __webpack_require__(398);\r\n\tvar app_config_values_1 = __webpack_require__(676);\r\n\tvar _ = __webpack_require__(680);\r\n\tvar AuthService = (function () {\r\n\t function AuthService(http) {\r\n\t this.http = http;\r\n\t this.serviceUrlPrefix = new app_config_values_1.AppConfigValues().getApiHostUrl();\r\n\t }\r\n\t AuthService.prototype.oidclogin = function () {\r\n\t var linkurl = new app_config_values_1.AppConfigValues().getApiHostUrl();\r\n\t window.location.href = linkurl + 'auth/api/account/oidclogin';\r\n\t //window.location.href='http://localhost:55706/auth/api/account/oidclogin';\r\n\t //return this.http.get('http://localhost:55706/auth/api/account/oidclogin');\r\n\t };\r\n\t AuthService.prototype.getToken = function () {\r\n\t if (this.token) {\r\n\t return this.token;\r\n\t }\r\n\t else {\r\n\t return JSON.parse(sessionStorage.getItem(\"token\"));\r\n\t }\r\n\t };\r\n\t AuthService.prototype.isLoggedIn = function () {\r\n\t return this.getToken() !== null && new Date() < new Date(this.getToken()['.expires']);\r\n\t };\r\n\t AuthService.prototype.getAccessToken = function () {\r\n\t return this.getToken().access_token;\r\n\t };\r\n\t AuthService.prototype.setToken = function (token) {\r\n\t this.token = token;\r\n\t if (token) {\r\n\t //think I can do either\r\n\t //this seems to be setting the to string of token not the actual json will have to look at that\r\n\t //http://vaughnroyko.com/saving-and-loading-objects-or-arrays-in-localstorage\r\n\t sessionStorage.setItem(\"token\", JSON.stringify(token));\r\n\t }\r\n\t else {\r\n\t sessionStorage.removeItem(\"token\");\r\n\t }\r\n\t };\r\n\t AuthService.prototype.getLoggedInUser = function () {\r\n\t if (this.getToken()) {\r\n\t return this.getToken().userName;\r\n\t }\r\n\t };\r\n\t AuthService.prototype.getFullName = function () {\r\n\t if (this.getToken()) {\r\n\t return this.getToken().fullname;\r\n\t }\r\n\t };\r\n\t AuthService.prototype.getRoles = function () {\r\n\t if (this.getToken())\r\n\t return this.getToken().roles;\r\n\t };\r\n\t AuthService.prototype.isInRole = function (role) {\r\n\t console.log(this.getToken());\r\n\t return this.getToken() != null && _.includes(this.getToken().roles.split(','), role);\r\n\t };\r\n\t AuthService.prototype.isAdmin = function () {\r\n\t return this.getToken() != null && (_.includes(this.getToken().roles.split(','), \"System Developer\") ||\r\n\t _.includes(this.getToken().roles.split(','), \"FAA Admin\"));\r\n\t };\r\n\t AuthService.prototype.isRegionalManager = function () {\r\n\t return this.getToken() != null && (_.includes(this.getToken().roles.split(','), \"Regional Manager\"));\r\n\t };\r\n\t AuthService.prototype.isReadOnly = function () {\r\n\t return this.getToken() != null && (_.includes(this.getToken().roles.split(','), \"Read Only\"));\r\n\t };\r\n\t AuthService.prototype.logOut = function () {\r\n\t this.token = null;\r\n\t sessionStorage.clear();\r\n\t };\r\n\t AuthService.prototype.getUserId = function () {\r\n\t if (this.getToken())\r\n\t return this.getToken().id;\r\n\t };\r\n\t AuthService.prototype.login = function (oidcCode) {\r\n\t var _this = this;\r\n\t var headers = new http_1.Headers();\r\n\t headers.append('Content-Type', 'application/x-www-form-urlencoded');\r\n\t //will need to call our helper method here \r\n\t return this.http.post(this.serviceUrlPrefix + \"token\", 'grant_type=myaccess&oidcCode=' + encodeURIComponent(oidcCode), { headers: headers })\r\n\t .map(this.extractData)\r\n\t .do(function (data) { return console.log(\"data\" + data); })\r\n\t .catch(this.handleError)\r\n\t .map(function (data) {\r\n\t _this.setToken(data);\r\n\t return data;\r\n\t });\r\n\t };\r\n\t AuthService.prototype.handleError = function (error) {\r\n\t var body = error.json();\r\n\t return Rx_1.Observable.throw(body || { error_description: \"Server Error\" });\r\n\t };\r\n\t AuthService.prototype.extractData = function (res) {\r\n\t var body = res.json();\r\n\t return body || {};\r\n\t };\r\n\t AuthService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_1.Http])\r\n\t ], AuthService);\r\n\t return AuthService;\r\n\t}());\r\n\texports.AuthService = AuthService;\r\n\n\n/***/ },\n\n/***/ 681:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar TAFBookService = (function () {\r\n\t function TAFBookService(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t this._tafBookurl = \"api/tafbook\";\r\n\t }\r\n\t TAFBookService.prototype.generateTafBook = function (request) {\r\n\t return this.httpHelper.post(this._tafBookurl + \"/tafbookGenerate\", request);\r\n\t };\r\n\t TAFBookService.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t TAFBookService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], TAFBookService);\r\n\t return TAFBookService;\r\n\t}());\r\n\texports.TAFBookService = TAFBookService;\r\n\n\n/***/ },\n\n/***/ 682:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\t__webpack_require__(552);\r\n\tvar TAFBookB1Service = (function () {\r\n\t function TAFBookB1Service(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _tafBookB1Url = ` http://localhost:55706/api/systemmanagement/TAFBookB1`;\r\n\t this._tafBookB1Url = \"api/systemmanagement/TAFBookB1\";\r\n\t }\r\n\t TAFBookB1Service.prototype.getTAFBookB1 = function () {\r\n\t return this.httpHelper.get(\"\" + this._tafBookB1Url);\r\n\t //.map((response: Response) => response.json())\r\n\t //.do(data => console.log('ITafBookB1: ' + JSON.stringify(data)))\r\n\t //.catch(this.handleError);\r\n\t };\r\n\t TAFBookB1Service.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json() || 'Server error');\r\n\t };\r\n\t TAFBookB1Service = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], TAFBookB1Service);\r\n\t return TAFBookB1Service;\r\n\t}());\r\n\texports.TAFBookB1Service = TAFBookB1Service;\r\n\n\n/***/ },\n\n/***/ 683:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar TAFBookB2Service = (function () {\r\n\t function TAFBookB2Service(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _tafBookB2Url = ` http://localhost:55706/api/systemmanagement/TAFBookB2`;\r\n\t this._tafBookB2Url = \"api/systemmanagement/TAFBookB2\";\r\n\t }\r\n\t TAFBookB2Service.prototype.getTAFBookB2 = function () {\r\n\t return this.httpHelper.get(\"\" + this._tafBookB2Url);\r\n\t //.map((response: Response) => response.json())\r\n\t //.do(data => console.log('ITafBookB2: ' + JSON.stringify(data)))\r\n\t //.catch(this.handleError);\r\n\t };\r\n\t TAFBookB2Service.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t TAFBookB2Service = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], TAFBookB2Service);\r\n\t return TAFBookB2Service;\r\n\t}());\r\n\texports.TAFBookB2Service = TAFBookB2Service;\r\n\n\n/***/ },\n\n/***/ 684:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar TAFBookB3Service = (function () {\r\n\t function TAFBookB3Service(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _tafBookB3Url = ` http://localhost:55706/api/systemmanagement/TAFBookB3`;\r\n\t this._tafBookB3Url = \"api/systemmanagement/TAFBookB3\";\r\n\t }\r\n\t TAFBookB3Service.prototype.getTAFBookB3 = function () {\r\n\t return this.httpHelper.get(\"\" + this._tafBookB3Url);\r\n\t //.map((response: Response) => response.json())\r\n\t //.do(data => console.log('ITafBookB3: ' + JSON.stringify(data)))\r\n\t //.catch(this.handleError);\r\n\t };\r\n\t TAFBookB3Service.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t TAFBookB3Service = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], TAFBookB3Service);\r\n\t return TAFBookB3Service;\r\n\t}());\r\n\texports.TAFBookB3Service = TAFBookB3Service;\r\n\n\n/***/ },\n\n/***/ 685:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar TAFBookB4Service = (function () {\r\n\t function TAFBookB4Service(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _tafBookB4Url = ` http://localhost:55706/api/systemmanagement/TAFBookB4`;\r\n\t this._tafBookB4Url = \"api/systemmanagement/TAFBookB4\";\r\n\t }\r\n\t TAFBookB4Service.prototype.getTAFBookB4 = function () {\r\n\t return this.httpHelper.get(\"\" + this._tafBookB4Url);\r\n\t //.map((response: Response) => response.json())\r\n\t //.do(httpHelper => console.log('ITafBookB4: ' + JSON.stringify(data)))\r\n\t //.catch(this.handleError);\r\n\t };\r\n\t TAFBookB4Service.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t TAFBookB4Service = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], TAFBookB4Service);\r\n\t return TAFBookB4Service;\r\n\t}());\r\n\texports.TAFBookB4Service = TAFBookB4Service;\r\n\n\n/***/ },\n\n/***/ 686:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar TAFBookB5Service = (function () {\r\n\t function TAFBookB5Service(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _tafBookB5Url = ` http://localhost:55706/api/systemmanagement/TAFBookB5`;\r\n\t this._tafBookB5Url = \"api/systemmanagement/TAFBookB5\";\r\n\t }\r\n\t TAFBookB5Service.prototype.getTAFBookB5 = function () {\r\n\t return this.httpHelper.get(\"\" + this._tafBookB5Url);\r\n\t //.map((response: Response) => response.json())\r\n\t //.do(httpHelper => console.log('ITafBookB5: ' + JSON.stringify(data)))\r\n\t //.catch(this.handleError);\r\n\t };\r\n\t TAFBookB5Service.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t TAFBookB5Service = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], TAFBookB5Service);\r\n\t return TAFBookB5Service;\r\n\t}());\r\n\texports.TAFBookB5Service = TAFBookB5Service;\r\n\n\n/***/ },\n\n/***/ 687:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar TAFBookS1Service = (function () {\r\n\t function TAFBookS1Service(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _tafBookS1Url = ` http://localhost:55706/api/systemmanagement/TAFBookS1`;\r\n\t this._tafBookS1Url = \"api/systemmanagement/TAFBookS1\";\r\n\t }\r\n\t TAFBookS1Service.prototype.getTAFBookS1 = function () {\r\n\t return this.httpHelper.get(\"\" + this._tafBookS1Url);\r\n\t //.map((response: Response) => response.json())\r\n\t //.do(data => console.log('ITafBookS1: ' + JSON.stringify(data)))\r\n\t //.catch(this.handleError);\r\n\t };\r\n\t TAFBookS1Service.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t TAFBookS1Service = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], TAFBookS1Service);\r\n\t return TAFBookS1Service;\r\n\t}());\r\n\texports.TAFBookS1Service = TAFBookS1Service;\r\n\n\n/***/ },\n\n/***/ 688:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar TAFBookS2Service = (function () {\r\n\t function TAFBookS2Service(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _tafBookS2Url = ` http://localhost:55706/api/systemmanagement/TAFBookS2`;\r\n\t this._tafBookS2Url = \"api/systemmanagement/TAFBookS2\";\r\n\t }\r\n\t TAFBookS2Service.prototype.getTAFBookS2 = function () {\r\n\t return this.httpHelper.get(\"\" + this._tafBookS2Url);\r\n\t //.map((response: Response) => response.json())\r\n\t //.do(data => console.log('ITafBookS2: ' + JSON.stringify(data)))\r\n\t //.catch(this.handleError);\r\n\t };\r\n\t TAFBookS2Service.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t TAFBookS2Service = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], TAFBookS2Service);\r\n\t return TAFBookS2Service;\r\n\t}());\r\n\texports.TAFBookS2Service = TAFBookS2Service;\r\n\n\n/***/ },\n\n/***/ 689:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar TAFBookS3Service = (function () {\r\n\t function TAFBookS3Service(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _tafBookS3Url = ` http://localhost:55706/api/systemmanagement/TAFBookS3`;\r\n\t this._tafBookS3Url = \"api/systemmanagement/TAFBookS3\";\r\n\t }\r\n\t TAFBookS3Service.prototype.getTAFBookS3 = function () {\r\n\t return this.httpHelper.get(\"\" + this._tafBookS3Url);\r\n\t //.map((response: Response) => response.json())\r\n\t //.do(data => console.log('ITafBookS3: ' + JSON.stringify(data)))\r\n\t //.catch(this.handleError);\r\n\t };\r\n\t TAFBookS3Service.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t TAFBookS3Service = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], TAFBookS3Service);\r\n\t return TAFBookS3Service;\r\n\t}());\r\n\texports.TAFBookS3Service = TAFBookS3Service;\r\n\n\n/***/ },\n\n/***/ 690:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar TAFBookGraphS1Service = (function () {\r\n\t function TAFBookGraphS1Service(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //private _tafBookGraphS1Url = ` http://localhost:55706/api/systemmanagement/TAFBookGraphS1`;\r\n\t this._tafBookGraphS1Url = \"api/systemmanagement/TAFBookGraphS1\";\r\n\t }\r\n\t TAFBookGraphS1Service.prototype.getTAFGraphS1BookSplit = function () {\r\n\t return this.httpHelper.get(\"\" + this._tafBookGraphS1Url);\r\n\t //return Observable.forkJoin(\r\n\t // this.httpHelper.get(`${this._tafBookGraphS1Url}`));\r\n\t //.map((response: Response) => _.map(JSON.parse(JSON.stringify(response.json())),'locid')),\r\n\t //.do(httpHelper => console.log(\"trying to pull locid only in Service: \" + data)),\r\n\t // this.httpHelper.get(`${this._tafBookGraphS1Url}`)\r\n\t //.map((response: Response) => _.map(JSON.parse(JSON.stringify(response.json())),'rateFyLfc')));\r\n\t //.do(httpHelper => console.log(\"trying to pull rates only in Service: \" + data)));\r\n\t };\r\n\t TAFBookGraphS1Service.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t TAFBookGraphS1Service = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], TAFBookGraphS1Service);\r\n\t return TAFBookGraphS1Service;\r\n\t}());\r\n\texports.TAFBookGraphS1Service = TAFBookGraphS1Service;\r\n\n\n/***/ },\n\n/***/ 691:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar QueryReportService = (function () {\r\n\t function QueryReportService(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t this._queryreporturl = \"api/queryreport\";\r\n\t }\r\n\t QueryReportService.prototype.getFacilityListReport = function (request) {\r\n\t return this.httpHelper.post(this._queryreporturl + \"/queryReportsGenerate\", request);\r\n\t };\r\n\t QueryReportService.prototype.saveLocids = function (requestLocid) {\r\n\t return this.httpHelper.post(this._queryreporturl + \"/saveLocidList\", requestLocid);\r\n\t };\r\n\t QueryReportService.prototype.generateGraphs = function (request) {\r\n\t return this.httpHelper.post(this._queryreporturl + \"/queryReportGraphs\", request);\r\n\t };\r\n\t QueryReportService.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t QueryReportService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], QueryReportService);\r\n\t return QueryReportService;\r\n\t}());\r\n\texports.QueryReportService = QueryReportService;\r\n\n\n/***/ },\n\n/***/ 692:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar ScenarioService = (function () {\r\n\t function ScenarioService(_httpHelper) {\r\n\t this._httpHelper = _httpHelper;\r\n\t this._baseScenarioUrl = 'api/scenario';\r\n\t }\r\n\t ScenarioService.prototype.getScenario = function (scenarioId) {\r\n\t return this._httpHelper.get(this._baseScenarioUrl + \"/\" + scenarioId);\r\n\t };\r\n\t ScenarioService.prototype.getScenarios = function (userId) {\r\n\t return this._httpHelper.get(this._baseScenarioUrl + \"/list/\" + userId);\r\n\t };\r\n\t ScenarioService.prototype.getMergeListScenarios = function (type, userId) {\r\n\t return this._httpHelper.get(this._baseScenarioUrl + \"/mergelist/\" + type + \"/\" + userId);\r\n\t };\r\n\t ScenarioService.prototype.getDeleteListScenarios = function (userId) {\r\n\t return this._httpHelper.get(this._baseScenarioUrl + \"/deletelist/\" + userId);\r\n\t };\r\n\t ScenarioService.prototype.createScenario = function (request) {\r\n\t return this._httpHelper.post(this._baseScenarioUrl + \"/create\", request);\r\n\t };\r\n\t ScenarioService.prototype.deleteScenarios = function (ids) {\r\n\t return this._httpHelper.post(this._baseScenarioUrl + \"/delete\", ids);\r\n\t };\r\n\t ScenarioService.prototype.updateCommitScenario = function (request) {\r\n\t return this._httpHelper.post(this._baseScenarioUrl + \"/updatecommit\", request);\r\n\t };\r\n\t ScenarioService.prototype.modifyScenarioFacilities = function (request) {\r\n\t return this._httpHelper.post(this._baseScenarioUrl + \"/modifyscenariofacilities\", request);\r\n\t };\r\n\t ScenarioService.prototype.executeReforecast = function (request) {\r\n\t return this._httpHelper.post(this._baseScenarioUrl + \"/forecast\", request);\r\n\t };\r\n\t ScenarioService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], ScenarioService);\r\n\t return ScenarioService;\r\n\t}());\r\n\texports.ScenarioService = ScenarioService;\r\n\tvar CreateScenarioRequest = (function () {\r\n\t function CreateScenarioRequest() {\r\n\t }\r\n\t CreateScenarioRequest.prototype.updateSessionState = function () {\r\n\t sessionStorage.setItem('create-scenario-request', JSON.stringify(this));\r\n\t };\r\n\t CreateScenarioRequest.prototype.getSession = function () {\r\n\t if (sessionStorage.getItem('create-scenario-request') === null)\r\n\t return null;\r\n\t var storedRq = JSON.parse(sessionStorage.getItem('create-scenario-request'));\r\n\t this.baseScenarioId = storedRq.baseScenarioId;\r\n\t this.facilities = storedRq.facilities;\r\n\t this.public = storedRq.public;\r\n\t this.scenarioName = storedRq.scenarioName;\r\n\t this.source = storedRq.source;\r\n\t this.userId = storedRq.userId;\r\n\t return (this);\r\n\t };\r\n\t CreateScenarioRequest.prototype.destroySession = function () {\r\n\t sessionStorage.removeItem('create-scenario-request');\r\n\t };\r\n\t CreateScenarioRequest.prototype.hasValidSession = function () {\r\n\t return sessionStorage.getItem('create-scenario-request') !== null;\r\n\t };\r\n\t return CreateScenarioRequest;\r\n\t}());\r\n\texports.CreateScenarioRequest = CreateScenarioRequest;\r\n\tvar CreateScenarioResponse = (function () {\r\n\t function CreateScenarioResponse() {\r\n\t }\r\n\t return CreateScenarioResponse;\r\n\t}());\r\n\texports.CreateScenarioResponse = CreateScenarioResponse;\r\n\tvar UpdateCommitScenarioRequest = (function () {\r\n\t function UpdateCommitScenarioRequest() {\r\n\t }\r\n\t return UpdateCommitScenarioRequest;\r\n\t}());\r\n\texports.UpdateCommitScenarioRequest = UpdateCommitScenarioRequest;\r\n\tvar UpdateCommitScenarioResponse = (function () {\r\n\t function UpdateCommitScenarioResponse() {\r\n\t }\r\n\t return UpdateCommitScenarioResponse;\r\n\t}());\r\n\texports.UpdateCommitScenarioResponse = UpdateCommitScenarioResponse;\r\n\tvar ModifyScenarioFacilitiesRequest = (function () {\r\n\t function ModifyScenarioFacilitiesRequest() {\r\n\t }\r\n\t return ModifyScenarioFacilitiesRequest;\r\n\t}());\r\n\texports.ModifyScenarioFacilitiesRequest = ModifyScenarioFacilitiesRequest;\r\n\tvar ModifyScenarioFacilitiesResponse = (function () {\r\n\t function ModifyScenarioFacilitiesResponse() {\r\n\t }\r\n\t return ModifyScenarioFacilitiesResponse;\r\n\t}());\r\n\texports.ModifyScenarioFacilitiesResponse = ModifyScenarioFacilitiesResponse;\r\n\tvar ScenarioForecastRequest = (function () {\r\n\t function ScenarioForecastRequest() {\r\n\t }\r\n\t ScenarioForecastRequest.prototype.setNameInSession = function (name) {\r\n\t sessionStorage.setItem('reforecast-scenario-name', name);\r\n\t };\r\n\t ScenarioForecastRequest.prototype.getNameInSession = function () {\r\n\t return sessionStorage.getItem('reforecast-scenario-name');\r\n\t };\r\n\t ScenarioForecastRequest.prototype.destroySessionValues = function () {\r\n\t sessionStorage.removeItem('reforecast-scenario-name');\r\n\t };\r\n\t return ScenarioForecastRequest;\r\n\t}());\r\n\texports.ScenarioForecastRequest = ScenarioForecastRequest;\r\n\tvar ScenarioForecastResponse = (function () {\r\n\t function ScenarioForecastResponse() {\r\n\t }\r\n\t return ScenarioForecastResponse;\r\n\t}());\r\n\texports.ScenarioForecastResponse = ScenarioForecastResponse;\r\n\n\n/***/ },\n\n/***/ 693:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\tvar CommonDataService = (function () {\r\n\t function CommonDataService(_httpHelper) {\r\n\t this._httpHelper = _httpHelper;\r\n\t this._serviceUrlPrefix = '/api/data';\r\n\t }\r\n\t CommonDataService.prototype.getData = function (source) {\r\n\t return this._httpHelper.get(this._serviceUrlPrefix + \"/\" + source);\r\n\t };\r\n\t CommonDataService.prototype.getSystemControlData = function () {\r\n\t return this._httpHelper.get(this._serviceUrlPrefix + \"/systemcontrol\");\r\n\t };\r\n\t CommonDataService.prototype.getVariableInfo = function () {\r\n\t return this._httpHelper.get(this._serviceUrlPrefix + \"/variableinfo\");\r\n\t };\r\n\t CommonDataService.prototype.getEnplanementYears = function () {\r\n\t return this._httpHelper.get(this._serviceUrlPrefix + \"/enplanementyears\");\r\n\t };\r\n\t CommonDataService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], CommonDataService);\r\n\t return CommonDataService;\r\n\t}());\r\n\texports.CommonDataService = CommonDataService;\r\n\tvar KeyValuePair = (function () {\r\n\t function KeyValuePair() {\r\n\t }\r\n\t return KeyValuePair;\r\n\t}());\r\n\texports.KeyValuePair = KeyValuePair;\r\n\tvar SystemControl = (function () {\r\n\t function SystemControl() {\r\n\t }\r\n\t return SystemControl;\r\n\t}());\r\n\texports.SystemControl = SystemControl;\r\n\tvar VariableInfo = (function () {\r\n\t function VariableInfo() {\r\n\t }\r\n\t return VariableInfo;\r\n\t}());\r\n\texports.VariableInfo = VariableInfo;\r\n\n\n/***/ },\n\n/***/ 694:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar SystemControlService = (function () {\r\n\t function SystemControlService(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t this._systemControlUrl = \"api/data\";\r\n\t }\r\n\t SystemControlService.prototype.getSystemControl = function () {\r\n\t return this.httpHelper.get(this._systemControlUrl + \"/systemcontrol\");\r\n\t };\r\n\t SystemControlService.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t SystemControlService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], SystemControlService);\r\n\t return SystemControlService;\r\n\t}());\r\n\texports.SystemControlService = SystemControlService;\r\n\n\n/***/ },\n\n/***/ 695:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\t// user.service.ts\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\tvar UserInfoService = (function () {\r\n\t function UserInfoService(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t }\r\n\t UserInfoService.prototype.isScenarioOwner = function (userId, scenarioId) {\r\n\t return this.httpHelper.get(\"api/user-info/scenario-owner/\" + userId + \"/\" + scenarioId);\r\n\t };\r\n\t UserInfoService.prototype.getRegCode = function (userId) {\r\n\t return this.httpHelper.get(\"api/user-info/reg-code/\" + userId);\r\n\t };\r\n\t UserInfoService.prototype.getRegionalYear = function (userId) {\r\n\t return this.httpHelper.get(\"api/user-info/regional-years/\" + userId);\r\n\t };\r\n\t UserInfoService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], UserInfoService);\r\n\t return UserInfoService;\r\n\t}());\r\n\texports.UserInfoService = UserInfoService;\r\n\n\n/***/ },\n\n/***/ 696:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar auth_service_1 = __webpack_require__(679);\r\n\tvar _ = __webpack_require__(680);\r\n\tvar AuthGuard = (function () {\r\n\t function AuthGuard(authService, router) {\r\n\t this.authService = authService;\r\n\t this.router = router;\r\n\t this.systemDeveloperOnlyRoutes = ['/admin', '/user-admin'];\r\n\t }\r\n\t AuthGuard.prototype.canActivate = function (route, state) {\r\n\t if (this.authService.isLoggedIn()) {\r\n\t if (_.includes(this.systemDeveloperOnlyRoutes, state.url) && !this.authService.isInRole(\"System Developer\")) {\r\n\t this.router.navigate(['/welcome']);\r\n\t return false;\r\n\t }\r\n\t return true;\r\n\t }\r\n\t else {\r\n\t // Store the attempted URL for redirecting\r\n\t this.authService.redirectUrl = state.url;\r\n\t // Navigate to the login page\r\n\t this.router.navigate(['/login', { requestedUrl: state.url }]);\r\n\t return false;\r\n\t }\r\n\t };\r\n\t AuthGuard = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [auth_service_1.AuthService, router_1.Router])\r\n\t ], AuthGuard);\r\n\t return AuthGuard;\r\n\t}());\r\n\texports.AuthGuard = AuthGuard;\r\n\n\n/***/ },\n\n/***/ 697:\n/***/ function(module, exports) {\n\n\t/* Defines the airport entity */\r\n\t\"use strict\";\r\n\tvar OperationsListRequest = (function () {\r\n\t function OperationsListRequest() {\r\n\t }\r\n\t return OperationsListRequest;\r\n\t}());\r\n\texports.OperationsListRequest = OperationsListRequest;\r\n\tvar ReforecastRequest = (function () {\r\n\t function ReforecastRequest() {\r\n\t }\r\n\t return ReforecastRequest;\r\n\t}());\r\n\texports.ReforecastRequest = ReforecastRequest;\r\n\n\n/***/ },\n\n/***/ 698:\n/***/ function(module, exports) {\n\n\t\"use strict\";\r\n\tvar QueryReportListRequest = (function () {\r\n\t function QueryReportListRequest() {\r\n\t }\r\n\t return QueryReportListRequest;\r\n\t}());\r\n\texports.QueryReportListRequest = QueryReportListRequest;\r\n\tvar IQueryReportRequest = (function () {\r\n\t function IQueryReportRequest(startYear, scenario, reportId, facOption, locidList) {\r\n\t this.startYear = startYear;\r\n\t this.scenario = scenario;\r\n\t this.reportId = reportId;\r\n\t this.facOption = facOption;\r\n\t this.locidList = locidList;\r\n\t }\r\n\t return IQueryReportRequest;\r\n\t}());\r\n\texports.IQueryReportRequest = IQueryReportRequest;\r\n\tvar IQueryReportListComponent = (function () {\r\n\t function IQueryReportListComponent(id, name) {\r\n\t this.id = id;\r\n\t this.name = name;\r\n\t }\r\n\t return IQueryReportListComponent;\r\n\t}());\r\n\texports.IQueryReportListComponent = IQueryReportListComponent;\r\n\tvar IQueryReportsFacilityRequest = (function () {\r\n\t function IQueryReportsFacilityRequest(locid, scenario) {\r\n\t this.locid = locid;\r\n\t this.scenarioId = scenario;\r\n\t }\r\n\t return IQueryReportsFacilityRequest;\r\n\t}());\r\n\texports.IQueryReportsFacilityRequest = IQueryReportsFacilityRequest;\r\n\n\n/***/ },\n\n/***/ 699:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar auth_service_1 = __webpack_require__(679);\r\n\t//import { plainToClass } from \"class-transformer\"; \r\n\tvar UserSession = (function () {\r\n\t function UserSession(_authService) {\r\n\t this._authService = _authService;\r\n\t this.userId = _authService.getUserId();\r\n\t this.fullName = _authService.getFullName();\r\n\t this.roles = _authService.getRoles();\r\n\t this.isAdmin = _authService.isAdmin();\r\n\t this.isRegionalManager = _authService.isRegionalManager();\r\n\t this.isReadOnly = _authService.isReadOnly();\r\n\t this.scenarioId = 1; // default to National\r\n\t }\r\n\t UserSession.prototype.updateSessionState = function () {\r\n\t if (sessionStorage.getItem('user-session') !== null)\r\n\t sessionStorage.removeItem('user-session');\r\n\t sessionStorage.setItem('user-session', JSON.stringify(sessionStorage[\"token\"]));\r\n\t };\r\n\t UserSession.prototype.getSession = function () {\r\n\t if (sessionStorage.getItem('user-session') === null)\r\n\t return null;\r\n\t //let uSession:UserSession = JSON.parse(sessionStorage.getItem('user-session')) as UserSession;\r\n\t var jsonObject = JSON.parse(sessionStorage[\"token\"]);\r\n\t var uSession = jsonObject;\r\n\t uSession.scenarioId = this.scenarioId;\r\n\t uSession.isAdmin = this._authService.isAdmin();\r\n\t uSession.isRegionalManager = this._authService.isRegionalManager();\r\n\t uSession.isReadOnly = this._authService.isReadOnly();\r\n\t //console.log(\"uSession.scenarioId\" + uSession.scenarioId);\r\n\t return uSession;\r\n\t };\r\n\t UserSession.prototype.getUserId = function () {\r\n\t var userId = this._authService.getUserId();\r\n\t return userId;\r\n\t };\r\n\t UserSession.prototype.getScenarioId = function () {\r\n\t return this.scenarioId;\r\n\t };\r\n\t UserSession.prototype.hasValidSession = function () {\r\n\t return sessionStorage.getItem('user-session') !== null;\r\n\t };\r\n\t UserSession = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [auth_service_1.AuthService])\r\n\t ], UserSession);\r\n\t return UserSession;\r\n\t}());\r\n\texports.UserSession = UserSession;\r\n\n\n/***/ },\n\n/***/ 700:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"\\r\\n .custom {\\r\\n width: 250px !important;\\r\\n background-color:#ff9;\\r\\n color: #000;\\r\\n}\\r\\n.custom-airport-button{\\r\\n font-weight:normal;\\r\\n}\\r\\n/*.ui-button, .ui-button.ui-state-default {\\r\\n width: 150px !important;\\r\\n background-color:#ff9;\\r\\n color: #000;\\r\\n}*/\\r\\n.custom-button-header {\\r\\n background-color:#ff9;\\r\\n color: #000;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px !important;\\r\\n}\\r\\n.customh2{\\r\\n font-size: 18px;\\r\\n padding-bottom: 2px;\\r\\n margin: 20px 0px 10px;\\r\\n color: #900;\\r\\n border-bottom: #999 1px solid;\\r\\n text-align: left;\\r\\n}\\r\\n.customh3{\\r\\n padding-right: 0px;\\r\\n padding-left: 0px;\\r\\n padding-bottom: 0px;\\r\\n padding-top: 0px;\\r\\n margin: 13px 0px 5px;\\r\\n font: bold 94%/115% Arial, Verdana, Helvetica, sans-serif;\\r\\n color: #3d3d3d;\\r\\n font-size: 12px;\\r\\n}\\r\\n.custom-checkbox-label{\\r\\n padding-right: 0px;\\r\\n padding-left: 0px;\\r\\n padding-bottom: 0px;\\r\\n padding-top: 0px;\\r\\n margin: 13px 0px 5px;\\r\\n font: bold 94%/115% Arial, Verdana, Helvetica, sans-serif;\\r\\n color: #3d3d3d;\\r\\n font-size: 12px;\\r\\n}\\r\\n.custom-radio-label{\\r\\n padding-right: 0px;\\r\\n padding-left: 0px;\\r\\n padding-bottom: 0px;\\r\\n padding-top: 0px;\\r\\n font: bold 94%/115% Arial, Verdana, Helvetica, sans-serif;\\r\\n color: #3d3d3d;\\r\\n font-size: 10px;\\r\\n}\\r\\n.selectionOptions {\\r\\n\\tmargin-left: 20px;\\r\\n\\tpadding: 10px;\\r\\n\\tbackground-color: #fff5ce;\\r\\n}\\r\\n.customtd{\\r\\n font-size: 12px;\\r\\n text-align: left; \\r\\n}\\r\\n.customtd-reforecast{\\r\\n font-size: 11px;\\r\\n text-align: right; \\r\\n white-space:nowrap;\\r\\n}\\r\\n.customtd-reforecast-year{\\r\\n font-size: 11px;\\r\\n text-align: left; \\r\\n white-space:nowrap\\r\\n}\\r\\n.customtd-reforecast-numeric{\\r\\n font-size: 11px;\\r\\n text-align: right; \\r\\n white-space:nowrap;\\r\\n box-sizing: border-box;\\r\\n -moz-box-sizing: border-box;\\r\\n width:75px;\\r\\n padding:0px;\\r\\n}\\r\\n.customth-reforecast{\\r\\n font-weight: bold;\\r\\n font-size: 13px;\\r\\n background-color: #ddd;\\r\\n color: #1e1e1e;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.table > thead > tr > th,\\r\\n.table > tbody > tr > th,\\r\\n.table > tfoot > tr > th,\\r\\n.table > thead > tr > td,\\r\\n.table > tbody > tr > td,\\r\\n.table > tfoot > tr > td {\\r\\n padding-bottom: 2px !important;\\r\\n padding-top: 2px !important;\\r\\n padding-left: 2px;\\r\\n padding-right:8px!important;;\\r\\n line-height: 1.42857143;\\r\\n vertical-align: top;\\r\\n border-top: 1px solid #ddd;\\r\\n}\\r\\n\\r\\n.divider {\\r\\n border-bottom: 1px;\\r\\n border-bottom-color: black;\\r\\n border-bottom-style: solid;\\r\\n}\\r\\n.current-scenario{\\r\\n text-align: center;\\r\\n vertical-align: top;\\r\\n}\\r\\n.menu-section {\\r\\n font-weight: bold;\\r\\n width: 200px;\\r\\n}\\r\\n.menu-section .menu-items {\\r\\n margin-left: 22px;\\r\\n display: none;\\r\\n}\\r\\n.menu-section .menu-items-visible {\\r\\n margin-left: 22px;\\r\\n display: block;\\r\\n}\\r\\n.divider-space {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.checkbox-group {\\r\\n clear: both;\\r\\n height: 25px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.checkbox-group .checkbox {\\r\\n float: left;\\r\\n height: 20px;\\r\\n margin: 5px 30px 0 0 ;\\r\\n width: 225px;\\r\\n}\\r\\n.search {\\r\\n border: 1px solid #e5e5e5;\\r\\n border-radius: 5px;\\r\\n margin: 10px 0 20px 0;\\r\\n padding: 0 10px 10px 10px;\\r\\n}\\r\\n.search h3 {\\r\\n text-align: center;\\r\\n}\\r\\n.locids {\\r\\n border: 1px solid #e5e5e5;\\r\\n border-radius: 5px;\\r\\n margin: 10px 0 0 5px;\\r\\n height: 400px;\\r\\n background-color: #f6f6f6;\\r\\n overflow: scroll;\\r\\n align-items: right;\\r\\n}\\r\\n.locids .header {\\r\\n text-align: center;\\r\\n}\\r\\n.locids ul {\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n.locids ul li a {\\r\\n float: right;\\r\\n cursor: pointer;\\r\\n}\\r\\n.checkbox-group {\\r\\n clear: both;\\r\\n height: 25px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.checkbox-group .checkbox {\\r\\n margin-top: 5px;\\r\\n}\\r\\n.hidden {\\r\\n display: none;\\r\\n}\\r\\n.more-search-options-panel {\\r\\n margin-top: -20px;\\r\\n}\\r\\n.more-search-options-panel .glyphicon {\\r\\n cursor: pointer;\\r\\n}\\r\\n.more-search-options {\\r\\n display: block;\\r\\n}\\r\\n.totals {\\r\\n margin-left: 5px;\\r\\n}\\r\\n.search-option-container {\\r\\n border: 1px solid #d5d5d5;\\r\\n border-radius: 5px;\\r\\n clear: both;\\r\\n padding: 10px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.search-option-container .radio {\\r\\n margin-left: 20px;\\r\\n}\\r\\n/*************************************************************************************************/\\r\\n/* title */\\r\\nnav .navbar .navbar-default .navbar-brand {\\r\\n float: left;\\r\\n font-size: 18px;\\r\\n line-height: 20px;\\r\\n}\\r\\n.navbar-default .navbar-nav > li > a {\\r\\n color: #777;\\r\\n padding-top: 0px;\\r\\n padding-bottom: 0px;\\r\\n}\\r\\n.navbar-default .navbar-brand {\\r\\n background-color: #c0e4fe;\\r\\n color: #777;\\r\\n font: bold 50%/75% Arial, Verdana, Helvetica, sans-serif;\\r\\n font-size:5px;\\r\\n padding-left:50%;\\r\\n padding:0px 0px;\\r\\n}\\r\\n\\r\\n.navbar-default .navbar-brand:hover,\\r\\n.navbar-default .navbar-brand:focus {\\r\\n color: #5E5E5E;\\r\\n}\\r\\n/* link */\\r\\n.nav .navbar-nav > li > a {\\r\\n color: #777;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n}\\r\\n.navbar-default .navbar-nav > li > a:hover,\\r\\n.navbar-default .navbar-nav > li > a:focus {\\r\\n color: #333;\\r\\n font-size:5px;\\r\\n padding-left:50%;\\r\\n}\\r\\n.navbar-default .navbar-nav > .active > a, \\r\\n.navbar-default .navbar-nav > .active > a:hover, \\r\\n.navbar-default .navbar-nav > .active > a:focus {\\r\\n color: #555;\\r\\n background-color: #E7E7E7;\\r\\n\\r\\n}\\r\\n.navbar-default .navbar-nav > .open > a, \\r\\n.navbar-default .navbar-nav > .open > a:hover, \\r\\n.navbar-default .navbar-nav > .open > a:focus {\\r\\n color: #555;\\r\\n background-color: #D5D5D5;\\r\\n}\\r\\n/* caret */\\r\\n.navbar-default .navbar-nav > .dropdown > a .caret {\\r\\n border-top-color: #777;\\r\\n border-bottom-color: #777;\\r\\n}\\r\\n.navbar-default .navbar-nav > .dropdown > a:hover .caret,\\r\\n.navbar-default .navbar-nav > .dropdown > a:focus .caret {\\r\\n border-top-color: #333;\\r\\n border-bottom-color: #333;\\r\\n}\\r\\n.navbar-default .navbar-nav > .open > a .caret, \\r\\n.navbar-default .navbar-nav > .open > a:hover .caret, \\r\\n.navbar-default .navbar-nav > .open > a:focus .caret {\\r\\n border-top-color: #555;\\r\\n border-bottom-color: #555;\\r\\n}\\r\\n/* mobile version */\\r\\n.navbar-default .navbar-toggle {\\r\\n border-color: #DDD;\\r\\n}\\r\\n.navbar-default .navbar-toggle:hover,\\r\\n.navbar-default .navbar-toggle:focus {\\r\\n background-color: #DDD;\\r\\n}\\r\\n.navbar-default .navbar-toggle .icon-bar {\\r\\n background-color: #CCC;\\r\\n}\\r\\n@media (max-width: 600px) {\\r\\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\\r\\n color: #777;\\r\\n\\r\\n }\\r\\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\\r\\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\\r\\n color: #333;\\r\\n }\\r\\n}\\r\\n/*********************************** Facility View Notes/Previous/Next buttons ***************************************/\\r\\n:host .ui-button, .ui-button span button.ui-button.ui-state-default span .ui-button.ui-state-default span {\\r\\n\\tfont-weight: normal; \\r\\n}\\r\\n\\r\\n:host ui-tabview .ui-tabview-nav > li.ui-state-default.ui-state-hover {\\r\\n background-color:#ff9;\\r\\n color: #000;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px ;\\r\\n height:45px;\\r\\n}\\r\\n:host .ui-tabview .ui-tabview-nav {\\r\\n margin-top: 20px;\\r\\n margin-left: 150px;\\r\\n width: 1090px;\\r\\n height: 35px;\\r\\n}\\r\\n:host .fa-external-link-square {\\r\\n font-weight:normal;\\r\\n}\\r\\n:host ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only{\\r\\n font-weight:normal;\\r\\n}\\r\\n:host span.ui-button-text.ui-c{\\r\\n font-weight:normal;\\r\\n}\\r\\n:host .ui-button-text-icon-left .ui-button-text {\\r\\n font-weight:normal;\\r\\n}\\r\\n:host .ui-button, button.ui-button.ui-state-default, .ui-button.ui-state-default{\\r\\n background-color:#ff9;\\r\\n color: #000;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px ;\\r\\n font-weight: normal;\\r\\n}\\r\\n:host .ui-tabview.ui-tabview-top>.ui-tabview-nav li{\\r\\n background-color:#ff9;\\r\\n color: #000;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px ;\\r\\n font-weight: normal;\\r\\n}\\r\\n:host ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only{\\r\\n background-color: #900;\\r\\n color: white;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px ;\\r\\n}\\r\\n:host .btn-danger:active:hover, .btn-danger.active:hover, .open > .dropdown-toggle.btn-danger:hover, .btn-danger:active:focus, .btn-danger.active:focus, .open > .dropdown-toggle.btn-danger:focus, .btn-danger:active.focus, .btn-danger.active.focus, .open > .dropdown-toggle.btn-danger.focus{\\r\\n background-color: #900;\\r\\n color: white;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px ;\\r\\n}\\r\\n:host .ui-tabview .ui-tabview-nav > li.ui-state-default.ui-state-hover{\\r\\n background-color: #900;\\r\\n color:white;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px ;\\r\\n}\\r\\n/*:host button.ui-button.ui-state-hover, .ui-button.ui-state-hover, button.ui-button.ui-state-focus, .ui-button.ui-state-focus{\\r\\n background-color: #900;\\r\\n color: #000;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px !important;\\r\\n font-weight: normal;\\r\\n}*/\\r\\n/*********************************** Data table buttons ***************************************/\\r\\n:host .ui-datatable .ui-sortable-column-icon {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n\\r\\n:host .ui-datatable th.ui-state-hover{\\r\\n background-color: #c9302c;\\r\\n color:white;\\r\\n}\\r\\n\\r\\n:host .ui-datatable .ui-sortable-column {\\r\\n background-color: #ff9\\r\\n}\\r\\n/*************************************************************************************************/\\r\\n\\r\\n\\r\\n/****************************************Operations list page************************************/\\r\\n:host .ui-datatable .ui-sortable-column-icon {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n\\r\\n:host .ui-datatable th.ui-state-hover{\\r\\n background-color: #c9302c;\\r\\n}\\r\\n\\r\\n:host .ui-datatable .ui-sortable-column {\\r\\n background-color: #ff9\\r\\n}\\r\\n:host .myTableAyear {\\r\\n width: 5%;\\r\\n}\\r\\n\\r\\n:host .myTableForecast{\\r\\n width: 2.5%;\\r\\n}\\r\\n:host .myTableColsLightGrey{\\r\\n text-align:right;\\r\\n background-color:lightgrey;\\r\\n}\\r\\n:host .myTableCols{\\r\\n text-align:right;\\r\\n background-color: transparent;\\r\\n}\\r\\n/*************************************************************************************/\\r\\n\\r\\n/*********************************** Airports ***************************************/\\r\\n.current-scenario{\\r\\n text-align: center;\\r\\n}\\r\\n.divider {\\r\\n clear: both;\\r\\n}\\r\\n.divider-space {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.merge-column {\\r\\n float: left;\\r\\n margin-right: 100px;\\r\\n}\\r\\n.section-title {\\r\\n font-weight: bold;\\r\\n}\\r\\n.btn-right {\\r\\n float: right;\\r\\n margin-left: 15px;\\r\\n}\\r\\n\\r\\n\\r\\n/*************************************************************************************************/\\r\\n.body\\r\\n{\\r\\n font-size: 12px;\\r\\n color: #3d3d3d;\\r\\n font-family: Arial, Verdana, Helvetica, sans-serif;\\r\\n border-width:1px;\\r\\n border-color:black;\\r\\n background-color:#c0e4fe;\\r\\n border-style: solid;\\r\\n}\\r\\n.select.input-sm {\\r\\n -webkit-appearance: menulist;\\r\\n box-sizing: border-box;\\r\\n align-items: center;\\r\\n white-space: pre;\\r\\n -webkit-rtl-ordering: logical;\\r\\n color: black;\\r\\n background-color: white;\\r\\n cursor: default;\\r\\n border-width: 1px;\\r\\n border-style: solid;\\r\\n border-color: initial;\\r\\n border-image: initial;\\r\\n}\\r\\n/*:host .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td{\\r\\n display: table-cell;\\r\\n vertical-align: inherit;\\r\\n height:20px!important;;\\r\\n margin:0px !important;\\r\\n table-layout:fixed; \\r\\n}*/\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n/***/ },\n\n/***/ 701:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"\"\n\n/***/ },\n\n/***/ 702:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar welcome_component_1 = __webpack_require__(703);\r\n\tvar airport_routes_1 = __webpack_require__(705);\r\n\tvar system_management_routes_1 = __webpack_require__(792);\r\n\tvar scenario_activities_routes_1 = __webpack_require__(865);\r\n\tvar query_report_routes_1 = __webpack_require__(891);\r\n\tvar auth_routes_1 = __webpack_require__(898);\r\n\tvar admin_routes_1 = __webpack_require__(910);\r\n\tvar account_routes_1 = __webpack_require__(916);\r\n\tvar auth_guard_service_1 = __webpack_require__(696);\r\n\tvar auth_service_1 = __webpack_require__(679);\r\n\t//import { Http } from '@angular/http';\r\n\texports.routes = [\r\n\t { path: '', redirectTo: '/welcome', pathMatch: 'full' },\r\n\t { path: 'welcome', component: welcome_component_1.WelcomeComponent, canActivate: [auth_guard_service_1.AuthGuard] }\r\n\t].concat(airport_routes_1.AirportRoutes, system_management_routes_1.SystemManagementRoutes, scenario_activities_routes_1.ScenarioActivitiesRoutes, query_report_routes_1.QueryReportRoutes, auth_routes_1.AuthRoutes, admin_routes_1.AdminRoutes, account_routes_1.AccountRoutes);\r\n\texports.APP_ROUTER_PROVIDERS = [\r\n\t router_1.provideRouter(exports.routes), auth_guard_service_1.AuthGuard, auth_service_1.AuthService //, Http\r\n\t];\r\n\n\n/***/ },\n\n/***/ 703:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar auth_service_1 = __webpack_require__(679);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar WelcomeComponent = (function () {\r\n\t function WelcomeComponent(_scenarioService, User, _userInfoService, authService) {\r\n\t this._scenarioService = _scenarioService;\r\n\t this.User = User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.authService = authService;\r\n\t this.pageTitle = 'Welcome, ' + this.User.getSession()['fullname'];\r\n\t this.isScenarioOwner = false;\r\n\t this.isReadOnly = false;\r\n\t }\r\n\t WelcomeComponent.prototype.ngOnInit = function () {\r\n\t //console.log(\"Welcome ngInit\");\r\n\t var _this = this;\r\n\t this.isAdmin = this.authService.isInRole(\"System Developer\");\r\n\t this.isReadOnly = this.authService.isReadOnly();\r\n\t this.User.updateSessionState();\r\n\t var tempUserId = this.User.getSession()['id'];\r\n\t var tempScenario = this.User.getSession().scenarioId;\r\n\t this._scenarioService.getScenarios(tempUserId)\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t if (_this.User.hasValidSession())\r\n\t _this.setScenarioHeader(_this.User.scenarioId);\r\n\t else {\r\n\t _this.setScenarioHeader(_this.User.scenarioId);\r\n\t _this.User.updateSessionState();\r\n\t }\r\n\t });\r\n\t this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\t //this probably needs to be somewhere more central\r\n\t this._userInfoService.isScenarioOwner(tempUserId, tempScenario).subscribe(function (success) { return _this.isScenarioOwner = success.isOwner; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t WelcomeComponent.prototype.onScenarioChange = function (event) {\r\n\t var selectedScenarioId = +event.target.value;\r\n\t this.User.scenarioId = selectedScenarioId;\r\n\t this.setScenarioHeader(selectedScenarioId);\r\n\t this.User.updateSessionState();\r\n\t };\r\n\t WelcomeComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t this.scenarioHeaderDiv.innerHTML = \"Current Scenario: \" + this.currentScenario.scenarioName + \" (\" + this.currentScenario.id + \")\";\r\n\t };\r\n\t __decorate([\r\n\t core_1.ViewChild('scenarioHeader'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], WelcomeComponent.prototype, \"scenarioHeader\", void 0);\r\n\t WelcomeComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/home/welcome.component.html',\r\n\t template: __webpack_require__(704),\r\n\t styles: [__webpack_require__(700)]\r\n\t }), \r\n\t __metadata('design:paramtypes', [scenario_service_1.ScenarioService, user_session_1.UserSession, user_info_service_1.UserInfoService, auth_service_1.AuthService])\r\n\t ], WelcomeComponent);\r\n\t return WelcomeComponent;\r\n\t}());\r\n\texports.WelcomeComponent = WelcomeComponent;\r\n\n\n/***/ },\n\n/***/ 704:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n
\\r\\n {{pageTitle}}\\r\\n
\\r\\n
\\r\\n
Scenario:\\r\\n \\r\\n
\\r\\n
\\r\\n

Your Options

\\r\\n
\\r\\n
\\r\\n Facility View\\r\\n
\\r\\n
\\r\\n
View/Update Facilities in this Scenario
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Scenario Activities\\r\\n
\\r\\n
\\r\\n
Create/Delete, Change Facilities in a Scenario
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Query Reports\\r\\n
\\r\\n
\\r\\n
Create a variety of data and growth rate reports
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n System Management\\r\\n
\\r\\n
\\r\\n
Some Options Available for System Management
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Admin\\r\\n
\\r\\n
\\r\\n
Some Options Available for System Admin
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 705:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar airport_component_1 = __webpack_require__(706);\r\n\tvar auth_guard_service_1 = __webpack_require__(696);\r\n\tvar airport_edit_component_1 = __webpack_require__(773);\r\n\tvar operations_list_component_1 = __webpack_require__(776);\r\n\tvar operations_add_data_point_component_1 = __webpack_require__(780);\r\n\tvar operations_graph_component_1 = __webpack_require__(782);\r\n\tvar operations_graph_display_component_1 = __webpack_require__(786);\r\n\tvar operations_reforecast_container_component_1 = __webpack_require__(788);\r\n\texports.AirportRoutes = [\r\n\t { path: 'airports', component: airport_component_1.AirportComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'airports/:locId', component: airport_component_1.AirportComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'airports-edit/:locId', component: airport_edit_component_1.AirportEditComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'operations-list/:tableName', component: operations_list_component_1.OperationsListComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'operations-add-year', component: operations_add_data_point_component_1.OperationsAddDataPointComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'operations-graph/:tableName', component: operations_graph_component_1.OperationsGraphComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'operations-graph-display/:tableName', component: operations_graph_display_component_1.OperationsGraphDisplayComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'operations-reforcast/:tableName', component: operations_reforecast_container_component_1.OperationsReforecastContainerComponent, canActivate: [auth_guard_service_1.AuthGuard] }\r\n\t];\r\n\n\n/***/ },\n\n/***/ 706:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar query_report_service_1 = __webpack_require__(691);\r\n\tvar query_report_1 = __webpack_require__(698);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar degrees_from_seconds_pipe_1 = __webpack_require__(707);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar _ = __webpack_require__(680);\r\n\tvar AirportComponent = (function () {\r\n\t function AirportComponent(route, router, _airportService, _scenarioService, User, _userInfoService, _queryReport) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._airportService = _airportService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this.User = User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this._queryReport = _queryReport;\r\n\t this.pageTitle = 'Facility View ';\r\n\t this.displayNotes = false;\r\n\t this.isScenarioOwner = false;\r\n\t this.canEdit = false;\r\n\t this.displayFacilityList = false;\r\n\t this.displaySpinner = false;\r\n\t this.msgs = [];\r\n\t this.msgsAll = [];\r\n\t this.displayGraphData = false;\r\n\t this.showAll = \"true\";\r\n\t }\r\n\t AirportComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.sub = this.route.params.subscribe(function (params) {\r\n\t var id = params['locId'];\r\n\t if (!_.isEmpty(id)) {\r\n\t _this.getAirport(id);\r\n\t }\r\n\t else {\r\n\t //console.log(\"Empty param\");\r\n\t _this.getAirportFromScenario();\r\n\t }\r\n\t });\r\n\t this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\t this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this.User.getSession().scenarioId);\r\n\t });\r\n\t //this probably needs to be somewhere more central\r\n\t this.User.updateSessionState();\r\n\t this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(function (success) { return _this.isScenarioOwner = success.isOwner; }, function (error) { return _this.errorMessage = error; });\r\n\t this.getOperations();\r\n\t // this.request = new IQueryReportRequest(0,1,6,10,['ATL']);\r\n\t };\r\n\t AirportComponent.prototype.ngOnDestroy = function () {\r\n\t this.sub.unsubscribe();\r\n\t };\r\n\t AirportComponent.prototype.getOperations = function () {\r\n\t var _this = this;\r\n\t this._airportService.getOperations()\r\n\t .subscribe(function (operations) { return _this.operations = operations; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t AirportComponent.prototype.getAirportFromScenario = function () {\r\n\t var _this = this;\r\n\t //console.log(\"this.User.getSession().scenarioId \" + this.User.getSession().scenarioId);\r\n\t this._airportService.getAirportFromScenario(this.User.getSession().scenarioId)\r\n\t .subscribe(function (success) { return _this.getAirport(success); }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t AirportComponent.prototype.getAirport = function (locId) {\r\n\t var _this = this;\r\n\t this._airportService.getAirport(locId, this.User.getSession().scenarioId)\r\n\t .subscribe(function (airport) { return _this.airport = airport; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t if (_this.airport.locId == undefined) {\r\n\t _this.msgsAll = [];\r\n\t _this.msgsAll.push({ severity: 'error', summary: 'Error Message', detail: 'If you were requesting a LOCID, it may not be part of your current scenario, or the LOCID is not found.' });\r\n\t _this.showAll = \"false\";\r\n\t }\r\n\t else {\r\n\t _this.msgsAll = [];\r\n\t _this.showAll = \"true\";\r\n\t _this.setCanEdit();\r\n\t _this.setNextAndPrevious(locId);\r\n\t }\r\n\t });\r\n\t };\r\n\t AirportComponent.prototype.setNextAndPrevious = function (locId) {\r\n\t var _this = this;\r\n\t this._airportService.getNextAndPreviousAirports(locId, this.User.getSession().scenarioId)\r\n\t .subscribe(function (success) {\r\n\t _this.nextFacility = success.nextAirport;\r\n\t _this.previousFacility = success.previousAirport;\r\n\t });\r\n\t };\r\n\t AirportComponent.prototype.setCanEdit = function () {\r\n\t var _this = this;\r\n\t this._userInfoService.getRegCode(this.User.getSession()['id'])\r\n\t .subscribe(function (success) {\r\n\t if (_this.User.getSession().isAdmin || (_this.User.getSession().isRegionalManager && success === _this.airport.region)) {\r\n\t _this.canEdit = true;\r\n\t }\r\n\t });\r\n\t };\r\n\t AirportComponent.prototype.onScenarioChange = function (event) {\r\n\t var _this = this;\r\n\t var selectedScenarioId = +event.target.value;\r\n\t this.User.scenarioId = selectedScenarioId;\r\n\t this.User.updateSessionState();\r\n\t this.setScenarioHeader(selectedScenarioId);\r\n\t this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(function (success) { return _this.isScenarioOwner = success.isOwner; }, function (error) { return _this.errorMessage = error; });\r\n\t this.getAirportFromScenario();\r\n\t };\r\n\t AirportComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t this.scenarioHeaderDiv.innerHTML = \"Current Scenario: \" + this.currentScenario.scenarioName + \" (\" + this.currentScenario.id + \")\";\r\n\t };\r\n\t AirportComponent.prototype.showNotes = function () {\r\n\t var _this = this;\r\n\t if (this.isScenarioOwner || this.User.getSession().isAdmin) {\r\n\t this.notesTitle = \"Edit Scenario Notes\";\r\n\t }\r\n\t else {\r\n\t this.notesTitle = \"View Scenario Notes\";\r\n\t }\r\n\t this._airportService.getScenarioNotes(this.airport.locId, this.User.getSession().scenarioId)\r\n\t .subscribe(function (success) {\r\n\t if (!_.isEmpty(success)) {\r\n\t _this.scenarioNote = success;\r\n\t }\r\n\t _this.displayNotes = true;\r\n\t }, function (error) { return _this.errorMessage = \"An error occured while attempting to retrieve notes.\"; });\r\n\t };\r\n\t AirportComponent.prototype.showDataReport = function () {\r\n\t var _this = this;\r\n\t this.request = new query_report_1.IQueryReportRequest(1, 0, 6, 10, [this.airport.locId]);\r\n\t this.request.scenario = this.currentScenario.id;\r\n\t //year is fy_year -3 and will get calculated on webAPI side of the house; don't want to do that here also.\r\n\t this.request.startYear = 0;\r\n\t //these two values are hardcoded to reflect data from query reports: facility levelr eport data summary (6) for a certain facility (10)\r\n\t this.request.reportId = 6;\r\n\t this.request.facOption = 10;\r\n\t this.request.locidList = [this.airport.locId];\r\n\t if (this.isScenarioOwner || this.User.getSession().isAdmin || this.User.isReadOnly) {\r\n\t this.graphDataTitle = \"Data Report\";\r\n\t this.displaySpinner = true;\r\n\t this._queryReport.getFacilityListReport(this.request)\r\n\t .subscribe(function (response) {\r\n\t _this.displaySpinner = false;\r\n\t _this.facReportListResponse = response;\r\n\t if (_this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error has occurred executing your request'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t }\r\n\t else if (_this.facReportListResponse[0].responseMessage === 'No Data') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Info Message', detail: 'No Data returned.'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t _this.facReportListResponse[0].pdfFileUrl = \"\";\r\n\t _this.facReportListResponse[0].htmlFileUrl = \"\";\r\n\t }\r\n\t else {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n\t _this.cols = [\r\n\t { field: \"htmlFileUrl\", header: 'Html' },\r\n\t { field: \"pdfFileUrl\", header: 'Pdf' },\r\n\t ];\r\n\t _this.displayGraphData = true;\r\n\t }\r\n\t //console.log (\"Airport Data report response facility report \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n\t // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n\t // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t }\r\n\t };\r\n\t AirportComponent.prototype.showGrowthRateReport = function () {\r\n\t var _this = this;\r\n\t this.facListTitle = \"Growth Rate Report\";\r\n\t this.request = new query_report_1.IQueryReportRequest(1, 0, 7, 10, [this.airport.locId]);\r\n\t this.request.scenario = this.currentScenario.id;\r\n\t //year is fy_year -3 and will get calculated on webAPI side of the house; don't want to do that here also.\r\n\t this.request.startYear = 0;\r\n\t //these two values are hardcoded to reflect data from query reports: facility levelr eport data summary (6) for a certain facility (10)\r\n\t this.request.reportId = 7;\r\n\t this.request.facOption = 10;\r\n\t this.request.locidList = [this.airport.locId];\r\n\t if (this.isScenarioOwner || this.User.getSession().isAdmin || this.User.isReadOnly) {\r\n\t this.graphDataTitle = \"Growth Rate Report\";\r\n\t this.displaySpinner = true;\r\n\t this._queryReport.getFacilityListReport(this.request)\r\n\t .subscribe(function (response) {\r\n\t _this.displaySpinner = false;\r\n\t _this.facReportListResponse = response;\r\n\t if (_this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error has occurred executing your request'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t }\r\n\t else if (_this.facReportListResponse[0].responseMessage === 'No Data') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Info Message', detail: 'No Data returned.'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t _this.facReportListResponse[0].pdfFileUrl = \"\";\r\n\t _this.facReportListResponse[0].htmlFileUrl = \"\";\r\n\t }\r\n\t else {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n\t _this.cols = [\r\n\t { field: \"htmlFileUrl\", header: 'Html' },\r\n\t { field: \"pdfFileUrl\", header: 'Pdf' },\r\n\t ];\r\n\t _this.displayGraphData = true;\r\n\t }\r\n\t //console.log (\"Airport Data report response facility report \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n\t // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n\t // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t }\r\n\t };\r\n\t AirportComponent.prototype.showOpsPerBA = function () {\r\n\t var _this = this;\r\n\t this.facListTitle = \"Operations Per Based Aircraft Ratio\";\r\n\t this.request = new query_report_1.IQueryReportRequest(1, 0, 7, 10, [this.airport.locId]);\r\n\t this.request.scenario = this.currentScenario.id;\r\n\t //year is fy_year -3 and will get calculated on webAPI side of the house; don't want to do that here also.\r\n\t this.request.startYear = 0;\r\n\t //these two values are hardcoded to reflect data from query reports: facility levelr eport data summary (6) for a certain facility (10)\r\n\t this.request.reportId = 12;\r\n\t this.request.facOption = 0;\r\n\t this.request.locidList = [this.airport.locId];\r\n\t if (this.isScenarioOwner || this.User.getSession().isAdmin || this.User.isReadOnly) {\r\n\t this.graphDataTitle = \"Operations Per Based Aircraft Ratio\";\r\n\t this.displaySpinner = true;\r\n\t this._queryReport.getFacilityListReport(this.request)\r\n\t .subscribe(function (response) {\r\n\t _this.displaySpinner = false;\r\n\t _this.facReportListResponse = response;\r\n\t if (_this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error has occurred executing your request'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t }\r\n\t else if (_this.facReportListResponse[0].responseMessage === 'No Data') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Info Message', detail: 'No Data returned.'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t _this.facReportListResponse[0].pdfFileUrl = \"\";\r\n\t _this.facReportListResponse[0].htmlFileUrl = \"\";\r\n\t }\r\n\t else {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n\t _this.cols = [\r\n\t { field: \"htmlFileUrl\", header: 'Html' },\r\n\t { field: \"pdfFileUrl\", header: 'Pdf' },\r\n\t ];\r\n\t _this.displayGraphData = true;\r\n\t }\r\n\t //console.log (\"Operations Per Based Aircraft Ratio response \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n\t // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n\t // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t }\r\n\t };\r\n\t AirportComponent.prototype.showFacList = function () {\r\n\t var _this = this;\r\n\t this.facListTitle = \"Facility List\";\r\n\t this.request = new query_report_1.IQueryReportRequest(1, 0, 5, 10, [this.airport.locId]);\r\n\t this.request.scenario = this.User.getSession().scenarioId;\r\n\t //year is fy_year -3 and will get calculated on webAPI side of the house; don't want to do that here also.\r\n\t this.request.startYear = 0;\r\n\t //these two values are hardcoded to reflect data from query reports: facility levelr eport data summary (6) for a certain facility (10)\r\n\t this.request.reportId = 11;\r\n\t this.request.facOption = 0;\r\n\t this.request.locidList = [this.airport.locId];\r\n\t if (this.isScenarioOwner || this.User.getSession().isAdmin || this.User.isReadOnly) {\r\n\t this.graphDataTitle = \"Facility List\";\r\n\t this.displaySpinner = true;\r\n\t this._queryReport.getFacilityListReport(this.request)\r\n\t .subscribe(function (response) {\r\n\t _this.displaySpinner = false;\r\n\t _this.facReportListResponse = response;\r\n\t if (_this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error has occurred executing your request'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t }\r\n\t else if (_this.facReportListResponse[0].responseMessage === 'No Data') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Info Message', detail: 'No Data returned.'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t _this.facReportListResponse[0].pdfFileUrl = \"\";\r\n\t _this.facReportListResponse[0].htmlFileUrl = \"\";\r\n\t }\r\n\t else {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n\t _this.cols = [\r\n\t { field: \"htmlFileUrl\", header: 'Html' },\r\n\t { field: \"pdfFileUrl\", header: 'Pdf' },\r\n\t ];\r\n\t _this.displayGraphData = true;\r\n\t }\r\n\t //console.log (\"Airport Data report response facility report \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n\t // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n\t // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t }\r\n\t /* if(this.isScenarioOwner || this.User.getSession().isAdmin){\r\n\t this.facListTitle = \"Facility List\";\r\n\t this.displaySpinner = true;\r\n\t this._airportService.getFacilityList(this.User.getSession().scenarioId)\r\n\t .subscribe(\r\n\t response => {\r\n\t this.facList = response;\r\n\t this.displayFacilityList = true;\r\n\t this.cols = [\r\n\t {field: \"locId\", header: 'Locid'},\r\n\t {field: \"name\", header: 'Airport Name'},\r\n\t {field: \"region\", header: 'Region'},\r\n\t {field: \"city\", header: 'City'},\r\n\t {field: \"stateName\", header: 'State'},\r\n\t {field: \"facClassName\", header: 'Facility Class'},\r\n\t {field: \"facLevelName\", header: 'Facility Level'},\r\n\t {field: \"latitude\", header: 'Latitude'},\r\n\t {field: \"longitude\", header: 'Longitude'},\r\n\t {field: \"siteNumber\", header: 'Site'},\r\n\t ]\r\n\t console.log('Airport Get Facility List Component: ' + JSON.stringify(this.cols));\r\n\t this.displaySpinner =false;\r\n\t },\r\n\t error => this.errorMessage = \"An error occured while attempting to retrieve notes.\"\r\n\t );\r\n\t }*/\r\n\t };\r\n\t AirportComponent.prototype.saveNotes = function () {\r\n\t var _this = this;\r\n\t this._airportService.updateScenarioNotes(this.airport.locId, this.User.getSession().scenarioId, this.scenarioNote)\r\n\t .subscribe(function (success) { }, function (error) {\r\n\t _this.errorMessage = \"An error occured while attempting to save your note.\";\r\n\t _this.displayNotes = false;\r\n\t }, function () { return _this.displayNotes = false; });\r\n\t };\r\n\t AirportComponent.prototype.editAirport = function () {\r\n\t this.router.navigate([(\"/airports-edit/\" + this.airport.locId)]);\r\n\t };\r\n\t AirportComponent.prototype.nextFacilityAction = function () {\r\n\t this.router.navigate([(\"/airports/\" + this.nextFacility)]);\r\n\t };\r\n\t AirportComponent.prototype.previousFacilityAction = function () {\r\n\t this.router.navigate([(\"/airports/\" + this.previousFacility)]);\r\n\t };\r\n\t AirportComponent.prototype.performOp = function (op) {\r\n\t var params = {\r\n\t locId: this.airport.locId,\r\n\t airportName: this.airport.name\r\n\t };\r\n\t this.router.navigate([(\"/operations-list/\" + op.tableName), params]);\r\n\t };\r\n\t AirportComponent.prototype.openPDFFile = function (responsepdf) {\r\n\t window.open(responsepdf, '_blank');\r\n\t };\r\n\t AirportComponent.prototype.openHTMLFile = function (responseHtml) {\r\n\t window.open(responseHtml, '_blank');\r\n\t };\r\n\t __decorate([\r\n\t core_1.ViewChild('scenarioHeader'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], AirportComponent.prototype, \"scenarioHeader\", void 0);\r\n\t AirportComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/airports/airport.component.html',\r\n\t template: __webpack_require__(772),\r\n\t styles: [__webpack_require__(700), __webpack_require__(701)],\r\n\t //styleUrls: ['app/products/product-list.component.css'],\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.Dialog, primeng_2.Button],\r\n\t pipes: [degrees_from_seconds_pipe_1.DegreesFromSecondsPipe]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, airport_service_1.AirportService, scenario_service_1.ScenarioService, user_session_1.UserSession, user_info_service_1.UserInfoService, query_report_service_1.QueryReportService])\r\n\t ], AirportComponent);\r\n\t return AirportComponent;\r\n\t}());\r\n\texports.AirportComponent = AirportComponent;\r\n\n\n/***/ },\n\n/***/ 707:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar DegreesFromSecondsPipe = (function () {\r\n\t function DegreesFromSecondsPipe() {\r\n\t }\r\n\t DegreesFromSecondsPipe.prototype.transform = function (seconds) {\r\n\t var secLen = seconds.length;\r\n\t var calc = parseFloat(seconds);\r\n\t calc = calc / 3600;\r\n\t if (seconds.substr(secLen - 1, 1) == 'W' || seconds.substr(secLen - 1, 1) == 'S')\r\n\t calc = calc * -1;\r\n\t if (isNaN(calc)) {\r\n\t calc = 0;\r\n\t }\r\n\t return calc.toString();\r\n\t };\r\n\t DegreesFromSecondsPipe = __decorate([\r\n\t core_1.Pipe({ name: 'degreesFromSeconds' }), \r\n\t __metadata('design:paramtypes', [])\r\n\t ], DegreesFromSecondsPipe);\r\n\t return DegreesFromSecondsPipe;\r\n\t}());\r\n\texports.DegreesFromSecondsPipe = DegreesFromSecondsPipe;\r\n\n\n/***/ },\n\n/***/ 772:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n {{pageTitle + ': ' + airport.locId + ' - ' + airport.name}}\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
{{errorMessage}}
\\r\\n Scenario:\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n HTML file created for facility {{airport.locId}}: \\r\\n \\r\\n
\\r\\n
\\r\\n PDF file created for facility {{airport.locId}}: \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

Scenario: {{currentScenario.scenarioName}}

\\r\\n

LOCID: {{airport.locId}} - {{airport.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

Title: APO TAF Facility List

\\r\\n

Scenario: {{currentScenario.scenarioName}} ({{currentScenario.id}})

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the 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
LOCID:
\\r\\n
{{airport.locId}}
\\r\\n
Region:
\\r\\n
{{airport.regName}}
\\r\\n
Name:
\\r\\n
{{airport.name}}
\\r\\n
\\r\\n
\\r\\n
 
\\r\\n
 
\\r\\n
City:
\\r\\n
{{airport.city}}
\\r\\n
State:
\\r\\n
{{airport.stateName}}
\\r\\n
\\r\\n
\\r\\n
Facility Class:
\\r\\n
{{airport.facClassName}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Facility Level:
\\r\\n
{{airport.facLevelName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Hub Size:
\\r\\n
{{airport.hubSizeName}}
\\r\\n
Hub Loc Id:
\\r\\n
{{airport.hubLocId}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n
Reliever Id:
\\r\\n
{{airport.relieverId}}
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n
Center Area Id:
\\r\\n
{{airport.centerAreaId}}
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n
Approach Control Id:
\\r\\n
{{airport.approachControlId}}
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Site Number:
\\r\\n
{{airport.siteNumber}}
\\r\\n
\\r\\n
\\r\\n
Nasp Number:
\\r\\n
{{airport.naspNumber}}
\\r\\n
\\r\\n
\\r\\n
Latitude:
\\r\\n
{{airport.latitude | degreesFromSeconds}}
\\r\\n
\\r\\n
\\r\\n
Longitude:
\\r\\n
{{airport.longitude | degreesFromSeconds}}
\\r\\n
\\r\\n
\\r\\n
Link to Google Maps:
\\r\\n
\\r\\n Map It!\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
Comments/Notes:

\\r\\n
{{airport.comments}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
OPS_FLAG
\\r\\n
{{airport.OpsFlagName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Regional Input Start Year:
\\r\\n
{{airport.regionalInputStartYear}}
\\r\\n
Regional Input End Year:
\\r\\n
{{airport.regionalInputEndYear}}
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 773:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar commondata_service_1 = __webpack_require__(693);\r\n\tvar AirportEditComponent = (function () {\r\n\t function AirportEditComponent(route, router, _airportService, _scenarioService, _commonDataService, _userInfoService, User) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._airportService = _airportService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this._commonDataService = _commonDataService;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.User = User;\r\n\t this.pageTitle = 'Facility Edit ';\r\n\t this.displayNotes = false;\r\n\t }\r\n\t AirportEditComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t //TODO: need to see what the original page defaults to \r\n\t this.sub = this.route.params.subscribe(function (params) {\r\n\t var id = params['locId'];\r\n\t //will need to only do this if we get a value\r\n\t _this.getAirport(id);\r\n\t });\r\n\t this._scenarioService.getScenarios(this.User.getSession()['id']) //this.User.getSession().userId\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this.User.getSession().scenarioId);\r\n\t });\r\n\t this.getKeyValues('region');\r\n\t this.getKeyValues('state');\r\n\t this.getKeyValues('emdfcode');\r\n\t this.getKeyValues('faclevel');\r\n\t this.getKeyValues('hubsize');\r\n\t this.getKeyValues('opsflags');\r\n\t this._userInfoService.getRegionalYear(this.User.getSession()['id']) //this.User.getSession().userId\r\n\t .subscribe(function (success) {\r\n\t _this.regStartYear = success.startYear;\r\n\t _this.regEndYear = success.endYear;\r\n\t });\r\n\t };\r\n\t AirportEditComponent.prototype.ngOnDestroy = function () {\r\n\t this.sub.unsubscribe();\r\n\t };\r\n\t AirportEditComponent.prototype.getAirport = function (locId) {\r\n\t var _this = this;\r\n\t this._airportService.getAirport(locId, this.User.getSession().scenarioId)\r\n\t .subscribe(function (airport) { return _this.airport = airport; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t AirportEditComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t };\r\n\t AirportEditComponent.prototype.getKeyValues = function (id) {\r\n\t var _this = this;\r\n\t this._commonDataService.getData(id)\r\n\t .subscribe(function (list) {\r\n\t if (id == \"region\") {\r\n\t _this.regions = list;\r\n\t }\r\n\t else if (id == \"state\") {\r\n\t _this.states = list;\r\n\t }\r\n\t else if (id == \"emdfcode\") {\r\n\t _this.facClasses = list;\r\n\t }\r\n\t else if (id == \"faclevel\") {\r\n\t _this.facLevels = list;\r\n\t }\r\n\t else if (id == \"hubsize\") {\r\n\t _this.sizes = list;\r\n\t }\r\n\t else if (id == \"opsflags\") {\r\n\t _this.flags = list;\r\n\t }\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t AirportEditComponent.prototype.updateAirport = function () {\r\n\t var _this = this;\r\n\t this.errorMessage = null;\r\n\t if (+this.airport.regionalInputEndYear < +this.airport.regionalInputStartYear) {\r\n\t this.errorMessage = \"Regional input start year cannot be greater than regional input end year.\";\r\n\t return;\r\n\t }\r\n\t this._airportService.updateAirport(this.airport)\r\n\t .subscribe(function (response) {\r\n\t if (response.responseStatus == \"success\") {\r\n\t _this.router.navigate(['/airports', { locId: _this.airport.locId }]);\r\n\t }\r\n\t else if (response.responseStatus == \"error\") {\r\n\t _this.errorMessage = \"An error occured while trying to update the facility.\";\r\n\t console.error(response.responseMessage);\r\n\t }\r\n\t }, function (error) {\r\n\t _this.errorMessage = \"An error occured while trying to update the facility.\";\r\n\t console.error(error);\r\n\t });\r\n\t };\r\n\t AirportEditComponent.prototype.cancelEdit = function () {\r\n\t this.router.navigate(['/airports', { locId: this.airport.locId }]);\r\n\t };\r\n\t AirportEditComponent.prototype.regionalInputChange = function (event) {\r\n\t //TODO: need to set these to other default values\r\n\t if (event.target.checked) {\r\n\t this.airport.regionalInputStartYear = this.regStartYear;\r\n\t this.airport.regionalInputEndYear = this.regEndYear;\r\n\t }\r\n\t };\r\n\t AirportEditComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/airports/airport.component.html',\r\n\t template: __webpack_require__(774),\r\n\t styles: [__webpack_require__(775)],\r\n\t //styleUrls: ['app/products/product-list.component.css'],\r\n\t providers: [commondata_service_1.KeyValuePair],\r\n\t directives: [router_1.ROUTER_DIRECTIVES]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, airport_service_1.AirportService, scenario_service_1.ScenarioService, commondata_service_1.CommonDataService, user_info_service_1.UserInfoService, user_session_1.UserSession])\r\n\t ], AirportEditComponent);\r\n\t return AirportEditComponent;\r\n\t}());\r\n\texports.AirportEditComponent = AirportEditComponent;\r\n\n\n/***/ },\n\n/***/ 774:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n {{pageTitle + ': ' + airport.name }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{airport.locId}}\\r\\n
\\r\\n
\\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 is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n City is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 775:\n/***/ function(module, exports) {\n\n\tmodule.exports = \".current-scenario{\\r\\n text-align: center;\\r\\n}\\r\\n.divider {\\r\\n clear: both;\\r\\n}\\r\\n.divider-space {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.merge-column {\\r\\n float: left;\\r\\n margin-right: 100px;\\r\\n}\\r\\n.section-title {\\r\\n font-weight: bold;\\r\\n}\\r\\n.btn-right {\\r\\n float: right;\\r\\n margin-left: 15px;\\r\\n}\\r\\n\\r\\n\"\n\n/***/ },\n\n/***/ 776:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar primeng_4 = __webpack_require__(708);\r\n\tvar _ = __webpack_require__(680);\r\n\tvar operation_grid_component_1 = __webpack_require__(777);\r\n\tvar OperationsListComponent = (function () {\r\n\t function OperationsListComponent(route, router, _airportService, _scenarioService, User, _userInfoService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._airportService = _airportService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this.User = User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.displayNotes = false;\r\n\t this.isScenarioOwner = false;\r\n\t this.canEdit = false;\r\n\t this.displayAll = false;\r\n\t this.msgs = [];\r\n\t }\r\n\t OperationsListComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.sub = this.route.params.subscribe(function (params) {\r\n\t _this.tableName = params['tableName'];\r\n\t _this.locId = params['locId'];\r\n\t _this.airportName = params['airportName'];\r\n\t _this.displayAll = params['displayAll'];\r\n\t _this._airportService.getOperations()\r\n\t .subscribe(function (operations) { return _this.allOperations = operations; }, function (error) { return _this.errorMessage = error; });\r\n\t });\r\n\t this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this.User.getSession().scenarioId);\r\n\t });\r\n\t this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(function (success) {\r\n\t _this.isScenarioOwner = success.isOwner;\r\n\t if (_this.isScenarioOwner == false && _this.User.isAdmin == false) {\r\n\t //console.log(\"this.isScenarioOwner == false \" + (this.isScenarioOwner == false));\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'warn', summary: 'Warn Message', detail: 'We\\'re sorry, your access level does not permit you to view this page. Contact the TAF administrator to change your access privileges.' });\r\n\t }\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t OperationsListComponent.prototype.ngOnDestroy = function () {\r\n\t this.sub.unsubscribe();\r\n\t };\r\n\t OperationsListComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t };\r\n\t OperationsListComponent.prototype.showNotes = function () {\r\n\t var _this = this;\r\n\t if (this.isScenarioOwner || this.User.getSession().isAdmin) {\r\n\t this.notesTitle = \"Edit Scenario Notes\";\r\n\t }\r\n\t else {\r\n\t this.notesTitle = \"View Scenario Notes\";\r\n\t }\r\n\t this._airportService.getScenarioNotes(this.locId, this.User.getSession().scenarioId)\r\n\t .subscribe(function (success) {\r\n\t if (!_.isEmpty(success)) {\r\n\t _this.scenarioNote = success;\r\n\t }\r\n\t _this.displayNotes = true;\r\n\t }, function (error) { return _this.errorMessage = \"An error occured while attempting to retrieve notes.\"; });\r\n\t };\r\n\t OperationsListComponent.prototype.saveNotes = function () {\r\n\t var _this = this;\r\n\t this._airportService.updateScenarioNotes(this.locId, this.User.getSession().scenarioId, this.scenarioNote)\r\n\t .subscribe(function (success) { }, function (error) {\r\n\t _this.errorMessage = \"An error occured while attempting to save your note.\";\r\n\t _this.displayNotes = false;\r\n\t }, function () { return _this.displayNotes = false; });\r\n\t };\r\n\t OperationsListComponent.prototype.onTabChange = function (event) {\r\n\t var params = {\r\n\t locId: this.locId,\r\n\t airportName: this.airportName\r\n\t };\r\n\t this.router.navigate([(\"/operations-list/\" + this.allOperations[event.index].tableName), params]);\r\n\t };\r\n\t OperationsListComponent.prototype.back = function () {\r\n\t this.router.navigate([(\"/airports/\" + this.locId)]);\r\n\t };\r\n\t OperationsListComponent.prototype.graphData = function () {\r\n\t var params = {\r\n\t locId: this.locId,\r\n\t airportName: this.airportName\r\n\t };\r\n\t this.router.navigate([(\"/operations-graph/\" + this.tableName), params]);\r\n\t };\r\n\t OperationsListComponent.prototype.print = function () {\r\n\t //console.log(\"printing\");\r\n\t document.getElementById(\"customButtons\").style.visibility = \"hidden\";\r\n\t //document.getElementById(\"customPanelBody\").style.width = \"1000px\";\r\n\t document.getElementById(\"taf-header\").style.visibility = \"hidden\";\r\n\t document.getElementById(\"taf-footer\").style.visibility = \"hidden\";\r\n\t window.print();\r\n\t document.getElementById(\"customButtons\").style.visibility = \"visible\";\r\n\t //document.getElementById(\"customPanelBody\").style.width = \"1000px\";\r\n\t document.getElementById(\"taf-header\").style.visibility = \"visible\";\r\n\t document.getElementById(\"taf-footer\").style.visibility = \"visible\";\r\n\t };\r\n\t OperationsListComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(779),\r\n\t //styles: [require('../airport.css')],\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_3.Button, primeng_1.TabView, primeng_2.TabPanel, operation_grid_component_1.OperationGridComponent, primeng_4.Dialog]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, airport_service_1.AirportService, scenario_service_1.ScenarioService, user_session_1.UserSession, user_info_service_1.UserInfoService])\r\n\t ], OperationsListComponent);\r\n\t return OperationsListComponent;\r\n\t}());\r\n\texports.OperationsListComponent = OperationsListComponent;\r\n\n\n/***/ },\n\n/***/ 777:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar airport_interfaces_1 = __webpack_require__(697);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar primeng_4 = __webpack_require__(708);\r\n\tvar primeng_5 = __webpack_require__(708);\r\n\tvar primeng_6 = __webpack_require__(708);\r\n\tvar primeng_7 = __webpack_require__(708);\r\n\tvar _ = __webpack_require__(680);\r\n\tvar system_control_service_1 = __webpack_require__(694);\r\n\tvar OperationGridComponent = (function () {\r\n\t //might need the routes\r\n\t function OperationGridComponent(route, router, _airportService, _scenarioService, _userInfoService, User, request, _systemControlService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._airportService = _airportService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.User = User;\r\n\t this.request = request;\r\n\t this._systemControlService = _systemControlService;\r\n\t this.displayDialog = false;\r\n\t this.canEdit = false;\r\n\t this.dialogHeader = \"Detail\";\r\n\t //displayAll: boolean = false;\r\n\t this.displayAllText = \"View Previous Years\";\r\n\t }\r\n\t OperationGridComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t if (this.selected) {\r\n\t this.request.tableName = this.operation.tableName;\r\n\t this.request.scenarioId = this.User.getSession().scenarioId;\r\n\t this.request.locId = this.locId;\r\n\t this.request.isAdmin = this.User.getSession().isAdmin ? 1 : 0;\r\n\t this._airportService.getOperationsColumns(this.request)\r\n\t .subscribe(function (columns) {\r\n\t _this.columns = columns;\r\n\t _this.editableColumns = _.filter(_this.columns, function (column) { return !column.calculated; });\r\n\t _.find(columns, function (column) { column.fieldName === 'AAT' ? column.isAAT = 1 : column.isAAT = 0; });\r\n\t }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t });\r\n\t this.getResults();\r\n\t }\r\n\t };\r\n\t //may not need this\r\n\t OperationGridComponent.prototype.ngOnDestroy = function () { };\r\n\t OperationGridComponent.prototype.getResults = function () {\r\n\t var _this = this;\r\n\t this._systemControlService.getSystemControl()\r\n\t .subscribe(function (systemControlElem) { return _this.systemControlElem = systemControlElem; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this._airportService.getOperationsList(_this.request)\r\n\t .subscribe(function (results) {\r\n\t _this.results = results;\r\n\t _this.results.map(function (result) {\r\n\t result.scenarioDisplay = result.SCENARIO == 0 ? \"\" : \"*\";\r\n\t });\r\n\t if (!_this.displayAll) {\r\n\t _this.results = _this.results.filter(function (results) { return results.AYEAR > (_this.systemControlElem.ffcYear - 4); });\r\n\t }\r\n\t _this.results.sort(function (n1, n2) {\r\n\t if (n1.AYEAR > n2.AYEAR) {\r\n\t return 1;\r\n\t }\r\n\t if (n1.AYEAR < n2.AYEAR) {\r\n\t return -1;\r\n\t }\r\n\t return 0;\r\n\t });\r\n\t _this.setDisplayAllText(_this.displayAll);\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t });\r\n\t };\r\n\t OperationGridComponent.prototype.onRowSelect = function (event) {\r\n\t //lets make this a view if they are not the scenario owner or admin\r\n\t //need to get the scenario of the row\r\n\t var _this = this;\r\n\t if (this.User.getSession().isAdmin) {\r\n\t this.dialogHeader = \"Edit\";\r\n\t this.canEdit = true;\r\n\t this.editRow = this.cloneRow(event.data);\r\n\t this.displayDialog = true;\r\n\t }\r\n\t else {\r\n\t this._userInfoService.isScenarioOwner(this.User.getSession()['id'], event.data.SCENARIO).subscribe(function (success) {\r\n\t if (success.isOwner) {\r\n\t _this.dialogHeader = \"Edit\";\r\n\t _this.canEdit = true;\r\n\t _this.editRow = _this.cloneRow(event.data);\r\n\t _this.displayDialog = true;\r\n\t }\r\n\t else {\r\n\t _this.dialogHeader = \"Detail\";\r\n\t _this.canEdit = false;\r\n\t _this.editRow = _this.cloneRow(event.data);\r\n\t _this.displayDialog = true;\r\n\t }\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t }\r\n\t };\r\n\t OperationGridComponent.prototype.cloneRow = function (dataToClone) {\r\n\t var editableColumnCounter = 0;\r\n\t var cloneListCounter = 0;\r\n\t var cloneList = [];\r\n\t var _loop_1 = function(prop) {\r\n\t var clone = { value: \"\", fieldName: \"\", displayName: \"\", readOnly: false, display: true };\r\n\t if (_.find(this_1.editableColumns, function (column) { return column.fieldName === prop; })) {\r\n\t clone.value = dataToClone[prop];\r\n\t clone.fieldName = prop;\r\n\t clone.displayName = this_1.editableColumns[editableColumnCounter].displayName;\r\n\t clone.readOnly = false;\r\n\t cloneList[cloneListCounter] = clone;\r\n\t editableColumnCounter++;\r\n\t cloneListCounter++;\r\n\t }\r\n\t else if (prop === \"AYEAR\") {\r\n\t //really only want year in here\r\n\t clone.value = dataToClone[prop];\r\n\t clone.fieldName = prop;\r\n\t clone.displayName = \"Year\";\r\n\t clone.readOnly = true;\r\n\t cloneList[cloneListCounter] = clone;\r\n\t cloneListCounter++;\r\n\t }\r\n\t else if (prop === \"SCENARIO\") {\r\n\t clone.value = dataToClone[prop];\r\n\t clone.fieldName = prop;\r\n\t clone.display = false;\r\n\t clone.readOnly = true;\r\n\t cloneList[cloneListCounter] = clone;\r\n\t cloneListCounter++;\r\n\t }\r\n\t };\r\n\t var this_1 = this;\r\n\t for (var prop in dataToClone) {\r\n\t _loop_1(prop);\r\n\t }\r\n\t return cloneList;\r\n\t };\r\n\t OperationGridComponent.prototype.addButtonClicked = function () {\r\n\t var params = {\r\n\t locId: this.locId,\r\n\t tableName: this.operation.tableName,\r\n\t airportName: this.airportName\r\n\t };\r\n\t this.router.navigate([\"/operations-add-year\", params]);\r\n\t };\r\n\t OperationGridComponent.prototype.columnClick = function (event) {\r\n\t var params = {\r\n\t locId: this.locId,\r\n\t fieldName: event.field,\r\n\t airportName: this.airportName\r\n\t };\r\n\t this.router.navigate([(\"/operations-reforcast/\" + this.operation.tableName), params]);\r\n\t };\r\n\t OperationGridComponent.prototype.save = function () {\r\n\t var _this = this;\r\n\t var params = {\r\n\t tableName: this.operation.tableName,\r\n\t locId: this.locId,\r\n\t editRow: this.editRow,\r\n\t };\r\n\t this._airportService.updateOperations(params)\r\n\t .subscribe(function (response) {\r\n\t if (response.responseStatus == \"success\") {\r\n\t _this.getResults();\r\n\t _this.displayDialog = false;\r\n\t }\r\n\t else if (response.responseStatus == \"error\") {\r\n\t _this.displayDialog = false;\r\n\t _this.errorMessage = \"An error occured while trying to update the row.\";\r\n\t console.error(response.responseMessage);\r\n\t }\r\n\t }, function (error) {\r\n\t _this.displayDialog = false;\r\n\t _this.errorMessage = \"An error occured while trying to update the facility.\";\r\n\t console.error(error);\r\n\t });\r\n\t };\r\n\t OperationGridComponent.prototype.displayAllYears = function () {\r\n\t this.displayAll = !this.displayAll;\r\n\t this.setDisplayAllText(this.displayAll);\r\n\t this.getResults();\r\n\t };\r\n\t OperationGridComponent.prototype.setDisplayAllText = function (flag) {\r\n\t if (flag) {\r\n\t this.displayAllText = \"Hide Previous Years\";\r\n\t }\r\n\t else {\r\n\t this.displayAllText = \"View Previous Years\";\r\n\t }\r\n\t };\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', Object)\r\n\t ], OperationGridComponent.prototype, \"operation\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', Boolean)\r\n\t ], OperationGridComponent.prototype, \"selected\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', String)\r\n\t ], OperationGridComponent.prototype, \"locId\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', String)\r\n\t ], OperationGridComponent.prototype, \"airportName\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', Boolean)\r\n\t ], OperationGridComponent.prototype, \"displayAll\", void 0);\r\n\t OperationGridComponent = __decorate([\r\n\t core_1.Component({\r\n\t selector: 'operation-grid',\r\n\t template: __webpack_require__(778),\r\n\t styles: [__webpack_require__(700)],\r\n\t //encapsulation: ViewEncapsulation.None,\r\n\t directives: [primeng_1.Button, primeng_2.Column, primeng_3.TemplateLoader, primeng_4.TemplateWrapper, primeng_5.PrimeTemplate, primeng_6.ColumnBodyTemplateLoader, primeng_7.Footer]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, airport_service_1.AirportService, scenario_service_1.ScenarioService, user_info_service_1.UserInfoService, user_session_1.UserSession, airport_interfaces_1.OperationsListRequest, system_control_service_1.SystemControlService])\r\n\t ], OperationGridComponent);\r\n\t return OperationGridComponent;\r\n\t}());\r\n\texports.OperationGridComponent = OperationGridComponent;\r\n\n\n/***/ },\n\n/***/ 778:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"\\r\\n
{{errorMessage}}
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n \\r\\n\\r\\n

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

\\r\\n {{columns[0].tableDisplay}} \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\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.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\"\n\n/***/ },\n\n/***/ 779:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n {{'Facility: ' + locId + ' - ' + airportName }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n

Scenario: {{currentScenario.scenarioName}}

\\r\\n

LOCID: {{locId}} - {{airportName}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 780:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar system_control_service_1 = __webpack_require__(694);\r\n\tvar OperationsAddDataPointComponent = (function () {\r\n\t function OperationsAddDataPointComponent(route, router, _airportService, _scenarioService, User, _userInfoService, _systemControlService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._airportService = _airportService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this.User = User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this._systemControlService = _systemControlService;\r\n\t }\r\n\t OperationsAddDataPointComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.sub = this.route.params.subscribe(function (params) {\r\n\t _this.tableName = params['tableName'];\r\n\t _this.locId = params['locId'];\r\n\t _this.airportName = params['airportName'];\r\n\t });\r\n\t this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this.User.getSession().scenarioId);\r\n\t });\r\n\t this._systemControlService.getSystemControl()\r\n\t .subscribe(function (systemControlElem) { return _this.systemControlElem = systemControlElem; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t OperationsAddDataPointComponent.prototype.ngOnDestroy = function () {\r\n\t this.sub.unsubscribe();\r\n\t };\r\n\t OperationsAddDataPointComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t };\r\n\t OperationsAddDataPointComponent.prototype.submit = function () {\r\n\t var _this = this;\r\n\t this.errorMessage = null;\r\n\t if (this.year >= this.systemControlElem.lfcYear) {\r\n\t this.errorMessage = \"The year can only be less than last forecast year\";\r\n\t return;\r\n\t }\r\n\t else {\r\n\t var scenarioId = void 0;\r\n\t if (this.year < this.systemControlElem.ffcYear) {\r\n\t scenarioId = 0;\r\n\t }\r\n\t else {\r\n\t scenarioId = this.User.getSession().scenarioId;\r\n\t }\r\n\t var params = {\r\n\t tableName: this.tableName,\r\n\t locId: this.locId,\r\n\t scenario: scenarioId,\r\n\t ayear: this.year\r\n\t };\r\n\t this._airportService.saveOperationsYear(params)\r\n\t .subscribe(function (response) {\r\n\t if (response.responseStatus == \"success\") {\r\n\t var displayAll = 0;\r\n\t if (_this.year < _this.systemControlElem.ffcYear - 4) {\r\n\t displayAll = 1;\r\n\t }\r\n\t var params_1 = {\r\n\t locId: _this.locId,\r\n\t airportName: _this.airportName,\r\n\t displayAll: displayAll\r\n\t };\r\n\t _this.router.navigate([(\"/operations-list/\" + _this.tableName), params_1]);\r\n\t }\r\n\t else if (response.responseStatus == \"duplicate\") {\r\n\t _this.errorMessage = \"This year already exist within this scenario.\";\r\n\t }\r\n\t else if (response.responseStatus == \"error\") {\r\n\t _this.errorMessage = \"An error occured while trying to update the facility.\";\r\n\t console.error(response.responseMessage);\r\n\t }\r\n\t }, function (error) {\r\n\t _this.errorMessage = \"An error occured while trying to add the year.\";\r\n\t console.error(error);\r\n\t });\r\n\t }\r\n\t };\r\n\t OperationsAddDataPointComponent.prototype.cancel = function () {\r\n\t var params = {\r\n\t locId: this.locId,\r\n\t airportName: this.airportName\r\n\t };\r\n\t this.router.navigate([(\"/operations-list/\" + this.tableName), params]);\r\n\t };\r\n\t OperationsAddDataPointComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(781),\r\n\t styles: [__webpack_require__(775)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.Button, primeng_2.Dialog]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, airport_service_1.AirportService, scenario_service_1.ScenarioService, user_session_1.UserSession, user_info_service_1.UserInfoService, system_control_service_1.SystemControlService])\r\n\t ], OperationsAddDataPointComponent);\r\n\t return OperationsAddDataPointComponent;\r\n\t}());\r\n\texports.OperationsAddDataPointComponent = OperationsAddDataPointComponent;\r\n\n\n/***/ },\n\n/***/ 781:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n TAF Add Year\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n\\r\\n

\\r\\n This feature allows you to add a new year to \\r\\n for this LOCID and data set specified below. You must add a new year to \\r\\n each data set individually.
History years will be shared with all \\r\\n scenarios.

\\r\\n Forecast years must be within forecast years of {{systemControlElem?.ffcYear}} and {{systemControlElem?.lfcYear}} \\r\\n and will be added to this scenario only. All the values will be set to \\r\\n zero.
You may edit the data points from the data set list page after \\r\\n they are added.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Scenario:
\\r\\n
{{currentScenario?.scenarioName}}
\\r\\n
\\r\\n
\\r\\n
Loc Id:
\\r\\n
{{locId}}
\\r\\n
\\r\\n
\\r\\n
Data Set:
\\r\\n
{{tableName}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 782:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar operations_graph_selections_component_1 = __webpack_require__(783);\r\n\tvar OperationsGraphComponent = (function () {\r\n\t function OperationsGraphComponent(route, router, _airportService, _scenarioService, User, _userInfoService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._airportService = _airportService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this.User = User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.isScenarioOwner = false;\r\n\t }\r\n\t OperationsGraphComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.sub = this.route.params.subscribe(function (params) {\r\n\t _this.tableName = params['tableName'];\r\n\t _this.locId = params['locId'];\r\n\t _this.airportName = params['airportName'];\r\n\t _this._airportService.getOperations()\r\n\t .subscribe(function (operations) { return _this.allOperations = operations; }, function (error) { return _this.errorMessage = error; });\r\n\t });\r\n\t this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this.User.getSession().scenarioId);\r\n\t });\r\n\t this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(function (success) { return _this.isScenarioOwner = success.isOwner; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t OperationsGraphComponent.prototype.ngOnDestroy = function () {\r\n\t this.sub.unsubscribe();\r\n\t };\r\n\t OperationsGraphComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t };\r\n\t OperationsGraphComponent.prototype.onTabChange = function (event) {\r\n\t var params = {\r\n\t locId: this.locId,\r\n\t airportName: this.airportName\r\n\t };\r\n\t this.router.navigate([(\"/operations-graph/\" + this.allOperations[event.index].tableName), params]);\r\n\t };\r\n\t OperationsGraphComponent.prototype.backFacilityView = function () {\r\n\t this.router.navigate([(\"/airports/\" + this.locId)]);\r\n\t };\r\n\t OperationsGraphComponent.prototype.backDataSheet = function () {\r\n\t var params = {\r\n\t locId: this.locId,\r\n\t airportName: this.airportName\r\n\t };\r\n\t this.router.navigate([(\"/operations-list/\" + this.tableName), params]);\r\n\t };\r\n\t OperationsGraphComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(785),\r\n\t styles: [__webpack_require__(700), __webpack_require__(701)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_3.Button, primeng_1.TabView, primeng_2.TabPanel, operations_graph_selections_component_1.OperationsGraphSelectionsComponent]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, airport_service_1.AirportService, scenario_service_1.ScenarioService, user_session_1.UserSession, user_info_service_1.UserInfoService])\r\n\t ], OperationsGraphComponent);\r\n\t return OperationsGraphComponent;\r\n\t}());\r\n\texports.OperationsGraphComponent = OperationsGraphComponent;\r\n\n\n/***/ },\n\n/***/ 783:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar airport_interfaces_1 = __webpack_require__(697);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar system_control_service_1 = __webpack_require__(694);\r\n\tvar OperationsGraphSelectionsComponent = (function () {\r\n\t function OperationsGraphSelectionsComponent(route, router, _airportService, _scenarioService, _userInfoService, User, request, _systemControlService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._airportService = _airportService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.User = User;\r\n\t this.request = request;\r\n\t this._systemControlService = _systemControlService;\r\n\t this.startYears = [];\r\n\t this.endYears = [];\r\n\t this.graphType = \"bar\";\r\n\t this.yearsToPreview = 4;\r\n\t this.dataCheckDone = false;\r\n\t }\r\n\t OperationsGraphSelectionsComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t if (this.selected) {\r\n\t var params = {\r\n\t tableName: this.operation.tableName,\r\n\t locId: this.locId,\r\n\t scenarioId: this.User.getSession().scenarioId\r\n\t };\r\n\t this._airportService.hasGraphData(params)\r\n\t .subscribe(function (response) {\r\n\t if (response.hasData) {\r\n\t _this.hasData = true;\r\n\t _this.dataCheckDone = true;\r\n\t _this.getColumns();\r\n\t _this.getSystemControlValues();\r\n\t }\r\n\t else {\r\n\t _this.hasData = false;\r\n\t _this.dataCheckDone = true;\r\n\t }\r\n\t }, function (error) {\r\n\t _this.errorMessage = \"Server Error\";\r\n\t console.error(error);\r\n\t });\r\n\t }\r\n\t };\r\n\t OperationsGraphSelectionsComponent.prototype.getColumns = function () {\r\n\t var _this = this;\r\n\t this.request.tableName = this.operation.tableName;\r\n\t this.request.scenarioId = this.User.getSession().scenarioId;\r\n\t this.request.locId = this.locId;\r\n\t this.request.isAdmin = this.User.getSession().isAdmin ? 1 : 0;\r\n\t this._airportService.getOperationsColumns(this.request)\r\n\t .subscribe(function (columns) { return _this.columns = columns; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t OperationsGraphSelectionsComponent.prototype.getSystemControlValues = function () {\r\n\t var _this = this;\r\n\t this._systemControlService.getSystemControl()\r\n\t .subscribe(function (systemControlElem) {\r\n\t _this.systemControlElem = systemControlElem;\r\n\t _this.populateYears();\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t OperationsGraphSelectionsComponent.prototype.populateYears = function () {\r\n\t var _this = this;\r\n\t this._userInfoService.getRegionalYear(this.User.getSession()['id'])\r\n\t .subscribe(function (success) {\r\n\t _this.populateStartYears(success.startYear);\r\n\t _this.populateEndYears(success.endYear);\r\n\t });\r\n\t };\r\n\t OperationsGraphSelectionsComponent.prototype.populateStartYears = function (startYear) {\r\n\t var _this = this;\r\n\t var params = {\r\n\t tableName: this.operation.tableName,\r\n\t locId: this.locId,\r\n\t scenarioId: this.User.getSession().scenarioId\r\n\t };\r\n\t var minYear;\r\n\t this._airportService.getGraphMinYear(params)\r\n\t .subscribe(function (min) {\r\n\t minYear = min;\r\n\t var index = 0;\r\n\t for (var year = minYear; year <= _this.systemControlElem.lfcYear; year++) {\r\n\t _this.startYears[index] = year;\r\n\t index++;\r\n\t }\r\n\t //need to set selected one\r\n\t if (startYear) {\r\n\t _this.selectedStartYear = startYear;\r\n\t }\r\n\t else {\r\n\t _this.selectedStartYear = _this.systemControlElem.ffcYear - _this.yearsToPreview;\r\n\t }\r\n\t });\r\n\t };\r\n\t OperationsGraphSelectionsComponent.prototype.populateEndYears = function (endYear) {\r\n\t var index = 0;\r\n\t for (var year = this.systemControlElem.ffcYear - this.yearsToPreview; year <= this.systemControlElem.lfcYear; year++) {\r\n\t this.endYears[index] = year;\r\n\t index++;\r\n\t }\r\n\t //console.log(\"this.systemControlElem.ffcYear\" + this.systemControlElem.ffcYear +\" \" + this.systemControlElem.lfcYear)\r\n\t //need to set selected one\r\n\t if (endYear) {\r\n\t this.selectedEndYear = endYear;\r\n\t }\r\n\t else {\r\n\t this.selectedEndYear = this.systemControlElem.ffcYear - this.yearsToPreview;\r\n\t }\r\n\t };\r\n\t OperationsGraphSelectionsComponent.prototype.ngOnDestroy = function () { };\r\n\t OperationsGraphSelectionsComponent.prototype.generateGraph = function () {\r\n\t this.errorMessage = null;\r\n\t var selectedColumns = this.columns.filter(function (column) {\r\n\t return column.graphR == 1;\r\n\t });\r\n\t if (selectedColumns.length === 0) {\r\n\t this.errorMessage = \"At least one data column must be selected.\";\r\n\t return;\r\n\t }\r\n\t if (this.selectedEndYear <= this.selectedStartYear) {\r\n\t this.errorMessage = \"Selected end year must be greater than the selected start year.\";\r\n\t return;\r\n\t }\r\n\t sessionStorage.setItem('operations-graph-columns', JSON.stringify(selectedColumns));\r\n\t var params = {\r\n\t displayName: this.operation.displayName,\r\n\t locId: this.locId,\r\n\t airportName: this.airportName,\r\n\t graphType: this.graphType,\r\n\t startYear: this.selectedStartYear,\r\n\t endYear: this.selectedEndYear,\r\n\t quickGraph: \"false\"\r\n\t };\r\n\t this.router.navigate([(\"/operations-graph-display/\" + this.operation.tableName), params]);\r\n\t };\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', Object)\r\n\t ], OperationsGraphSelectionsComponent.prototype, \"operation\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', Boolean)\r\n\t ], OperationsGraphSelectionsComponent.prototype, \"selected\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', String)\r\n\t ], OperationsGraphSelectionsComponent.prototype, \"locId\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', String)\r\n\t ], OperationsGraphSelectionsComponent.prototype, \"airportName\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', Boolean)\r\n\t ], OperationsGraphSelectionsComponent.prototype, \"displayAll\", void 0);\r\n\t OperationsGraphSelectionsComponent = __decorate([\r\n\t core_1.Component({\r\n\t selector: 'operations-graph-selections',\r\n\t template: __webpack_require__(784),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [primeng_1.Button, primeng_2.Checkbox]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, airport_service_1.AirportService, scenario_service_1.ScenarioService, user_info_service_1.UserInfoService, user_session_1.UserSession, airport_interfaces_1.OperationsListRequest, system_control_service_1.SystemControlService])\r\n\t ], OperationsGraphSelectionsComponent);\r\n\t return OperationsGraphSelectionsComponent;\r\n\t}());\r\n\texports.OperationsGraphSelectionsComponent = OperationsGraphSelectionsComponent;\r\n\n\n/***/ },\n\n/***/ 784:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
{{errorMessage}}
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n\\r\\n
\\r\\n No records found\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Please enter the years used to define graph data:

\\r\\n
\\r\\n
\\r\\n
\\r\\n Starting Year:\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Ending Year: \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Graph Types:
\\r\\n
\\r\\n
\\r\\n Bar
\\r\\n Line\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n/***/ },\n\n/***/ 785:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n {{'Facility: ' + locId + ' - ' + airportName }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 786:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar _ = __webpack_require__(680);\r\n\tvar OperationsGraphDisplayComponent = (function () {\r\n\t function OperationsGraphDisplayComponent(route, router, _airportService, _scenarioService, User, _userInfoService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._airportService = _airportService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this.User = User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.graphType = \"bar\";\r\n\t }\r\n\t OperationsGraphDisplayComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.sub = this.route.params.subscribe(function (params) {\r\n\t _this.tableName = params['tableName'];\r\n\t _this.displayName = params['displayName'];\r\n\t _this.locId = params['locId'];\r\n\t _this.airportName = params['airportName'];\r\n\t _this.graphType = params['graphType'];\r\n\t _this.startYear = params['startYear'];\r\n\t _this.endYear = params['endYear'];\r\n\t _this.quickGraph = params['quickGraph'];\r\n\t _this.columns = JSON.parse(sessionStorage.getItem('operations-graph-columns'));\r\n\t _this.getGraphData();\r\n\t });\r\n\t this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this.User.getSession().scenarioId);\r\n\t });\r\n\t };\r\n\t OperationsGraphDisplayComponent.prototype.getGraphData = function () {\r\n\t var _this = this;\r\n\t var params = {\r\n\t tableName: this.tableName,\r\n\t locId: this.locId,\r\n\t scenarioId: this.User.getSession().scenarioId,\r\n\t startYear: this.startYear,\r\n\t endYear: this.endYear,\r\n\t columns: this.columns\r\n\t };\r\n\t this._airportService.getGraphData(params)\r\n\t .subscribe(function (result) {\r\n\t _this.result = result;\r\n\t _this.createGraphDataSet();\r\n\t });\r\n\t };\r\n\t OperationsGraphDisplayComponent.prototype.createGraphDataSet = function () {\r\n\t var labels = _.map(this.result, 'AYEAR');\r\n\t var datasets = [];\r\n\t for (var index in this.columns) {\r\n\t var dataset = {\r\n\t label: this.columns[index].graphName,\r\n\t data: _.map(this.result, this.columns[index].graphName),\r\n\t fill: false,\r\n\t backgroundColor: this.getRandomColor(),\r\n\t borderColor: this.getRandomColor()\r\n\t };\r\n\t datasets[index] = dataset;\r\n\t }\r\n\t this.data = {\r\n\t labels: labels,\r\n\t datasets: datasets\r\n\t };\r\n\t this.graphOptions = {\r\n\t scales: {\r\n\t yAxes: [{\r\n\t ticks: {\r\n\t beginAtZero: true\r\n\t }\r\n\t }]\r\n\t }\r\n\t };\r\n\t };\r\n\t OperationsGraphDisplayComponent.prototype.ngOnDestroy = function () {\r\n\t this.sub.unsubscribe();\r\n\t };\r\n\t OperationsGraphDisplayComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t };\r\n\t OperationsGraphDisplayComponent.prototype.backFacilityView = function () {\r\n\t this.router.navigate([(\"/airports/\" + this.locId)]);\r\n\t };\r\n\t OperationsGraphDisplayComponent.prototype.backDataSheet = function () {\r\n\t var params = {\r\n\t locId: this.locId,\r\n\t airportName: this.airportName\r\n\t };\r\n\t this.router.navigate([(\"/operations-list/\" + this.tableName), params]);\r\n\t };\r\n\t OperationsGraphDisplayComponent.prototype.backSelections = function () {\r\n\t var params = {\r\n\t locId: this.locId,\r\n\t airportName: this.airportName\r\n\t };\r\n\t this.router.navigate([(\"/operations-graph/\" + this.tableName), params]);\r\n\t };\r\n\t OperationsGraphDisplayComponent.prototype.getRandomColor = function () {\r\n\t var letters = '0123456789ABCDEF';\r\n\t var color = '#';\r\n\t for (var i = 0; i < 6; i++) {\r\n\t color += letters[Math.floor(Math.random() * 16)];\r\n\t }\r\n\t return color;\r\n\t };\r\n\t OperationsGraphDisplayComponent.prototype.backReforecast = function () {\r\n\t var params = {\r\n\t locId: this.locId,\r\n\t fieldName: this.columns[0].fieldName,\r\n\t airportName: this.airportName\r\n\t };\r\n\t this.router.navigate([(\"/operations-reforcast/\" + this.tableName), params]);\r\n\t };\r\n\t OperationsGraphDisplayComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(787),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.UIChart]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, airport_service_1.AirportService, scenario_service_1.ScenarioService, user_session_1.UserSession, user_info_service_1.UserInfoService])\r\n\t ], OperationsGraphDisplayComponent);\r\n\t return OperationsGraphDisplayComponent;\r\n\t}());\r\n\texports.OperationsGraphDisplayComponent = OperationsGraphDisplayComponent;\r\n\n\n/***/ },\n\n/***/ 787:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n {{'Facility: ' + locId + ' - ' + airportName }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n\\r\\n \\r\\n
\\r\\n {{displayName}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 788:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar airport_interfaces_1 = __webpack_require__(697);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar operations_reforecast_component_1 = __webpack_require__(789);\r\n\tvar OperationsReforecastContainerComponent = (function () {\r\n\t function OperationsReforecastContainerComponent(route, router, _airportService, _scenarioService, User, _userInfoService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._airportService = _airportService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this.User = User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.isScenarioOwner = false;\r\n\t }\r\n\t OperationsReforecastContainerComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.sub = this.route.params.subscribe(function (params) {\r\n\t _this.tableName = params['tableName'];\r\n\t _this.locId = params['locId'];\r\n\t _this.airportName = params['airportName'];\r\n\t _this.fieldName = params['fieldName'];\r\n\t _this._airportService.getOperations()\r\n\t .subscribe(function (operations) { return _this.allOperations = operations; }, function (error) { return _this.errorMessage = error; });\r\n\t });\r\n\t this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this.User.getSession().scenarioId);\r\n\t });\r\n\t this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(function (success) { return _this.isScenarioOwner = success.isOwner; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t OperationsReforecastContainerComponent.prototype.ngOnDestroy = function () {\r\n\t this.sub.unsubscribe();\r\n\t };\r\n\t OperationsReforecastContainerComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t };\r\n\t OperationsReforecastContainerComponent.prototype.onTabChange = function (event) {\r\n\t var _this = this;\r\n\t var request = new airport_interfaces_1.OperationsListRequest();\r\n\t request.tableName = this.allOperations[event.index].tableName;\r\n\t request.scenarioId = this.User.getSession().scenarioId;\r\n\t request.locId = this.locId;\r\n\t request.isAdmin = this.User.getSession().isAdmin ? 1 : 0;\r\n\t this._airportService.getOperationsColumns(request)\r\n\t .subscribe(function (columns) {\r\n\t var column = columns.filter(function (column) { return column.calculated == 0; })[0];\r\n\t var params = {\r\n\t locId: _this.locId,\r\n\t airportName: _this.airportName,\r\n\t fieldName: column.fieldName\r\n\t };\r\n\t _this.router.navigate([(\"/operations-reforcast/\" + _this.allOperations[event.index].tableName), params]);\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t OperationsReforecastContainerComponent.prototype.backFacilityView = function () {\r\n\t this.router.navigate([(\"/airports/\" + this.locId)]);\r\n\t };\r\n\t OperationsReforecastContainerComponent.prototype.backDataSheet = function () {\r\n\t var params = {\r\n\t locId: this.locId,\r\n\t airportName: this.airportName\r\n\t };\r\n\t this.router.navigate([(\"/operations-list/\" + this.tableName), params]);\r\n\t };\r\n\t OperationsReforecastContainerComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(791),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_3.Button, primeng_1.TabView, primeng_2.TabPanel, operations_reforecast_component_1.OperationsReforecastComponent]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, airport_service_1.AirportService, scenario_service_1.ScenarioService, user_session_1.UserSession, user_info_service_1.UserInfoService])\r\n\t ], OperationsReforecastContainerComponent);\r\n\t return OperationsReforecastContainerComponent;\r\n\t}());\r\n\texports.OperationsReforecastContainerComponent = OperationsReforecastContainerComponent;\r\n\n\n/***/ },\n\n/***/ 789:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar airport_interfaces_1 = __webpack_require__(697);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar _ = __webpack_require__(680);\r\n\tvar system_control_service_1 = __webpack_require__(694);\r\n\tvar common_1 = __webpack_require__(205);\r\n\tvar OperationsReforecastComponent = (function () {\r\n\t function OperationsReforecastComponent(route, router, _airportService, _scenarioService, _userInfoService, User, request, _systemControlService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._airportService = _airportService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.User = User;\r\n\t this.request = request;\r\n\t this._systemControlService = _systemControlService;\r\n\t this.startYears = [];\r\n\t this.endYears = [];\r\n\t //not sure if this will be needed\r\n\t this.yearsToPreview = 4;\r\n\t this.isScenarioOwner = false;\r\n\t this.dataDisabled = true;\r\n\t this.growthDisabled = true;\r\n\t this.highlightYears = false;\r\n\t this.displaySpinner = false;\r\n\t this.msgs = [];\r\n\t this.ownScenarios = \"true\";\r\n\t }\r\n\t OperationsReforecastComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.sub = this.route.params.subscribe(function (params) {\r\n\t _this.fieldName = params['fieldName'];\r\n\t });\r\n\t if (this.selected) {\r\n\t //will need to get columns in here for dropdown, only non calculated\r\n\t this.getColumns();\r\n\t this.getSystemControlValues();\r\n\t }\r\n\t this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(function (success) {\r\n\t _this.isScenarioOwner = success.isOwner;\r\n\t if (_this.isScenarioOwner == false && _this.User.isAdmin == false) {\r\n\t _this.ownScenarios = \"false\";\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'warn', summary: 'Warn Message', detail: 'We\\'re sorry, your access level does not permit you to view this page. Contact the TAF administrator to change your access privileges.' });\r\n\t }\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t OperationsReforecastComponent.prototype.getYears = function () {\r\n\t var _this = this;\r\n\t this.displaySpinner = true;\r\n\t var fieldNameSelected = event.target.value;\r\n\t var params = new airport_interfaces_1.ReforecastRequest;\r\n\t if (this.fieldName != fieldNameSelected && fieldNameSelected != undefined) {\r\n\t this.fieldName = fieldNameSelected;\r\n\t }\r\n\t params.fieldName = this.fieldName;\r\n\t params.locId = this.locId;\r\n\t params.tableName = this.operation.tableName;\r\n\t params.scenarioId = this.User.getSession().scenarioId;\r\n\t params.minYear = this.systemControlElem.ffcYear - this.yearsToPreview;\r\n\t this._airportService.getReforcastData(params)\r\n\t .subscribe(function (success) {\r\n\t if (success.length > 0) {\r\n\t _this.reforecastData = success;\r\n\t _this.setLastYearsValues(_this.reforecastData);\r\n\t _this.reforecastData.map(function (data) {\r\n\t data.originalValue = data.value;\r\n\t });\r\n\t _this.reforecastData.map(function (data) {\r\n\t data.growth = _this.calcGrowthRate(data.value, data.lastYearsValue, 1);\r\n\t });\r\n\t _this.reforecastData.map(function (data) {\r\n\t data.originalGrowth = data.growth;\r\n\t });\r\n\t _this.averageRate = _this.calcGrowthRate(\r\n\t //this.reforecastData[this.reforecastData.length-1].lastYearsValue,\r\n\t _this.reforecastData.find(function (data) { return data.aYear === _this.systemControlElem.lfcYear; }).value, _this.reforecastData.find(function (data) { return data.aYear === _this.systemControlElem.fyYear; }).value, _this.systemControlElem.lfcYear - _this.systemControlElem.fyYear);\r\n\t }\r\n\t _this.displaySpinner = false;\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t OperationsReforecastComponent.prototype.setLastYearsValues = function (dataIn) {\r\n\t for (var index in dataIn) {\r\n\t if (+index === 0) {\r\n\t dataIn[index].lastYearsValue = dataIn[index].value;\r\n\t }\r\n\t else {\r\n\t dataIn[index].lastYearsValue = dataIn[+index - 1].value;\r\n\t }\r\n\t }\r\n\t };\r\n\t OperationsReforecastComponent.prototype.calcGrowthRate = function (last_value, first_value, num_years) {\r\n\t var ret_val = 0;\r\n\t if (last_value > 0 && first_value > 0 && num_years > 0) {\r\n\t ret_val = (Math.exp((Math.log(last_value) - Math.log(first_value)) / num_years) - 1) * 100;\r\n\t }\r\n\t if (first_value == 0 && last_value > 0) {\r\n\t ret_val = 999.99;\r\n\t }\r\n\t if (first_value > 0 && last_value == 0) {\r\n\t ret_val = -999.99;\r\n\t }\r\n\t if (ret_val > 999.99) {\r\n\t ret_val = 999.99;\r\n\t }\r\n\t if (ret_val < -999.99) {\r\n\t ret_val = -999.99;\r\n\t }\r\n\t return (ret_val);\r\n\t };\r\n\t OperationsReforecastComponent.prototype.resetDataValues = function () {\r\n\t this.reforecastData.map(function (data) {\r\n\t data.value = data.originalValue;\r\n\t });\r\n\t };\r\n\t OperationsReforecastComponent.prototype.resetGrowthValues = function () {\r\n\t this.reforecastData.map(function (data) {\r\n\t data.growth = data.originalGrowth;\r\n\t });\r\n\t };\r\n\t OperationsReforecastComponent.prototype.getColumns = function () {\r\n\t var _this = this;\r\n\t this.request.tableName = this.operation.tableName;\r\n\t this.request.scenarioId = this.User.getSession().scenarioId;\r\n\t this.request.locId = this.locId;\r\n\t this.request.isAdmin = this.User.getSession().isAdmin ? 1 : 0;\r\n\t this._airportService.getOperationsColumns(this.request)\r\n\t .subscribe(function (columns) {\r\n\t _this.columns = columns.filter(function (column) { return column.calculated == 0; });\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t OperationsReforecastComponent.prototype.getSystemControlValues = function () {\r\n\t var _this = this;\r\n\t this._systemControlService.getSystemControl()\r\n\t .subscribe(function (systemControlElem) {\r\n\t _this.systemControlElem = systemControlElem;\r\n\t _this.populateYears();\r\n\t _this.getYears();\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t OperationsReforecastComponent.prototype.populateYears = function () {\r\n\t this.populateStartYears();\r\n\t this.populateEndYears();\r\n\t };\r\n\t OperationsReforecastComponent.prototype.populateStartYears = function () {\r\n\t var index = 0;\r\n\t for (var year = this.systemControlElem.ffcYear; year <= this.systemControlElem.lfcYear; year++) {\r\n\t this.startYears[index] = year;\r\n\t index++;\r\n\t }\r\n\t this.selectedStartYear = this.systemControlElem.ffcYear;\r\n\t };\r\n\t OperationsReforecastComponent.prototype.populateEndYears = function () {\r\n\t var index = 0;\r\n\t for (var year = this.systemControlElem.ffcYear - this.yearsToPreview; year <= this.systemControlElem.lfcYear; year++) {\r\n\t this.endYears[index] = year;\r\n\t index++;\r\n\t }\r\n\t this.selectedEndYear = this.systemControlElem.lfcYear;\r\n\t };\r\n\t OperationsReforecastComponent.prototype.ngOnDestroy = function () { };\r\n\t OperationsReforecastComponent.prototype.radioSelected = function (event) {\r\n\t if (!this.growthDisabled) {\r\n\t this.resetGrowthValues();\r\n\t this.growthDisabled = true;\r\n\t }\r\n\t if (!this.dataDisabled) {\r\n\t this.resetDataValues();\r\n\t this.dataDisabled = true;\r\n\t }\r\n\t this.dataDisabled = !(event.target.value === 'supplydata');\r\n\t this.growthDisabled = !(event.target.value === 'supplygrowth');\r\n\t this.highlightYears = !(event.target.value === 'supplygrowth' || event.target.value === 'supplydata');\r\n\t };\r\n\t OperationsReforecastComponent.prototype.formatGrowth = function (event, dataRow, format) {\r\n\t if (event.target.value === \"\") {\r\n\t event.target.value = 0;\r\n\t }\r\n\t dataRow.growth = +(new common_1.DecimalPipe().transform(event.target.value, format));\r\n\t };\r\n\t OperationsReforecastComponent.prototype.formatData = function (event, dataRow, format) {\r\n\t if (event.target.value === \"\") {\r\n\t event.target.value = 0;\r\n\t }\r\n\t dataRow.value = +(new common_1.DecimalPipe().transform(event.target.value, format));\r\n\t };\r\n\t OperationsReforecastComponent.prototype.calcDatasheet = function (dataRow, type) {\r\n\t var lastYr = this.systemControlElem.lfcYear;\r\n\t if (dataRow.value === dataRow.originalValue && dataRow.growth === dataRow.originalGrowth) {\r\n\t return;\r\n\t }\r\n\t if (type === \"data\") {\r\n\t //drop the decimal part here\r\n\t dataRow.value = Math.floor(dataRow.value);\r\n\t var previousRow = _.find(this.reforecastData, function (row) {\r\n\t if (row.aYear == dataRow.aYear - 1) {\r\n\t return row;\r\n\t }\r\n\t });\r\n\t dataRow.growth = this.calcGrowthRate(dataRow.value, previousRow.value, 1);\r\n\t if (dataRow.aYear < lastYr) {\r\n\t var nextRow = _.find(this.reforecastData, function (row) {\r\n\t if (row.aYear == dataRow.aYear + 1) {\r\n\t return row;\r\n\t }\r\n\t });\r\n\t nextRow.growth = this.calcGrowthRate(nextRow.value, dataRow.value, 1);\r\n\t }\r\n\t }\r\n\t else if (type === \"growth\") {\r\n\t var filteredRows_1 = _.filter(this.reforecastData, function (data) { return data.aYear >= dataRow.aYear; });\r\n\t var first = true;\r\n\t var _loop_1 = function(index) {\r\n\t if (first) {\r\n\t var predRow = _.find(this_1.reforecastData, function (data) { return data.aYear == filteredRows_1[index].aYear - 1; });\r\n\t filteredRows_1[index].value = Math.floor(predRow.value +\r\n\t (predRow.value * filteredRows_1[index].growth) / 100);\r\n\t first = false;\r\n\t }\r\n\t else {\r\n\t filteredRows_1[index].value = Math.floor(filteredRows_1[+index - 1].value +\r\n\t (filteredRows_1[+index - 1].value * filteredRows_1[index].growth) / 100);\r\n\t }\r\n\t if (filteredRows_1[index].value < 0) {\r\n\t filteredRows_1[index].value = 0;\r\n\t }\r\n\t };\r\n\t var this_1 = this;\r\n\t for (var index in filteredRows_1) {\r\n\t _loop_1(index);\r\n\t }\r\n\t }\r\n\t };\r\n\t OperationsReforecastComponent.prototype.reset = function () {\r\n\t this.forecastOperation = null;\r\n\t this.resetDataValues();\r\n\t this.resetGrowthValues();\r\n\t this.dataDisabled = true;\r\n\t this.growthDisabled = true;\r\n\t this.highlightYears = false;\r\n\t };\r\n\t OperationsReforecastComponent.prototype.cancel = function () {\r\n\t var params = {\r\n\t locId: this.locId,\r\n\t airportName: this.airportName\r\n\t };\r\n\t this.router.navigate([(\"/operations-list/\" + this.operation.tableName), params]);\r\n\t };\r\n\t OperationsReforecastComponent.prototype.isValid = function () {\r\n\t if (!this.forecastOperation) {\r\n\t this.errorMessage = \"Please choose an operation to perform!\";\r\n\t return false;\r\n\t }\r\n\t if (!(this.forecastOperation.substr(0, 6) == \"supply\")) {\r\n\t switch (this.forecastOperation) {\r\n\t case \"interpolate\":\r\n\t {\r\n\t if (this.interpolationValue == null) {\r\n\t this.errorMessage = \"No value set for INTERPOLATE.\\nPlease set a value for the selected method!\";\r\n\t return false;\r\n\t }\r\n\t Math.floor(this.interpolationValue);\r\n\t break;\r\n\t }\r\n\t case \"fillinyears\":\r\n\t {\r\n\t if (this.fillInValue == null) {\r\n\t this.errorMessage = \"No value set for FILLINYEARS.\\nPlease set a value for the selected method!\";\r\n\t return false;\r\n\t }\r\n\t Math.floor(this.fillInValue);\r\n\t break;\r\n\t }\r\n\t case \"growthrate\": {\r\n\t if (this.growthRateValue == null) {\r\n\t this.errorMessage = \"No value set for GROWTH RATE.\\nPlease set a value for the selected method!\";\r\n\t return false;\r\n\t }\r\n\t break;\r\n\t }\r\n\t case \"growandsmooth\":\r\n\t if (this.growAndSmoothValue == null) {\r\n\t this.errorMessage = \"No value set for GROW AND SMOOTH.\\nPlease set a value for the selected method!\";\r\n\t return false;\r\n\t }\r\n\t break;\r\n\t default:\r\n\t break;\r\n\t }\r\n\t if (this.selectedStartYear > this.selectedEndYear) {\r\n\t this.errorMessage = \"Start Year cannot be greater than End Year!\";\r\n\t return false;\r\n\t }\r\n\t }\r\n\t return true;\r\n\t };\r\n\t OperationsReforecastComponent.prototype.save = function () {\r\n\t var _this = this;\r\n\t //console.log(\"save this.isValid()\" + this.isValid());\r\n\t this.errorMessage = null;\r\n\t this.successMessage = null;\r\n\t if (this.isValid()) {\r\n\t this.displaySpinner = true;\r\n\t if (this.forecastOperation === \"supplydata\" || this.forecastOperation === \"supplygrowth\") {\r\n\t //so need to send the years and the data list\r\n\t var params = {\r\n\t tableName: this.operation.tableName,\r\n\t locId: this.locId,\r\n\t fieldName: this.fieldName,\r\n\t ffcYear: this.selectedStartYear,\r\n\t lfcYear: this.selectedEndYear,\r\n\t values: this.reforecastData\r\n\t };\r\n\t this._airportService.reforecastSupplyData(params)\r\n\t .subscribe(function (response) {\r\n\t if (response.responseStatus == \"success\") {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: 'Changes applied.' });\r\n\t _this.displaySpinner = false;\r\n\t _this.getYears();\r\n\t }\r\n\t else if (response.responseStatus == \"error\") {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error occured while trying to save changes.' });\r\n\t //this.errorMessage = \"An error occured while trying to save changes.\";\r\n\t console.error(response.responseMessage);\r\n\t _this.displaySpinner = false;\r\n\t }\r\n\t }, function (error) {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error occured while trying to save changes.' });\r\n\t //this.errorMessage = \"An error occured while trying to save changes.\";\r\n\t console.error(error);\r\n\t _this.displaySpinner = false;\r\n\t });\r\n\t }\r\n\t else if (this.forecastOperation === \"interpolate\") {\r\n\t this.callOperationService(this.interpolationValue);\r\n\t }\r\n\t else if (this.forecastOperation === \"fillinyears\") {\r\n\t this.callOperationService(this.fillInValue);\r\n\t }\r\n\t else if (this.forecastOperation === \"growthrate\") {\r\n\t this.callOperationService(this.growthRateValue / 100);\r\n\t }\r\n\t else if (this.forecastOperation === \"growandsmooth\") {\r\n\t this.callOperationService(this.growAndSmoothValue / 100);\r\n\t }\r\n\t else {\r\n\t this.callOperationService();\r\n\t }\r\n\t }\r\n\t };\r\n\t OperationsReforecastComponent.prototype.callOperationService = function (value) {\r\n\t var _this = this;\r\n\t this.displaySpinner = true;\r\n\t var params = {\r\n\t type: this.forecastOperation,\r\n\t startYear: this.selectedStartYear,\r\n\t endYear: this.selectedEndYear,\r\n\t value: value,\r\n\t locId: this.locId,\r\n\t fieldName: this.fieldName,\r\n\t tableName: this.operation.tableName,\r\n\t scenario: this.User.getSession().scenarioId\r\n\t };\r\n\t this._airportService.reforecastOperation(params)\r\n\t .subscribe(function (response) {\r\n\t if (response.responseStatus == \"success\") {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: 'Changes applied.' });\r\n\t _this.displaySpinner = false;\r\n\t _this.getYears();\r\n\t }\r\n\t else if (response.responseStatus == \"error\") {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error occured while trying to save changes.' });\r\n\t //this.errorMessage = \"\";\r\n\t _this.displaySpinner = false;\r\n\t console.error(response.responseMessage);\r\n\t }\r\n\t }, function (error) {\r\n\t _this.errorMessage = \"An error occured while trying to save changes.\";\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error occured while trying to save changes.' });\r\n\t console.error(error);\r\n\t _this.displaySpinner = false;\r\n\t });\r\n\t };\r\n\t OperationsReforecastComponent.prototype.quickGraph = function () {\r\n\t var confirmAnswer = confirm(\"Warning:\\n Please save your changes by clicking Apply Options before viewing the graph, or all changes will be lost and previous values will be graphed. \");\r\n\t if (confirmAnswer == true) {\r\n\t //for some reason have to mask this\r\n\t var field_1 = this.fieldName;\r\n\t var selectedColumns = _.filter(this.columns, function (column) { return column.fieldName === field_1; });\r\n\t sessionStorage.setItem('operations-graph-columns', JSON.stringify(selectedColumns));\r\n\t var params = {\r\n\t displayName: this.operation.displayName,\r\n\t locId: this.locId,\r\n\t airportName: this.airportName,\r\n\t graphType: 'line',\r\n\t startYear: this.selectedStartYear,\r\n\t endYear: this.selectedEndYear,\r\n\t quickGraph: \"true\"\r\n\t };\r\n\t this.router.navigate([(\"/operations-graph-display/\" + this.operation.tableName), params]);\r\n\t }\r\n\t };\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', Object)\r\n\t ], OperationsReforecastComponent.prototype, \"operation\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', Boolean)\r\n\t ], OperationsReforecastComponent.prototype, \"selected\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', String)\r\n\t ], OperationsReforecastComponent.prototype, \"locId\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', String)\r\n\t ], OperationsReforecastComponent.prototype, \"airportName\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', String)\r\n\t ], OperationsReforecastComponent.prototype, \"fieldName\", void 0);\r\n\t OperationsReforecastComponent = __decorate([\r\n\t core_1.Component({\r\n\t selector: 'operations-reforecast',\r\n\t template: __webpack_require__(790),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [primeng_1.Button]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, airport_service_1.AirportService, scenario_service_1.ScenarioService, user_info_service_1.UserInfoService, user_session_1.UserSession, airport_interfaces_1.OperationsListRequest, system_control_service_1.SystemControlService])\r\n\t ], OperationsReforecastComponent);\r\n\t return OperationsReforecastComponent;\r\n\t}());\r\n\texports.OperationsReforecastComponent = OperationsReforecastComponent;\r\n\n\n/***/ },\n\n/***/ 790:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
{{errorMessage}}
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the 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
TAF Forecast Tools:
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Interpolate from prior year to value of\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Carry forward prior year's value (based on starting year)\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Fill in years with a value of\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Use national annual growth rates\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Copy from National Scenario\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Forecast IFR based on AOPS\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Use growth rate of \\r\\n \\r\\n %\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Grow and smooth using rate of \\r\\n \\r\\n %\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Grow and smooth using existing rate\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Grow using stored rates\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

No data available to display

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
YearDataGrowth Rate
\\r\\n {{data.aYear}}\\r\\n \\r\\n
\\r\\n {{data.value }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{data.growth | number: '1.2-2'}}%
\\r\\n
\\r\\n
\\r\\n %\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
YearDataGrowth Rate
=2025\\\" style=\\\"padding-left:15px!important;\\\" \\r\\n class=\\\"customtd-reforecast-year\\\">\\r\\n {{data.aYear}}\\r\\n =2025\\\">\\r\\n
\\r\\n {{data.value }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
=2025\\\" >\\r\\n
\\r\\n
{{data.growth | number: '1.2-2'}}%
\\r\\n
\\r\\n
\\r\\n
\\r\\n %\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Avg. rate of\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n from {{systemControlElem.fyYear}} to {{systemControlElem.lfcYear}}\\r\\n
\\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 enter the years to apply these changes:\\r\\n
\\r\\n
\\r\\n
\\r\\n
Starting Year:\\r\\n \\r\\n
\\r\\n
to Ending Year:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Supply individual growth rates for each year\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Supply individual data points for each year\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \"\n\n/***/ },\n\n/***/ 791:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n {{'Facility: ' + locId + ' - ' + airportName }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 792:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar system_management_component_1 = __webpack_require__(793);\r\n\tvar taf_book_component_1 = __webpack_require__(795);\r\n\tvar staffing_standards_component_1 = __webpack_require__(798);\r\n\tvar growth_rates_component_1 = __webpack_require__(800);\r\n\tvar taf_book_routes_1 = __webpack_require__(804);\r\n\tvar staffing_standards_routes_1 = __webpack_require__(823);\r\n\tvar growth_rates_routes_1 = __webpack_require__(833);\r\n\tvar towers_tracons_import_steps_routes_1 = __webpack_require__(840);\r\n\tvar new_year_rollover_routes_1 = __webpack_require__(845);\r\n\tvar new_year_rollover_component_1 = __webpack_require__(846);\r\n\tvar tracon_model_routes_1 = __webpack_require__(856);\r\n\tvar regional_review_component_1 = __webpack_require__(862);\r\n\tvar auth_guard_service_1 = __webpack_require__(696);\r\n\texports.SystemManagementRoutes = [\r\n\t { path: 'system-management', component: system_management_component_1.SystemManagementComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'tafbooks', component: taf_book_component_1.TAFBookComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'staffing-standards', component: staffing_standards_component_1.StaffingStandardsComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'growth-rates', component: growth_rates_component_1.GrowthRatesComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'new-year-rollover', component: new_year_rollover_component_1.NewYearRolloverComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'regional-review', component: regional_review_component_1.RegionalReviewComponent, canActivate: [auth_guard_service_1.AuthGuard] }\r\n\t].concat(taf_book_routes_1.TAFBookRoutes, staffing_standards_routes_1.StaffingStandardsRoutes, growth_rates_routes_1.GrowthRatesRoutes, towers_tracons_import_steps_routes_1.TowersTraconsImportStepsRoutes, new_year_rollover_routes_1.NewYearRolloverRoutes, tracon_model_routes_1.TraconModelRoutes);\r\n\n\n/***/ },\n\n/***/ 793:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar SystemManagementComponent = (function () {\r\n\t function SystemManagementComponent(route, router, _scenarioService, User, _userInfoService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._scenarioService = _scenarioService;\r\n\t this.User = User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.pageTitle = 'System Management';\r\n\t this.isScenarioOwner = false;\r\n\t }\r\n\t SystemManagementComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\t this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this.User.getSession().scenarioId);\r\n\t });\r\n\t //this probably needs to be somewhere more central\r\n\t this.User.updateSessionState();\r\n\t this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(function (success) { return _this.isScenarioOwner = success.isOwner; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t SystemManagementComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t this.scenarioHeaderDiv.innerHTML = \"Current Scenario: \" + this.currentScenario.scenarioName + \" (\" + this.currentScenario.id + \")\";\r\n\t };\r\n\t __decorate([\r\n\t core_1.ViewChild('scenarioHeader'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], SystemManagementComponent.prototype, \"scenarioHeader\", void 0);\r\n\t SystemManagementComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/system-management.component.html',\r\n\t template: __webpack_require__(794),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, scenario_service_1.ScenarioService, user_session_1.UserSession, user_info_service_1.UserInfoService])\r\n\t ], SystemManagementComponent);\r\n\t return SystemManagementComponent;\r\n\t}());\r\n\texports.SystemManagementComponent = SystemManagementComponent;\r\n\n\n/***/ },\n\n/***/ 794:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n\\r\\n\"\n\n/***/ },\n\n/***/ 795:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar taf_book_1 = __webpack_require__(796);\r\n\tvar taf_book_service_1 = __webpack_require__(681);\r\n\tvar TAFBookComponent = (function () {\r\n\t function TAFBookComponent(route, router, _tafBookService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._tafBookService = _tafBookService;\r\n\t this.pageTitle = 'TAF BOOK';\r\n\t this.msgs = [];\r\n\t this.displaySpinner = false;\r\n\t }\r\n\t TAFBookComponent.prototype.ngOnInit = function () {\r\n\t this.selectedOption = new taf_book_1.ITAFBookListComponent(1, 'TABLE S-1: Enplanements at Large Hub Airports');\r\n\t this.options = [\r\n\t new taf_book_1.ITAFBookListComponent(1, 'TABLE S-1: Enplanements at Large Hub Airports'),\r\n\t new taf_book_1.ITAFBookListComponent(2, 'GRAPH S-1: Enplanements Growth Rates for the Core Airports'),\r\n\t new taf_book_1.ITAFBookListComponent(3, 'TABLE S-2: Airport Operations at the Large Hub Airports '),\r\n\t new taf_book_1.ITAFBookListComponent(4, 'GRAPH S-2: Airport Operations Growth Rates for the Core Airports'),\r\n\t new taf_book_1.ITAFBookListComponent(5, 'TABLE S-3: Air Traffic Control Towers and Contract Towers by Region and State'),\r\n\t new taf_book_1.ITAFBookListComponent(6, 'TABLE S-4: Ranking of Top 100 FAA Towers by Total Enplanements, FY 2016 '),\r\n\t new taf_book_1.ITAFBookListComponent(7, 'TABLE S-5: Summary of Enplanements and Airport Operations at FAA Towers and Contract Towers '),\r\n\t new taf_book_1.ITAFBookListComponent(8, 'TABLE S-6:Commercial Airport Operations Summary by Region '),\r\n\t new taf_book_1.ITAFBookListComponent(9, 'TABLE S-7: Itinerant Airport Operations Summary by Region '),\r\n\t new taf_book_1.ITAFBookListComponent(10, 'TABLE S-8:Total Airport Operations Summary by Region '),\r\n\t new taf_book_1.ITAFBookListComponent(11, 'TABLE S-9:Tracon Operations Summary by Region '),\r\n\t new taf_book_1.ITAFBookListComponent(12, 'TABLE S-10: Enplanements Summary by Region '),\r\n\t new taf_book_1.ITAFBookListComponent(13, 'TABLE S-11: Based Aircraft Summary by Region '),\r\n\t new taf_book_1.ITAFBookListComponent(14, 'TABLE B-1: List of Large Hub Towers'),\r\n\t new taf_book_1.ITAFBookListComponent(15, 'TABLE B-2: List of Medium Hub Towers'),\r\n\t new taf_book_1.ITAFBookListComponent(16, 'TABLE B-3: List of Small Hub Towers'),\r\n\t new taf_book_1.ITAFBookListComponent(17, 'TABLE B-4: List of Non-Hub Towers'),\r\n\t new taf_book_1.ITAFBookListComponent(18, 'TABLE B-5: List of FAA Contract Towers')\r\n\t ];\r\n\t this.request = new taf_book_1.ITAFBookRequest(1);\r\n\t };\r\n\t TAFBookComponent.prototype.getValue = function (optionid) {\r\n\t this.selectedOption = this.options.filter(function (item) { return item.id == optionid; })[0];\r\n\t //console.log(\"get value\" + this.selectedOption.id);\r\n\t };\r\n\t TAFBookComponent.prototype.generateReport = function () {\r\n\t var _this = this;\r\n\t this.msgs = [];\r\n\t this.displaySpinner = true;\r\n\t this.request.tafBookId = this.selectedOption.id;\r\n\t this._tafBookService.generateTafBook(this.request)\r\n\t .subscribe(function (response) {\r\n\t _this.displaySpinner = false;\r\n\t _this.facReportListResponse = response;\r\n\t if (_this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error has occurred executing your request'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t }\r\n\t else if (_this.facReportListResponse[0].responseMessage === 'No Data') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Info Message', detail: 'No Data returned.'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t _this.facReportListResponse[0].pdfFileUrl = \"\";\r\n\t _this.facReportListResponse[0].htmlFileUrl = \"\";\r\n\t }\r\n\t else {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n\t _this.cols = [\r\n\t { field: \"htmlFileUrl\", header: 'Html' },\r\n\t { field: \"pdfFileUrl\", header: 'Pdf' },\r\n\t ];\r\n\t }\r\n\t //console.log (\"response facility report \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n\t // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n\t // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t TAFBookComponent.prototype.openPDFFile = function (responsepdf) {\r\n\t window.open(responsepdf, '_blank');\r\n\t };\r\n\t TAFBookComponent.prototype.openHTMLFile = function (responseHtml) {\r\n\t window.open(responseHtml, '_blank');\r\n\t };\r\n\t TAFBookComponent.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t TAFBookComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/tafbooks/taf-book.component.html',\r\n\t template: __webpack_require__(797),\r\n\t directives: [router_1.ROUTER_DIRECTIVES]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, taf_book_service_1.TAFBookService])\r\n\t ], TAFBookComponent);\r\n\t return TAFBookComponent;\r\n\t}());\r\n\texports.TAFBookComponent = TAFBookComponent;\r\n\n\n/***/ },\n\n/***/ 796:\n/***/ function(module, exports) {\n\n\t\"use strict\";\r\n\tvar ITAFBookRequest = (function () {\r\n\t function ITAFBookRequest(tafBookId) {\r\n\t this.tafBookId = tafBookId;\r\n\t }\r\n\t return ITAFBookRequest;\r\n\t}());\r\n\texports.ITAFBookRequest = ITAFBookRequest;\r\n\tvar ITAFBookListComponent = (function () {\r\n\t function ITAFBookListComponent(id, name) {\r\n\t this.id = id;\r\n\t this.name = name;\r\n\t }\r\n\t return ITAFBookListComponent;\r\n\t}());\r\n\texports.ITAFBookListComponent = ITAFBookListComponent;\r\n\n\n/***/ },\n\n/***/ 797:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n HTML: \\r\\n
\\r\\n
\\r\\n PDF: \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n/***/ },\n\n/***/ 798:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar StaffingStandardsComponent = (function () {\r\n\t function StaffingStandardsComponent(route, router, User) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this.User = User;\r\n\t this.pageTitle = 'Staffing Standards';\r\n\t }\r\n\t StaffingStandardsComponent.prototype.ngOnInit = function () {\r\n\t this.scenario = this.User.getSession().scenarioId;\r\n\t };\r\n\t StaffingStandardsComponent.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t StaffingStandardsComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/staffing-standards/staffing-standards.component.html',\r\n\t template: __webpack_require__(799),\r\n\t directives: [router_1.ROUTER_DIRECTIVES],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, user_session_1.UserSession])\r\n\t ], StaffingStandardsComponent);\r\n\t return StaffingStandardsComponent;\r\n\t}());\r\n\texports.StaffingStandardsComponent = StaffingStandardsComponent;\r\n\n\n/***/ },\n\n/***/ 799:\n/***/ function(module, exports) {\n\n\tmodule.exports = \" \\r\\n\"\n\n/***/ },\n\n/***/ 800:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar growth_rates_save_service_1 = __webpack_require__(801);\r\n\tvar set_hub_sizes_service_1 = __webpack_require__(802);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar GrowthRatesComponent = (function () {\r\n\t function GrowthRatesComponent(route, router, _scenarioService, User, _userInfoService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._scenarioService = _scenarioService;\r\n\t this.User = User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.pageTitle = 'Growth Rate';\r\n\t this.isScenarioOwner = false;\r\n\t }\r\n\t GrowthRatesComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\t this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this.User.getSession().scenarioId);\r\n\t });\r\n\t //this probably needs to be somewhere more central\r\n\t this.User.updateSessionState();\r\n\t this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(function (success) { return _this.isScenarioOwner = success.isOwner; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t GrowthRatesComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t this.scenarioHeaderDiv.innerHTML = \"Current Scenario: \" + this.currentScenario.scenarioName + \" (\" + this.currentScenario.id + \")\";\r\n\t };\r\n\t GrowthRatesComponent.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t __decorate([\r\n\t core_1.ViewChild('scenarioHeader'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], GrowthRatesComponent.prototype, \"scenarioHeader\", void 0);\r\n\t GrowthRatesComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/growth-rates/growth-rates.component.html',\r\n\t template: __webpack_require__(803),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES],\r\n\t providers: [growth_rates_save_service_1.GrowthRatesSaveService, set_hub_sizes_service_1.SetHubSizesService]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, scenario_service_1.ScenarioService, user_session_1.UserSession, user_info_service_1.UserInfoService])\r\n\t ], GrowthRatesComponent);\r\n\t return GrowthRatesComponent;\r\n\t}());\r\n\texports.GrowthRatesComponent = GrowthRatesComponent;\r\n\n\n/***/ },\n\n/***/ 801:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar GrowthRatesSaveService = (function () {\r\n\t function GrowthRatesSaveService(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _growthRatesSaveUrl = `http://localhost:55706/api/systemmanagement/GrowthRatesSave`;\r\n\t this._growthRatesSaveUrl = \"api/systemmanagement/GrowthRatesSave\";\r\n\t }\r\n\t GrowthRatesSaveService.prototype.getSavedRatesResponse = function (scenId) {\r\n\t return this.httpHelper.get(this._growthRatesSaveUrl + \"/\" + scenId);\r\n\t // .map((response: Response) => response.json())\r\n\t // .do(httpHelper => console.log('Growth rates save service: ' + JSON.stringify(data)))\r\n\t // .catch(this.handleError);\r\n\t };\r\n\t GrowthRatesSaveService.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t GrowthRatesSaveService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], GrowthRatesSaveService);\r\n\t return GrowthRatesSaveService;\r\n\t}());\r\n\texports.GrowthRatesSaveService = GrowthRatesSaveService;\r\n\n\n/***/ },\n\n/***/ 802:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar SetHubSizesService = (function () {\r\n\t function SetHubSizesService(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _setHubSizesSaveUrl = `http://localhost:55706/api/systemmanagement/SetHubSizes`;\r\n\t this._setHubSizesSaveUrl = \"api/systemmanagement/SetHubSizes\";\r\n\t }\r\n\t SetHubSizesService.prototype.getSetHubSizesResponse = function () {\r\n\t return this.httpHelper.get(\"\" + this._setHubSizesSaveUrl);\r\n\t // .map((response: Response) => response.json())\r\n\t // .do(data => console.log('Set Hub Sizes service: ' + JSON.stringify(data)))\r\n\t // .catch(this.handleError);\r\n\t };\r\n\t SetHubSizesService.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t SetHubSizesService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], SetHubSizesService);\r\n\t return SetHubSizesService;\r\n\t}());\r\n\texports.SetHubSizesService = SetHubSizesService;\r\n\n\n/***/ },\n\n/***/ 803:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n \\r\\n\\r\\n\"\n\n/***/ },\n\n/***/ 804:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar taf_book_component_1 = __webpack_require__(795);\r\n\tvar taf_book_s1_component_1 = __webpack_require__(805);\r\n\tvar taf_book_graph_s1_component_1 = __webpack_require__(807);\r\n\tvar taf_book_s2_component_1 = __webpack_require__(809);\r\n\tvar taf_book_s3_component_1 = __webpack_require__(811);\r\n\tvar taf_book_b1_component_1 = __webpack_require__(813);\r\n\tvar taf_book_b2_component_1 = __webpack_require__(815);\r\n\tvar taf_book_b3_component_1 = __webpack_require__(817);\r\n\tvar taf_book_b4_component_1 = __webpack_require__(819);\r\n\tvar taf_book_b5_component_1 = __webpack_require__(821);\r\n\tvar auth_guard_service_1 = __webpack_require__(696);\r\n\texports.TAFBookRoutes = [\r\n\t { path: 'taf-book', component: taf_book_component_1.TAFBookComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'taf-book-s1', component: taf_book_s1_component_1.TAFBookS1Component },\r\n\t { path: 'taf-book-graph-s1', component: taf_book_graph_s1_component_1.TAFBookGraphS1Component },\r\n\t { path: 'taf-book-s2', component: taf_book_s2_component_1.TAFBookS2Component },\r\n\t { path: 'taf-book-s3', component: taf_book_s3_component_1.TAFBookS3Component },\r\n\t { path: 'taf-book-b1', component: taf_book_b1_component_1.TAFBookB1Component },\r\n\t { path: 'taf-book-b2', component: taf_book_b2_component_1.TAFBookB2Component },\r\n\t { path: 'taf-book-b3', component: taf_book_b3_component_1.TAFBookB3Component },\r\n\t { path: 'taf-book-b4', component: taf_book_b4_component_1.TAFBookB4Component },\r\n\t { path: 'taf-book-b5', component: taf_book_b5_component_1.TAFBookB5Component },\r\n\t];\r\n\n\n/***/ },\n\n/***/ 805:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar taf_book_s1_service_1 = __webpack_require__(687);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar TAFBookS1Component = (function () {\r\n\t function TAFBookS1Component(route, router, _tafBookS1Service) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._tafBookS1Service = _tafBookS1Service;\r\n\t this.pageTitle = 'TAF BOOK S1';\r\n\t }\r\n\t TAFBookS1Component.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._tafBookS1Service.getTAFBookS1()\r\n\t .subscribe(function (tafBookS1Arr) { return _this.tafBookS1Arr = tafBookS1Arr; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t TAFBookS1Component.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t TAFBookS1Component = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/tafbooks/taf-book-s1/taf-book-s1.component.html',\r\n\t template: __webpack_require__(806),\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.DataTable, primeng_2.Column, primeng_3.Header],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, taf_book_s1_service_1.TAFBookS1Service])\r\n\t ], TAFBookS1Component);\r\n\t return TAFBookS1Component;\r\n\t}());\r\n\texports.TAFBookS1Component = TAFBookS1Component;\r\n\n\n/***/ },\n\n/***/ 806:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Table S-1 Enplanements at Core Airports (in thousands)
    {{tafBookElem.ffcYear-1}}   Rate**Airportrating
Loc IdRegionAirport Name{{tafBookElem.ffcYear-1}}Percent*{{tafBookElem.ffcYear}}{{tafBookElem.ffcYear+4}}{{tafBookElem.lfcYear}}{{tafBookElem.ffcYear-1}}-2045{{tafBookElem.ffcYear-1}}{{tafBookElem.lfcYear}}
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aport_name}}{{tafBookElem.totalEnplanementsFfcMinusOneTotEnpl}}{{tafBookElem.percentageFfcMinOneOverTotal}} {{tafBookElem.totalEnplanementsFfcYearTotEnpl}}{{tafBookElem.totalEnplanementsFfcPlusFourTotEnpl}}{{tafBookElem.totalEnplanementsLfcTotEnpl}}{{tafBookElem.rateFyLfc}}{{tafBookElem.rankFFCMinusOneYear}}{{tafBookElem.rankLFCYear}}
Totals:{{tafBookElem.sumFfcMinusOneTotEnpl}}{{tafBookElem.sumPercentageFfcMinOneOverTotal}}{{tafBookElem.sumFfcYearTotEnpl}}{{tafBookElem.sumFfcPlusFourTotEnpl}}{{tafBookElem.sumsLfcTotEnpl}}{{tafBookElem.sumRateFyLfc}} 
*Percent of total US enplanements.
**Annual compound growth rate.
\\r\\n\\r\\n \\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 807:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar taf_book_graph_s1_service_1 = __webpack_require__(690);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar _ = __webpack_require__(680);\r\n\t/*steps to install lodash:\r\n\tnpm install typings --global\r\n\tWith older versions of typings things mess up and you'll get a bunch of \"Duplicate identifier\" issues. Also you don't need to use --ambient anymore as far as I could tell.\r\n\t\r\n\tSo once typings is up to date, this should work (using the Angular 2 quickstart).\r\n\t\r\n\tRun:\r\n\t\r\n\tnpm install lodash --save\r\n\ttypings install lodash --save\r\n\tFirst, add this to systemjs.config.js:\r\n\t\r\n\t'lodash': 'node_modules/lodash/lodash.js'\r\n\t */\r\n\tvar TAFBookGraphS1Component = (function () {\r\n\t function TAFBookGraphS1Component(route, router, _tafBookGraphS1Service) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._tafBookGraphS1Service = _tafBookGraphS1Service;\r\n\t this.pageTitle = 'TAF BOOK Graph S1';\r\n\t }\r\n\t TAFBookGraphS1Component.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._tafBookGraphS1Service.getTAFGraphS1BookSplit()\r\n\t .subscribe(function (tafBookGraphS1Arr) { return _this.tafBookGraphS1Arr = tafBookGraphS1Arr; }, function (error) { return console.log(\"Error\", error); }, function () {\r\n\t _this.tafBookGraphS1ArrLocid = _.map(JSON.parse(JSON.stringify(_this.tafBookGraphS1Arr)), 'locid');\r\n\t _this.tafBookGraphS1ArrRate = _.map(JSON.parse(JSON.stringify(_this.tafBookGraphS1Arr)), 'rateFyLfc');\r\n\t //console.log(\"mapxAxis Component: \" +this.tafBookGraphS1ArrLocid);// _.map(JSON.parse(JSON.stringify(this.tafBookGraphS1Arr)),'locid')\r\n\t //console.log(\"mapyAxis Component: \" + _.map(JSON.parse(JSON.stringify(this.tafBookGraphS1Arr)),'rateFyLfc'));\r\n\t _this.data = {\r\n\t labels: _this.tafBookGraphS1ArrLocid,\r\n\t datasets: [\r\n\t {\r\n\t label: 'Growth Rate',\r\n\t data: _this.tafBookGraphS1ArrRate\r\n\t }\r\n\t ]\r\n\t };\r\n\t _this.options = {\r\n\t legend: {\r\n\t display: false,\r\n\t position: 'bottom'\r\n\t },\r\n\t scales: {\r\n\t xAxes: [{\r\n\t scaleLabel: {\r\n\t display: true,\r\n\t labelString: 'Airport'\r\n\t }\r\n\t }],\r\n\t yAxes: [{\r\n\t scaleLabel: {\r\n\t display: true,\r\n\t labelString: 'Annual Growth Rate'\r\n\t }\r\n\t }]\r\n\t }\r\n\t };\r\n\t });\r\n\t };\r\n\t TAFBookGraphS1Component.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t TAFBookGraphS1Component = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/tafbooks/taf-book-graph-s1/taf-book-graph-s1.component.html',\r\n\t template: __webpack_require__(808),\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.UIChart]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, taf_book_graph_s1_service_1.TAFBookGraphS1Service])\r\n\t ], TAFBookGraphS1Component);\r\n\t return TAFBookGraphS1Component;\r\n\t}());\r\n\texports.TAFBookGraphS1Component = TAFBookGraphS1Component;\r\n\n\n/***/ },\n\n/***/ 808:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Graph S-1. Enplanements Growth Rates for the Core Airports - 2015 to 2045
\\r\\n \\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 809:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar taf_book_s2_service_1 = __webpack_require__(688);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar TAFBookS2Component = (function () {\r\n\t function TAFBookS2Component(route, router, _tafBooks2Service) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._tafBooks2Service = _tafBooks2Service;\r\n\t this.pageTitle = 'TAF BOOK s2';\r\n\t }\r\n\t TAFBookS2Component.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._tafBooks2Service.getTAFBookS2()\r\n\t .subscribe(function (tafBookS2Arr) { return _this.tafBookS2Arr = tafBookS2Arr; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t TAFBookS2Component.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t TAFBookS2Component = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/tafbooks/taf-book-s2/taf-book-s2.component.html',\r\n\t template: __webpack_require__(810),\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.DataTable, primeng_2.Column, primeng_3.Header],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, taf_book_s2_service_1.TAFBookS2Service])\r\n\t ], TAFBookS2Component);\r\n\t return TAFBookS2Component;\r\n\t}());\r\n\texports.TAFBookS2Component = TAFBookS2Component;\r\n\n\n/***/ },\n\n/***/ 810:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Table S-2 Airport Operations at Core Airports (in thousands)
    {{tafBookElem.ffcYear-1}}   Rate**Airportrating
Loc IdRegionAirport Name{{tafBookElem.ffcYear-1}}Percent*{{tafBookElem.ffcYear}}{{tafBookElem.ffcYear+4}}{{tafBookElem.lfcYear}}{{tafBookElem.ffcYear-1}}-2045{{tafBookElem.ffcYear-1}}{{tafBookElem.lfcYear}}
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aport_name}}{{tafBookElem.totalOpsFfcMinusOneTotOps}}{{tafBookElem.percentageFfcMinOneOverTotal}} {{tafBookElem.totalOpsFfcYearTotOps}}{{tafBookElem.totalOpsFfcPlusFourTotOps}}{{tafBookElem.totalOpsLfcTotOps}}{{tafBookElem.rateFyLfc}}{{tafBookElem.rankFFCMinusOneYear}}{{tafBookElem.rankLFCYear}}
Totals:{{tafBookElem.sumFfcMinusOneTotOps}}{{tafBookElem.sumPercentageFfcMinOneOverTotal}}{{tafBookElem.sumFfcYearTotOps}}{{tafBookElem.sumFfcPlusFourTotOps}}{{tafBookElem.sumsLfcTotOps}}{{tafBookElem.sumRateFyLfc}} 
*Percent of total US operations.
**Annual compound growth rate.
\\r\\n\\r\\n \\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 811:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar taf_book_s3_service_1 = __webpack_require__(689);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar TAFBookS3Component = (function () {\r\n\t function TAFBookS3Component(route, router, _tafBooks3Service) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._tafBooks3Service = _tafBooks3Service;\r\n\t this.pageTitle = 'TAF BOOK s3';\r\n\t }\r\n\t TAFBookS3Component.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._tafBooks3Service.getTAFBookS3()\r\n\t .subscribe(function (tafBookS3Arr) { return _this.tafBookS3Arr = tafBookS3Arr; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t TAFBookS3Component.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t TAFBookS3Component = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/tafbooks/taf-book-s3/taf-book-s3.component.html',\r\n\t template: __webpack_require__(812),\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.DataTable, primeng_2.Column, primeng_3.Header],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, taf_book_s3_service_1.TAFBookS3Service])\r\n\t ], TAFBookS3Component);\r\n\t return TAFBookS3Component;\r\n\t}());\r\n\texports.TAFBookS3Component = TAFBookS3Component;\r\n\n\n/***/ },\n\n/***/ 812:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Table S-3. Air Traffic Control Towers and Contract Towers
 FAAContract
Region/StateTowersTowers
 
{{tafBookElem.region}}/{{tafBookElem.stateName}}{{tafBookElem.faaTowerCntsState}}{{tafBookElem.contractTowersCntsState}}
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 813:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar taf_book_b1_service_1 = __webpack_require__(682);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar TAFBookB1Component = (function () {\r\n\t function TAFBookB1Component(route, router, _tafBookB1Service) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._tafBookB1Service = _tafBookB1Service;\r\n\t this.pageTitle = 'TAF BOOK b1';\r\n\t }\r\n\t TAFBookB1Component.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._tafBookB1Service.getTAFBookB1()\r\n\t .subscribe(function (tafBookB1Arr) { return _this.tafBookB1Arr = tafBookB1Arr; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t TAFBookB1Component.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t TAFBookB1Component = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/tafbooks/taf-book-b1/taf-book-b1.component.html',\r\n\t template: __webpack_require__(814),\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.DataTable, primeng_2.Column, primeng_3.Header],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, taf_book_b1_service_1.TAFBookB1Service])\r\n\t ], TAFBookB1Component);\r\n\t return TAFBookB1Component;\r\n\t}());\r\n\texports.TAFBookB1Component = TAFBookB1Component;\r\n\n\n/***/ },\n\n/***/ 814:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Table B-1 List of Large Hub Towers
Location   
IdentifierRegionAirport NameCity, State
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aportName}}{{tafBookElem.city}},{{tafBookElem.state}}
 
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 815:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar taf_book_b2_service_1 = __webpack_require__(683);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar TAFBookB2Component = (function () {\r\n\t function TAFBookB2Component(route, router, _tafBookB2Service) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._tafBookB2Service = _tafBookB2Service;\r\n\t this.pageTitle = 'TAF BOOK b2';\r\n\t }\r\n\t TAFBookB2Component.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._tafBookB2Service.getTAFBookB2()\r\n\t .subscribe(function (tafBookB2Arr) { return _this.tafBookB2Arr = tafBookB2Arr; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t TAFBookB2Component.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t TAFBookB2Component = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/tafbooks/taf-book-b2/taf-book-b2.component.html',\r\n\t template: __webpack_require__(816),\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.DataTable, primeng_2.Column, primeng_3.Header],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, taf_book_b2_service_1.TAFBookB2Service])\r\n\t ], TAFBookB2Component);\r\n\t return TAFBookB2Component;\r\n\t}());\r\n\texports.TAFBookB2Component = TAFBookB2Component;\r\n\n\n/***/ },\n\n/***/ 816:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Table B-2 List of Medium Hub Towers
Location   
IdentifierRegionAirport NameCity, State
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aportName}}{{tafBookElem.city}},{{tafBookElem.state}}
 
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 817:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar taf_book_b3_service_1 = __webpack_require__(684);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar TAFBookB3Component = (function () {\r\n\t function TAFBookB3Component(route, router, _tafBookB3Service) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._tafBookB3Service = _tafBookB3Service;\r\n\t this.pageTitle = 'TAF BOOK b3';\r\n\t }\r\n\t TAFBookB3Component.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._tafBookB3Service.getTAFBookB3()\r\n\t .subscribe(function (tafBookB3Arr) { return _this.tafBookB3Arr = tafBookB3Arr; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t TAFBookB3Component.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t TAFBookB3Component = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/tafbooks/taf-book-b3/taf-book-b3.component.html',\r\n\t template: __webpack_require__(818),\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.DataTable, primeng_2.Column, primeng_3.Header],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, taf_book_b3_service_1.TAFBookB3Service])\r\n\t ], TAFBookB3Component);\r\n\t return TAFBookB3Component;\r\n\t}());\r\n\texports.TAFBookB3Component = TAFBookB3Component;\r\n\n\n/***/ },\n\n/***/ 818:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Table B-3 List of Small Hub Towers \\r\\n
Location   
IdentifierRegionAirport NameCity, State
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aportName}}{{tafBookElem.city}},{{tafBookElem.state}}
 
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 819:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar taf_book_b4_service_1 = __webpack_require__(685);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar TAFBookB4Component = (function () {\r\n\t function TAFBookB4Component(route, router, _tafBookB4Service) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._tafBookB4Service = _tafBookB4Service;\r\n\t this.pageTitle = 'TAF BOOK b4';\r\n\t }\r\n\t TAFBookB4Component.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._tafBookB4Service.getTAFBookB4()\r\n\t .subscribe(function (tafBookB4Arr) { return _this.tafBookB4Arr = tafBookB4Arr; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t TAFBookB4Component.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t TAFBookB4Component = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/tafbooks/taf-book-b4/taf-book-b4.component.html',\r\n\t template: __webpack_require__(820),\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.DataTable, primeng_2.Column, primeng_3.Header],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, taf_book_b4_service_1.TAFBookB4Service])\r\n\t ], TAFBookB4Component);\r\n\t return TAFBookB4Component;\r\n\t}());\r\n\texports.TAFBookB4Component = TAFBookB4Component;\r\n\n\n/***/ },\n\n/***/ 820:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Table B-3 List of Small Hub Towers \\r\\n
Location   
IdentifierRegionAirport NameCity, State
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aportName}}{{tafBookElem.city}},{{tafBookElem.state}}
 
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 821:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar taf_book_b5_service_1 = __webpack_require__(686);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar TAFBookB5Component = (function () {\r\n\t function TAFBookB5Component(route, router, _tafBookB5Service) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._tafBookB5Service = _tafBookB5Service;\r\n\t this.pageTitle = 'TAF BOOK b5';\r\n\t }\r\n\t TAFBookB5Component.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._tafBookB5Service.getTAFBookB5()\r\n\t .subscribe(function (tafBookB5Arr) { return _this.tafBookB5Arr = tafBookB5Arr; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t TAFBookB5Component.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t TAFBookB5Component = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/tafbooks/taf-book-b5/taf-book-b5.component.html',\r\n\t template: __webpack_require__(822),\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.DataTable, primeng_2.Column, primeng_3.Header],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, taf_book_b5_service_1.TAFBookB5Service])\r\n\t ], TAFBookB5Component);\r\n\t return TAFBookB5Component;\r\n\t}());\r\n\texports.TAFBookB5Component = TAFBookB5Component;\r\n\n\n/***/ },\n\n/***/ 822:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Table B-3 List of Small Hub Towers \\r\\n
Location   
IdentifierRegionAirport NameCity, State
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aportName}}{{tafBookElem.city}},{{tafBookElem.state}}
 
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 823:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar staffing_standards_tracon_component_1 = __webpack_require__(824);\r\n\tvar staffing_standards_tower_component_1 = __webpack_require__(827);\r\n\tvar towers_tracons_import_component_1 = __webpack_require__(830);\r\n\texports.StaffingStandardsRoutes = [\r\n\t //all staffingstandardsroutes routes here\r\n\t { path: 'staffing-standards-tracon', component: staffing_standards_tracon_component_1.StaffingStandardsTraconComponent },\r\n\t { path: 'staffing-standards-tower', component: staffing_standards_tower_component_1.StaffingStandardsTowerComponent },\r\n\t { path: 'towers-tracons-import', component: towers_tracons_import_component_1.TowersTraconsImportComponent },\r\n\t];\r\n\n\n/***/ },\n\n/***/ 824:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar staffing_standards_tracon_service_1 = __webpack_require__(825);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar primeng_4 = __webpack_require__(708);\r\n\tvar StaffingStandardsTraconComponent = (function () {\r\n\t function StaffingStandardsTraconComponent(route, router, _staffingStandardsTraconService, User) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._staffingStandardsTraconService = _staffingStandardsTraconService;\r\n\t this.User = User;\r\n\t this.pageTitle = 'Staffing Standards Tracon';\r\n\t }\r\n\t StaffingStandardsTraconComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.scenario = this.User.getSession().scenarioId;\r\n\t this._staffingStandardsTraconService.getSSTracon(this.scenario)\r\n\t .subscribe(function (staffingStandardsTraconArr) { return _this.staffingStandardsTraconArr = staffingStandardsTraconArr; }, function (error) { return _this.errorMessage = error; });\r\n\t this.cols = [\r\n\t { field: \"locid\", header: 'Locid' },\r\n\t { field: \"year\", header: 'Year' },\r\n\t { field: \"ac\", header: 'Air Carrier' },\r\n\t { field: \"at\", header: 'Air Taxi' },\r\n\t { field: \"ga\", header: 'General Aviation' },\r\n\t { field: \"mil\", header: 'Military' },\r\n\t { field: \"totOvers\", header: 'Total Overflights' },\r\n\t { field: \"totOps\", header: 'Total Operations' },\r\n\t ];\r\n\t // console.log('Staffing Standards Tracon Component: ' + JSON.stringify(this.cols));\r\n\t };\r\n\t StaffingStandardsTraconComponent.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t StaffingStandardsTraconComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/staffing-standards/staffing-standards-tracon/staffing-standards-tracon.component.html',\r\n\t template: __webpack_require__(826),\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.DataTable, primeng_2.Column, primeng_3.Header, primeng_4.Paginator],\r\n\t providers: [staffing_standards_tracon_service_1.StaffingStandardsTraconService]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, staffing_standards_tracon_service_1.StaffingStandardsTraconService, user_session_1.UserSession])\r\n\t ], StaffingStandardsTraconComponent);\r\n\t return StaffingStandardsTraconComponent;\r\n\t}());\r\n\texports.StaffingStandardsTraconComponent = StaffingStandardsTraconComponent;\r\n\n\n/***/ },\n\n/***/ 825:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar StaffingStandardsTraconService = (function () {\r\n\t function StaffingStandardsTraconService(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _staffingStandardsTraconUrl = `http://localhost:55706/api/systemmanagement/SSTracon`;\r\n\t this._staffingStandardsTraconUrl = \"api/systemmanagement/SSTracon\";\r\n\t }\r\n\t StaffingStandardsTraconService.prototype.getSSTracon = function (scenarioId) {\r\n\t return this.httpHelper.get(this._staffingStandardsTraconUrl + \"/\" + scenarioId);\r\n\t //.map((response: Response) => response.json())\r\n\t //.do(data => console.log('IStaffingStandardsTracon: ' + JSON.stringify(data)))\r\n\t //.catch(this.handleError);\r\n\t };\r\n\t StaffingStandardsTraconService.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t StaffingStandardsTraconService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], StaffingStandardsTraconService);\r\n\t return StaffingStandardsTraconService;\r\n\t}());\r\n\texports.StaffingStandardsTraconService = StaffingStandardsTraconService;\r\n\n\n/***/ },\n\n/***/ 826:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n
Staffing Standards Tracon export:
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 827:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar staffing_standards_tower_service_1 = __webpack_require__(828);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar primeng_4 = __webpack_require__(708);\r\n\tvar StaffingStandardsTowerComponent = (function () {\r\n\t function StaffingStandardsTowerComponent(route, router, _staffingStandardsTowerService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._staffingStandardsTowerService = _staffingStandardsTowerService;\r\n\t this.pageTitle = 'Staffing Standards Tower';\r\n\t }\r\n\t StaffingStandardsTowerComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._staffingStandardsTowerService.getSSTower()\r\n\t .subscribe(function (staffingStandardsTowerArr) { return _this.staffingStandardsTowerArr = staffingStandardsTowerArr; }, function (error) { return _this.errorMessage = error; });\r\n\t this.cols = [\r\n\t { field: \"locid\", header: 'Locid' },\r\n\t { field: \"year\", header: 'Year' },\r\n\t { field: \"itnAc\", header: 'Air Carrier' },\r\n\t { field: \"itnAt\", header: 'Air Taxi' },\r\n\t { field: \"itnGa\", header: 'General Aviation' },\r\n\t { field: \"itnMil\", header: 'Military' },\r\n\t { field: \"locGa\", header: 'Civil' },\r\n\t { field: \"locMil\", header: 'Local Military' },\r\n\t { field: \"totOvers\", header: 'Total Overflights' },\r\n\t { field: \"totOps\", header: 'Total Operations' },\r\n\t ];\r\n\t //console.log('Staffing Standards Tower Component: ' + JSON.stringify(this.cols));\r\n\t };\r\n\t StaffingStandardsTowerComponent.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t StaffingStandardsTowerComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/staffing-standards/staffing-standards-tower/staffing-standards-tower.component.html',\r\n\t template: __webpack_require__(829),\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.DataTable, primeng_2.Column, primeng_3.Header, primeng_4.Paginator],\r\n\t providers: [staffing_standards_tower_service_1.StaffingStandardsTowerService]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, staffing_standards_tower_service_1.StaffingStandardsTowerService])\r\n\t ], StaffingStandardsTowerComponent);\r\n\t return StaffingStandardsTowerComponent;\r\n\t}());\r\n\texports.StaffingStandardsTowerComponent = StaffingStandardsTowerComponent;\r\n\n\n/***/ },\n\n/***/ 828:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar StaffingStandardsTowerService = (function () {\r\n\t function StaffingStandardsTowerService(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _staffingStandardsTowerUrl = `http://localhost:55706/api/systemmanagement/SSTower`;\r\n\t this._staffingStandardsTowerUrl = \"api/systemmanagement/SSTower\";\r\n\t }\r\n\t StaffingStandardsTowerService.prototype.getSSTower = function () {\r\n\t return this.httpHelper.get(\"\" + this._staffingStandardsTowerUrl);\r\n\t //.map((response: Response) => response.json())\r\n\t //.do(httpHelper => console.log('IStaffingStandardsTower: ' + JSON.stringify(data)))\r\n\t //.catch(this.handleError);\r\n\t };\r\n\t StaffingStandardsTowerService.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t StaffingStandardsTowerService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], StaffingStandardsTowerService);\r\n\t return StaffingStandardsTowerService;\r\n\t}());\r\n\texports.StaffingStandardsTowerService = StaffingStandardsTowerService;\r\n\n\n/***/ },\n\n/***/ 829:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n
Staffing Standards Tracon export:
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 830:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar towers_tracons_import_service_1 = __webpack_require__(831);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar TowersTraconsImportComponent = (function () {\r\n\t function TowersTraconsImportComponent(route, router, _towerstraconsImportService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._towerstraconsImportService = _towerstraconsImportService;\r\n\t this.pageTitle = 'Towers Tracons OPSNET Import Check ';\r\n\t }\r\n\t TowersTraconsImportComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._towerstraconsImportService.getTowersImport()\r\n\t .subscribe(function (towersImportResult) { return _this.towersImportResult = towersImportResult; }, function (error) { return _this.errorMessage = error; });\r\n\t this.cols = [\r\n\t { field: \"opsAc\", header: 'OPSNET Air Carrier' },\r\n\t { field: \"opsAt\", header: 'OPSNET Air Taxi' },\r\n\t { field: \"opsGa\", header: 'OPSNET General Aviation' },\r\n\t { field: \"opsMil\", header: 'OPSNET Military' },\r\n\t { field: \"opsLocGa\", header: 'OPSNET Civil' },\r\n\t { field: \"opsLocMil\", header: 'OPSNET Local Military' },\r\n\t { field: \"opsTotOvers\", header: 'OPSNET Total Overflights' },\r\n\t ];\r\n\t this.cols1 = [\r\n\t { field: \"tafAc\", header: 'TAF Air Carrier' },\r\n\t { field: \"tafAt\", header: 'TAF Air Taxi' },\r\n\t { field: \"tafGa\", header: 'TAF General Aviation' },\r\n\t { field: \"tafMil\", header: 'TAF Military' },\r\n\t { field: \"tafLocGa\", header: 'TAF Civil' },\r\n\t { field: \"tafLocMil\", header: 'TAF Local Military' },\r\n\t { field: \"tafTotOvers\", header: 'TAF Total Overflights' },\r\n\t ];\r\n\t this.cols2 = [\r\n\t { field: \"diffAc\", header: 'DIFF Air Carrier' },\r\n\t { field: \"diffAt\", header: 'DIFF Air Taxi' },\r\n\t { field: \"diffGa\", header: 'DIFF General Aviation' },\r\n\t { field: \"diffMil\", header: 'DIFF Military' },\r\n\t { field: \"diffLocGa\", header: 'DIFF Civil' },\r\n\t { field: \"diffLocMil\", header: 'DIFF Local Military' },\r\n\t { field: \"diffTotOvers\", header: 'DIFF Total Overflights' },\r\n\t ];\r\n\t };\r\n\t TowersTraconsImportComponent.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t TowersTraconsImportComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/towers-tracons-import/towers-tracons-import.component.html',\r\n\t template: __webpack_require__(832),\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.DataTable, primeng_2.Column, primeng_3.Header],\r\n\t providers: [towers_tracons_import_service_1.TowersTraconsImportService]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, towers_tracons_import_service_1.TowersTraconsImportService])\r\n\t ], TowersTraconsImportComponent);\r\n\t return TowersTraconsImportComponent;\r\n\t}());\r\n\texports.TowersTraconsImportComponent = TowersTraconsImportComponent;\r\n\n\n/***/ },\n\n/***/ 831:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar TowersTraconsImportService = (function () {\r\n\t function TowersTraconsImportService(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t //need to have this somewhere besides hardcoded in here\r\n\t //private _towersImportUrl = `http://localhost:55706/api/systemmanagement/TowersImport`;\r\n\t this._towersImportUrl = \"api/systemmanagement/TowersImport\";\r\n\t }\r\n\t TowersTraconsImportService.prototype.getTowersImport = function () {\r\n\t return this.httpHelper.get(\"\" + this._towersImportUrl);\r\n\t //.map((response: Response) => response.json())\r\n\t //.do(data => console.log('Towers Import service: ' + JSON.stringify(data)))\r\n\t //.catch(this.handleError);\r\n\t };\r\n\t TowersTraconsImportService.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t TowersTraconsImportService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], TowersTraconsImportService);\r\n\t return TowersTraconsImportService;\r\n\t}());\r\n\texports.TowersTraconsImportService = TowersTraconsImportService;\r\n\n\n/***/ },\n\n/***/ 832:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n\\r\\n

Tower Comparison OPSNET -TAF

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

TRACONS Comparison OPSNET -TAF

\\r\\n
\"\n\n/***/ },\n\n/***/ 833:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar growth_rates_component_1 = __webpack_require__(800);\r\n\tvar growth_rates_save_component_1 = __webpack_require__(834);\r\n\tvar set_hub_sizes_component_1 = __webpack_require__(837);\r\n\texports.GrowthRatesRoutes = [\r\n\t //all Growthrates routes here\r\n\t { path: 'growth-rates', component: growth_rates_component_1.GrowthRatesComponent },\r\n\t { path: 'growth-rates-save', component: growth_rates_save_component_1.GrowthRatesSaveComponent },\r\n\t { path: 'set-hub-sizes', component: set_hub_sizes_component_1.SetHubSizesComponent },\r\n\t];\r\n\n\n/***/ },\n\n/***/ 834:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar growth_rates_save_1 = __webpack_require__(835);\r\n\tvar growth_rates_save_service_1 = __webpack_require__(801);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar GrowthRatesSaveComponent = (function () {\r\n\t function GrowthRatesSaveComponent(route, router, _growthRatesService, _scenarioService, User, _userInfoService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._growthRatesService = _growthRatesService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this.User = User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.pageTitle = 'Growth Rates Save ';\r\n\t this.displaySpinner = false;\r\n\t this.msgs = [];\r\n\t this.isScenarioOwner = false;\r\n\t this.growthRatesSaveResult = new growth_rates_save_1.IGrowthRatesSave(\"\");\r\n\t }\r\n\t GrowthRatesSaveComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\t this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this.User.getSession().scenarioId);\r\n\t });\r\n\t //this probably needs to be somewhere more central\r\n\t this.User.updateSessionState();\r\n\t this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(function (success) { return _this.isScenarioOwner = success.isOwner; }, function (error) { return _this.errorMessage = error; });\r\n\t this.displaySpinner = true;\r\n\t this._growthRatesService.getSavedRatesResponse(this.User.getSession().scenarioId)\r\n\t .subscribe(function (growthRatesSaveResult) {\r\n\t _this.growthRatesSaveResult = growthRatesSaveResult;\r\n\t if (_this.growthRatesSaveResult.message.indexOf(\"Error\") >= 0) {\r\n\t _this.displaySpinner = false;\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: _this.growthRatesSaveResult.message });\r\n\t console.error(_this.growthRatesSaveResult.message);\r\n\t }\r\n\t else {\r\n\t _this.displaySpinner = false;\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: _this.growthRatesSaveResult.message });\r\n\t }\r\n\t }, function (error) {\r\n\t _this.displaySpinner = false;\r\n\t _this.errorMessage = \"An error occured while trying to update the facility.\";\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: _this.errorMessage });\r\n\t console.error(error);\r\n\t });\r\n\t };\r\n\t GrowthRatesSaveComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t this.scenarioHeaderDiv.innerHTML = \"Current Scenario: \" + this.currentScenario.scenarioName + \" (\" + this.currentScenario.id + \")\";\r\n\t };\r\n\t GrowthRatesSaveComponent.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t __decorate([\r\n\t core_1.ViewChild('scenarioHeader'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], GrowthRatesSaveComponent.prototype, \"scenarioHeader\", void 0);\r\n\t GrowthRatesSaveComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/growth-rates/growth-rates-save/growth-rates-save.component.html',\r\n\t template: __webpack_require__(836),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.Dialog, primeng_2.Messages],\r\n\t providers: [growth_rates_save_service_1.GrowthRatesSaveService]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, growth_rates_save_service_1.GrowthRatesSaveService, scenario_service_1.ScenarioService, user_session_1.UserSession, user_info_service_1.UserInfoService])\r\n\t ], GrowthRatesSaveComponent);\r\n\t return GrowthRatesSaveComponent;\r\n\t}());\r\n\texports.GrowthRatesSaveComponent = GrowthRatesSaveComponent;\r\n\n\n/***/ },\n\n/***/ 835:\n/***/ function(module, exports) {\n\n\t\"use strict\";\r\n\tvar IGrowthRatesSave = (function () {\r\n\t function IGrowthRatesSave(message) {\r\n\t this.message = message;\r\n\t }\r\n\t return IGrowthRatesSave;\r\n\t}());\r\n\texports.IGrowthRatesSave = IGrowthRatesSave;\r\n\n\n/***/ },\n\n/***/ 836:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Message: {{ growthRatesSaveResult?.message }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n/***/ },\n\n/***/ 837:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar set_hub_sizes_1 = __webpack_require__(838);\r\n\tvar set_hub_sizes_service_1 = __webpack_require__(802);\r\n\tvar SetHubSizesComponent = (function () {\r\n\t function SetHubSizesComponent(route, router, _setHubSizesService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._setHubSizesService = _setHubSizesService;\r\n\t this.pageTitle = 'Set Hub Sizes';\r\n\t this.setHubSizesResult = new set_hub_sizes_1.ISetHubSizes(\"Completed set hub sizes stored procedure\");\r\n\t }\r\n\t SetHubSizesComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._setHubSizesService.getSetHubSizesResponse()\r\n\t .subscribe(function (setHubSizesResult) { return _this.setHubSizesResult = setHubSizesResult; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t SetHubSizesComponent.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t SetHubSizesComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/growth-rates/set-hub-sizes/set-hub-sizes.component.html',\r\n\t template: __webpack_require__(839),\r\n\t directives: [router_1.ROUTER_DIRECTIVES],\r\n\t providers: [set_hub_sizes_service_1.SetHubSizesService]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, set_hub_sizes_service_1.SetHubSizesService])\r\n\t ], SetHubSizesComponent);\r\n\t return SetHubSizesComponent;\r\n\t}());\r\n\texports.SetHubSizesComponent = SetHubSizesComponent;\r\n\n\n/***/ },\n\n/***/ 838:\n/***/ function(module, exports) {\n\n\t\"use strict\";\r\n\tvar ISetHubSizes = (function () {\r\n\t function ISetHubSizes(message) {\r\n\t this.message = message;\r\n\t }\r\n\t return ISetHubSizes;\r\n\t}());\r\n\texports.ISetHubSizes = ISetHubSizes;\r\n\n\n/***/ },\n\n/***/ 839:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
\\r\\n
\\r\\n Message: {{ setHubSizesResult?.message }}\\r\\n
\\r\\n
\\r\\n\"\n\n/***/ },\n\n/***/ 840:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar towers_tracons_import_steps_component_1 = __webpack_require__(841);\r\n\texports.TowersTraconsImportStepsRoutes = [\r\n\t //all Growthrates routes here\r\n\t { path: 'towers-tracons-import-steps', component: towers_tracons_import_steps_component_1.TowersTraconsImportStepsComponent },\r\n\t];\r\n\n\n/***/ },\n\n/***/ 841:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar towers_tracons_import_steps_service_1 = __webpack_require__(842);\r\n\tvar system_control_service_1 = __webpack_require__(694);\r\n\tvar system_control_1 = __webpack_require__(843);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar primeng_4 = __webpack_require__(708);\r\n\tvar TowersTraconsImportStepsComponent = (function () {\r\n\t function TowersTraconsImportStepsComponent(route, router, _towerstraconsImportService, _systemControl, _systemControlService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._towerstraconsImportService = _towerstraconsImportService;\r\n\t this._systemControl = _systemControl;\r\n\t this._systemControlService = _systemControlService;\r\n\t this.pageTitle = 'Towers Tracons Import Steps ';\r\n\t this.showSpinner = false;\r\n\t this.showDataTable = false;\r\n\t this.showOpsnetImportMsg = false;\r\n\t this.showAOPSReforecastMsg = false;\r\n\t this.systemControl = _systemControl;\r\n\t }\r\n\t TowersTraconsImportStepsComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t // this.fyYear=this.systemControl.getFyYear();\r\n\t // alert(\" ngOnInit this.fyYear \" + this.fyYear);\r\n\t this._systemControlService.getSystemControl()\r\n\t .subscribe(function (systemControlElem) { return _this.systemControlElem = systemControlElem; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.fyYear = _this.systemControlElem.fyYear;\r\n\t console.log(\"fyYear and ffcYear in SystemControl:\" + _this.fyYear);\r\n\t });\r\n\t };\r\n\t TowersTraconsImportStepsComponent.prototype.getTowersImportStepsLess12 = function () {\r\n\t var _this = this;\r\n\t this.showSpinner = true;\r\n\t this._towerstraconsImportService.getTowersImportStepsLess12()\r\n\t .subscribe(function (towersLessThan12) { return _this.towersLessThan12 = towersLessThan12; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.showDataTable = true;\r\n\t _this.showSpinner = false;\r\n\t });\r\n\t this.cols = [\r\n\t { field: \"locid\", header: 'Locid' },\r\n\t { field: \"sumAc\", header: ' Air Carrier' },\r\n\t { field: \"sumAt\", header: ' Air Taxi' },\r\n\t { field: \"sumGa\", header: ' General Aviation' },\r\n\t { field: \"sumMil\", header: ' Military' },\r\n\t { field: \"sumLocGa\", header: ' Civil' },\r\n\t { field: \"sumLocMil\", header: ' Local Military' },\r\n\t { field: \"sumTotOvers\", header: ' Total Overflights' },\r\n\t ];\r\n\t };\r\n\t TowersTraconsImportStepsComponent.prototype.startOpsnetTowersImport = function () {\r\n\t var _this = this;\r\n\t this.showSpinner = true;\r\n\t this._towerstraconsImportService.startOpsnetTowersImport()\r\n\t .subscribe(function (towersImportMsg) { return _this.towersImportMsg = towersImportMsg; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.showOpsnetImportMsg = true;\r\n\t _this.showSpinner = false;\r\n\t });\r\n\t };\r\n\t TowersTraconsImportStepsComponent.prototype.reforecastAOPS = function () {\r\n\t var _this = this;\r\n\t this.showSpinner = true;\r\n\t this._towerstraconsImportService.reforecastAOPS()\r\n\t .subscribe(function (towersReforecastMsg) { return _this.towersReforecastMsg = towersReforecastMsg; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.showAOPSReforecastMsg = true;\r\n\t _this.showSpinner = false;\r\n\t });\r\n\t };\r\n\t TowersTraconsImportStepsComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/towers-tracons-import/towers-tracons-import.component.html',\r\n\t template: __webpack_require__(844),\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.DataTable, primeng_2.Column, primeng_3.Header, primeng_4.Paginator],\r\n\t providers: [towers_tracons_import_steps_service_1.TowersTraconsImportStepsService, system_control_1.SystemControl]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, towers_tracons_import_steps_service_1.TowersTraconsImportStepsService, system_control_1.SystemControl, system_control_service_1.SystemControlService])\r\n\t ], TowersTraconsImportStepsComponent);\r\n\t return TowersTraconsImportStepsComponent;\r\n\t}());\r\n\texports.TowersTraconsImportStepsComponent = TowersTraconsImportStepsComponent;\r\n\n\n/***/ },\n\n/***/ 842:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar TowersTraconsImportStepsService = (function () {\r\n\t function TowersTraconsImportStepsService(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t this._towersImporStepsLess12tUrl = \"api/systemmanagement\";\r\n\t }\r\n\t TowersTraconsImportStepsService.prototype.getTowersImportStepsLess12 = function () {\r\n\t return this.httpHelper.get(this._towersImporStepsLess12tUrl + \"/TowersImportStepsLess12\");\r\n\t };\r\n\t TowersTraconsImportStepsService.prototype.startOpsnetTowersImport = function () {\r\n\t return this.httpHelper.get(this._towersImporStepsLess12tUrl + \"/TowersOpsnetImport\");\r\n\t };\r\n\t TowersTraconsImportStepsService.prototype.reforecastAOPS = function () {\r\n\t return this.httpHelper.get(this._towersImporStepsLess12tUrl + \"/TowersReforecastAops\");\r\n\t };\r\n\t TowersTraconsImportStepsService.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t TowersTraconsImportStepsService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], TowersTraconsImportStepsService);\r\n\t return TowersTraconsImportStepsService;\r\n\t}());\r\n\texports.TowersTraconsImportStepsService = TowersTraconsImportStepsService;\r\n\n\n/***/ },\n\n/***/ 843:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar system_control_service_1 = __webpack_require__(694);\r\n\t/*@Component({\r\n\t //templateUrl: 'app/system-management/growth-rates/growth-rates-save/growth-rates-save.component.html',\r\n\t template:`
`,\r\n\t directives: [ROUTER_DIRECTIVES],\r\n\t providers:[SystemControlService]\r\n\t \r\n\t})*/\r\n\tvar SystemControl = (function () {\r\n\t function SystemControl(_systemControlService) {\r\n\t this._systemControlService = _systemControlService;\r\n\t this.callService();\r\n\t }\r\n\t SystemControl.prototype.callService = function () {\r\n\t var _this = this;\r\n\t this._systemControlService.getSystemControl()\r\n\t .subscribe(function (systemControlElem) { return _this.systemControlElem = systemControlElem; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.fyYear = _this.systemControlElem.fyYear;\r\n\t _this.ffcYear = _this.systemControlElem.ffcYear;\r\n\t _this.importStage = _this.systemControlElem.importStage;\r\n\t _this.lfcYear = _this.systemControlElem.lfcYear;\r\n\t _this.mangrLock = _this.systemControlElem.mangrLock;\r\n\t });\r\n\t };\r\n\t SystemControl = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [system_control_service_1.SystemControlService])\r\n\t ], SystemControl);\r\n\t return SystemControl;\r\n\t}());\r\n\texports.SystemControl = SystemControl;\r\n\n\n/***/ },\n\n/***/ 844:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • Save rates for each year (2014-2015,etc) National Scenario (1). \\r\\n (Start process)\\r\\n
  • \\r\\n
  • Import actual {{fyYear}} operations from OPSNET to a temporary table in TAF.\\r\\n This process is manual export from aspm OPSNET to VM then import into sql. \\r\\n
  • \\r\\n
  • Review OPSNET facilities with less/more than 12 month of operations\\r\\n
  • \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
  • Import actual 2015 operations from temporary table into airport operations \\r\\n
  • \\r\\n
    Data Import Message: {{towersImportMsg?.message}}
    \\r\\n
  • Apply Growth Rate to new base.\\r\\n
  • \\r\\n
    Data Import Message: {{towersReforecastMsg?.message}}
    \\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 845:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar new_year_rollover_component_1 = __webpack_require__(846);\r\n\tvar new_year_rollover_steps_component_1 = __webpack_require__(848);\r\n\tvar new_year_rollover_reports_component_1 = __webpack_require__(853);\r\n\texports.NewYearRolloverRoutes = [\r\n\t { path: 'new-year-rollover', component: new_year_rollover_component_1.NewYearRolloverComponent },\r\n\t { path: 'new-year-rollover-steps', component: new_year_rollover_steps_component_1.NewYearStepsComponent },\r\n\t { path: 'new-year-rollover-reports', component: new_year_rollover_reports_component_1.NewYearReportsComponent },\r\n\t];\r\n\n\n/***/ },\n\n/***/ 846:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar NewYearRolloverComponent = (function () {\r\n\t function NewYearRolloverComponent(route, router) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this.pageTitle = 'New Year Rollover';\r\n\t }\r\n\t NewYearRolloverComponent.prototype.ngOnInit = function () {\r\n\t };\r\n\t NewYearRolloverComponent.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t NewYearRolloverComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/new-year-rollover/new-year-rollover.component.html',\r\n\t template: __webpack_require__(847),\r\n\t directives: [router_1.ROUTER_DIRECTIVES],\r\n\t providers: []\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router])\r\n\t ], NewYearRolloverComponent);\r\n\t return NewYearRolloverComponent;\r\n\t}());\r\n\texports.NewYearRolloverComponent = NewYearRolloverComponent;\r\n\n\n/***/ },\n\n/***/ 847:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 848:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar new_year_rollover_steps_1 = __webpack_require__(849);\r\n\tvar new_year_rollover_steps_service_1 = __webpack_require__(850);\r\n\tvar system_control_1 = __webpack_require__(843);\r\n\tvar system_control_service_1 = __webpack_require__(694);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar NewYearStepsComponent = (function () {\r\n\t function NewYearStepsComponent(route, router, _newYearRolloverService, _systemControlService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._newYearRolloverService = _newYearRolloverService;\r\n\t this._systemControlService = _systemControlService;\r\n\t this.pageTitle = 'New Year Steps';\r\n\t this.displaySpinner = false;\r\n\t this.msgs = [];\r\n\t this.systemControl = new system_control_1.SystemControl(_systemControlService);\r\n\t this.newYearRequest = new new_year_rollover_steps_1.INewYearRollOverRequest(this.systemControl.importStage);\r\n\t }\r\n\t NewYearStepsComponent.prototype.ngOnInit = function () {\r\n\t this.newYearRolloverList = [new new_year_rollover_steps_1.INewYearRollOverDisplayElem({ stepNumber: 1, stepName: 'ManagerLock', stepDescription: '' }),\r\n\t new new_year_rollover_steps_1.INewYearRollOverDisplayElem({ stepNumber: 2, stepName: 'Set up New Year Rollover',\r\n\t stepDescription: 'The following tasks will be completed: Delete all scenario with id >1 Populate SAVED RATES Set Regional Input to false if regional input end year is less than first forecast year' }),\r\n\t new new_year_rollover_steps_1.INewYearRollOverDisplayElem({ stepNumber: 3, stepName: 'EMDF/NPIAS Facility Data Preparation', stepDescription: ' Before running step 3 make sure EMDF/NPIAS tables are populated in database. The following steps must be completed before import is permitted:Comparison list between TAF and EMDF/NPIAS prepared FAA revisions to the list made FAA revisions incorporated into import' }),\r\n\t new new_year_rollover_steps_1.INewYearRollOverDisplayElem({ stepNumber: 4, stepName: 'Import EMDF/NPIAS Facility Data', stepDescription: ' Check New Year Rollover Reports before running step 4.' }),\r\n\t new new_year_rollover_steps_1.INewYearRollOverDisplayElem({ stepNumber: 5, stepName: ' for OPSNet facilities', stepDescription: 'Bring in OPSNet tower data before running step 5.' }),\r\n\t new new_year_rollover_steps_1.INewYearRollOverDisplayElem({ stepNumber: 6, stepName: 'Tracon Ops Import for OPSNet facilities ', stepDescription: 'Bring in OPSNet TRACON data before running step 6.' }),\r\n\t new new_year_rollover_steps_1.INewYearRollOverDisplayElem({ stepNumber: 7, stepName: 'NFDC Data Preparation - Facilities, Facility Detail', stepDescription: 'The following steps must be completed before import is permitted: Comparison list between TAF and NFDC prepared APO revisions to the list made APO revisions incorporated into import' }),\r\n\t new new_year_rollover_steps_1.INewYearRollOverDisplayElem({ stepNumber: 8, stepName: 'Import NFDC Data - AOPS, Based Aircraft ', stepDescription: 'The following tasks will be completed: Import facilities Import facility details for all facilities Import AOPS for non-OPSNet facilities Import Based Aircraft for all facilities' }),\r\n\t new new_year_rollover_steps_1.INewYearRollOverDisplayElem({ stepNumber: 9, stepName: 'Enplanements Preparation', stepDescription: 'The following tasks will be completed: Mark enplanment forecasts for this fiscal year as history' }),\r\n\t new new_year_rollover_steps_1.INewYearRollOverDisplayElem({ stepNumber: 10, stepName: 'System Release', stepDescription: 'The following steps must be completed before import is permitted: Find all facilities that have operations records that were not updated from forecast to history for the current fiscal year. Report to APO all facilities that still have forecasts for the current fiscal year. Get determination from APO on how to proceed. Based on APO feedback, set forecast years to history for the current fiscal year. ' }),\r\n\t new new_year_rollover_steps_1.INewYearRollOverDisplayElem({ stepNumber: 11, stepName: 'Reforecast National Scenario based on stored rates ', stepDescription: '' }),\r\n\t ];\r\n\t };\r\n\t NewYearStepsComponent.prototype.setLfcYear = function () {\r\n\t this.newYearRequest.lfcYear = this.newForecastYearField.nativeElement.value;\r\n\t };\r\n\t NewYearStepsComponent.prototype.runSteps = function () {\r\n\t var _this = this;\r\n\t if (this.systemControl.importStage != 2)\r\n\t this.newYearRequest.lfcYear = this.systemControl.lfcYear;\r\n\t this.newYearRequest.fyYear = this.systemControl.fyYear;\r\n\t this.newYearRequest.stepNumber = this.systemControl.importStage;\r\n\t // alert(\"lfcYear \" + this.systemControl.lfcYear +\"/\"+ this.newYearRequest.lfcYear);\r\n\t // alert(\"stepNumber\" + this.systemControl.importStage +\"/\"+ this.newYearRequest.stepNumber);\r\n\t this.displaySpinner = true;\r\n\t this._newYearRolloverService.newYearRollOverRunSteps(this.newYearRequest)\r\n\t .subscribe(function (newYearResponse) { return _this.newYearResponse = newYearResponse; }, function (error) {\r\n\t _this.errorMessage = error;\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: _this.newYearResponse.message + \" \" + _this.errorMessage });\r\n\t }, function () {\r\n\t if (_this.newYearResponse.message.indexOf(\"Error\") >= 0) {\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: _this.newYearResponse.message });\r\n\t }\r\n\t else {\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: _this.newYearResponse.message });\r\n\t }\r\n\t _this.systemControl = new system_control_1.SystemControl(_this._systemControlService);\r\n\t _this.displaySpinner = false;\r\n\t //console.log(\"newYear Response Message: \" + this.newYearResponse.message);\r\n\t });\r\n\t };\r\n\t NewYearStepsComponent.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t __decorate([\r\n\t core_1.Output(), \r\n\t __metadata('design:type', system_control_1.SystemControl)\r\n\t ], NewYearStepsComponent.prototype, \"systemControl\", void 0);\r\n\t __decorate([\r\n\t core_1.ViewChild('newForecastYearField'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], NewYearStepsComponent.prototype, \"newForecastYearField\", void 0);\r\n\t NewYearStepsComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/new-year-rollover/new-year-rollover-steps/new-year-rollover-steps.component.html',\r\n\t template: __webpack_require__(851),\r\n\t //styleUrls: [\"../../../../node_modules/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css\"],\r\n\t styles: [__webpack_require__(852)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.Dialog, primeng_2.Messages],\r\n\t providers: [new_year_rollover_steps_service_1.NewYearRolloverStepsService, system_control_service_1.SystemControlService]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, new_year_rollover_steps_service_1.NewYearRolloverStepsService, system_control_service_1.SystemControlService])\r\n\t ], NewYearStepsComponent);\r\n\t return NewYearStepsComponent;\r\n\t}());\r\n\texports.NewYearStepsComponent = NewYearStepsComponent;\r\n\n\n/***/ },\n\n/***/ 849:\n/***/ function(module, exports) {\n\n\t\"use strict\";\r\n\tvar INewYearRolloverSteps = (function () {\r\n\t function INewYearRolloverSteps() {\r\n\t }\r\n\t return INewYearRolloverSteps;\r\n\t}());\r\n\texports.INewYearRolloverSteps = INewYearRolloverSteps;\r\n\tvar INewYearRollOverRequest = (function () {\r\n\t function INewYearRollOverRequest(stepNumber) {\r\n\t stepNumber = stepNumber;\r\n\t }\r\n\t return INewYearRollOverRequest;\r\n\t}());\r\n\texports.INewYearRollOverRequest = INewYearRollOverRequest;\r\n\tvar INewYearRollOverResponse = (function () {\r\n\t function INewYearRollOverResponse() {\r\n\t }\r\n\t return INewYearRollOverResponse;\r\n\t}());\r\n\texports.INewYearRollOverResponse = INewYearRollOverResponse;\r\n\tvar INewYearRollOverDisplayList = (function () {\r\n\t function INewYearRollOverDisplayList() {\r\n\t }\r\n\t return INewYearRollOverDisplayList;\r\n\t}());\r\n\texports.INewYearRollOverDisplayList = INewYearRollOverDisplayList;\r\n\tvar INewYearRollOverDisplayElem = (function () {\r\n\t function INewYearRollOverDisplayElem(options) {\r\n\t if (options) {\r\n\t this.stepNumber = options.stepNumber;\r\n\t this.stepName = options.stepName;\r\n\t this.stepDescription = options.stepDescription;\r\n\t }\r\n\t }\r\n\t return INewYearRollOverDisplayElem;\r\n\t}());\r\n\texports.INewYearRollOverDisplayElem = INewYearRollOverDisplayElem;\r\n\n\n/***/ },\n\n/***/ 850:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar NewYearRolloverStepsService = (function () {\r\n\t function NewYearRolloverStepsService(_httpHelper) {\r\n\t this._httpHelper = _httpHelper;\r\n\t this._newYearRolloverUrl = \"api/systemmanagement\";\r\n\t }\r\n\t /* getNewYearRolloverStep(): Observable {\r\n\t return this._httpHelper.get(`${this._newYearRolloverUrl}`)\r\n\t }*/\r\n\t NewYearRolloverStepsService.prototype.setManagerLockService = function (newYearRollOverRequest) {\r\n\t return this._httpHelper.post(this._newYearRolloverUrl + \"/SetManagerLock\", newYearRollOverRequest);\r\n\t };\r\n\t NewYearRolloverStepsService.prototype.newYearRollOverRunSteps = function (newYearRollOverRequest) {\r\n\t return this._httpHelper.post(this._newYearRolloverUrl + \"/NewYearRollOverRunSteps\", newYearRollOverRequest);\r\n\t };\r\n\t NewYearRolloverStepsService.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t NewYearRolloverStepsService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], NewYearRolloverStepsService);\r\n\t return NewYearRolloverStepsService;\r\n\t}());\r\n\texports.NewYearRolloverStepsService = NewYearRolloverStepsService;\r\n\n\n/***/ },\n\n/***/ 851:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
systemControl.importStage\\\">\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the 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
Current TAF Fiscal Year: {{systemControl?.fyYear}}
Current TAF First Forecast Year: {{systemControl?.ffcYear}}
Please provide NEW Parameters:
NEW TAF Fiscal Year: {{systemControl?.fyYear+1}}
NEW TAF Last Forecast Year (Press [enter] when done):
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\"\n\n/***/ },\n\n/***/ 852:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"@charset \\\"UTF-8\\\";\\r\\n.abc-checkbox {\\r\\n padding-left: 20px; }\\r\\n.abc-checkbox label {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n position: relative;\\r\\n padding-left: 5px; }\\r\\n.abc-checkbox label::before {\\r\\n cursor: pointer;\\r\\n content: \\\"\\\";\\r\\n display: inline-block;\\r\\n position: absolute;\\r\\n width: 17px;\\r\\n height: 17px;\\r\\n left: 0;\\r\\n margin-left: -20px;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 3px;\\r\\n background-color: #fff; }\\r\\n.abc-checkbox label::after {\\r\\n cursor: pointer;\\r\\n display: inline-block;\\r\\n position: absolute;\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n left: 0;\\r\\n top: 0;\\r\\n margin-left: -20px;\\r\\n padding-left: 3px;\\r\\n padding-top: 1px;\\r\\n font-size: 11px;\\r\\n color: #55595c; }\\r\\n.abc-checkbox input[type=\\\"checkbox\\\"],\\r\\n.abc-checkbox input[type=\\\"radio\\\"] {\\r\\n cursor: pointer;\\r\\n opacity: 0;\\r\\n z-index: 1; }\\r\\n.abc-checkbox input[type=\\\"checkbox\\\"]:focus + label::before,\\r\\n.abc-checkbox input[type=\\\"radio\\\"]:focus + label::before {\\r\\n outline: thin dotted;\\r\\n outline: 5px auto -webkit-focus-ring-color;\\r\\n outline-offset: -2px; }\\r\\n.abc-checkbox input[type=\\\"checkbox\\\"]:checked + label::after,\\r\\n.abc-checkbox input[type=\\\"radio\\\"]:checked + label::after {\\r\\n font-family: \\\"FontAwesome\\\";\\r\\n content: \\\"\\\"; }\\r\\n.abc-checkbox input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\r\\n.abc-checkbox input[type=\\\"radio\\\"]:indeterminate + label::after {\\r\\n display: block;\\r\\n content: \\\"\\\";\\r\\n width: 10px;\\r\\n height: 3px;\\r\\n background-color: #555555;\\r\\n border-radius: 2px;\\r\\n margin-left: -16.5px;\\r\\n margin-top: 7px; }\\r\\n.abc-checkbox input[type=\\\"checkbox\\\"]:disabled + label,\\r\\n.abc-checkbox input[type=\\\"radio\\\"]:disabled + label {\\r\\n opacity: 0.65; }\\r\\n.abc-checkbox input[type=\\\"checkbox\\\"]:disabled + label::before,\\r\\n.abc-checkbox input[type=\\\"radio\\\"]:disabled + label::before {\\r\\n background-color: #eceeef;\\r\\n cursor: not-allowed; }\\r\\n.abc-checkbox.abc-checkbox-circle label::before {\\r\\n border-radius: 50%; }\\r\\n.abc-checkbox.checkbox-inline {\\r\\n margin-top: 0; }\\r\\n\\r\\n.abc-checkbox-primary input[type=\\\"checkbox\\\"]:checked + label::before,\\r\\n.abc-checkbox-primary input[type=\\\"radio\\\"]:checked + label::before {\\r\\n background-color: #0275d8;\\r\\n border-color: #0275d8; }\\r\\n\\r\\n.abc-checkbox-primary input[type=\\\"checkbox\\\"]:checked + label::after,\\r\\n.abc-checkbox-primary input[type=\\\"radio\\\"]:checked + label::after {\\r\\n color: #fff; }\\r\\n\\r\\n.abc-checkbox-danger input[type=\\\"checkbox\\\"]:checked + label::before,\\r\\n.abc-checkbox-danger input[type=\\\"radio\\\"]:checked + label::before {\\r\\n background-color: #d9534f;\\r\\n border-color: #d9534f; }\\r\\n\\r\\n.abc-checkbox-danger input[type=\\\"checkbox\\\"]:checked + label::after,\\r\\n.abc-checkbox-danger input[type=\\\"radio\\\"]:checked + label::after {\\r\\n color: #fff; }\\r\\n\\r\\n.abc-checkbox-info input[type=\\\"checkbox\\\"]:checked + label::before,\\r\\n.abc-checkbox-info input[type=\\\"radio\\\"]:checked + label::before {\\r\\n background-color: #5bc0de;\\r\\n border-color: #5bc0de; }\\r\\n\\r\\n.abc-checkbox-info input[type=\\\"checkbox\\\"]:checked + label::after,\\r\\n.abc-checkbox-info input[type=\\\"radio\\\"]:checked + label::after {\\r\\n color: #fff; }\\r\\n\\r\\n.abc-checkbox-warning input[type=\\\"checkbox\\\"]:checked + label::before,\\r\\n.abc-checkbox-warning input[type=\\\"radio\\\"]:checked + label::before {\\r\\n background-color: #f0ad4e;\\r\\n border-color: #f0ad4e; }\\r\\n\\r\\n.abc-checkbox-warning input[type=\\\"checkbox\\\"]:checked + label::after,\\r\\n.abc-checkbox-warning input[type=\\\"radio\\\"]:checked + label::after {\\r\\n color: #fff; }\\r\\n\\r\\n.abc-checkbox-success input[type=\\\"checkbox\\\"]:checked + label::before,\\r\\n.abc-checkbox-success input[type=\\\"radio\\\"]:checked + label::before {\\r\\n background-color: #5cb85c;\\r\\n border-color: #5cb85c; }\\r\\n\\r\\n.abc-checkbox-success input[type=\\\"checkbox\\\"]:checked + label::after,\\r\\n.abc-checkbox-success input[type=\\\"radio\\\"]:checked + label::after {\\r\\n color: #fff; }\\r\\n\\r\\n.abc-checkbox-primary input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\r\\n.abc-checkbox-primary input[type=\\\"radio\\\"]:indeterminate + label::before {\\r\\n background-color: #0275d8;\\r\\n border-color: #0275d8; }\\r\\n\\r\\n.abc-checkbox-primary input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\r\\n.abc-checkbox-primary input[type=\\\"radio\\\"]:indeterminate + label::after {\\r\\n background-color: #fff; }\\r\\n\\r\\n.abc-checkbox-danger input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\r\\n.abc-checkbox-danger input[type=\\\"radio\\\"]:indeterminate + label::before {\\r\\n background-color: #d9534f;\\r\\n border-color: #d9534f; }\\r\\n\\r\\n.abc-checkbox-danger input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\r\\n.abc-checkbox-danger input[type=\\\"radio\\\"]:indeterminate + label::after {\\r\\n background-color: #fff; }\\r\\n\\r\\n.abc-checkbox-info input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\r\\n.abc-checkbox-info input[type=\\\"radio\\\"]:indeterminate + label::before {\\r\\n background-color: #5bc0de;\\r\\n border-color: #5bc0de; }\\r\\n\\r\\n.abc-checkbox-info input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\r\\n.abc-checkbox-info input[type=\\\"radio\\\"]:indeterminate + label::after {\\r\\n background-color: #fff; }\\r\\n\\r\\n.abc-checkbox-warning input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\r\\n.abc-checkbox-warning input[type=\\\"radio\\\"]:indeterminate + label::before {\\r\\n background-color: #f0ad4e;\\r\\n border-color: #f0ad4e; }\\r\\n\\r\\n.abc-checkbox-warning input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\r\\n.abc-checkbox-warning input[type=\\\"radio\\\"]:indeterminate + label::after {\\r\\n background-color: #fff; }\\r\\n\\r\\n.abc-checkbox-success input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\r\\n.abc-checkbox-success input[type=\\\"radio\\\"]:indeterminate + label::before {\\r\\n background-color: #5cb85c;\\r\\n border-color: #5cb85c; }\\r\\n\\r\\n.abc-checkbox-success input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\r\\n.abc-checkbox-success input[type=\\\"radio\\\"]:indeterminate + label::after {\\r\\n background-color: #fff; }\\r\\n\\r\\n.abc-radio {\\r\\n padding-left: 20px; }\\r\\n.abc-radio label {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n position: relative;\\r\\n padding-left: 5px; }\\r\\n.abc-radio label::before {\\r\\n content: \\\"\\\";\\r\\n cursor: pointer;\\r\\n display: inline-block;\\r\\n position: absolute;\\r\\n width: 17px;\\r\\n height: 17px;\\r\\n left: 0;\\r\\n margin-left: -20px;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 50%;\\r\\n background-color: #fff; }\\r\\n.abc-radio label::after {\\r\\n cursor: pointer;\\r\\n display: inline-block;\\r\\n position: absolute;\\r\\n content: \\\" \\\";\\r\\n width: 11px;\\r\\n height: 11px;\\r\\n left: 3px;\\r\\n top: 3px;\\r\\n margin-left: -20px;\\r\\n border-radius: 50%;\\r\\n background-color: #55595c;\\r\\n transform: scale(0, 0);\\r\\n transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); }\\r\\n.abc-radio input[type=\\\"radio\\\"] {\\r\\n cursor: pointer;\\r\\n opacity: 0;\\r\\n z-index: 1; }\\r\\n.abc-radio input[type=\\\"radio\\\"]:focus + label::before {\\r\\n outline: thin dotted;\\r\\n outline: 5px auto -webkit-focus-ring-color;\\r\\n outline-offset: -2px; }\\r\\n.abc-radio input[type=\\\"radio\\\"]:checked + label::after {\\r\\n transform: scale(1, 1); }\\r\\n.abc-radio input[type=\\\"radio\\\"]:disabled + label {\\r\\n opacity: 0.65; }\\r\\n.abc-radio input[type=\\\"radio\\\"]:disabled + label::before {\\r\\n cursor: not-allowed; }\\r\\n.abc-radio.radio-inline {\\r\\n margin-top: 0; }\\r\\n\\r\\n.abc-radio-primary input[type=\\\"radio\\\"] + label::after {\\r\\n background-color: #0275d8; }\\r\\n\\r\\n.abc-radio-primary input[type=\\\"radio\\\"]:checked + label::before {\\r\\n border-color: #0275d8; }\\r\\n\\r\\n.abc-radio-primary input[type=\\\"radio\\\"]:checked + label::after {\\r\\n background-color: #0275d8; }\\r\\n\\r\\n.abc-radio-danger input[type=\\\"radio\\\"] + label::after {\\r\\n background-color: #d9534f; }\\r\\n\\r\\n.abc-radio-danger input[type=\\\"radio\\\"]:checked + label::before {\\r\\n border-color: #d9534f; }\\r\\n\\r\\n.abc-radio-danger input[type=\\\"radio\\\"]:checked + label::after {\\r\\n background-color: #d9534f; }\\r\\n\\r\\n.abc-radio-info input[type=\\\"radio\\\"] + label::after {\\r\\n background-color: #5bc0de; }\\r\\n\\r\\n.abc-radio-info input[type=\\\"radio\\\"]:checked + label::before {\\r\\n border-color: #5bc0de; }\\r\\n\\r\\n.abc-radio-info input[type=\\\"radio\\\"]:checked + label::after {\\r\\n background-color: #5bc0de; }\\r\\n\\r\\n.abc-radio-warning input[type=\\\"radio\\\"] + label::after {\\r\\n background-color: #f0ad4e; }\\r\\n\\r\\n.abc-radio-warning input[type=\\\"radio\\\"]:checked + label::before {\\r\\n border-color: #f0ad4e; }\\r\\n\\r\\n.abc-radio-warning input[type=\\\"radio\\\"]:checked + label::after {\\r\\n background-color: #f0ad4e; }\\r\\n\\r\\n.abc-radio-success input[type=\\\"radio\\\"] + label::after {\\r\\n background-color: #5cb85c; }\\r\\n\\r\\n.abc-radio-success input[type=\\\"radio\\\"]:checked + label::before {\\r\\n border-color: #5cb85c; }\\r\\n\\r\\n.abc-radio-success input[type=\\\"radio\\\"]:checked + label::after {\\r\\n background-color: #5cb85c; }\\r\\n\\r\\ninput[type=\\\"checkbox\\\"].styled:checked + label:after,\\r\\ninput[type=\\\"radio\\\"].styled:checked + label:after {\\r\\n font-family: \\\"FontAwesome\\\";\\r\\n content: \\\"\\\"; }\\r\\n\\r\\ninput[type=\\\"checkbox\\\"] .styled:checked + label::before,\\r\\ninput[type=\\\"radio\\\"] .styled:checked + label::before {\\r\\n color: #fff; }\\r\\n\\r\\ninput[type=\\\"checkbox\\\"] .styled:checked + label::after,\\r\\ninput[type=\\\"radio\\\"] .styled:checked + label::after {\\r\\n color: #fff; }\\r\\n\"\n\n/***/ },\n\n/***/ 853:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar new_year_rollover_reports_service_1 = __webpack_require__(854);\r\n\tvar system_control_1 = __webpack_require__(843);\r\n\tvar system_control_service_1 = __webpack_require__(694);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar primeng_4 = __webpack_require__(708);\r\n\tvar primeng_5 = __webpack_require__(708);\r\n\tvar primeng_6 = __webpack_require__(708);\r\n\tvar NewYearReportsComponent = (function () {\r\n\t function NewYearReportsComponent(route, router, _newYearReportsService, _systemControlService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._newYearReportsService = _newYearReportsService;\r\n\t this._systemControlService = _systemControlService;\r\n\t this.pageTitle = 'New Year Reports';\r\n\t this.displaySpinner = false;\r\n\t this.displayDialog = false;\r\n\t this.msgs = [];\r\n\t this.systemControl = new system_control_1.SystemControl(_systemControlService);\r\n\t }\r\n\t NewYearReportsComponent.prototype.ngOnInit = function () {\r\n\t };\r\n\t NewYearReportsComponent.prototype.getFacToBeInserted = function () {\r\n\t var _this = this;\r\n\t this.displaySpinner = true;\r\n\t //console.log(\"getFacToBeInserted\");\r\n\t this._newYearReportsService.getNpiasToBeInserted()\r\n\t .subscribe(function (npiasToBeInserted) { return _this.npiasToBeInserted = npiasToBeInserted; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.displaySpinner = false;\r\n\t document.getElementById('facToBeInserted').style.display = 'block';\r\n\t //this.years = _.map(this.traconLocid,'value');\r\n\t //console.log(\"npiasToBeInserted \" + this.npiasToBeInserted);\r\n\t });\r\n\t this.cols = [\r\n\t { field: \"locid\", header: 'Locid' },\r\n\t { field: \"state\", header: 'State' },\r\n\t { field: \"region\", header: 'Region' },\r\n\t { field: \"facType\", header: 'Facility Class' },\r\n\t { field: \"hubSize\", header: 'Hub Size' },\r\n\t { field: \"iopsNoAdd\", header: 'Iops NoAdd' },\r\n\t { field: \"facLevel\", header: 'Facility Level' },\r\n\t { field: \"centerId\", header: 'Center Id' },\r\n\t { field: \"iopsId\", header: 'Iops Id' },\r\n\t ];\r\n\t };\r\n\t NewYearReportsComponent.prototype.getFacToBedeleted = function () {\r\n\t var _this = this;\r\n\t this.displaySpinner = true;\r\n\t console.log(\"getFacToBedeleted\");\r\n\t this._newYearReportsService.getNpiasToBeDeleted()\r\n\t .subscribe(function (npiasToBeDeleted) { return _this.npiasToBeDeleted = npiasToBeDeleted; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.displaySpinner = false;\r\n\t document.getElementById('facToBedeleted').style.display = 'block';\r\n\t //this.years = _.map(this.traconLocid,'value');\r\n\t //console.log(\"npiasToBeDeleted \" + this.npiasToBeDeleted);\r\n\t });\r\n\t this.cols = [\r\n\t { field: \"locid\", header: 'Locid' },\r\n\t { field: \"state\", header: 'State' },\r\n\t { field: \"region\", header: 'Region' },\r\n\t { field: \"facType\", header: 'Facility Class' },\r\n\t { field: \"hubSize\", header: 'Hub Size' },\r\n\t { field: \"iopsNoAdd\", header: 'Iops NoAdd' },\r\n\t { field: \"facLevel\", header: 'Facility Level' },\r\n\t { field: \"centerId\", header: 'Center Id' },\r\n\t { field: \"iopsId\", header: 'Iops Id' },\r\n\t ];\r\n\t };\r\n\t NewYearReportsComponent.prototype.getFacSameSite = function () {\r\n\t var _this = this;\r\n\t this.displaySpinner = true;\r\n\t //console.log(\"facSameSite\");\r\n\t this._newYearReportsService.getNpiasSameSite()\r\n\t .subscribe(function (npiasSameSite) { return _this.npiasSameSite = npiasSameSite; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.displaySpinner = false;\r\n\t document.getElementById('facSameSite').style.display = 'block';\r\n\t //this.years = _.map(this.traconLocid,'value');\r\n\t //console.log(\"facSameSite \" + this.npiasSameSite);\r\n\t });\r\n\t this.cols = [\r\n\t { field: \"locidTaf\", header: 'TAF Locid' },\r\n\t { field: \"locidNpias\", header: 'NPIAS Locid' },\r\n\t { field: \"siteTaf\", header: 'TAF Site' },\r\n\t { field: \"siteNpias\", header: 'NPIAS Site' },\r\n\t { field: \"regionTaf\", header: 'TAF Region' },\r\n\t { field: \"regionNpias\", header: 'NPIAS Region' },\r\n\t { field: \"AportNameTaf\", header: 'TAF Airport Name' },\r\n\t { field: \"AportNameNpias\", header: 'NPIAS Airport Name' },\r\n\t ];\r\n\t };\r\n\t NewYearReportsComponent.prototype.getFacDiffSite = function () {\r\n\t var _this = this;\r\n\t this.displaySpinner = true;\r\n\t //console.log(\"npiasDiffSite\");\r\n\t this._newYearReportsService.getNpiasDiffSite()\r\n\t .subscribe(function (npiasDiffSite) { return _this.npiasDiffSite = npiasDiffSite; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.displaySpinner = false;\r\n\t document.getElementById('npiasDiffSite').style.display = 'block';\r\n\t //this.years = _.map(this.traconLocid,'value');\r\n\t //console.log(\"npiasDiffSite \" + this.npiasDiffSite);\r\n\t });\r\n\t this.cols = [\r\n\t { field: \"locidTaf\", header: 'TAF Locid' },\r\n\t { field: \"locidNpias\", header: 'NPIAS Locid' },\r\n\t { field: \"siteTaf\", header: 'TAF Site' },\r\n\t { field: \"siteNpias\", header: 'NPIAS Site' },\r\n\t { field: \"regionTaf\", header: 'TAF Region' },\r\n\t { field: \"regionNpias\", header: 'NPIAS Region' },\r\n\t { field: \"AportNameTaf\", header: 'TAF Airport Name' },\r\n\t { field: \"AportNameNpias\", header: 'NPIAS Airport Name' },\r\n\t ];\r\n\t };\r\n\t NewYearReportsComponent.prototype.getNpiasMissingFields = function () {\r\n\t var _this = this;\r\n\t this.displaySpinner = true;\r\n\t //console.log(\"facMissingFields\");\r\n\t this._newYearReportsService.getNpiasMissingFields()\r\n\t .subscribe(function (npiasMissingFields) { return _this.npiasMissingFields = npiasMissingFields; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.displaySpinner = false;\r\n\t document.getElementById('facMissingFields').style.display = 'block';\r\n\t //this.years = _.map(this.traconLocid,'value');\r\n\t //console.log(\"facMissingFields \" + this.npiasMissingFields);\r\n\t });\r\n\t this.cols = [\r\n\t { field: \"locid\", header: 'Locid' },\r\n\t { field: \"region\", header: 'Region' },\r\n\t { field: \"aportName\", header: 'Airport Name' },\r\n\t { field: \"city\", header: 'City' },\r\n\t { field: \"state\", header: 'State' },\r\n\t { field: \"site\", header: 'Site' },\r\n\t { field: \"naspno\", header: 'Naspno' },\r\n\t { field: \"latitude\", header: 'Latitude' },\r\n\t { field: \"longitude\", header: 'Longitude' },\r\n\t ];\r\n\t };\r\n\t NewYearReportsComponent.prototype.setHistory = function () {\r\n\t var _this = this;\r\n\t this.displaySpinner = true;\r\n\t //console.log(\"setDataSetHistory\");\r\n\t this._newYearReportsService.setLocidHistory()\r\n\t .subscribe(function (npiasMissingFields) { return _this.npiasMissingFields = npiasMissingFields; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.displaySpinner = false;\r\n\t document.getElementById('setDataSetHistory').style.display = 'block';\r\n\t //this.years = _.map(this.traconLocid,'value');\r\n\t //console.log(\"setDataSetHistory \" + this.npiasMissingFields);\r\n\t });\r\n\t this.cols = [\r\n\t { field: \"locid\", header: 'Locid' },\r\n\t ];\r\n\t };\r\n\t NewYearReportsComponent.prototype.onRowSelect = function (event) {\r\n\t this.locid = event.data.locid;\r\n\t this.displayDialog = true;\r\n\t };\r\n\t NewYearReportsComponent.prototype.delete = function () {\r\n\t var _this = this;\r\n\t var params = {\r\n\t locId: this.locid\r\n\t };\r\n\t this._newYearReportsService.deleteNpiasLocid(params)\r\n\t .subscribe(function (response) {\r\n\t _this.response = response;\r\n\t // console.log(\"response: \"+ this.response.message + \" Error string index:\"+ this.response.message.indexOf(\"Error\") );\r\n\t if (_this.response.message.indexOf(\"Error\") >= 0) {\r\n\t _this.displayDialog = false;\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: _this.response.message });\r\n\t console.error(_this.response.message);\r\n\t }\r\n\t else {\r\n\t _this.displayDialog = false;\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: _this.response.message });\r\n\t }\r\n\t }, function (error) {\r\n\t _this.displayDialog = false;\r\n\t _this.errorMessage = \"An error occured while trying to update the facility.\";\r\n\t console.error(error);\r\n\t });\r\n\t };\r\n\t NewYearReportsComponent.prototype.hideNpiasLocidToBeDeleted = function () {\r\n\t document.getElementById('facToBedeleted').style.display = 'none';\r\n\t };\r\n\t NewYearReportsComponent.prototype.hideNpiasLocidToBeInserted = function () {\r\n\t document.getElementById('facToBeInserted').style.display = 'none';\r\n\t };\r\n\t NewYearReportsComponent.prototype.hideNpiasLocidSameSite = function () {\r\n\t document.getElementById('facSameSite').style.display = 'none';\r\n\t };\r\n\t NewYearReportsComponent.prototype.hideNpiasLocidDiffSite = function () {\r\n\t document.getElementById('facDiffSite').style.display = 'none';\r\n\t };\r\n\t NewYearReportsComponent.prototype.hideNpiasMissingFields = function () {\r\n\t document.getElementById('facMissingFields').style.display = 'none';\r\n\t };\r\n\t NewYearReportsComponent.prototype.hideSetHistory = function () {\r\n\t document.getElementById('setDataSetHistory').style.display = 'none';\r\n\t };\r\n\t NewYearReportsComponent.prototype.insert = function () {\r\n\t var _this = this;\r\n\t var params = {\r\n\t locId: this.locid\r\n\t };\r\n\t this._newYearReportsService.insertNpiasLocid(params)\r\n\t .subscribe(function (response) {\r\n\t _this.response = response;\r\n\t //console.log(\"response: \"+ this.response.message + \" Error string index:\"+ this.response.message.indexOf(\"Error\") );\r\n\t if (_this.response.message.indexOf(\"Error\") >= 0) {\r\n\t _this.displayDialog = false;\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: _this.response.message });\r\n\t _this.getFacToBedeleted();\r\n\t console.error(_this.response.message);\r\n\t }\r\n\t else {\r\n\t _this.displayDialog = false;\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: _this.response.message });\r\n\t }\r\n\t }, function (error) {\r\n\t _this.displayDialog = false;\r\n\t _this.errorMessage = \"An error occured while trying to update the facility.\";\r\n\t console.error(error);\r\n\t });\r\n\t };\r\n\t NewYearReportsComponent.prototype.ngOnDestroy = function () {\r\n\t //alert(\"onDestroy\");\r\n\t //this.sub.unsubscribe();\r\n\t };\r\n\t __decorate([\r\n\t core_1.Output(), \r\n\t __metadata('design:type', system_control_1.SystemControl)\r\n\t ], NewYearReportsComponent.prototype, \"systemControl\", void 0);\r\n\t NewYearReportsComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/new-year-rollover/new-year-rollover-steps/new-year-rollover-steps.component.html',\r\n\t template: __webpack_require__(855),\r\n\t //styleUrls: [\"../../../../node_modules/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css\"],\r\n\t styles: [__webpack_require__(852)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.Dialog, primeng_2.Messages, primeng_3.DataTable, primeng_4.Column, primeng_5.Header, primeng_6.Paginator],\r\n\t providers: [new_year_rollover_reports_service_1.NewYearReportsService]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, new_year_rollover_reports_service_1.NewYearReportsService, system_control_service_1.SystemControlService])\r\n\t ], NewYearReportsComponent);\r\n\t return NewYearReportsComponent;\r\n\t}());\r\n\texports.NewYearReportsComponent = NewYearReportsComponent;\r\n\n\n/***/ },\n\n/***/ 854:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar NewYearReportsService = (function () {\r\n\t function NewYearReportsService(_httpHelper) {\r\n\t this._httpHelper = _httpHelper;\r\n\t this._newYearRolloverUrl = \"api/systemmanagement\";\r\n\t }\r\n\t /* getNewYearRolloverStep(): Observable {\r\n\t return this._httpHelper.get(`${this._newYearRolloverUrl}`)\r\n\t }*/\r\n\t NewYearReportsService.prototype.setLocidHistory = function () {\r\n\t return this._httpHelper.get(this._newYearRolloverUrl + \"/SetHistoryList\");\r\n\t };\r\n\t NewYearReportsService.prototype.getNpiasMissingFields = function () {\r\n\t return this._httpHelper.get(this._newYearRolloverUrl + \"/NpiasMissingFieldsLocidList\");\r\n\t };\r\n\t NewYearReportsService.prototype.getNpiasDiffSite = function () {\r\n\t return this._httpHelper.get(this._newYearRolloverUrl + \"/NpiasDiffSiteSameLocidList\");\r\n\t };\r\n\t NewYearReportsService.prototype.getNpiasSameSite = function () {\r\n\t return this._httpHelper.get(this._newYearRolloverUrl + \"/NpiasSameSiteDiffLocidList\");\r\n\t };\r\n\t NewYearReportsService.prototype.getNpiasToBeInserted = function () {\r\n\t return this._httpHelper.get(this._newYearRolloverUrl + \"/NpiasToBeInsertedLocidList\");\r\n\t };\r\n\t NewYearReportsService.prototype.getNpiasToBeDeleted = function () {\r\n\t return this._httpHelper.get(this._newYearRolloverUrl + \"/NpiasToBeDeletedLocidList\");\r\n\t };\r\n\t NewYearReportsService.prototype.deleteNpiasLocid = function (request) {\r\n\t return this._httpHelper.post(this._newYearRolloverUrl + \"/NpiasDeleteLocid\", request);\r\n\t };\r\n\t NewYearReportsService.prototype.insertNpiasLocid = function (request) {\r\n\t return this._httpHelper.post(this._newYearRolloverUrl + \"/NpiasInsertLocid\", request);\r\n\t };\r\n\t NewYearReportsService.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t NewYearReportsService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], NewYearReportsService);\r\n\t return NewYearReportsService;\r\n\t}());\r\n\texports.NewYearReportsService = NewYearReportsService;\r\n\n\n/***/ },\n\n/***/ 855:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n NPIAS Check\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n To be deleted (In TAF not in NPIAS)\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n To be inserted (In NPIAS not in TAF)\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Same site number different Locid \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Different site number different Locid \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Missing one or more fields (city,aportname, region) \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n EMDF Check\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n AOPS Import\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n TRACON Import\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Fiscal Year ({{systemControl.fyYear}}) not set to history \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Set AOPS/Enpl/BA/Tracons to history\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\"\n\n/***/ },\n\n/***/ 856:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar tracon_model_component_1 = __webpack_require__(857);\r\n\tvar auth_guard_service_1 = __webpack_require__(696);\r\n\texports.TraconModelRoutes = [\r\n\t { path: 'tracon-model', component: tracon_model_component_1.TraconModelComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t];\r\n\n\n/***/ },\n\n/***/ 857:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar tracon_model_service_1 = __webpack_require__(858);\r\n\tvar tracon_model_1 = __webpack_require__(859);\r\n\tvar _ = __webpack_require__(680);\r\n\tvar TraconModelComponent = (function () {\r\n\t function TraconModelComponent(route, router, _traconModelService, _user) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._traconModelService = _traconModelService;\r\n\t this._user = _user;\r\n\t this.pageTitle = 'Tracon Model';\r\n\t this.traconRequest = new tracon_model_1.ITraconModelRequest(\"A11\", 2012, _user.getSession().scenarioId, 2012, 2045);\r\n\t this.showTableSummary = false;\r\n\t }\r\n\t TraconModelComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._traconModelService.getTraconList()\r\n\t .subscribe(function (traconLocid) { return _this.traconLocid = traconLocid; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.locid = _.map(_this.traconLocid, 'value');\r\n\t // function(o){console.log(\"func:\" +o.key);return o.key;});\r\n\t //_.map(JSON.parse(JSON.stringify(_.fromPairs(this.traconLocid))),'key');\r\n\t /*_.forOwn((this.traconLocid), function(value, key) {\r\n\t console.log(value.value);\r\n\t return value.value;\r\n\t });*/\r\n\t });\r\n\t this._traconModelService.getYearsList()\r\n\t .subscribe(function (traconLocid) { return _this.traconLocid = traconLocid; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.years = _.map(_this.traconLocid, 'value');\r\n\t });\r\n\t };\r\n\t TraconModelComponent.prototype.onTraconLocidChange = function (event) {\r\n\t var select = event.target;\r\n\t this.traconRequest.traconId = select.value;\r\n\t };\r\n\t TraconModelComponent.prototype.onYearsChange = function (event) {\r\n\t var select = event.target;\r\n\t //alert(typeof(select.value));\r\n\t this.traconRequest.ayear = +select.value;\r\n\t //alert(this.traconRequest.ayear);\r\n\t };\r\n\t TraconModelComponent.prototype.generateReport = function () {\r\n\t var _this = this;\r\n\t this._traconModelService.getTraconResult(this.traconRequest)\r\n\t .subscribe(function (traconResponse) { return _this.traconResponse = traconResponse; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.showTableSummary = false;\r\n\t //this.years = _.map(this.traconLocid,'value');\r\n\t //console.log(\"traconResponseLocid \" + this.traconResponse);\r\n\t });\r\n\t };\r\n\t TraconModelComponent.prototype.generateSummaryReport = function () {\r\n\t var _this = this;\r\n\t //console.log(\"cancel\");\r\n\t this._traconModelService.getTraconSummaryResult(this.traconRequest)\r\n\t .subscribe(function (traconSummaryResponse) { return _this.traconSummaryResponse = traconSummaryResponse; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.showTableSummary = true;\r\n\t //this.years = _.map(this.traconLocid,'value');\r\n\t console.log(\"traconSummaryResponse \" + _this.traconSummaryResponse);\r\n\t });\r\n\t };\r\n\t TraconModelComponent.prototype.reforecastAopsIfr = function () {\r\n\t var _this = this;\r\n\t //console.log(\"cancel\");\r\n\t this._traconModelService.reforecastAopsIfr(this.traconRequest)\r\n\t .subscribe(function (traconReforecastAopsIfr) { return _this.traconReforecastAopsIfr = traconReforecastAopsIfr; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t //console.log(\"traconSummaryResponse \" + this.traconReforecastAopsIfr);\r\n\t });\r\n\t };\r\n\t TraconModelComponent.prototype.reforecastTracon = function () {\r\n\t var _this = this;\r\n\t //console.log(\"cancel\");\r\n\t this._traconModelService.reforecastAopsIfr(this.traconRequest)\r\n\t .subscribe(function (traconReforecast) { return _this.traconReforecast = traconReforecast; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t //console.log(\"traconSummaryResponse \" + this.traconReforecast);\r\n\t });\r\n\t };\r\n\t TraconModelComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/towers-tracons-import/towers-tracons-import.component.html',\r\n\t template: __webpack_require__(860),\r\n\t styles: [__webpack_require__(861)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES],\r\n\t providers: [tracon_model_service_1.TraconModelService]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, tracon_model_service_1.TraconModelService, user_session_1.UserSession])\r\n\t ], TraconModelComponent);\r\n\t return TraconModelComponent;\r\n\t}());\r\n\texports.TraconModelComponent = TraconModelComponent;\r\n\n\n/***/ },\n\n/***/ 858:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Observable_1 = __webpack_require__(70);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar TraconModelService = (function () {\r\n\t function TraconModelService(_httpHelper) {\r\n\t this._httpHelper = _httpHelper;\r\n\t this._genericUrl = \"api/data/\";\r\n\t this._traconReportUrl = \"api/systemmanagement\";\r\n\t }\r\n\t TraconModelService.prototype.getTraconList = function () {\r\n\t return this._httpHelper.get(this._genericUrl + \"/tracon\");\r\n\t };\r\n\t TraconModelService.prototype.getYearsList = function () {\r\n\t return this._httpHelper.get(this._genericUrl + \"/years\");\r\n\t };\r\n\t TraconModelService.prototype.getTraconResult = function (traconRequest) {\r\n\t return this._httpHelper.post(this._traconReportUrl + \"/GetTraconResult\", traconRequest);\r\n\t };\r\n\t TraconModelService.prototype.getTraconSummaryResult = function (traconRequest) {\r\n\t return this._httpHelper.post(this._traconReportUrl + \"/GetTraconSummaryResult\", traconRequest);\r\n\t };\r\n\t TraconModelService.prototype.reforecastAopsIfr = function (traconRequest) {\r\n\t return this._httpHelper.post(this._traconReportUrl + \"/ReforecastAopsIfr\", traconRequest);\r\n\t };\r\n\t TraconModelService.prototype.reforecastTracon = function (traconRequest) {\r\n\t return this._httpHelper.post(this._traconReportUrl + \"/ReforecastTracon\", traconRequest);\r\n\t };\r\n\t TraconModelService.prototype.handleError = function (error) {\r\n\t // in a real world app, we may send the server to some remote logging infrastructure\r\n\t // instead of just logging it to the console\r\n\t console.error(error);\r\n\t return Observable_1.Observable.throw(error.json().error || 'Server error');\r\n\t };\r\n\t TraconModelService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], TraconModelService);\r\n\t return TraconModelService;\r\n\t}());\r\n\texports.TraconModelService = TraconModelService;\r\n\n\n/***/ },\n\n/***/ 859:\n/***/ function(module, exports) {\n\n\t\"use strict\";\r\n\tvar ITraconLocid = (function () {\r\n\t function ITraconLocid() {\r\n\t }\r\n\t return ITraconLocid;\r\n\t}());\r\n\texports.ITraconLocid = ITraconLocid;\r\n\tvar ITraconModelRequest = (function () {\r\n\t function ITraconModelRequest(traconId, ayear, scenarioId, sYear, eYear) {\r\n\t this.traconId = traconId;\r\n\t this.ayear = ayear;\r\n\t this.scenarioId = scenarioId;\r\n\t this.sYear = sYear;\r\n\t this.eYear = eYear;\r\n\t }\r\n\t return ITraconModelRequest;\r\n\t}());\r\n\texports.ITraconModelRequest = ITraconModelRequest;\r\n\tvar IYears = (function () {\r\n\t function IYears() {\r\n\t }\r\n\t return IYears;\r\n\t}());\r\n\texports.IYears = IYears;\r\n\tvar ITraconModelResponse = (function () {\r\n\t function ITraconModelResponse() {\r\n\t var message = 'a';\r\n\t }\r\n\t return ITraconModelResponse;\r\n\t}());\r\n\texports.ITraconModelResponse = ITraconModelResponse;\r\n\tvar ITraconModelSummaryResponse = (function () {\r\n\t function ITraconModelSummaryResponse() {\r\n\t }\r\n\t return ITraconModelSummaryResponse;\r\n\t}());\r\n\texports.ITraconModelSummaryResponse = ITraconModelSummaryResponse;\r\n\tvar ITraconModelReforecastAOPSIFR = (function () {\r\n\t function ITraconModelReforecastAOPSIFR() {\r\n\t }\r\n\t return ITraconModelReforecastAOPSIFR;\r\n\t}());\r\n\texports.ITraconModelReforecastAOPSIFR = ITraconModelReforecastAOPSIFR;\r\n\n\n/***/ },\n\n/***/ 860:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Select a Tracon:\\r\\n \\r\\n
\\r\\n
\\r\\n Select base year:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

\\r\\n
\\r\\n Next three steps run for selected scenario!\\r\\n

\\r\\n

\\r\\n

\\r\\n

\\r\\n

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

\\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
\\r\\n
\\r\\n Message: {{ traconReforecastAopsIfr?.message }}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
\\r\\n
\\r\\n Message: {{ traconReforecast?.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

TRACON Operations Forecast Report

\\r\\n
YEAR LOCID Air CarrierAir TaxiGAMilitaryOverflights
{{trResp.aYear}}{{trResp.locid}}{{trResp.ifrItnAc}}{{trResp.ifrItnAt}}{{trResp.ifrItnGa}}{{trResp.ifrItnMi}}{{trResp.totOvers}}
\\r\\n \\r\\n \\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 Tracon Level
{{trResp.fYear}}{{trResp.sumFYear}}
\\r\\n \\r\\n \\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 Tracon GrowthRate
{{trResp.lYear}}-{{trResp.fYear}}{{trResp.traconYearlyRate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n/***/ },\n\n/***/ 861:\n/***/ function(module, exports) {\n\n\tmodule.exports = \".P {page-break-after: always}\\r\\n.THEAD{ display: table-header-group; }\\r\\n\\r\\n#traconContent THEAD TR {\\r\\n\\t BACKGROUND: #fff;\\r\\n\\t\\tCOLOR: #000;\\r\\n\\t }\\r\\n#traconContent THEAD TR TH{\\r\\n\\t\\t FONT-WEIGHT: bold;\\r\\n\\t\\t FONT-SIZE:20px;\\r\\n\\t\\t COLOR: #fff;\\r\\n\\t\\tTEXT-ALIGN: center;\\r\\n\\t }\\r\\n#traconContent THEAD TR TD{\\r\\n\\t\\t FONT-SIZE: 12px;\\r\\n\\t\\t BACKGROUND: #e93f3f;\\r\\n\\t\\t COLOR: #fff;\\r\\n\\t }\\r\\n#traconContent TBODY TD{\\r\\n\\t\\t BACKGROUND: #fff;\\r\\n\\t\\t FONT-SIZE: 9px;\\r\\n\\t }\\r\\n\"\n\n/***/ },\n\n/***/ 862:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar regional_review_service_1 = __webpack_require__(863);\r\n\tvar RegionalReviewComponent = (function () {\r\n\t function RegionalReviewComponent(route, router) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this.pageTitle = 'Regional Review';\r\n\t }\r\n\t RegionalReviewComponent.prototype.ngOnInit = function () { };\r\n\t RegionalReviewComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/system-management/towers-tracons-import/towers-tracons-import.component.html',\r\n\t template: __webpack_require__(864),\r\n\t //styles: [require('./tracon-model.css')],\r\n\t directives: [router_1.ROUTER_DIRECTIVES],\r\n\t providers: [regional_review_service_1.RegionalReviewService]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router])\r\n\t ], RegionalReviewComponent);\r\n\t return RegionalReviewComponent;\r\n\t}());\r\n\texports.RegionalReviewComponent = RegionalReviewComponent;\r\n\n\n/***/ },\n\n/***/ 863:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\t__webpack_require__(524);\r\n\t__webpack_require__(494);\r\n\tvar RegionalReviewService = (function () {\r\n\t function RegionalReviewService() {\r\n\t }\r\n\t RegionalReviewService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [])\r\n\t ], RegionalReviewService);\r\n\t return RegionalReviewService;\r\n\t}());\r\n\texports.RegionalReviewService = RegionalReviewService;\r\n\n\n/***/ },\n\n/***/ 864:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 865:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar scenario_activities_component_1 = __webpack_require__(866);\r\n\tvar scenario_create_component_1 = __webpack_require__(868);\r\n\tvar scenario_create_results_component_1 = __webpack_require__(870);\r\n\tvar scenario_select_facilities_component_1 = __webpack_require__(872);\r\n\tvar scenario_delete_list_component_1 = __webpack_require__(876);\r\n\tvar scenario_update_component_1 = __webpack_require__(878);\r\n\tvar scenario_modify_facilities_component_1 = __webpack_require__(880);\r\n\tvar scenario_reforecast_component_1 = __webpack_require__(882);\r\n\tvar scenario_reforecast_complete_component_1 = __webpack_require__(888);\r\n\tvar auth_guard_service_1 = __webpack_require__(696);\r\n\texports.ScenarioActivitiesRoutes = [\r\n\t { path: 'scenario-activities', component: scenario_activities_component_1.ScenarioActivitiesComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'scenario-create', component: scenario_create_component_1.ScenarioCreateComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'scenario-create-results', component: scenario_create_results_component_1.ScenarioCreateResultsComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'scenario-select-facilities', component: scenario_select_facilities_component_1.ScenarioSelectFacilitiesComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'scenario-delete', component: scenario_delete_list_component_1.ScenarioDeleteListComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'scenario-update', component: scenario_update_component_1.ScenarioUpdateComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'scenario-modify-facilities', component: scenario_modify_facilities_component_1.ScenarioModifyFacilitiesComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'scenario-reforecast', component: scenario_reforecast_component_1.ScenarioReforecastComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'scenario-reforecast-complete', component: scenario_reforecast_complete_component_1.ScenarioReforecastCompleteComponent, canActivate: [auth_guard_service_1.AuthGuard] }\r\n\t];\r\n\n\n/***/ },\n\n/***/ 866:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar auth_service_1 = __webpack_require__(679);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar ScenarioActivitiesComponent = (function () {\r\n\t function ScenarioActivitiesComponent(route, router, _scenarioService, _User, authService, _userInfoService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._scenarioService = _scenarioService;\r\n\t this._User = _User;\r\n\t this.authService = authService;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.pageTitle = 'Scenario Activities';\r\n\t }\r\n\t ScenarioActivitiesComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._scenarioService.getScenarios(this._User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t if (_this._User.hasValidSession()) {\r\n\t console.log(\"this._User \" + _this._User.getSession().scenarioId);\r\n\t _this.setScenarioHeader(_this._User.getSession().scenarioId);\r\n\t }\r\n\t else {\r\n\t _this.setScenarioHeader(_this._User.scenarioId);\r\n\t _this._User.updateSessionState();\r\n\t }\r\n\t });\r\n\t this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\t if (typeof (this._User.scenarioId) === 'undefined')\r\n\t this.router.navigate(['./scenario-activities']);\r\n\t };\r\n\t ScenarioActivitiesComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t this.scenarioHeaderDiv.innerHTML = \"Current Scenario: \" + this.currentScenario.scenarioName + \" (\" + this.currentScenario.id + \")\";\r\n\t };\r\n\t __decorate([\r\n\t core_1.ViewChild('scenarioHeader'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], ScenarioActivitiesComponent.prototype, \"scenarioHeader\", void 0);\r\n\t ScenarioActivitiesComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(867),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, scenario_service_1.ScenarioService, user_session_1.UserSession, auth_service_1.AuthService, user_info_service_1.UserInfoService])\r\n\t ], ScenarioActivitiesComponent);\r\n\t return ScenarioActivitiesComponent;\r\n\t}());\r\n\texports.ScenarioActivitiesComponent = ScenarioActivitiesComponent;\r\n\n\n/***/ },\n\n/***/ 867:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n
\\r\\n {{pageTitle}}\\r\\n
\\r\\n
\\r\\n

Your Options:

\\r\\n
\\r\\n
\\r\\n
\\r\\n Create a Scenario\\r\\n
\\r\\n
\\r\\n
Create a New Scenario
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Move and Copy Facilities between Scenarios, Delete Facilities
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Delete a Scenario\\r\\n
\\r\\n
\\r\\n
Delete a Scenario and all Associated Forecast Data
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Update a Scenario\\r\\n
\\r\\n
\\r\\n
Merge scenarios
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Reforecast selected scenario based on previously saved rates
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 868:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar ScenarioCreateComponent = (function () {\r\n\t function ScenarioCreateComponent(route, router, request, _scenarioService, _User) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this.request = request;\r\n\t this._scenarioService = _scenarioService;\r\n\t this._User = _User;\r\n\t this.pageTitle = 'Create a Scenario';\r\n\t this.displaySpinner = false;\r\n\t this.msgs = [];\r\n\t }\r\n\t ScenarioCreateComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.displaySpinner = false;\r\n\t if (typeof (this._User.scenarioId) === 'undefined')\r\n\t this.router.navigate(['./scenario-activities']);\r\n\t this.nameTextInput = this.scenarioName.nativeElement;\r\n\t // Make a single call to get all scenarios to populate the dropdown and also \r\n\t // filter out the current scenario to display in the header\r\n\t this._scenarioService.getScenarios(this._User.getSession()['id'])\r\n\t .subscribe(function (allScenarios) { return _this.allScenarios = allScenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.currentScenario = _this.allScenarios.filter(function (el) {\r\n\t return el.id === this._User.getSession().scenarioId;\r\n\t }.bind(_this))[0];\r\n\t _this.request.baseScenarioId = _this.allScenarios[0].id;\r\n\t });\r\n\t this.request.userId = this._User.userId;\r\n\t this.request.public = false;\r\n\t };\r\n\t ScenarioCreateComponent.prototype.onNameChange = function () {\r\n\t // Verify that the name doesn't already exist\r\n\t if (this.scenarioNameExists(this.nameTextInput.value))\r\n\t return;\r\n\t this.request.scenarioName = this.nameTextInput.value;\r\n\t };\r\n\t ScenarioCreateComponent.prototype.onSelectChange = function (event) {\r\n\t var select = event.target;\r\n\t this.request.baseScenarioId = +select.value;\r\n\t };\r\n\t ScenarioCreateComponent.prototype.onCheckboxChange = function (event) {\r\n\t var checkbox = event.target;\r\n\t this.request.public = checkbox.checked;\r\n\t };\r\n\t ScenarioCreateComponent.prototype.selectFacilities = function () {\r\n\t if (this.scenarioNameExists(this.nameTextInput.value))\r\n\t return;\r\n\t this.request.source = \"filtered\";\r\n\t this.request.facilities = [];\r\n\t // Set request in session storage to prevent data loss on browser refresh\r\n\t //sessionStorage.setItem('create-scenario-request', JSON.stringify(this.request));\r\n\t this.request.updateSessionState();\r\n\t this.router.navigate(['./scenario-select-facilities']);\r\n\t };\r\n\t ScenarioCreateComponent.prototype.createWithAllFacilities = function () {\r\n\t var _this = this;\r\n\t if (this.scenarioNameExists(this.nameTextInput.value))\r\n\t return;\r\n\t this.request.source = \"all\";\r\n\t this.displaySpinner = true;\r\n\t this._scenarioService.createScenario(this.request)\r\n\t .subscribe(function (response) {\r\n\t if (response.responseStatus === 'ERROR') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: response.responseMessage });\r\n\t _this.displaySpinner = false;\r\n\t return;\r\n\t }\r\n\t _this.displaySpinner = false;\r\n\t _this.router.navigate(['./scenario-create-results']);\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t ScenarioCreateComponent.prototype.cancel = function () {\r\n\t this.router.navigate(['./scenario-activities']);\r\n\t };\r\n\t ScenarioCreateComponent.prototype.scenarioNameExists = function (name) {\r\n\t if (!name) {\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Please fix the following error: Scenario Name exists or is empty' });\r\n\t return true;\r\n\t }\r\n\t var found = this.allScenarios.filter(function (el) {\r\n\t return el.scenarioName === name;\r\n\t }.bind(this));\r\n\t if (found.length > 0) {\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Please fix the following error: Scenario Name exists or is empty' });\r\n\t //alert('A scenario with that name has already been created. Please enter another name.')\r\n\t this.nameTextInput.value = '';\r\n\t return true;\r\n\t }\r\n\t return false;\r\n\t };\r\n\t __decorate([\r\n\t core_1.ViewChild('scenarioName'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], ScenarioCreateComponent.prototype, \"scenarioName\", void 0);\r\n\t ScenarioCreateComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(869),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.Dialog],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, scenario_service_1.CreateScenarioRequest, scenario_service_1.ScenarioService, user_session_1.UserSession])\r\n\t ], ScenarioCreateComponent);\r\n\t return ScenarioCreateComponent;\r\n\t}());\r\n\texports.ScenarioCreateComponent = ScenarioCreateComponent;\r\n\n\n/***/ },\n\n/***/ 869:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
Current Scenario: {{currentScenario.scenarioName}} ({{currentScenario.id}})
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Create TAF Scenario
\\r\\n

\\r\\n
\\r\\n
\\r\\n
Scenario Name:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Scenario Based on:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
Fill in the scenario name and select a source scenario.
\\r\\n\\r\\n
You may select facilities for your scenario by clicking the 'Continue and Select Facilities' button. \\r\\n Or, you may simply copy all the facilities from the base scenario by clicking the 'Create Scenario with All Facilities in Base' button.
\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 870:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar ScenarioCreateResultsComponent = (function () {\r\n\t function ScenarioCreateResultsComponent(request) {\r\n\t this.request = request;\r\n\t this.pageTitle = 'Create Scenario';\r\n\t }\r\n\t ScenarioCreateResultsComponent.prototype.ngOnDestroy = function () {\r\n\t this.request.destroySession();\r\n\t };\r\n\t ScenarioCreateResultsComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(871),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES]\r\n\t }), \r\n\t __metadata('design:paramtypes', [scenario_service_1.CreateScenarioRequest])\r\n\t ], ScenarioCreateResultsComponent);\r\n\t return ScenarioCreateResultsComponent;\r\n\t}());\r\n\texports.ScenarioCreateResultsComponent = ScenarioCreateResultsComponent;\r\n\n\n/***/ },\n\n/***/ 871:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
Current Scenario: {{currentScenario.scenarioName}} ({{currentScenario.id}})
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Create Scenario Results
\\r\\n\\r\\n
Scenario {{request.scenarioName}} Created Successfully
\\r\\n\\r\\n
 
\\r\\n\\r\\n
    \\r\\n
  • All facilities copied from source scenario
  • \\r\\n
  • {{request.facilities.length}} facilities copied from source scenario
  • \\r\\n
  • This scenario is public
  • \\r\\n
\\r\\n\\r\\n
 
\\r\\n\\r\\n
Please go back to scenario activities
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 872:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar query_report_service_1 = __webpack_require__(691);\r\n\tvar query_report_1 = __webpack_require__(698);\r\n\tvar facility_search_request_1 = __webpack_require__(873);\r\n\tvar commondata_service_1 = __webpack_require__(693);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar ScenarioSelectFacilitiesComponent = (function () {\r\n\t function ScenarioSelectFacilitiesComponent(route, router, request, searchRequest, _scenarioService, _queryReportService, _airportService, _commonDataService, _User) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this.request = request;\r\n\t this.searchRequest = searchRequest;\r\n\t this._scenarioService = _scenarioService;\r\n\t this._queryReportService = _queryReportService;\r\n\t this._airportService = _airportService;\r\n\t this._commonDataService = _commonDataService;\r\n\t this._User = _User;\r\n\t this.pageTitle = 'Select Scenario Facilities';\r\n\t this.msgs = [];\r\n\t this.autoCompleteQuery = '';\r\n\t this.autoCompleteFilteredList = [];\r\n\t this.moreSearchOptionsVisible = false;\r\n\t this.moreSearchOptionsControlCssClass = 'glyphicon glyphicon-chevron-right';\r\n\t this.moreSearchOptionsItemsCssClass = 'hidden';\r\n\t this.showLocids = false;\r\n\t this.displaySpinner = false;\r\n\t }\r\n\t ScenarioSelectFacilitiesComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.thisYear = new Date().getFullYear();\r\n\t if (typeof (this._User.scenarioId) === 'undefined')\r\n\t this.router.navigate(['./scenario-activities']);\r\n\t this.request = this.request.getSession();\r\n\t // Retrieve current scenario to set the current selected scenario name\r\n\t this._scenarioService.getScenario(this._User.scenarioId)\r\n\t .subscribe(function (scenario) { return _this.currentScenario = scenario; }, function (error) { return _this.errorMessage = error; });\r\n\t // Retrieve locids from the source scenario for autocomplete\r\n\t this._airportService.getAirportLocIds(this.request.baseScenarioId)\r\n\t .subscribe(function (locIds) { return _this.sourceLocIds = locIds; }, function (error) { return _this.errorMessage = error; });\r\n\t // Retrieve source scenario so we can set the name\r\n\t this._scenarioService.getScenario(this.request.baseScenarioId)\r\n\t .subscribe(function (scenario) { return _this.sourceScenario = scenario; }, function (error) { return _this.errorMessage = error; });\r\n\t // Retrieve data for center ids\r\n\t this._airportService.getAirportCenterIds(this.request.baseScenarioId)\r\n\t .subscribe(function (centerIds) { return _this.centerids = centerIds; }, function (error) { return _this.errorMessage = error; });\r\n\t // Retrieve data for Reliever locIds\r\n\t this._airportService.getRelieverLocIds(this.request.baseScenarioId)\r\n\t .subscribe(function (locIds) { return _this.relieverLocIds = locIds; }, function (error) { return _this.errorMessage = error; });\r\n\t // Retrieve data for Approach Control ids\r\n\t this._airportService.getApproachControlIds(this.request.baseScenarioId)\r\n\t .subscribe(function (ids) { return _this.approachControlIds = ids; }, function (error) { return _this.errorMessage = error; });\r\n\t // Retrieve the Variable Info\r\n\t this._commonDataService.getVariableInfo()\r\n\t .subscribe(function (info) { return _this.variables = info; }, function (error) { return _this.errorMessage = error; });\r\n\t // Retrieve Enplanement Years\r\n\t this._commonDataService.getEnplanementYears()\r\n\t .subscribe(function (years) { return _this.enplanementYears = years; }, function (error) { return _this.errorMessage = error; });\r\n\t var dropDownItems = ['region', 'state', 'hubsize', 'faclevel', 'emdfcode'];\r\n\t for (var x = 0; x < dropDownItems.length; x++) {\r\n\t this.populateDropdownData(dropDownItems[x]);\r\n\t }\r\n\t // Init the search \r\n\t this.searchRequest.baseScenarioId = this.request.baseScenarioId;\r\n\t this.requestLocid = new query_report_1.IQueryReportsFacilityRequest([''], 1);\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.loadLocids = function () {\r\n\t this.showLocids = true;\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.saveLocids = function () {\r\n\t var _this = this;\r\n\t var charExp = /[^a-zA-Z0-9]+/;\r\n\t var nonAlpha = (this.selectedLocids.replace(/[\\t\\n\\s\\r]{1,}/g, \"\")).match(charExp);\r\n\t if (nonAlpha != null) {\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Please check the list of LOCID.\\nIt can only contain digits[0-9] and alphabets[a-z].' });\r\n\t return;\r\n\t }\r\n\t var selectedLocidsArr = this.selectedLocids.replace(/[\\t\\n\\s\\r]{1,}/g, \",\").split(\",\");\r\n\t var bError = false;\r\n\t for (var i = 0; i <= selectedLocidsArr.length - 1; i++) {\r\n\t if ((selectedLocidsArr[i]) != null) {\r\n\t if ((selectedLocidsArr[i].length > 4) || (selectedLocidsArr[i].length < 3)) {\r\n\t bError = true;\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'The LOCID length can be only 3 or 4 characters.' });\r\n\t return;\r\n\t }\r\n\t }\r\n\t }\r\n\t this.requestLocid.locid = selectedLocidsArr;\r\n\t this.requestLocid.scenarioId = this.currentScenario.id;\r\n\t this._queryReportService.saveLocids(this.requestLocid)\r\n\t .subscribe(function (response) {\r\n\t if (response.responseMessage === \"No Match\") {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Following Locid list is not part of your selected scenario '\r\n\t + response.locidNoMatch + '. Please remove from list before continuing.' });\r\n\t }\r\n\t if (response.savedLocidList != null) {\r\n\t _this.request.facilities = response.savedLocidList;\r\n\t _this.showLocids = false;\r\n\t _this.selectedLocids = '';\r\n\t _this.msgs = [];\r\n\t }\r\n\t }, function (error) {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error occured while processing your request.' });\r\n\t _this.showLocids = false;\r\n\t }, function () { });\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.cancelLocids = function () {\r\n\t this.showLocids = false;\r\n\t this.selectedLocids = '';\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.search = function () {\r\n\t var _this = this;\r\n\t this._airportService.getAirportLocIdsByCriteria(this.searchRequest)\r\n\t .subscribe(function (results) {\r\n\t if (results.length === 0) {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'No facility found matching your criteria.' });\r\n\t return;\r\n\t }\r\n\t // Don't add to list if already there\r\n\t for (var x = 0; x < results.length; x++) {\r\n\t if (_this.request.facilities.indexOf(results[x]) === -1) {\r\n\t _this.request.facilities.push(results[x]);\r\n\t }\r\n\t }\r\n\t _this.request.updateSessionState();\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.moreSearchOptionsClick = function () {\r\n\t if (!this.moreSearchOptionsVisible) {\r\n\t this.moreSearchOptionsVisible = true;\r\n\t this.moreSearchOptionsItemsCssClass = 'more-search-options';\r\n\t this.moreSearchOptionsControlCssClass = this.moreSearchOptionsControlCssClass.replace('right', 'down');\r\n\t // Set the defaults for the request\r\n\t this.searchRequest.searchOption = \"growth\";\r\n\t if (typeof (this.searchRequest.selectVariable) === 'undefined')\r\n\t this.searchRequest.selectVariable = this.variables[0].searchVariable;\r\n\t if (typeof (this.searchRequest.growthStartYear) === 'undefined')\r\n\t this.searchRequest.growthStartYear = new Date().getFullYear();\r\n\t if (typeof (this.searchRequest.growthEndYear) === 'undefined')\r\n\t this.searchRequest.growthEndYear = new Date().getFullYear();\r\n\t if (typeof (this.searchRequest.growthOperator) === 'undefined')\r\n\t this.searchRequest.growthOperator = \"less\";\r\n\t if (typeof (this.searchRequest.growthPercentage) === 'undefined')\r\n\t this.searchRequest.growthPercentage = 0.00;\r\n\t if (typeof (this.searchRequest.growthExcludeChanges) === 'undefined')\r\n\t this.searchRequest.growthExcludeChanges = false;\r\n\t }\r\n\t else {\r\n\t this.moreSearchOptionsVisible = false;\r\n\t this.moreSearchOptionsItemsCssClass = 'hidden';\r\n\t this.moreSearchOptionsControlCssClass = this.moreSearchOptionsControlCssClass.replace('down', 'right');\r\n\t // Reset the request searchOptioin\r\n\t this.searchRequest.searchOption = null;\r\n\t }\r\n\t console.log(this.searchRequest);\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.createScenario = function () {\r\n\t var _this = this;\r\n\t this.displaySpinner = true;\r\n\t if (this.request.facilities.length === 0) {\r\n\t var msg = \"Please select a list of Facilities before creating the scenario.\\nSelect your search criteria and then click the 'Search' button to populate the scenario facilities list.\";\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: msg });\r\n\t //alert(msg);\r\n\t return;\r\n\t }\r\n\t this._scenarioService.createScenario(this.request)\r\n\t .subscribe(function (response) {\r\n\t if (response.responseStatus === 'ERROR') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: response.responseMessage });\r\n\t //alert(response.responseMessage);\r\n\t return;\r\n\t }\r\n\t _this.router.navigate(['./scenario-create-results']);\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.removeFacilityFromList = function (locid) {\r\n\t var index = this.request.facilities.indexOf(locid);\r\n\t this.request.facilities.splice(index, 1);\r\n\t this.request.updateSessionState();\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.clearAllFacilities = function () {\r\n\t this.request.facilities = [];\r\n\t this.request.updateSessionState();\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.cancel = function () {\r\n\t this.request.destroySession();\r\n\t this.router.navigate(['./scenario-activities']);\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.onSelect = function (event, element) {\r\n\t var select = event.target;\r\n\t switch (element) {\r\n\t case 'region':\r\n\t this.searchRequest.region = select.value !== 'All' ? select.value : '';\r\n\t break;\r\n\t case 'state':\r\n\t this.searchRequest.state = select.value !== 'All' ? select.value : '';\r\n\t break;\r\n\t case 'hubSize':\r\n\t this.searchRequest.hubSize = select.value !== 'All' ? +select.value : -1;\r\n\t break;\r\n\t case 'level':\r\n\t this.searchRequest.level = select.value !== 'All' ? +select.value : -1;\r\n\t break;\r\n\t case 'emdfCode':\r\n\t this.searchRequest.type = select.value !== 'All' ? +select.value : -1;\r\n\t break;\r\n\t case 'centerAreaId':\r\n\t this.searchRequest.centerId = select.value !== 'All' ? +select.value : -1;\r\n\t break;\r\n\t case 'selectVarible':\r\n\t this.searchRequest.selectVariable = select.value;\r\n\t break;\r\n\t case 'growthStartYear':\r\n\t this.searchRequest.growthStartYear = +select.value;\r\n\t break;\r\n\t case 'growthEndYear':\r\n\t this.searchRequest.growthEndYear = +select.value;\r\n\t break;\r\n\t case 'valueYear':\r\n\t this.searchRequest.varValueYear = +select.value;\r\n\t break;\r\n\t }\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.onInput = function (event, element) {\r\n\t var input = event.target;\r\n\t \"test this\";\r\n\t if (isNaN(+input.value)) {\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Please enter a decimal value for the growth rate' });\r\n\t // alert('Please enter a decimal value for the growth rate');\r\n\t input.value = '';\r\n\t return;\r\n\t }\r\n\t if (element === 'growth')\r\n\t this.searchRequest.growthPercentage = +input.value;\r\n\t if (element === 'varvalue')\r\n\t this.searchRequest.varValue = +input.value;\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.onMoreSelectOption = function (event, element) {\r\n\t if (element === 'growth') {\r\n\t this.searchRequest.searchOption = 'growth';\r\n\t }\r\n\t if (element === 'varvalue') {\r\n\t this.searchRequest.searchOption = 'varvalue';\r\n\t if (typeof (this.searchRequest.varValueYear) === 'undefined')\r\n\t this.searchRequest.varValueYear = new Date().getFullYear();\r\n\t if (typeof (this.searchRequest.varValueOperator) === 'undefined')\r\n\t this.searchRequest.varValueOperator = 'less';\r\n\t if (typeof (this.searchRequest.varValue) === 'undefined')\r\n\t this.searchRequest.varValue = 0;\r\n\t }\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.onOperatorSelectOption = function (event, element, value) {\r\n\t if (element === 'growth') {\r\n\t this.searchRequest.growthOperator = value;\r\n\t }\r\n\t if (element === 'varvalue') {\r\n\t this.searchRequest.varValueOperator = value;\r\n\t }\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.onCheck = function (event, element) {\r\n\t var checkbox = event.target;\r\n\t switch (element) {\r\n\t case 'allFaaTowers':\r\n\t this.searchRequest.allFaaTowers = checkbox.checked;\r\n\t break;\r\n\t case 'allFaaAndContractTowers':\r\n\t this.searchRequest.allFaaContractTowers = checkbox.checked;\r\n\t break;\r\n\t case 'oeps35':\r\n\t this.searchRequest.oep35 = checkbox.checked;\r\n\t break;\r\n\t case 'growthExcludeChanges':\r\n\t this.searchRequest.growthExcludeChanges = checkbox.checked;\r\n\t break;\r\n\t }\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.autoCompleteFilter = function () {\r\n\t this.searchRequest.locId = this.autoCompleteQuery.trim();\r\n\t if (this.autoCompleteQuery.trim().length > 0) {\r\n\t this.autoCompleteFilteredList = this.sourceLocIds.filter(function (el) {\r\n\t return el.toUpperCase().indexOf(this.autoCompleteQuery.toUpperCase()) > -1;\r\n\t }.bind(this));\r\n\t }\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.autoCompleteSelect = function (item) {\r\n\t this.autoCompleteQuery = item;\r\n\t this.autoCompleteFilteredList = [];\r\n\t this.searchRequest.locId = item;\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent.prototype.populateDropdownData = function (source) {\r\n\t var _this = this;\r\n\t this._commonDataService.getData(source)\r\n\t .subscribe(function (list) {\r\n\t switch (source) {\r\n\t case 'region':\r\n\t _this.regions = list;\r\n\t break;\r\n\t case 'state':\r\n\t _this.states = list;\r\n\t break;\r\n\t case 'hubsize':\r\n\t _this.hubSizes = list;\r\n\t break;\r\n\t case 'faclevel':\r\n\t _this.facLevels = list;\r\n\t break;\r\n\t case 'emdfcode':\r\n\t _this.emdfCodes = list;\r\n\t break;\r\n\t }\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t ScenarioSelectFacilitiesComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(874),\r\n\t styles: [__webpack_require__(700), __webpack_require__(875)],\r\n\t providers: [facility_search_request_1.FacilitySearchRequest, commondata_service_1.KeyValuePair],\r\n\t directives: [router_1.ROUTER_DIRECTIVES],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, scenario_service_1.CreateScenarioRequest, facility_search_request_1.FacilitySearchRequest, scenario_service_1.ScenarioService, query_report_service_1.QueryReportService, airport_service_1.AirportService, commondata_service_1.CommonDataService, user_session_1.UserSession])\r\n\t ], ScenarioSelectFacilitiesComponent);\r\n\t return ScenarioSelectFacilitiesComponent;\r\n\t}());\r\n\texports.ScenarioSelectFacilitiesComponent = ScenarioSelectFacilitiesComponent;\r\n\n\n/***/ },\n\n/***/ 873:\n/***/ function(module, exports) {\n\n\t\"use strict\";\r\n\tvar FacilitySearchRequest = (function () {\r\n\t function FacilitySearchRequest() {\r\n\t this.baseScenarioId = -1;\r\n\t this.locId = '';\r\n\t this.region = '';\r\n\t this.state = '';\r\n\t this.hubSize = -1;\r\n\t this.level = -1;\r\n\t this.type = -1;\r\n\t this.allFaaTowers = false;\r\n\t this.allFaaContractTowers = false;\r\n\t this.oep35 = false;\r\n\t this.centerId = -1;\r\n\t }\r\n\t return FacilitySearchRequest;\r\n\t}());\r\n\texports.FacilitySearchRequest = FacilitySearchRequest;\r\n\n\n/***/ },\n\n/***/ 874:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
Current Scenario: {{currentScenario.scenarioName}} ({{currentScenario.id}})
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Scenario Facility Selection
\\r\\n \\r\\n
Scenario: {{request.scenarioName}}
\\r\\n\\r\\n
Using source scenario: {{sourceScenario.scenarioName}} ({{sourceScenario.id}})
\\r\\n\\r\\n
\\r\\n

Search Criteria

\\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
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Selected Facilities
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
0\\\">Currently Facilities Selected: {{request.facilities.length}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Display More Search Options\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
 
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n to \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n is   \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n is   \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n You may paste a list of LOCIDs into the box below. \\r\\n This list will override any previous LOCID entries.\\r\\n To keep your current list of LOCIDs, please click the \\\"Cancel\\\" button. \\r\\n Enter data here, one LOCID per line (no commas):\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n\\r\\n
 
\\r\\n
\"\n\n/***/ },\n\n/***/ 875:\n/***/ function(module, exports) {\n\n\tmodule.exports = \".search {\\r\\n border: 1px solid #e5e5e5;\\r\\n border-radius: 5px;\\r\\n margin: 10px 0 20px 0;\\r\\n padding: 0 10px 10px 10px;\\r\\n}\\r\\n.search h3 {\\r\\n text-align: center;\\r\\n}\\r\\n.locids {\\r\\n border: 1px solid #e5e5e5;\\r\\n border-radius: 5px;\\r\\n margin: 10px 0 0 5px;\\r\\n height: 400px;\\r\\n background-color: #f6f6f6;\\r\\n overflow: scroll;\\r\\n}\\r\\n.locids .header {\\r\\n text-align: center;\\r\\n}\\r\\n.locids ul {\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n.locids ul li a {\\r\\n float: right;\\r\\n cursor: pointer;\\r\\n}\\r\\n.checkbox-group {\\r\\n clear: both;\\r\\n height: 25px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.checkbox-group .checkbox {\\r\\n margin-top: 5px;\\r\\n}\\r\\n.hidden {\\r\\n display: none;\\r\\n}\\r\\n.more-search-options-panel {\\r\\n margin-top: -20px;\\r\\n}\\r\\n.more-search-options-panel .glyphicon {\\r\\n cursor: pointer;\\r\\n}\\r\\n.more-search-options {\\r\\n display: block;\\r\\n}\\r\\n.totals {\\r\\n margin-left: 5px;\\r\\n}\\r\\n.search-option-container {\\r\\n border: 1px solid #d5d5d5;\\r\\n border-radius: 5px;\\r\\n clear: both;\\r\\n padding: 10px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.search-option-container .radio {\\r\\n margin-left: 20px;\\r\\n}\"\n\n/***/ },\n\n/***/ 876:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar auth_service_1 = __webpack_require__(679);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar ScenarioDeleteListComponent = (function () {\r\n\t function ScenarioDeleteListComponent(route, router, _scenarioService, _User, _userInfoService, authService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._scenarioService = _scenarioService;\r\n\t this._User = _User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.authService = authService;\r\n\t this.pageTitle = 'Scenario Delete';\r\n\t this.msgs = [];\r\n\t this.displayPage = \"false\";\r\n\t this.isScenarioOwner = false;\r\n\t this.ownScenarios = \"true\";\r\n\t }\r\n\t ScenarioDeleteListComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this._scenarioService.getScenarios(this._User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { _this.allScenarios = scenarios; console.log(\"scenarios:\" + _this.allScenarios[0].scenarioName); }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t if (_this._User.hasValidSession()) {\r\n\t _this.setScenarioHeader(_this._User.getSession().scenarioId);\r\n\t }\r\n\t else {\r\n\t _this.setScenarioHeader(_this._User.scenarioId);\r\n\t _this._User.updateSessionState();\r\n\t }\r\n\t });\r\n\t this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\t if (typeof (this._User.scenarioId) === 'undefined')\r\n\t this.router.navigate(['./scenario-activities']);\r\n\t this._userInfoService.isScenarioOwner(this._User.getSession()['id'], this._User.getSession().scenarioId).subscribe(function (success) {\r\n\t _this.isScenarioOwner = success.isOwner;\r\n\t if (_this.isScenarioOwner == false && _this._User.isAdmin == false) {\r\n\t _this.ownScenarios = \"false\";\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'warn', summary: 'Warn Message', detail: 'We\\'re sorry, your access level does not permit you to view this page. Contact the TAF administrator to change your access privileges.' });\r\n\t }\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t this._scenarioService.getDeleteListScenarios(this._User.userId)\r\n\t .subscribe(function (scenarios) { return _this.scenarios = scenarios; }, function (error) { return _this.errorMessage = error; });\r\n\t this.displayPage = \"true\";\r\n\t this.selectedOptionValues = [];\r\n\t };\r\n\t ScenarioDeleteListComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t this.scenarioHeaderDiv.innerHTML = \"Current Scenario: \" + this.currentScenario.scenarioName + \" (\" + this.currentScenario.id + \")\";\r\n\t };\r\n\t ScenarioDeleteListComponent.prototype.deleteScenarios = function () {\r\n\t var _this = this;\r\n\t this._scenarioService.deleteScenarios(this.selectedOptionValues)\r\n\t .subscribe(function (msgResponse) { return _this.msgResponse = msgResponse; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t //console.log(\"delete response\" + this.msgResponse.length);\r\n\t if (_this.errorMessage) {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Delete scenario error\"' + _this.errorMessage });\r\n\t return;\r\n\t }\r\n\t else {\r\n\t _this.displayPage = \"true\";\r\n\t }\r\n\t window.location.reload();\r\n\t // this.router.navigate(['./scenario-activities']);\r\n\t });\r\n\t };\r\n\t ScenarioDeleteListComponent.prototype.updateOptionsList = function (optionInt) {\r\n\t this.selectedOptionValues.push(optionInt);\r\n\t };\r\n\t ScenarioDeleteListComponent.prototype.cancelDelete = function () {\r\n\t this.router.navigate(['./scenario-activities']);\r\n\t };\r\n\t __decorate([\r\n\t core_1.ViewChild('scenarioHeader'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], ScenarioDeleteListComponent.prototype, \"scenarioHeader\", void 0);\r\n\t ScenarioDeleteListComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(877),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, scenario_service_1.ScenarioService, user_session_1.UserSession, user_info_service_1.UserInfoService, auth_service_1.AuthService])\r\n\t ], ScenarioDeleteListComponent);\r\n\t return ScenarioDeleteListComponent;\r\n\t}());\r\n\texports.ScenarioDeleteListComponent = ScenarioDeleteListComponent;\r\n\n\n/***/ },\n\n/***/ 877:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Delete a Scenario
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Scenario NameOwnerDate Created or Updated
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{scenario.owner}}{{scenario.lastUpdated | date: 'yMd'}} {{scenario.lastUpdated | date: 'jms'}}
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 878:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar auth_service_1 = __webpack_require__(679);\r\n\tvar ScenarioUpdateComponent = (function () {\r\n\t function ScenarioUpdateComponent(route, router, request, _scenarioService, _userInfoService, _User, authService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this.request = request;\r\n\t this._scenarioService = _scenarioService;\r\n\t this._userInfoService = _userInfoService;\r\n\t this._User = _User;\r\n\t this.authService = authService;\r\n\t this.pageTitle = 'Scenario Merge';\r\n\t this.msgs = [];\r\n\t this.ownScenarios = \"false\";\r\n\t this.displaySpinner = false;\r\n\t this.isScenarioOwner = false;\r\n\t }\r\n\t ScenarioUpdateComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t // Setup default request object\r\n\t this.request.userId = this._User.userId;\r\n\t this.request.all = 1;\r\n\t this.request.towerWithoutRadar = 1;\r\n\t this.request.tracon = 1;\r\n\t this.request.combinedTraconTower = 1;\r\n\t this.request.combinedNonRadarTower = 1;\r\n\t this.request.towerWithDisplay = 1;\r\n\t this.request.combinedControlFacility = 1;\r\n\t this.request.towerWithRadar = 1;\r\n\t this.request.enrouteCenter = 1;\r\n\t this.request.combinedTracon = 1;\r\n\t this.request.faaContractTower = 1;\r\n\t this.request.nonFaaFacility = 1;\r\n\t this.request.aopsFlag = 1;\r\n\t this.request.trFlag = 1;\r\n\t this.request.baFlag = 1;\r\n\t this.request.enplFlag = 1;\r\n\t this.request.preserveFlag = 1;\r\n\t this._scenarioService.getScenarios(this._User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t if (_this._User.hasValidSession()) {\r\n\t _this.setScenarioHeader(_this._User.getSession().scenarioId);\r\n\t }\r\n\t else {\r\n\t _this.setScenarioHeader(_this._User.scenarioId);\r\n\t _this._User.updateSessionState();\r\n\t }\r\n\t });\r\n\t this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\t if (typeof (this._User.scenarioId) === 'undefined')\r\n\t this.router.navigate(['./scenario-activities']);\r\n\t console.log(\"isScenarioOwner = \" + this.isScenarioOwner + \" ... isAdmin = \" + this._User.isAdmin);\r\n\t this._userInfoService.isScenarioOwner(this._User.getSession()['id'], this._User.getSession().scenarioId).subscribe(function (success) {\r\n\t _this.isScenarioOwner = success.isOwner;\r\n\t if (_this.isScenarioOwner == false && _this._User.isAdmin == false) {\r\n\t _this.ownScenarios = \"false\";\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'warn', summary: 'Warn Message', detail: 'We\\'re sorry, your access level does not permit you to view this page. Contact the TAF administrator to change your access privileges.' });\r\n\t }\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t //this probably needs to be somewhere more central\r\n\t this._User.updateSessionState();\r\n\t // Set list for Source scenarios\r\n\t this._scenarioService.getMergeListScenarios(\"source\", this._User.userId)\r\n\t .subscribe(function (sourceScenarios) {\r\n\t _this.sourceScenarios = sourceScenarios;\r\n\t if (_this.sourceScenarios.length > 0) {\r\n\t _this.request.scenarioSourceId = _this.sourceScenarios[0].id;\r\n\t _this.request.scenarioSourceName = _this.sourceScenarios[0].scenarioName;\r\n\t _this.ownScenarios = \"true\";\r\n\t }\r\n\t else {\r\n\t _this.ownScenarios = \"false\";\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message',\r\n\t detail: 'Sorry, you do not own any scenario.Please create one scenario if you would like to use this menu.' });\r\n\t }\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t // Set list for Target Scenarios\r\n\t this._scenarioService.getMergeListScenarios(\"target\", this._User.userId)\r\n\t .subscribe(function (targetScenarios) { return _this.targetScenarios = targetScenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.request.scenarioTargetId = _this.targetScenarios[0].id;\r\n\t _this.request.scenarioTargetName = _this.targetScenarios[0].scenarioName;\r\n\t });\r\n\t };\r\n\t ScenarioUpdateComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t this.scenarioHeaderDiv.innerHTML = \"Current Scenario: \" + this.currentScenario.scenarioName + \" (\" + this.currentScenario.id + \")\";\r\n\t };\r\n\t ScenarioUpdateComponent.prototype.onSelectChange = function (event, type) {\r\n\t var select = event.target;\r\n\t if (type == 'source') {\r\n\t this.request.scenarioSourceId = +select.value;\r\n\t this.request.scenarioSourceName = select.options[select.selectedIndex].innerHTML;\r\n\t }\r\n\t if (type == 'target') {\r\n\t this.request.scenarioTargetId = +select.value;\r\n\t this.request.scenarioTargetName = select.options[select.selectedIndex].innerHTML;\r\n\t }\r\n\t };\r\n\t ScenarioUpdateComponent.prototype.onCheckboxChangeParam = function (event) {\r\n\t var checkbox = event.target;\r\n\t switch (checkbox.id) {\r\n\t case 'aopsFlag':\r\n\t this.request.aopsFlag = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'trFlag':\r\n\t this.request.trFlag = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'baFlag':\r\n\t this.request.baFlag = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'enplFlag':\r\n\t this.request.enplFlag = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'preserveFlag':\r\n\t this.request.preserveFlag = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t }\r\n\t };\r\n\t ScenarioUpdateComponent.prototype.onCheckboxChange = function (event) {\r\n\t var checkbox = event.target;\r\n\t // If unchecking any checkbox other than all, unmark all checkbox\r\n\t if (checkbox.id !== 'all' && !checkbox.checked) {\r\n\t // this.allCheckbox.checked = false;\r\n\t this.request.all = 0;\r\n\t }\r\n\t // If checking all, check all other checkboxes \r\n\t if (checkbox.id === 'all' && checkbox.checked) {\r\n\t /* let checkboxes:HTMLInputElement[] = [\r\n\t this.towerWithoutRadarCheckbox,\r\n\t this.traconCheckbox,\r\n\t this.combinedTraconTowerCheckbox,\r\n\t this.combinedNonRadarTowerCheckbox,\r\n\t this.towerWithDisplayCheckbox,\r\n\t this.combinedControlFacilityCheckbox,\r\n\t this.towerWithRadarCheckbox,\r\n\t this.enrouteCenterCheckbox,\r\n\t this.combinedTraconCheckbox,\r\n\t this.faaContractTowerCheckbox,\r\n\t this.nonFaaFacilityCheckbox\r\n\t ];\r\n\t checkboxes.forEach(box => {\r\n\t box.checked = true;\r\n\t });*/\r\n\t this.request.all = 1;\r\n\t this.request.towerWithoutRadar = 1;\r\n\t this.request.tracon = 1;\r\n\t this.request.combinedTraconTower = 1;\r\n\t this.request.combinedNonRadarTower = 1;\r\n\t this.request.towerWithDisplay = 1;\r\n\t this.request.combinedControlFacility = 1;\r\n\t this.request.towerWithRadar = 1;\r\n\t this.request.enrouteCenter = 1;\r\n\t this.request.combinedTracon = 1;\r\n\t this.request.faaContractTower = 1;\r\n\t this.request.nonFaaFacility = 1;\r\n\t }\r\n\t // Set values for post\r\n\t /* switch (checkbox.id) {\r\n\t case 'all':\r\n\t this.request.all = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'towerWithoutRadar':\r\n\t this.request.towerWithoutRadar = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'tracon':\r\n\t this.request.tracon = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'combinedTraconTower':\r\n\t this.request.combinedTraconTower = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'combinedNonRadarTower':\r\n\t this.request.combinedNonRadarTower = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'towerWithDisplay':\r\n\t this.request.towerWithDisplay = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'combinedControlFacility':\r\n\t this.request.combinedControlFacility = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'towerWithRadar':\r\n\t this.request.towerWithRadar = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'enrouteCenter':\r\n\t this.request.enrouteCenter = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'combinedTracon':\r\n\t this.request.combinedTracon = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'faaContractTower':\r\n\t this.request.faaContractTower = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'nonFaaFacility':\r\n\t this.request.nonFaaFacility = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'aopsFlag':\r\n\t this.request.aopsFlag = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'trFlag':\r\n\t this.request.trFlag = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'baFlag':\r\n\t this.request.baFlag = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'enplFlag':\r\n\t this.request.enplFlag = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t case 'preserveFlag':\r\n\t this.request.preserveFlag = checkbox.checked ? 1 : 0;\r\n\t break;\r\n\t }*/\r\n\t };\r\n\t ScenarioUpdateComponent.prototype.applyChanges = function () {\r\n\t var _this = this;\r\n\t this.displaySpinner = true;\r\n\t //console.log(\"Update Scenario Apply Changes\");\r\n\t //console.log(this.request);\r\n\t this._scenarioService.updateCommitScenario(this.request)\r\n\t .subscribe(function (response) { return _this.serviceResponse = response; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t if (_this.errorMessage) {\r\n\t alert(_this.errorMessage);\r\n\t return;\r\n\t }\r\n\t if (_this.serviceResponse.responseStatus === \"ERROR\") {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: _this.serviceResponse.responseMessage });\r\n\t _this.displaySpinner = false;\r\n\t return;\r\n\t }\r\n\t _this.router.navigate(['./scenario-activities']);\r\n\t });\r\n\t };\r\n\t ScenarioUpdateComponent.prototype.cancel = function () {\r\n\t this.router.navigate(['./scenario-activities']);\r\n\t };\r\n\t __decorate([\r\n\t core_1.ViewChild('scenarioHeader'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], ScenarioUpdateComponent.prototype, \"scenarioHeader\", void 0);\r\n\t ScenarioUpdateComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(879),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.Dialog],\r\n\t providers: [scenario_service_1.UpdateCommitScenarioRequest, scenario_service_1.UpdateCommitScenarioResponse]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, scenario_service_1.UpdateCommitScenarioRequest, scenario_service_1.ScenarioService, user_info_service_1.UserInfoService, user_session_1.UserSession, auth_service_1.AuthService])\r\n\t ], ScenarioUpdateComponent);\r\n\t return ScenarioUpdateComponent;\r\n\t}());\r\n\texports.ScenarioUpdateComponent = ScenarioUpdateComponent;\r\n\n\n/***/ },\n\n/***/ 879:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Merge Scenarios\\r\\n
\\r\\n
Merge
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Choose Source Scenario for Merge
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Choose Target Scenario for Merge
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
 
\\r\\n
\\r\\n
Choose Facility Class(es)
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
 
\\r\\n
\\r\\n
Choose parameter(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
\\r\\n\\r\\n
 
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
 
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n/***/ },\n\n/***/ 880:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar auth_service_1 = __webpack_require__(679);\r\n\tvar ScenarioModifyFacilitiesComponent = (function () {\r\n\t function ScenarioModifyFacilitiesComponent(route, router, request, _scenarioService, _airportService, _userInfoService, _User, authService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this.request = request;\r\n\t this._scenarioService = _scenarioService;\r\n\t this._airportService = _airportService;\r\n\t this._userInfoService = _userInfoService;\r\n\t this._User = _User;\r\n\t this.authService = authService;\r\n\t this.pageTitle = 'Scenario Modify Facilities';\r\n\t this.moveCopyLocIdsInput = null;\r\n\t this.autoCompleteMoveCopyQuery = '';\r\n\t this.autoCompleteMoveCopyFilteredList = [];\r\n\t this.autoCompleteDeleteQuery = '';\r\n\t this.autoCompleteDeleteFilteredList = [];\r\n\t this.autoCompleteTargetField = '';\r\n\t this.ownScenarios = \"true\";\r\n\t this.msgs = [];\r\n\t this.isScenarioOwner = false;\r\n\t }\r\n\t ScenarioModifyFacilitiesComponent.prototype.ngAfterViewInit = function () {\r\n\t // Bind element references\r\n\t this.moveCopyLocIdsInput = this.moveCopyLocIds.nativeElement;\r\n\t this.deleteLocIdsInput = this.deleteLocIds.nativeElement;\r\n\t };\r\n\t ScenarioModifyFacilitiesComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t // Retrieve current scenario to set the current selected scenario name\r\n\t this._scenarioService.getScenarios(this._User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t if (_this._User.hasValidSession()) {\r\n\t _this.setScenarioHeader(_this._User.getSession().scenarioId);\r\n\t }\r\n\t else {\r\n\t _this.setScenarioHeader(_this._User.scenarioId);\r\n\t _this._User.updateSessionState();\r\n\t }\r\n\t });\r\n\t this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\t if (typeof (this._User.scenarioId) === 'undefined') {\r\n\t this.router.navigate(['./scenario-activities']);\r\n\t }\r\n\t this._userInfoService.isScenarioOwner(this._User.getSession()['id'], this._User.getSession().scenarioId).subscribe(function (success) {\r\n\t _this.isScenarioOwner = success.isOwner;\r\n\t if (_this.isScenarioOwner == false && _this._User.isAdmin == false) {\r\n\t _this.msgs = [];\r\n\t _this.ownScenarios = \"false\";\r\n\t _this.msgs.push({ severity: 'warn', summary: 'Warn Message', detail: 'We\\'re sorry, your access level does not permit you to view this page. Contact the TAF administrator to change your access privileges.' });\r\n\t }\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t // Request defaults\r\n\t this.request.Overwrite = false;\r\n\t this.request.operation = 'move';\r\n\t this.request.currentScenarioId = this._User.getSession().scenarioId;\r\n\t this.request.targetScenarioId = this._User.getSession().scenarioId;\r\n\t this.request.deleteScenarioId = this._User.getSession().scenarioId;\r\n\t /*this._scenarioService.getScenario(this._User.getSession().scenarioId)\r\n\t .subscribe(\r\n\t scenario => this.currentScenario = scenario,\r\n\t error => this.errorMessage = error\r\n\t );*/\r\n\t // Set list for Source scenarios\r\n\t this._scenarioService.getMergeListScenarios(\"source\", this._User.userId)\r\n\t .subscribe(function (sourceScenarios) {\r\n\t _this.sourceScenarios = sourceScenarios;\r\n\t if (_this.sourceScenarios.length == 0) {\r\n\t _this.ownScenarios = \"false\";\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message',\r\n\t detail: 'Sorry, you do not own any scenario.Please create one scenario if you would like to use this menu.' });\r\n\t }\r\n\t }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.request.sourceScenarioId = _this.sourceScenarios[0].id;\r\n\t // Set Airport LocIds for autocomplete text field for Move/Copy\r\n\t _this._airportService.getAirportLocIds(_this.sourceScenarios[0].id)\r\n\t .subscribe(function (locIds) { return _this.moveCopyAirportLocIds = locIds; }, function (error) { return _this.errorMessage = error; });\r\n\t });\r\n\t // Set list for Target Scenarios\r\n\t this._scenarioService.getMergeListScenarios(\"target\", this._User.userId)\r\n\t .subscribe(function (targetScenarios) { return _this.targetScenarios = targetScenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t //this.targetScenarios[0].id - this does not work when switching scenarios\r\n\t _this.request.targetScenarioId = _this._User.getSession().scenarioId;\r\n\t _this.request.deleteScenarioId = _this._User.getSession().scenarioId;\r\n\t // Set Airport LocIds for autocomplete text field for Delete\r\n\t _this._airportService.getAirportLocIds(_this._User.getSession().scenarioId)\r\n\t .subscribe(function (locIds) { return _this.deleteAirportLocIds = locIds; }, function (error) { return _this.errorMessage = error; });\r\n\t });\r\n\t };\r\n\t ScenarioModifyFacilitiesComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t this.scenarioHeaderDiv.innerHTML = \"Current Scenario: \" + this.currentScenario.scenarioName + \" (\" + this.currentScenario.id + \")\";\r\n\t };\r\n\t ScenarioModifyFacilitiesComponent.prototype.onSelectChange = function (event, type, targetSource) {\r\n\t var _this = this;\r\n\t var select = event.target;\r\n\t if (type === 'source') {\r\n\t this.request.sourceScenarioId = +select.value;\r\n\t this._airportService.getAirportLocIds(this.request.sourceScenarioId)\r\n\t .subscribe(function (locIds) { return _this.moveCopyAirportLocIds = locIds; }, function (error) { return _this.errorMessage = error; });\r\n\t }\r\n\t if (type === 'target' && targetSource === 'movecopy') {\r\n\t this.request.targetScenarioId = +select.value;\r\n\t this._airportService.getAirportLocIds(this.request.targetScenarioId)\r\n\t .subscribe(function (locIds) {\r\n\t _this.moveCopyAirportLocIds = locIds;\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t }\r\n\t if (type === 'target' && targetSource === 'delete') {\r\n\t this.request.deleteScenarioId = +select.value;\r\n\t this._airportService.getAirportLocIds(this.request.deleteScenarioId)\r\n\t .subscribe(function (locIds) { return _this.deleteAirportLocIds = locIds; }, function (error) { return _this.errorMessage = error; });\r\n\t }\r\n\t };\r\n\t ScenarioModifyFacilitiesComponent.prototype.onChooseActionRadioChange = function (event, action) {\r\n\t this.request.operation = action;\r\n\t };\r\n\t ScenarioModifyFacilitiesComponent.prototype.onOverwriteCheckboxChange = function (event) {\r\n\t var checkbox = event.target;\r\n\t this.request.Overwrite = checkbox.checked;\r\n\t };\r\n\t ScenarioModifyFacilitiesComponent.prototype.onMoveCopyApply = function () {\r\n\t var _this = this;\r\n\t this.msgs = [];\r\n\t if (this.request.operation == \"delete\") {\r\n\t this.request.operation = \"move\";\r\n\t }\r\n\t // VALIDATION\r\n\t if (this.request.sourceScenarioId === 1 && this.request.operation === 'move') {\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'You cannot move facilities from the National Scenario. Choose Copy or select another source scenario.' });\r\n\t return;\r\n\t }\r\n\t if (this.request.sourceScenarioId === this.request.targetScenarioId) {\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'You must choose two different scenarios for Move/Copy' });\r\n\t return;\r\n\t }\r\n\t if (this.moveCopyLocIdsInput === null) {\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Please choose at least one facility for this operation.' });\r\n\t return;\r\n\t }\r\n\t else {\r\n\t var locIds = this.moveCopyLocIdsInput.value.replace(/\\s*/g, \"\").replace(/\\'/g, \"\").toUpperCase();\r\n\t //console.log(\"onMoveCopyApply \" +(locIds));\r\n\t this.request.locIds = locIds.split(',');\r\n\t // Sanitize LocIDs list\r\n\t if (this.request.locIds.length === 1 && this.request.locIds[0].length === 0)\r\n\t this.request.locIds.pop();\r\n\t }\r\n\t this._scenarioService.modifyScenarioFacilities(this.request)\r\n\t .subscribe(function (response) {\r\n\t var responseMessage = '';\r\n\t // Facilities not in Source Scenario\r\n\t if (response.notFoundLocIds.length > 0) {\r\n\t responseMessage += 'The following facilities were not found in the source scenario:\\r\\n';\r\n\t for (var x = 0; x < response.notFoundLocIds.length; x++) {\r\n\t responseMessage += \"- \" + response.notFoundLocIds[x] + \"\\r\\n\";\r\n\t }\r\n\t responseMessage += '\\r\\n';\r\n\t }\r\n\t // Facilities that have been overwritten\r\n\t if (response.overwrittenLocIds.length > 0) {\r\n\t responseMessage += 'The following facilities have been overwritten in the destination scenario:\\r\\n';\r\n\t for (var x = 0; x < response.overwrittenLocIds.length; x++) {\r\n\t responseMessage += \"- \" + response.overwrittenLocIds[x] + \"\\r\\n\";\r\n\t }\r\n\t responseMessage += '\\r\\n';\r\n\t }\r\n\t // Facilities that already exist in the destination (not set for overwrite)\r\n\t if (response.existingLocIds.length > 0) {\r\n\t responseMessage += \"The following facilities already exist in the destination scenario and will not be \" + (_this.request.operation === 'move' ? 'moved' : 'copied') + \" from the source scenario:\\r\\n\";\r\n\t for (var x = 0; x < response.existingLocIds.length; x++) {\r\n\t responseMessage += \"- \" + response.existingLocIds[x] + \"\\r\\n\";\r\n\t }\r\n\t }\r\n\t // Facilities that were processed in the move/Copy\r\n\t if (response.processedLocIds.length > 0) {\r\n\t responseMessage += \"The following facilities where successfully \" + (_this.request.operation === 'move' ? 'moved' : 'copied') + \":\\r\\n\";\r\n\t for (var x = 0; x < response.processedLocIds.length; x++) {\r\n\t responseMessage += \"- \" + response.processedLocIds[x] + \"\\r\\n\";\r\n\t }\r\n\t }\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: responseMessage });\r\n\t //this.router.navigate(['./scenario-activities']);\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t ScenarioModifyFacilitiesComponent.prototype.onDeleteApply = function () {\r\n\t var _this = this;\r\n\t this.request.operation = \"delete\";\r\n\t var locIds = this.deleteLocIdsInput.value.replace(/\\s*/g, \"\").replace(/\\'/g, \"\").toUpperCase();\r\n\t this.request.locIds = locIds.split(',');\r\n\t if (locIds.length === 0) {\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Please choose at least one facility for this operation!' });\r\n\t return;\r\n\t }\r\n\t this._scenarioService.modifyScenarioFacilities(this.request)\r\n\t .subscribe(function (response) {\r\n\t var responseMessage = '';\r\n\t // Facilities not in target scenario\r\n\t if (response.invalidDeletedLocIds.length > 0) {\r\n\t responseMessage += 'The following facilities were not in the designated scenario and therefore could not be deleted:';\r\n\t for (var x = 0; x < response.invalidDeletedLocIds.length; x++) {\r\n\t responseMessage += \"- \" + response.invalidDeletedLocIds[x];\r\n\t }\r\n\t }\r\n\t // Facilities that were deleted\r\n\t if (response.deletedLocIds.length > 0) {\r\n\t responseMessage += \"Deleted Facilities:\";\r\n\t for (var x = 0; x < response.deletedLocIds.length; x++) {\r\n\t responseMessage += \"- \" + response.deletedLocIds[x];\r\n\t }\r\n\t }\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'Info', summary: 'Info Message', detail: responseMessage });\r\n\t //this.router.navigate(['./scenario-activities']);\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t ScenarioModifyFacilitiesComponent.prototype.cancel = function () {\r\n\t this.router.navigate(['./scenario-activities']);\r\n\t };\r\n\t ScenarioModifyFacilitiesComponent.prototype.autoCompleteFilter = function (targetField) {\r\n\t this.autoCompleteTargetField = targetField;\r\n\t if (this.autoCompleteMoveCopyQuery.trim().length === 0 && this.autoCompleteDeleteQuery.trim().length === 0) {\r\n\t this.autoCompleteMoveCopyFilteredList = [];\r\n\t this.autoCompleteDeleteFilteredList = [];\r\n\t return;\r\n\t }\r\n\t if (this.autoCompleteMoveCopyQuery.trim().length > 0) {\r\n\t this.autoCompleteMoveCopyFilteredList = this.moveCopyAirportLocIds.filter(function (el) {\r\n\t return el.toUpperCase().indexOf(this.autoCompleteMoveCopyQuery.split(',')[this.autoCompleteMoveCopyQuery.split(',').length - 1].trim().toUpperCase()) > -1;\r\n\t }.bind(this));\r\n\t }\r\n\t if (this.autoCompleteDeleteQuery.trim().length > 0) {\r\n\t this.autoCompleteDeleteFilteredList = this.deleteAirportLocIds.filter(function (el) {\r\n\t return el.toUpperCase().indexOf(this.autoCompleteDeleteQuery.split(',')[this.autoCompleteDeleteQuery.split(',').length - 1].trim().toUpperCase()) > -1;\r\n\t }.bind(this));\r\n\t }\r\n\t };\r\n\t ScenarioModifyFacilitiesComponent.prototype.autoCompleteSelect = function (fieldTarget, item) {\r\n\t var inputValue = '';\r\n\t if (fieldTarget !== 'movecopy' && fieldTarget !== 'delete')\r\n\t return;\r\n\t if (fieldTarget === 'movecopy') {\r\n\t for (var x = 0; x < this.moveCopyLocIdsInput.value.split(',').length - 1; x++) {\r\n\t inputValue += this.moveCopyLocIdsInput.value.split(',')[x] + ',';\r\n\t }\r\n\t this.autoCompleteMoveCopyQuery = inputValue + item;\r\n\t }\r\n\t if (fieldTarget === 'delete') {\r\n\t for (var x = 0; x < this.deleteLocIdsInput.value.split(',').length - 1; x++) {\r\n\t inputValue += this.deleteLocIdsInput.value.split(',')[x] + ',';\r\n\t }\r\n\t this.autoCompleteDeleteQuery = inputValue + item;\r\n\t }\r\n\t this.autoCompleteMoveCopyFilteredList = [];\r\n\t this.autoCompleteDeleteFilteredList = [];\r\n\t };\r\n\t __decorate([\r\n\t core_1.ViewChild('moveCopyLocIds'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], ScenarioModifyFacilitiesComponent.prototype, \"moveCopyLocIds\", void 0);\r\n\t __decorate([\r\n\t core_1.ViewChild('deleteLocIds'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], ScenarioModifyFacilitiesComponent.prototype, \"deleteLocIds\", void 0);\r\n\t __decorate([\r\n\t core_1.ViewChild('scenarioHeader'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], ScenarioModifyFacilitiesComponent.prototype, \"scenarioHeader\", void 0);\r\n\t ScenarioModifyFacilitiesComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(881),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES],\r\n\t providers: [scenario_service_1.ModifyScenarioFacilitiesRequest, scenario_service_1.ModifyScenarioFacilitiesResponse]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, scenario_service_1.ModifyScenarioFacilitiesRequest, scenario_service_1.ScenarioService, airport_service_1.AirportService, user_info_service_1.UserInfoService, user_session_1.UserSession, auth_service_1.AuthService])\r\n\t ], ScenarioModifyFacilitiesComponent);\r\n\t return ScenarioModifyFacilitiesComponent;\r\n\t}());\r\n\texports.ScenarioModifyFacilitiesComponent = ScenarioModifyFacilitiesComponent;\r\n\n\n/***/ },\n\n/***/ 881:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n

Move, Copy or Delete Scenario Facilities

\\r\\n
\\r\\n
\\r\\n
Move/Copy
\\r\\n
\\r\\n
\\r\\n
Choose Source Scenario for Merge
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
Choose Target Scenario for Merge
\\r\\n \\r\\n
\\r\\n\\r\\n
 
\\r\\n\\r\\n
\\r\\n
Choose an action
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
 
\\r\\n\\r\\n
\\r\\n
Facilities from Source Scenario
\\r\\n
\\r\\n Enter facilities as a comma-separated list of LOCIDs, in any order.
\\r\\n For example: BOS, ATL, LAX, PDX, IAD\\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
Delete
\\r\\n
\\r\\n Enter facilities as a comma-separated list of LOCIDs, in any order.
\\r\\n For example: BOS, ATL, LAX, PDX, IAD\\r\\n\\r\\n
 
\\r\\n\\r\\n
\\r\\n
Choose Destination Scenario
\\r\\n \\r\\n
\\r\\n\\r\\n
 
\\r\\n\\r\\n
Delete facilities from Destination Scenario
\\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\"\n\n/***/ },\n\n/***/ 882:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar commondata_service_1 = __webpack_require__(693);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar airport_operations_1 = __webpack_require__(883);\r\n\tvar based_aircraft_1 = __webpack_require__(884);\r\n\tvar enplanements_1 = __webpack_require__(885);\r\n\tvar tracon_operations_1 = __webpack_require__(886);\r\n\tvar ScenarioReforecastComponent = (function () {\r\n\t function ScenarioReforecastComponent(_router, _commonDataService, _scenarioService, _user, _request) {\r\n\t this._router = _router;\r\n\t this._commonDataService = _commonDataService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this._user = _user;\r\n\t this._request = _request;\r\n\t this.pageTitle = 'Reforecast Using Stored Rates';\r\n\t this.startYears = [];\r\n\t this.endYears = [];\r\n\t this.aopsEnabled = false;\r\n\t this.basedAircraftEnabled = false;\r\n\t this.enplanementsEnabled = false;\r\n\t this.traconsEnabled = false;\r\n\t this.aopsCssClass = 'glyphicon glyphicon-chevron-right';\r\n\t this.basedAircraftCssClass = 'glyphicon glyphicon-chevron-right';\r\n\t this.enplanementsCssClass = 'glyphicon glyphicon-chevron-right';\r\n\t this.traconsCssClass = 'glyphicon glyphicon-chevron-right';\r\n\t this.aopsMenuCssClass = 'menu-items';\r\n\t this.baMenuCssClass = 'menu-items';\r\n\t this.enplMenuCssClass = 'menu-items';\r\n\t this.traconMenuCssClass = 'menu-items';\r\n\t this.reforecastButtonCssClass = 'btn btn-primary';\r\n\t this.reforecastButtonSpinnerCssClass = 'hidden';\r\n\t this.reforecastButtonText = 'Reforecast';\r\n\t this.processingCssClass = 'processing';\r\n\t this.displaySpinner = false;\r\n\t this.msgs = [];\r\n\t this.bProcess = false;\r\n\t }\r\n\t ScenarioReforecastComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.displaySpinner = false;\r\n\t if (typeof (this._user.scenarioId) === 'undefined')\r\n\t this._router.navigate(['./scenario-activities']);\r\n\t this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\t this._scenarioService.getScenarios(this._user.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this._user.getSession().scenarioId);\r\n\t });\r\n\t // Retrieve SystemControl so we can populate years for the date ranges\r\n\t this._commonDataService.getSystemControlData()\r\n\t .subscribe(function (record) {\r\n\t var minYear = record.fyYear - 3;\r\n\t var maxYear = record.lfcYear;\r\n\t for (var x = minYear; x <= maxYear; x++) {\r\n\t _this.startYears.push(x);\r\n\t }\r\n\t for (var x = maxYear; x >= minYear; x--) {\r\n\t _this.endYears.push(x);\r\n\t }\r\n\t _this._request.startYear = _this.startYears[0];\r\n\t _this._request.endYear = _this.endYears[0];\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t ScenarioReforecastComponent.prototype.onScenarioChange = function (event) {\r\n\t var selectedScenarioId = +event.target.value;\r\n\t this._user.scenarioId = selectedScenarioId;\r\n\t this.setScenarioHeader(selectedScenarioId);\r\n\t this._user.updateSessionState();\r\n\t };\r\n\t ScenarioReforecastComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t this.scenarioHeaderDiv.innerHTML = \"Current Scenario: \" + this.currentScenario.scenarioName + \" (\" + this.currentScenario.id + \")\";\r\n\t };\r\n\t ScenarioReforecastComponent.prototype.menuClick = function (event, menu) {\r\n\t switch (menu) {\r\n\t case 'aops':\r\n\t if (!this.aopsEnabled) {\r\n\t this.aopsEnabled = true;\r\n\t this.aopsCssClass = this.aopsCssClass.replace('right', 'down');\r\n\t this.aopsMenuCssClass = this.aopsMenuCssClass.concat('-visible');\r\n\t this._request.airportOperations = new airport_operations_1.AirportOperations();\r\n\t this._request.airportOperations.ifrItnAt = false;\r\n\t this._request.airportOperations.ifrItnAc = false;\r\n\t this._request.airportOperations.ifrItnGa = false;\r\n\t this._request.airportOperations.ifrItnMi = false;\r\n\t this._request.airportOperations.itnAirCarrier = false;\r\n\t this._request.airportOperations.itnAirTaxi = false;\r\n\t this._request.airportOperations.itnGa = false;\r\n\t this._request.airportOperations.itnMil = false;\r\n\t this._request.airportOperations.localGa = false;\r\n\t this._request.airportOperations.localMil = false;\r\n\t this._request.airportOperations.totalOverflights = false;\r\n\t }\r\n\t else {\r\n\t this.aopsEnabled = false;\r\n\t this.aopsCssClass = this.aopsCssClass.replace('down', 'right');\r\n\t this.aopsMenuCssClass = this.aopsMenuCssClass.replace('-visible', '');\r\n\t this._request.airportOperations = undefined;\r\n\t }\r\n\t break;\r\n\t case 'ba':\r\n\t if (!this.basedAircraftEnabled) {\r\n\t this.basedAircraftEnabled = true;\r\n\t this.basedAircraftCssClass = this.basedAircraftCssClass.replace('right', 'down');\r\n\t this.baMenuCssClass = this.baMenuCssClass.concat('-visible');\r\n\t this._request.basedAircraft = new based_aircraft_1.BasedAircraft();\r\n\t this._request.basedAircraft.helicopter = false;\r\n\t this._request.basedAircraft.jet = false;\r\n\t this._request.basedAircraft.multi = false;\r\n\t this._request.basedAircraft.other = false;\r\n\t this._request.basedAircraft.single = false;\r\n\t }\r\n\t else {\r\n\t this.basedAircraftEnabled = false;\r\n\t this.basedAircraftCssClass = this.basedAircraftCssClass.replace('down', 'right');\r\n\t this.baMenuCssClass = this.baMenuCssClass.replace('-visible', '');\r\n\t this._request.basedAircraft = undefined;\r\n\t }\r\n\t break;\r\n\t case 'enpl':\r\n\t if (!this.enplanementsEnabled) {\r\n\t this.enplanementsEnabled = true;\r\n\t this.enplanementsCssClass = this.enplanementsCssClass.replace('right', 'down');\r\n\t this.enplMenuCssClass = this.enplMenuCssClass.concat('-visible');\r\n\t this._request.enplanements = new enplanements_1.Enplanements();\r\n\t this._request.enplanements.airCarrier = false;\r\n\t this._request.enplanements.airTaxi = false;\r\n\t this._request.enplanements.commuter = false;\r\n\t this._request.enplanements.foreignFlag = false;\r\n\t this._request.enplanements.usFlag = false;\r\n\t }\r\n\t else {\r\n\t this.enplanementsEnabled = false;\r\n\t this.enplanementsCssClass = this.enplanementsCssClass.replace('down', 'right');\r\n\t this.enplMenuCssClass = this.enplMenuCssClass.replace('-visible', '');\r\n\t this._request.enplanements = undefined;\r\n\t }\r\n\t break;\r\n\t case 'tracon':\r\n\t if (!this.traconsEnabled) {\r\n\t this.traconsEnabled = true;\r\n\t this.traconsCssClass = this.traconsCssClass.replace('right', 'down');\r\n\t this.traconMenuCssClass = this.traconMenuCssClass.concat('-visible');\r\n\t this._request.traconOperations = new tracon_operations_1.TraconOperations();\r\n\t this._request.traconOperations.airCarrier = false;\r\n\t this._request.traconOperations.airTaxi = false;\r\n\t this._request.traconOperations.generalAviation = false;\r\n\t this._request.traconOperations.military = false;\r\n\t this._request.traconOperations.totalOverflights = false;\r\n\t }\r\n\t else {\r\n\t //alert(\" traconenable=false\");\r\n\t this.traconsEnabled = false;\r\n\t this.traconsCssClass = this.traconsCssClass.replace('down', 'right');\r\n\t this.traconMenuCssClass = this.traconMenuCssClass.replace('-visible', '');\r\n\t this._request.traconOperations = undefined;\r\n\t }\r\n\t break;\r\n\t }\r\n\t };\r\n\t ScenarioReforecastComponent.prototype.onSelectChange = function (event, source) {\r\n\t var select = event.target;\r\n\t switch (source) {\r\n\t case 'scenario':\r\n\t this._request.scenarioId = +select.value;\r\n\t var scenarioId_1 = this._request.scenarioId;\r\n\t var match = this.allScenarios.filter(function (s) {\r\n\t return s.id === scenarioId_1;\r\n\t })[0];\r\n\t this._request.setNameInSession(match.scenarioName);\r\n\t break;\r\n\t case 'startYears':\r\n\t this._request.startYear = +select.value;\r\n\t break;\r\n\t case 'endYears':\r\n\t this._request.endYear = +select.value;\r\n\t break;\r\n\t }\r\n\t };\r\n\t ScenarioReforecastComponent.prototype.onCheckboxChange = function (event, section, option) {\r\n\t var checkbox = event.target;\r\n\t switch (section) {\r\n\t case 'aops':\r\n\t switch (option) {\r\n\t case 'itnAirCarrier':\r\n\t this._request.airportOperations.itnAirCarrier = checkbox.checked;\r\n\t break;\r\n\t case 'itnAirTaxi':\r\n\t this._request.airportOperations.itnAirTaxi = checkbox.checked;\r\n\t break;\r\n\t case 'itnGa':\r\n\t this._request.airportOperations.itnGa = checkbox.checked;\r\n\t break;\r\n\t case 'itnMil':\r\n\t this._request.airportOperations.itnMil = checkbox.checked;\r\n\t break;\r\n\t case 'localGa':\r\n\t this._request.airportOperations.localGa = checkbox.checked;\r\n\t break;\r\n\t case 'localMil':\r\n\t this._request.airportOperations.localMil = checkbox.checked;\r\n\t break;\r\n\t case 'totalOverflights':\r\n\t this._request.airportOperations.totalOverflights = checkbox.checked;\r\n\t break;\r\n\t case 'ifrItnAc':\r\n\t this._request.airportOperations.ifrItnAc = checkbox.checked;\r\n\t break;\r\n\t case 'ifrItnAt':\r\n\t this._request.airportOperations.ifrItnAt = checkbox.checked;\r\n\t break;\r\n\t case 'ifrItnGa':\r\n\t this._request.airportOperations.ifrItnGa = checkbox.checked;\r\n\t break;\r\n\t case 'ifrItnMi':\r\n\t this._request.airportOperations.ifrItnMi = checkbox.checked;\r\n\t break;\r\n\t }\r\n\t break;\r\n\t case 'ba':\r\n\t switch (option) {\r\n\t case 'single':\r\n\t this._request.basedAircraft.single = checkbox.checked;\r\n\t break;\r\n\t case 'jet':\r\n\t this._request.basedAircraft.jet = checkbox.checked;\r\n\t break;\r\n\t case 'multi':\r\n\t this._request.basedAircraft.multi = checkbox.checked;\r\n\t break;\r\n\t case 'helicopter':\r\n\t this._request.basedAircraft.helicopter = checkbox.checked;\r\n\t break;\r\n\t case 'other':\r\n\t this._request.basedAircraft.other = checkbox.checked;\r\n\t break;\r\n\t }\r\n\t break;\r\n\t case 'enpl':\r\n\t switch (option) {\r\n\t case 'airCarrier':\r\n\t this._request.enplanements.airCarrier = checkbox.checked;\r\n\t break;\r\n\t case 'airTaxi':\r\n\t this._request.enplanements.airTaxi = checkbox.checked;\r\n\t break;\r\n\t case 'commuter':\r\n\t this._request.enplanements.commuter = checkbox.checked;\r\n\t break;\r\n\t case 'usFlag':\r\n\t this._request.enplanements.usFlag = checkbox.checked;\r\n\t break;\r\n\t case 'foreignFlag':\r\n\t this._request.enplanements.foreignFlag = checkbox.checked;\r\n\t break;\r\n\t }\r\n\t break;\r\n\t case 'tracon':\r\n\t switch (option) {\r\n\t case 'airCarrier':\r\n\t this._request.traconOperations.airCarrier = checkbox.checked;\r\n\t break;\r\n\t case 'airTaxi':\r\n\t this._request.traconOperations.airTaxi = checkbox.checked;\r\n\t break;\r\n\t case 'generalAviation':\r\n\t this._request.traconOperations.generalAviation = checkbox.checked;\r\n\t break;\r\n\t case 'military':\r\n\t this._request.traconOperations.military = checkbox.checked;\r\n\t break;\r\n\t case 'totalOverflights':\r\n\t this._request.traconOperations.totalOverflights = checkbox.checked;\r\n\t break;\r\n\t }\r\n\t break;\r\n\t }\r\n\t };\r\n\t ScenarioReforecastComponent.prototype.reforecast = function () {\r\n\t var _this = this;\r\n\t if (this._request.startYear >= this._request.endYear) {\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Start year must be less than End year' });\r\n\t this.bProcess = true;\r\n\t }\r\n\t // Check if all datasets is set to null\r\n\t if ((typeof (this._request.airportOperations) === 'undefined') &&\r\n\t typeof (this._request.basedAircraft) === 'undefined' &&\r\n\t typeof (this._request.enplanements) === 'undefined' &&\r\n\t typeof (this._request.traconOperations) === 'undefined') {\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Please select a dataset' });\r\n\t this.bProcess = true;\r\n\t }\r\n\t // Check Airport Operations dataset options\r\n\t if (typeof (this._request.airportOperations) != 'undefined' &&\r\n\t (this._request.airportOperations.ifrItnAc === false) &&\r\n\t (this._request.airportOperations.ifrItnAt === false) &&\r\n\t (this._request.airportOperations.ifrItnGa === false) &&\r\n\t (this._request.airportOperations.ifrItnMi === false) &&\r\n\t (this._request.airportOperations.itnAirCarrier === false) &&\r\n\t (this._request.airportOperations.itnAirTaxi === false) &&\r\n\t (this._request.airportOperations.itnGa === false) &&\r\n\t (this._request.airportOperations.itnMil === false) &&\r\n\t (this._request.airportOperations.localGa === false) &&\r\n\t (this._request.airportOperations.localMil === false) &&\r\n\t (this._request.airportOperations.totalOverflights === false)) {\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Please select a dataset option from Airport Operations' });\r\n\t this.bProcess = true;\r\n\t }\r\n\t // Check Based Aircraft dataset options\r\n\t if (typeof (this._request.basedAircraft) != 'undefined' &&\r\n\t (this._request.basedAircraft.helicopter === false) &&\r\n\t (this._request.basedAircraft.jet === false) &&\r\n\t (this._request.basedAircraft.multi === false) &&\r\n\t (this._request.basedAircraft.other === false) &&\r\n\t (this._request.basedAircraft.single === false)) {\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Please select a dataset option from Based Aircraft' });\r\n\t this.bProcess = true;\r\n\t }\r\n\t // Check Enplanements dataset options\r\n\t if (typeof (this._request.enplanements) != 'undefined' &&\r\n\t (this._request.enplanements.airCarrier === false) &&\r\n\t (this._request.enplanements.airTaxi === false) &&\r\n\t (this._request.enplanements.commuter === false) &&\r\n\t (this._request.enplanements.foreignFlag === false) &&\r\n\t (this._request.enplanements.usFlag === false)) {\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Please select a dataset option from Enplanements' });\r\n\t this.bProcess = true;\r\n\t }\r\n\t // Check Tracon Operations dataset options\r\n\t if (typeof (this._request.traconOperations) != 'undefined' &&\r\n\t (this._request.traconOperations.airCarrier === false) &&\r\n\t (this._request.traconOperations.airTaxi === false) &&\r\n\t (this._request.traconOperations.generalAviation === false) &&\r\n\t (this._request.traconOperations.military === false) &&\r\n\t (this._request.traconOperations.totalOverflights === false)) {\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Please select a dataset option from Tracon Operations' });\r\n\t this.bProcess = true;\r\n\t }\r\n\t if (!this.bProcess) {\r\n\t this.msgs = [];\r\n\t this.displaySpinner = true;\r\n\t this.processingCssClass = this.processingCssClass.concat('-visible');\r\n\t this.reforecastButtonCssClass = this.reforecastButtonCssClass.replace('btn-primary', 'btn-processing');\r\n\t this.reforecastButtonText = ' Processing...';\r\n\t this._scenarioService.executeReforecast(this._request)\r\n\t .subscribe(function (response) {\r\n\t _this.displaySpinner = false;\r\n\t if (response.responseStatus === 'ERROR') {\r\n\t _this.processingCssClass = _this.processingCssClass.replace('-visible', '');\r\n\t _this.reforecastButtonCssClass = _this.reforecastButtonCssClass.replace('btn-processing', 'btn-primary');\r\n\t _this.reforecastButtonSpinnerCssClass = 'hidden';\r\n\t _this.reforecastButtonText = 'Reforecast';\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error has occurred executing your request' });\r\n\t return;\r\n\t }\r\n\t _this._router.navigate(['./scenario-reforecast-complete']);\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t }\r\n\t else {\r\n\t this.bProcess = false;\r\n\t }\r\n\t };\r\n\t ScenarioReforecastComponent.prototype.cancel = function () {\r\n\t this._router.navigate(['./scenario-activities']);\r\n\t };\r\n\t __decorate([\r\n\t core_1.ViewChild('scenarioHeader'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], ScenarioReforecastComponent.prototype, \"scenarioHeader\", void 0);\r\n\t ScenarioReforecastComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(887),\r\n\t styles: [__webpack_require__(700)],\r\n\t providers: [scenario_service_1.ScenarioForecastRequest, airport_operations_1.AirportOperations, based_aircraft_1.BasedAircraft, enplanements_1.Enplanements, tracon_operations_1.TraconOperations],\r\n\t directives: [router_1.ROUTER_DIRECTIVES],\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.Router, commondata_service_1.CommonDataService, scenario_service_1.ScenarioService, user_session_1.UserSession, scenario_service_1.ScenarioForecastRequest])\r\n\t ], ScenarioReforecastComponent);\r\n\t return ScenarioReforecastComponent;\r\n\t}());\r\n\texports.ScenarioReforecastComponent = ScenarioReforecastComponent;\r\n\n\n/***/ },\n\n/***/ 883:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar AirportOperations = (function () {\r\n\t function AirportOperations() {\r\n\t }\r\n\t AirportOperations = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [])\r\n\t ], AirportOperations);\r\n\t return AirportOperations;\r\n\t}());\r\n\texports.AirportOperations = AirportOperations;\r\n\n\n/***/ },\n\n/***/ 884:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar BasedAircraft = (function () {\r\n\t function BasedAircraft() {\r\n\t }\r\n\t BasedAircraft = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [])\r\n\t ], BasedAircraft);\r\n\t return BasedAircraft;\r\n\t}());\r\n\texports.BasedAircraft = BasedAircraft;\r\n\n\n/***/ },\n\n/***/ 885:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar Enplanements = (function () {\r\n\t function Enplanements() {\r\n\t }\r\n\t Enplanements = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [])\r\n\t ], Enplanements);\r\n\t return Enplanements;\r\n\t}());\r\n\texports.Enplanements = Enplanements;\r\n\n\n/***/ },\n\n/***/ 886:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar TraconOperations = (function () {\r\n\t function TraconOperations() {\r\n\t }\r\n\t TraconOperations = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [])\r\n\t ], TraconOperations);\r\n\t return TraconOperations;\r\n\t}());\r\n\texports.TraconOperations = TraconOperations;\r\n\n\n/***/ },\n\n/***/ 887:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Reforecast Using Stored Rates
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Scenario:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Start year:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
to End Year:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Select Data Sets
\\r\\n\\r\\n
\\r\\n Airport Operations\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Based Aircraft\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Enplanements\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Tracon Operations\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 888:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar ScenarioReforecastCompleteComponent = (function () {\r\n\t function ScenarioReforecastCompleteComponent(_scenarioService, _user, _router, _request) {\r\n\t this._scenarioService = _scenarioService;\r\n\t this._user = _user;\r\n\t this._router = _router;\r\n\t this._request = _request;\r\n\t this.pageTitle = 'Scenario Reforecast Complete';\r\n\t }\r\n\t ScenarioReforecastCompleteComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t if (typeof (this._user.scenarioId) === 'undefined')\r\n\t this._router.navigate(['./scenario-activities']);\r\n\t this._scenarioService.getScenario(this._user.getSession().scenarioId)\r\n\t .subscribe(function (scenario) { return _this.currentScenario = scenario; }, function (error) { return _this.errorMessage = error; });\r\n\t this.reforecastScenarioName = this._request.getNameInSession();\r\n\t };\r\n\t ScenarioReforecastCompleteComponent.prototype.ngOnDestroy = function () {\r\n\t this._request.destroySessionValues();\r\n\t };\r\n\t ScenarioReforecastCompleteComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(889),\r\n\t styles: [__webpack_require__(890)],\r\n\t providers: [scenario_service_1.ScenarioForecastRequest],\r\n\t directives: [router_1.ROUTER_DIRECTIVES],\r\n\t }), \r\n\t __metadata('design:paramtypes', [scenario_service_1.ScenarioService, user_session_1.UserSession, router_1.Router, scenario_service_1.ScenarioForecastRequest])\r\n\t ], ScenarioReforecastCompleteComponent);\r\n\t return ScenarioReforecastCompleteComponent;\r\n\t}());\r\n\texports.ScenarioReforecastCompleteComponent = ScenarioReforecastCompleteComponent;\r\n\n\n/***/ },\n\n/***/ 889:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
Current Scenario: {{currentScenario.scenarioName}} ({{currentScenario.id}})
\\r\\n\\r\\n
\\r\\n

Reforecast done for scenario {{reforecastScenarioName}}

\\r\\n\\r\\n
 
\\r\\n\\r\\n
Please go back to Reforecast
\\r\\n
\"\n\n/***/ },\n\n/***/ 890:\n/***/ function(module, exports) {\n\n\tmodule.exports = \".current-scenario{\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.divider-space {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.merge-column {\\r\\n float: left;\\r\\n margin-right: 100px;\\r\\n}\\r\\n.section-title {\\r\\n font-weight: bold;\\r\\n}\\r\\n.btn-right {\\r\\n float: right;\\r\\n margin-left: 15px;\\r\\n}\\r\\n\\r\\n.suggestions {\\r\\n position: absolute;\\r\\n z-index: 100;\\r\\n border: 1px solid #aeaeae;\\r\\n width: 100px;\\r\\n background-color: #fff;\\r\\n}\\r\\n.suggestions ul {\\r\\n padding: 0;\\r\\n list-style-type: none;\\r\\n}\\r\\n.suggestions ul li {\\r\\n cursor: pointer;\\r\\n padding-left: 10px;\\r\\n}\\r\\n.suggestions ul li:hover {\\r\\n background-color: #f1f1f1;\\r\\n}\\r\\n.suggestions ul li a {\\r\\n text-decoration: none;\\r\\n color: #767676;\\r\\n}\"\n\n/***/ },\n\n/***/ 891:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar query_report_component_1 = __webpack_require__(892);\r\n\tvar query_reports_graph_selections_component_1 = __webpack_require__(894);\r\n\tvar query_reports_graph_display_component_1 = __webpack_require__(896);\r\n\tvar auth_guard_service_1 = __webpack_require__(696);\r\n\texports.QueryReportRoutes = [\r\n\t { path: 'query-reports', component: query_report_component_1.QueryReportComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'query-reports-graph-selections', component: query_reports_graph_selections_component_1.QueryReportGraphSelectionsComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'query-reports-graph-display', component: query_reports_graph_display_component_1.QueryReportGraphDisplayComponent, canActivate: [auth_guard_service_1.AuthGuard] }\r\n\t];\r\n\n\n/***/ },\n\n/***/ 892:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar query_report_1 = __webpack_require__(698);\r\n\tvar query_report_service_1 = __webpack_require__(691);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar system_control_service_1 = __webpack_require__(694);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar QueryReportComponent = (function () {\r\n\t function QueryReportComponent(route, router, _queryReportService, _scenarioService, User, _userInfoService, _systemControlService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._queryReportService = _queryReportService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this.User = User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this._systemControlService = _systemControlService;\r\n\t this.pageTitle = 'Query Reports';\r\n\t this.msgs = [];\r\n\t this.isScenarioOwner = false;\r\n\t this.hideElement = false;\r\n\t this.showLocids = false;\r\n\t this.showGraphs = false;\r\n\t this.displaySpinner = false;\r\n\t this.locidCnt = 0;\r\n\t this.graphIdSelected = 0;\r\n\t this.yearIdSelected = 0;\r\n\t this.selectedOption = new query_report_1.IQueryReportListComponent(1, 'Scenario Quick Data Summary Report ');\r\n\t this.selectedFacOption = new query_report_1.IQueryReportListComponent(9, 'Select all LOCIDs ');\r\n\t this.options = [\r\n\t new query_report_1.IQueryReportListComponent(1, 'Scenario Quick Data Summary Report '),\r\n\t new query_report_1.IQueryReportListComponent(2, 'Scenario Quick Growth Rate Summary Report '),\r\n\t new query_report_1.IQueryReportListComponent(3, 'Scenario Operations and Enplanement Data Summary  (Date range is always last history year through last forecast year) '),\r\n\t new query_report_1.IQueryReportListComponent(4, 'Scenario Operations and Enplanement Growth Rates Summary  (Date range is always last history year through last forecast year) '),\r\n\t new query_report_1.IQueryReportListComponent(5, 'Scenario Facility List   (Date range does not affect this report) '),\r\n\t new query_report_1.IQueryReportListComponent(6, 'Facility Quick Data Summary Report '),\r\n\t new query_report_1.IQueryReportListComponent(7, 'Facility Quick Growth Rate Summary Report '),\r\n\t new query_report_1.IQueryReportListComponent(8, 'Produce Graphs (for the entire scenario) ')\r\n\t ];\r\n\t this.facOptions = [\r\n\t new query_report_1.IQueryReportListComponent(9, 'Select all LOCIDs '),\r\n\t new query_report_1.IQueryReportListComponent(10, 'Select a subset of LOCIDs '),\r\n\t ];\r\n\t this.graphOptions = [\r\n\t { display: 'Airport Operations', value: 0, dbName: 'AirportOperations' },\r\n\t { display: 'Based Aircraft', value: 1, dbName: 'Basedaircraft' },\r\n\t { display: 'Enplanements', value: 2, dbName: 'Enplanements' },\r\n\t { display: 'Tracon Operations', value: 3, dbName: 'TraconOPS' }\r\n\t ];\r\n\t this.allYears = [new query_report_1.IQueryReportListComponent(0, '')];\r\n\t }\r\n\t QueryReportComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\t this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this.User.getSession().scenarioId);\r\n\t });\r\n\t //this probably needs to be somewhere more central\r\n\t this.User.updateSessionState();\r\n\t this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(function (success) { return _this.isScenarioOwner = success.isOwner; }, function (error) { return _this.errorMessage = error; });\r\n\t this.getSystemControlValues();\r\n\t //this.locidResponse = new IQueryReportResponse('','','','','',[],[]);\r\n\t };\r\n\t QueryReportComponent.prototype.getSystemControlValues = function () {\r\n\t var _this = this;\r\n\t this._systemControlService.getSystemControl()\r\n\t .subscribe(function (systemControlElem) {\r\n\t _this.systemControlElem = systemControlElem;\r\n\t }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.selYear = _this.systemControlElem.fyYear - 3;\r\n\t _this.request = new query_report_1.IQueryReportRequest(_this.systemControlElem.fyYear - 3, 1, 1, 9, []);\r\n\t _this.requestLocid = new query_report_1.IQueryReportsFacilityRequest([''], 1);\r\n\t //set first year of report dropdown; rather than going to the database for this dropdown, we will create the data array here\r\n\t // using sysControl Fyear-3 as end point and 1980 as first year of report.\r\n\t for (var year = 1976; year <= _this.systemControlElem.fyYear - 3; year++) {\r\n\t _this.allYears.push(new query_report_1.IQueryReportListComponent(year, year + \"\"));\r\n\t }\r\n\t _this.yearIdSelected = _this.systemControlElem.fyYear - 3;\r\n\t });\r\n\t };\r\n\t QueryReportComponent.prototype.getValueFacOpt = function (optionid) {\r\n\t this.selectedFacOption = this.facOptions.filter(function (item) { return item.id == optionid; })[0];\r\n\t if (this.selectedFacOption.id == 10) {\r\n\t this.showLocids = true;\r\n\t }\r\n\t else {\r\n\t this.showLocids = false;\r\n\t }\r\n\t };\r\n\t QueryReportComponent.prototype.onYearChange = function (event) {\r\n\t var yearOptionSelected = +event.target.value;\r\n\t this.yearIdSelected = yearOptionSelected;\r\n\t };\r\n\t QueryReportComponent.prototype.onGraphSelectionChange = function (event) {\r\n\t var graphOptionSelected = +event.target.value;\r\n\t this.graphIdSelected = graphOptionSelected;\r\n\t };\r\n\t QueryReportComponent.prototype.onScenarioChange = function (event) {\r\n\t var selectedScenarioId = +event.target.value;\r\n\t this.User.scenarioId = selectedScenarioId;\r\n\t this.setScenarioHeader(selectedScenarioId);\r\n\t this.User.updateSessionState();\r\n\t };\r\n\t QueryReportComponent.prototype.getValue = function (optionid) {\r\n\t this.selectedOption = this.options.filter(function (item) { return item.id == optionid; })[0];\r\n\t if (this.selectedOption.id === 7 || this.selectedOption.id === 6) {\r\n\t this.hideElement = true;\r\n\t }\r\n\t else {\r\n\t this.hideElement = false;\r\n\t }\r\n\t if (this.selectedOption.id === 8) {\r\n\t this.showGraphs = true;\r\n\t }\r\n\t else {\r\n\t this.showGraphs = false;\r\n\t }\r\n\t };\r\n\t QueryReportComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t this.scenarioHeaderDiv.innerHTML = \"Current Scenario: \" + this.currentScenario.scenarioName + \" (\" + this.currentScenario.id + \")\";\r\n\t };\r\n\t QueryReportComponent.prototype.generateReport = function () {\r\n\t var _this = this;\r\n\t this.msgs = [];\r\n\t this.displaySpinner = true;\r\n\t this.request.scenario = this.currentScenario.id;\r\n\t this.request.startYear = this.yearIdSelected;\r\n\t this.request.reportId = this.selectedOption.id;\r\n\t this.request.facOption = this.selectedFacOption.id;\r\n\t this.request.locidList = [];\r\n\t if (this.request.startYear == 0) {\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'info', summary: 'Info Message', detail: 'Please select start year.' });\r\n\t this.displaySpinner = false;\r\n\t return;\r\n\t }\r\n\t if (this.locidResponse == null\r\n\t && this.selectedFacOption.id === 10\r\n\t && (this.request.reportId === 6 || this.request.reportId === 7)) {\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'info', summary: 'Info Message', detail: 'Please select at least one locid for Facility level reports.' });\r\n\t this.displaySpinner = false;\r\n\t return;\r\n\t }\r\n\t else if (this.locidResponse != null &&\r\n\t this.selectedFacOption.id === 10) {\r\n\t this.request.locidList = this.locidResponse.savedLocidList;\r\n\t }\r\n\t if (this.request.reportId === 8) {\r\n\t var params = {\r\n\t startYear: this.yearIdSelected,\r\n\t endYear: this.systemControlElem.lfcYear,\r\n\t scenario: this.request.scenario,\r\n\t tableId: this.graphIdSelected,\r\n\t reportId: this.request.reportId\r\n\t };\r\n\t this.router.navigate([\"/query-reports-graph-selections\", params]);\r\n\t return;\r\n\t }\r\n\t this._queryReportService.getFacilityListReport(this.request)\r\n\t .subscribe(function (response) {\r\n\t _this.displaySpinner = false;\r\n\t _this.facReportListResponse = response;\r\n\t if (_this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error has occurred executing your request'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t }\r\n\t else if (_this.facReportListResponse[0].responseMessage === 'No Data') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Info Message', detail: 'No Data returned.'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t _this.facReportListResponse[0].pdfFileUrl = \"\";\r\n\t _this.facReportListResponse[0].htmlFileUrl = \"\";\r\n\t }\r\n\t else {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n\t _this.cols = [\r\n\t { field: \"htmlFileUrl\", header: 'Html' },\r\n\t { field: \"pdfFileUrl\", header: 'Pdf' },\r\n\t ];\r\n\t if (_this.request.reportId === 6 || _this.request.reportId === 7) {\r\n\t _this.locidResponse.savedLocidList = null;\r\n\t _this.locidCnt = 0;\r\n\t }\r\n\t }\r\n\t //console.log (\"response facility report \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n\t // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n\t // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t /* removeFacilityFromList(locid: string): void {\r\n\t let index: number = this.request.facilities.indexOf(locid);\r\n\t this.request.facilities.splice(index, 1);\r\n\t }\r\n\t \r\n\t clearAllFacilities(): void {\r\n\t this.request.facilities = [];\r\n\t }*/\r\n\t QueryReportComponent.prototype.cancelLocids = function () {\r\n\t this.showLocids = false;\r\n\t this.selectedLocids = '';\r\n\t };\r\n\t QueryReportComponent.prototype.removeFacilityFromList = function (locid) {\r\n\t var index = this.locidResponse.savedLocidList.indexOf(locid);\r\n\t this.locidResponse.savedLocidList.splice(index, 1);\r\n\t this.locidCnt = this.locidResponse.savedLocidList.length;\r\n\t };\r\n\t QueryReportComponent.prototype.cancel = function () {\r\n\t this.router.navigate(['/welcome']);\r\n\t };\r\n\t QueryReportComponent.prototype.saveLocids = function () {\r\n\t var _this = this;\r\n\t var charExp = /[^a-zA-Z0-9]+/;\r\n\t var nonAlpha = (this.selectedLocids.replace(/[\\t\\n\\s\\r]{1,}/g, \"\")).match(charExp);\r\n\t if (nonAlpha != null) {\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Please check the list of LOCID.\\nIt can only contain digits[0-9] and alphabets[a-z].' });\r\n\t return;\r\n\t }\r\n\t var selectedLocidsArr = this.selectedLocids.replace(/[\\t\\n\\s\\r]{1,}/g, \",\").split(\",\");\r\n\t var bError = false;\r\n\t for (var i = 0; i <= selectedLocidsArr.length - 1; i++) {\r\n\t if ((selectedLocidsArr[i]) != null) {\r\n\t if ((selectedLocidsArr[i].length > 4) || (selectedLocidsArr[i].length < 3)) {\r\n\t bError = true;\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'The LOCID length can be only 3 or 4 characters.' });\r\n\t return;\r\n\t }\r\n\t }\r\n\t }\r\n\t this.requestLocid.locid = selectedLocidsArr;\r\n\t this.requestLocid.scenarioId = this.currentScenario.id;\r\n\t this._queryReportService.saveLocids(this.requestLocid)\r\n\t .subscribe(function (response) {\r\n\t _this.locidResponse = response;\r\n\t if (_this.locidResponse.responseMessage === \"No Match\") {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Following Locid list is not part of your selected scenario '\r\n\t + _this.locidResponse.locidNoMatch + '. Please correct the errors before continuing.' });\r\n\t _this.locidCnt = 0;\r\n\t }\r\n\t _this.showLocids = false;\r\n\t if (_this.locidResponse.savedLocidList != null) {\r\n\t _this.locidCnt = _this.locidResponse.savedLocidList.length;\r\n\t }\r\n\t }, function (error) {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error occured while processing your request.' });\r\n\t _this.showLocids = false;\r\n\t _this.locidCnt = 0;\r\n\t }, function () { });\r\n\t this.selectedLocids = '';\r\n\t };\r\n\t QueryReportComponent.prototype.openPDFFile = function (responsepdf) {\r\n\t window.open(responsepdf, '_blank');\r\n\t };\r\n\t QueryReportComponent.prototype.openHTMLFile = function (responseHtml) {\r\n\t window.open(responseHtml, '_blank');\r\n\t };\r\n\t QueryReportComponent.prototype.ngOnDestroy = function () {\r\n\t // this.sub.unsubscribe();\r\n\t };\r\n\t __decorate([\r\n\t core_1.ViewChild('scenarioHeader'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], QueryReportComponent.prototype, \"scenarioHeader\", void 0);\r\n\t QueryReportComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(893),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.Dialog]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, query_report_service_1.QueryReportService, scenario_service_1.ScenarioService, user_session_1.UserSession, user_info_service_1.UserInfoService, system_control_service_1.SystemControlService])\r\n\t ], QueryReportComponent);\r\n\t return QueryReportComponent;\r\n\t}());\r\n\texports.QueryReportComponent = QueryReportComponent;\r\n\n\n/***/ },\n\n/***/ 893:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n
\\r\\n {{pageTitle}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n HTML: \\r\\n
\\r\\n
\\r\\n PDF: \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n
Query Reports
\\r\\n

\\r\\n
\\r\\n
\\r\\n
Scenario Name:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
First year used in report:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n
Scenario-Level Reports
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

\\r\\n
Facility-Level Reports
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n For Facility-Level Reports, you may select all LOCIDs or a subset:
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n
Graph Reports
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Choose data set:
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
Selected Facilities
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Currently Facilities Selected:
\\r\\n
{{locidCnt}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n You may paste a list of LOCIDs into the box below. \\r\\n This list will override any previous LOCID entries.\\r\\n To keep your current list of LOCIDs, please click the \\\"Cancel\\\" button. \\r\\n Enter data here, one LOCID per line (no commas):\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 894:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar airport_service_1 = __webpack_require__(677);\r\n\tvar query_report_1 = __webpack_require__(698);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar query_report_service_1 = __webpack_require__(691);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar system_control_service_1 = __webpack_require__(694);\r\n\tvar QueryReportGraphSelectionsComponent = (function () {\r\n\t function QueryReportGraphSelectionsComponent(route, router, _airportService, _queryReportService, _scenarioService, _userInfoService, User, request, _systemControlService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._airportService = _airportService;\r\n\t this._queryReportService = _queryReportService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.User = User;\r\n\t this.request = request;\r\n\t this._systemControlService = _systemControlService;\r\n\t //columns: IOperationListColumnResponse[];\r\n\t this.msgs = [];\r\n\t this.startYears = [];\r\n\t this.endYears = [];\r\n\t this.graphType = \"Line\";\r\n\t this.yearsToPreview = 4;\r\n\t this.dataCheckDone = false;\r\n\t this.isScenarioOwner = false;\r\n\t this.displaySpinner = false;\r\n\t }\r\n\t QueryReportGraphSelectionsComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\t this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this.User.getSession().scenarioId);\r\n\t });\r\n\t //this probably needs to be somewhere more central\r\n\t this.User.updateSessionState();\r\n\t this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(function (success) { return _this.isScenarioOwner = success.isOwner; }, function (error) { return _this.errorMessage = error; });\r\n\t this.sub = this.route.params.subscribe(function (params) {\r\n\t _this.tableId = params['tableId'];\r\n\t _this.startYear = params['startYear'];\r\n\t _this.endYear = params['endYear'];\r\n\t _this.scenario = params['scenario'];\r\n\t switch (_this.tableId) {\r\n\t case \"0\":\r\n\t {\r\n\t _this.tableName = 'AirportOperations';\r\n\t _this.tableDisplayName = 'Airport Operations';\r\n\t break;\r\n\t }\r\n\t case \"1\":\r\n\t {\r\n\t _this.tableName = 'Basedaircraft';\r\n\t _this.tableDisplayName = 'Based Aircraft';\r\n\t break;\r\n\t }\r\n\t case \"2\":\r\n\t {\r\n\t _this.tableName = 'Enplanements';\r\n\t _this.tableDisplayName = 'Enplanements';\r\n\t break;\r\n\t }\r\n\t case \"3\":\r\n\t {\r\n\t _this.tableName = 'traconops';\r\n\t _this.tableDisplayName = 'Tracon Operations';\r\n\t break;\r\n\t }\r\n\t default:\r\n\t break;\r\n\t }\r\n\t _this.getColumns();\r\n\t });\r\n\t };\r\n\t QueryReportGraphSelectionsComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t this.scenarioHeaderDiv.innerHTML = \"Current Scenario: \" + this.currentScenario.scenarioName + \" (\" + this.currentScenario.id + \")\";\r\n\t };\r\n\t QueryReportGraphSelectionsComponent.prototype.getColumns = function () {\r\n\t var _this = this;\r\n\t //reusing airports code\r\n\t this.request.tableName = this.tableName;\r\n\t this.request.scenario = this.User.getSession().scenarioId;\r\n\t this.request.isAdmin = this.User.getSession().isAdmin ? 1 : 0;\r\n\t this._airportService.getOperationsColumns(this.request)\r\n\t .subscribe(function (columns) { return _this.columns = columns; }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t QueryReportGraphSelectionsComponent.prototype.getSystemControlValues = function () {\r\n\t var _this = this;\r\n\t this._systemControlService.getSystemControl()\r\n\t .subscribe(function (systemControlElem) {\r\n\t _this.systemControlElem = systemControlElem;\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t };\r\n\t QueryReportGraphSelectionsComponent.prototype.cancel = function () {\r\n\t this.router.navigate([\"/query-reports\"]);\r\n\t };\r\n\t QueryReportGraphSelectionsComponent.prototype.ngOnDestroy = function () { };\r\n\t QueryReportGraphSelectionsComponent.prototype.generateGraph = function () {\r\n\t var _this = this;\r\n\t this.displaySpinner = true;\r\n\t var selectedColumns = this.columns.filter(function (column) {\r\n\t return column.graphR == 1;\r\n\t });\r\n\t if (selectedColumns.length === 0) {\r\n\t this.msgs = [];\r\n\t this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'At least one data column must be selected.' });\r\n\t return;\r\n\t }\r\n\t sessionStorage.setItem('operations-graph-columns', JSON.stringify(selectedColumns));\r\n\t /* let params = {\r\n\t displayName: this.tableDisplayName,\r\n\t tableName:this.tableName,\r\n\t locId: 0, //pass sin 0 to run graphs for entire scenario\r\n\t airportName: '',\r\n\t graphType: this.graphType,\r\n\t startYear: this.startYear,\r\n\t endYear: this.endYear,\r\n\t quickGraph: \"false\",\r\n\t reportId: this.request\r\n\t };*/\r\n\t this.request.graphType = this.graphType;\r\n\t this.request.scenarioId = this.scenario;\r\n\t this.request.startYear = this.startYear;\r\n\t this.request.reportId = 8; //produce graphs\r\n\t this.request.columns = JSON.parse(sessionStorage.getItem('operations-graph-columns'));\r\n\t this._queryReportService.getFacilityListReport(this.request)\r\n\t .subscribe(function (response) {\r\n\t _this.displaySpinner = false;\r\n\t _this.facReportListResponse = response;\r\n\t if (_this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'An error has occurred executing your request'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t }\r\n\t else if (_this.facReportListResponse[0].responseMessage === 'No Data') {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'error', summary: 'Info Message', detail: 'No Data returned.'\r\n\t + _this.facReportListResponse[0].responseMessage });\r\n\t _this.facReportListResponse[0].pdfFileUrl = \"\";\r\n\t _this.facReportListResponse[0].htmlFileUrl = \"\";\r\n\t }\r\n\t else {\r\n\t _this.msgs = [];\r\n\t _this.msgs.push({ severity: 'info', summary: 'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n\t _this.cols = [\r\n\t { field: \"htmlFileUrl\", header: 'Html' },\r\n\t { field: \"pdfFileUrl\", header: 'Pdf' },\r\n\t ];\r\n\t }\r\n\t //console.log (\"response facility report \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n\t // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n\t // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n\t }, function (error) { return _this.errorMessage = error; });\r\n\t //this.router.navigate([`/query-reports-graph-display`, params]);\r\n\t };\r\n\t QueryReportGraphSelectionsComponent.prototype.openPDFFile = function (responsepdf) {\r\n\t window.open(responsepdf, '_blank');\r\n\t };\r\n\t QueryReportGraphSelectionsComponent.prototype.openHTMLFile = function (responseHtml) {\r\n\t window.open(responseHtml, '_blank');\r\n\t };\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', Boolean)\r\n\t ], QueryReportGraphSelectionsComponent.prototype, \"selected\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', String)\r\n\t ], QueryReportGraphSelectionsComponent.prototype, \"locId\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', String)\r\n\t ], QueryReportGraphSelectionsComponent.prototype, \"airportName\", void 0);\r\n\t __decorate([\r\n\t core_1.Input(), \r\n\t __metadata('design:type', Boolean)\r\n\t ], QueryReportGraphSelectionsComponent.prototype, \"displayAll\", void 0);\r\n\t __decorate([\r\n\t core_1.ViewChild('scenarioHeader'), \r\n\t __metadata('design:type', core_1.ElementRef)\r\n\t ], QueryReportGraphSelectionsComponent.prototype, \"scenarioHeader\", void 0);\r\n\t QueryReportGraphSelectionsComponent = __decorate([\r\n\t core_1.Component({\r\n\t selector: 'query-reports-graph-selections',\r\n\t template: __webpack_require__(895),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [primeng_1.Button, primeng_2.Checkbox]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, airport_service_1.AirportService, query_report_service_1.QueryReportService, scenario_service_1.ScenarioService, user_info_service_1.UserInfoService, user_session_1.UserSession, query_report_1.QueryReportListRequest, system_control_service_1.SystemControlService])\r\n\t ], QueryReportGraphSelectionsComponent);\r\n\t return QueryReportGraphSelectionsComponent;\r\n\t}());\r\n\texports.QueryReportGraphSelectionsComponent = QueryReportGraphSelectionsComponent;\r\n\n\n/***/ },\n\n/***/ 895:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n PDF: \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Data: {{tableDisplayName}} \\r\\n
\\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Graph Types:
\\r\\n
\\r\\n
\\r\\n Bar
\\r\\n Line\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"\n\n/***/ },\n\n/***/ 896:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar query_report_service_1 = __webpack_require__(691);\r\n\tvar scenario_service_1 = __webpack_require__(692);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar _ = __webpack_require__(680);\r\n\tvar QueryReportGraphDisplayComponent = (function () {\r\n\t function QueryReportGraphDisplayComponent(route, router, _queryReportService, _scenarioService, User, _userInfoService) {\r\n\t this.route = route;\r\n\t this.router = router;\r\n\t this._queryReportService = _queryReportService;\r\n\t this._scenarioService = _scenarioService;\r\n\t this.User = User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.msgs = [];\r\n\t this.graphType = \"bar\";\r\n\t }\r\n\t QueryReportGraphDisplayComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.sub = this.route.params.subscribe(function (params) {\r\n\t _this.tableName = params['tableName'];\r\n\t _this.displayName = params['displayName'];\r\n\t _this.locId = params['locId'];\r\n\t _this.airportName = params['airportName'];\r\n\t _this.graphType = params['graphType'];\r\n\t _this.startYear = params['startYear'];\r\n\t _this.endYear = params['endYear'];\r\n\t _this.quickGraph = params['quickGraph'];\r\n\t _this.columns = JSON.parse(sessionStorage.getItem('operations-graph-columns'));\r\n\t _this.getGraphData();\r\n\t });\r\n\t this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n\t .subscribe(function (scenarios) { return _this.allScenarios = scenarios; }, function (error) { return _this.errorMessage = error; }, function () {\r\n\t _this.setScenarioHeader(_this.User.getSession().scenarioId);\r\n\t });\r\n\t };\r\n\t QueryReportGraphDisplayComponent.prototype.getGraphData = function () {\r\n\t var _this = this;\r\n\t var params = {\r\n\t tableName: this.tableName,\r\n\t locId: 0,\r\n\t scenarioId: this.User.getSession().scenarioId,\r\n\t startYear: this.startYear,\r\n\t endYear: this.endYear,\r\n\t columns: this.columns\r\n\t };\r\n\t this._queryReportService.getFacilityListReport(params)\r\n\t .subscribe(function (result) {\r\n\t _this.result = result;\r\n\t _this.createGraphDataSet();\r\n\t });\r\n\t };\r\n\t QueryReportGraphDisplayComponent.prototype.createGraphDataSet = function () {\r\n\t var labels = _.map(this.result, 'AYEAR');\r\n\t var datasets = [];\r\n\t for (var index in this.columns) {\r\n\t var dataset = {\r\n\t label: this.columns[index].graphName,\r\n\t data: _.map(this.result, this.columns[index].graphName),\r\n\t fill: false,\r\n\t backgroundColor: this.getRandomColor(),\r\n\t borderColor: this.getRandomColor()\r\n\t };\r\n\t datasets[index] = dataset;\r\n\t }\r\n\t this.data = {\r\n\t labels: labels,\r\n\t datasets: datasets\r\n\t };\r\n\t };\r\n\t QueryReportGraphDisplayComponent.prototype.ngOnDestroy = function () {\r\n\t this.sub.unsubscribe();\r\n\t };\r\n\t QueryReportGraphDisplayComponent.prototype.setScenarioHeader = function (scenarioId) {\r\n\t var foundScenarios = this.allScenarios.filter(function (scenario) {\r\n\t return scenario.id === scenarioId;\r\n\t });\r\n\t if (foundScenarios.length > 0) {\r\n\t this.currentScenario = foundScenarios[0];\r\n\t }\r\n\t };\r\n\t QueryReportGraphDisplayComponent.prototype.getRandomColor = function () {\r\n\t var letters = '0123456789ABCDEF';\r\n\t var color = '#';\r\n\t for (var i = 0; i < 6; i++) {\r\n\t color += letters[Math.floor(Math.random() * 16)];\r\n\t }\r\n\t return color;\r\n\t };\r\n\t QueryReportGraphDisplayComponent = __decorate([\r\n\t core_1.Component({\r\n\t template: __webpack_require__(897),\r\n\t styles: [__webpack_require__(700)],\r\n\t directives: [router_1.ROUTER_DIRECTIVES, primeng_1.UIChart]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.ActivatedRoute, router_1.Router, query_report_service_1.QueryReportService, scenario_service_1.ScenarioService, user_session_1.UserSession, user_info_service_1.UserInfoService])\r\n\t ], QueryReportGraphDisplayComponent);\r\n\t return QueryReportGraphDisplayComponent;\r\n\t}());\r\n\texports.QueryReportGraphDisplayComponent = QueryReportGraphDisplayComponent;\r\n\n\n/***/ },\n\n/***/ 897:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n {{'Facility: ' + locId + ' - ' + airportName }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{displayName}}\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 898:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar login_component_1 = __webpack_require__(899);\r\n\tvar forgot_password_component_1 = __webpack_require__(902);\r\n\tvar reset_password_component_1 = __webpack_require__(905);\r\n\tvar reset_password_success_component_1 = __webpack_require__(908);\r\n\texports.AuthRoutes = [\r\n\t { path: 'login', component: login_component_1.LoginComponent },\r\n\t { path: 'login-help', component: forgot_password_component_1.ForgotPasswordComponent },\r\n\t { path: 'reset-password', component: reset_password_component_1.ResetPasswordComponent },\r\n\t { path: 'reset-password-success', component: reset_password_success_component_1.ResetPasswordSuccessComponent }\r\n\t];\r\n\n\n/***/ },\n\n/***/ 899:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar auth_service_1 = __webpack_require__(679);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar loading_indicator_1 = __webpack_require__(900);\r\n\tvar user_session_1 = __webpack_require__(699);\r\n\tvar user_info_service_1 = __webpack_require__(695);\r\n\tvar _ = __webpack_require__(680);\r\n\tvar LoginComponent = (function () {\r\n\t function LoginComponent(router, authService, route, User, _userInfoService) {\r\n\t this.router = router;\r\n\t this.authService = authService;\r\n\t this.route = route;\r\n\t this.User = User;\r\n\t this._userInfoService = _userInfoService;\r\n\t this.userNameFocus = true;\r\n\t this.requestedUrl = '';\r\n\t this.oidcCode = '';\r\n\t }\r\n\t LoginComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t console.log(this.route.queryParams);\r\n\t this.sub = this.route.params.subscribe(function (params) {\r\n\t _this.requestedUrl = params['requestedUrl'];\r\n\t });\r\n\t this.suboidc = this.route.queryParams.subscribe(function (params) {\r\n\t var oidcCode = params['code'];\r\n\t if (!_.isEmpty(oidcCode)) {\r\n\t _this.login(oidcCode);\r\n\t }\r\n\t });\r\n\t if (this.authService.isLoggedIn()) {\r\n\t this.router.navigate(['/welcome']);\r\n\t }\r\n\t };\r\n\t LoginComponent.prototype.loginoidc = function () {\r\n\t this.authService.oidclogin();\r\n\t };\r\n\t LoginComponent.prototype.login = function (oidcCode) {\r\n\t var _this = this;\r\n\t this.loggingIn = true;\r\n\t this.authService.login(oidcCode)\r\n\t .subscribe(function (success) {\r\n\t _this.User.updateSessionState();\r\n\t _this.ngOnInit();\r\n\t if (_this.requestedUrl) {\r\n\t _this.router.navigate([_this.requestedUrl]);\r\n\t }\r\n\t else {\r\n\t _this.router.navigate(['/welcome']);\r\n\t }\r\n\t window.location.reload();\r\n\t }, function (error) {\r\n\t console.log(\"ERROR\" + error);\r\n\t _this.alerts = [];\r\n\t _this.alerts.push({ type: 'danger', msg: error.error_description || 'Error Connecting to Server' });\r\n\t _this.loggingIn = false;\r\n\t });\r\n\t };\r\n\t LoginComponent.prototype.closeAlert = function (index) {\r\n\t this.alerts.splice(index, 1);\r\n\t };\r\n\t LoginComponent = __decorate([\r\n\t core_1.Component({\r\n\t //providers: [AuthService],\r\n\t directives: [loading_indicator_1.LoadingIndicator],\r\n\t //templateUrl: 'app/authentication/login.component.html'\r\n\t template: __webpack_require__(901),\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.Router, auth_service_1.AuthService, router_1.ActivatedRoute, user_session_1.UserSession, user_info_service_1.UserInfoService])\r\n\t ], LoginComponent);\r\n\t return LoginComponent;\r\n\t}());\r\n\texports.LoginComponent = LoginComponent;\r\n\n\n/***/ },\n\n/***/ 900:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar LoadingPage = (function () {\r\n\t function LoadingPage(val) {\r\n\t this.loading = val;\r\n\t }\r\n\t LoadingPage.prototype.standby = function () {\r\n\t this.loading = true;\r\n\t };\r\n\t LoadingPage.prototype.ready = function () {\r\n\t this.loading = false;\r\n\t };\r\n\t return LoadingPage;\r\n\t}());\r\n\texports.LoadingPage = LoadingPage;\r\n\tvar LoadingIndicator = (function () {\r\n\t function LoadingIndicator() {\r\n\t }\r\n\t LoadingIndicator = __decorate([\r\n\t core_1.Component({\r\n\t selector: 'loading-indicator',\r\n\t template: \"
\"\r\n\t }), \r\n\t __metadata('design:paramtypes', [])\r\n\t ], LoadingIndicator);\r\n\t return LoadingIndicator;\r\n\t}());\r\n\texports.LoadingIndicator = LoadingIndicator;\r\n\n\n/***/ },\n\n/***/ 901:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Sign In\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
{{alert.msg}}
\\r\\n
\\r\\n
\\r\\n Users are accessing a U.S. Government information system.
\\r\\n System usage may be monitored, recorded, and subject to audit.
\\r\\n Unauthorized use of the system is prohibited and\\r\\n subject to civil and criminal penalties.
\\r\\n Use of the system indicates consent to monitoring and recording.

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n/***/ },\n\n/***/ 902:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar account_service_1 = __webpack_require__(903);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar ForgotPasswordComponent = (function () {\r\n\t function ForgotPasswordComponent(router, accountService, route) {\r\n\t this.router = router;\r\n\t this.accountService = accountService;\r\n\t this.route = route;\r\n\t this.forgot = 'username';\r\n\t }\r\n\t ForgotPasswordComponent.prototype.ngOnInit = function () {\r\n\t //So for this don't think I need the below currently because we are not doing security questions\r\n\t // this.sub = this.route.params.subscribe(\r\n\t // params => {\r\n\t // this.email = params['email'];\r\n\t // this.code = params['code'];\r\n\t // });\r\n\t // if(this.email){\r\n\t // \tthis.accountService.getSecurityQuestionForEmail(this.email)\r\n\t // .subscribe(\r\n\t // data => this.question = data.question,\r\n\t // error => {\r\n\t // this.alerts = [];\r\n\t // \t\t\t\tthis.alerts.push({type: 'danger', \r\n\t // \t\t\t\t\tmsg: 'An unexpected error occurred while retrieving your security question.'});\r\n\t // this.timeoutAlert(); \r\n\t // }\r\n\t // );\r\n\t // }\r\n\t };\r\n\t ForgotPasswordComponent.prototype.timeoutAlert = function () {\r\n\t var _this = this;\r\n\t setTimeout(function () {\r\n\t _this.alerts = [];\r\n\t //supposedly not needed in angular2\r\n\t //$scope.$apply();\r\n\t }, 1000);\r\n\t };\r\n\t ForgotPasswordComponent.prototype.forgotSomething = function () {\r\n\t var _this = this;\r\n\t this.sendingEmail = true;\r\n\t var baseUrl = window.location.href.substring(0, window.location.href.lastIndexOf('/'));\r\n\t // if(this.forgot === 'username'){\r\n\t // this.accountService.retrieveUsername({email: this.email, baseUrl: baseUrl})\r\n\t // .subscribe(\r\n\t // success => {\r\n\t // this.alerts = [];\r\n\t // this.alerts.push({type: 'success', msg: 'Your e-mail has been sent.'}); \r\n\t // },\r\n\t // error => {\r\n\t // this.alerts = [];\r\n\t // this.alerts.push({type: 'danger', msg: error});\r\n\t // this.timeoutAlert();\r\n\t // }\r\n\t // );\r\n\t // }\r\n\t // else{\r\n\t this.accountService.forgotPwd({ email: this.email, baseUrl: baseUrl })\r\n\t .finally(function () { return _this.sendingEmail = false; })\r\n\t .subscribe(function (success) {\r\n\t _this.alerts = [];\r\n\t _this.alerts.push({ type: 'success', msg: 'Your e-mail has been sent.' });\r\n\t }, function (error) {\r\n\t _this.alerts = [];\r\n\t _this.alerts.push({ type: 'danger', msg: error });\r\n\t _this.timeoutAlert();\r\n\t });\r\n\t //}\r\n\t };\r\n\t ForgotPasswordComponent.prototype.closeAlert = function (index) {\r\n\t this.alerts.splice(index, 1);\r\n\t };\r\n\t ForgotPasswordComponent.prototype.verifySecurityQuestion = function () {\r\n\t var _this = this;\r\n\t this.accountService.verifySecurityQuestion(this.email, this.answer)\r\n\t .subscribe(function (data) {\r\n\t if (data === 'true') {\r\n\t _this.router.navigate(['/reset-password']);\r\n\t }\r\n\t else {\r\n\t _this.alerts = [];\r\n\t _this.alerts.push({ type: 'danger', msg: \"The answer doesn't match our records. Please try again.\" });\r\n\t }\r\n\t }, function (error) {\r\n\t _this.alerts = [];\r\n\t _this.alerts.push({ type: 'danger', msg: 'An unexpected error occurred while verifying your answer.' });\r\n\t }, function () { return _this.timeoutAlert(); });\r\n\t };\r\n\t ForgotPasswordComponent.prototype.resetPassword = function () {\r\n\t var _this = this;\r\n\t var pwdData = {\r\n\t email: this.email,\r\n\t resetToken: this.code,\r\n\t newPassword: this.newPassword\r\n\t };\r\n\t this.accountService.resetPwd(pwdData)\r\n\t .subscribe(function (data) {\r\n\t if (data.succeeded) {\r\n\t _this.router.navigate(['/reset-password-success']);\r\n\t }\r\n\t else {\r\n\t _this.alerts = [];\r\n\t _this.alerts.push({ type: 'danger', msg: data.errors[0] });\r\n\t }\r\n\t }, function (error) {\r\n\t _this.alerts = [];\r\n\t _this.alerts.push({ type: 'danger', msg: 'An error occurred resetting your password. Please try again' });\r\n\t }, function () { return _this.timeoutAlert(); });\r\n\t };\r\n\t ForgotPasswordComponent = __decorate([\r\n\t core_1.Component({\r\n\t providers: [account_service_1.AccountService],\r\n\t //templateUrl: 'app/authentication/forgot-password.component.html'\r\n\t template: __webpack_require__(904),\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.Router, account_service_1.AccountService, router_1.ActivatedRoute])\r\n\t ], ForgotPasswordComponent);\r\n\t return ForgotPasswordComponent;\r\n\t}());\r\n\texports.ForgotPasswordComponent = ForgotPasswordComponent;\r\n\n\n/***/ },\n\n/***/ 903:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\tvar AccountService = (function () {\r\n\t function AccountService(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t }\r\n\t AccountService.prototype.changePwd = function (pwdData) {\r\n\t return this.httpHelper.post('auth/api/account/changepwd', JSON.stringify(pwdData));\r\n\t };\r\n\t AccountService.prototype.forgotPwd = function (pwdData) {\r\n\t return this.httpHelper.post('auth/api/account/forgotpwd', JSON.stringify(pwdData));\r\n\t };\r\n\t AccountService.prototype.verifySecurityQuestion = function (email, answer) {\r\n\t var data = {\r\n\t email: email,\r\n\t answer: answer\r\n\t };\r\n\t return this.httpHelper.post('auth/api/account/validatesecurityquestion', JSON.stringify(data));\r\n\t };\r\n\t AccountService.prototype.getSecurityQuestionForEmail = function (email) {\r\n\t var secQuestionData = {\r\n\t email: email\r\n\t };\r\n\t return this.httpHelper.post('auth/api/account/securityquestion', JSON.stringify(secQuestionData));\r\n\t };\r\n\t AccountService.prototype.resetPwd = function (pwdData) {\r\n\t return this.httpHelper.post('auth/api/account/resetpwd', JSON.stringify(pwdData));\r\n\t };\r\n\t AccountService.prototype.getSecurityQuestions = function () {\r\n\t return this.httpHelper.get('auth/api/account/questions');\r\n\t };\r\n\t AccountService.prototype.getAccountInfo = function (username) {\r\n\t var data = {\r\n\t username: username\r\n\t };\r\n\t return this.httpHelper.post('auth/api/account/info', JSON.stringify(data));\r\n\t //JSON.stringify('username':username}));\r\n\t };\r\n\t AccountService.prototype.saveSecurityQuestionAnswers = function (securityQuestionData) {\r\n\t return this.httpHelper.post('auth/api/account/savesecurityanswer', JSON.stringify(securityQuestionData));\r\n\t };\r\n\t AccountService.prototype.retrieveUsername = function (usernameData) {\r\n\t return this.httpHelper.post('auth/api/account/forgotusername', JSON.stringify(usernameData));\r\n\t };\r\n\t AccountService.prototype.confirmEmail = function (confirmationData) {\r\n\t return this.httpHelper.post('auth/api/account/confirmemail', JSON.stringify(confirmationData));\r\n\t };\r\n\t AccountService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], AccountService);\r\n\t return AccountService;\r\n\t}());\r\n\texports.AccountService = AccountService;\r\n\n\n/***/ },\n\n/***/ 904:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n\\r\\n
\\r\\n Forgot Password\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
{{alert.msg}}
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Vaid email address required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \"\n\n/***/ },\n\n/***/ 905:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar account_service_1 = __webpack_require__(903);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar confirm_validator_directive_1 = __webpack_require__(906);\r\n\tvar ResetPasswordComponent = (function () {\r\n\t function ResetPasswordComponent(router, accountService, route) {\r\n\t this.router = router;\r\n\t this.accountService = accountService;\r\n\t this.route = route;\r\n\t }\r\n\t ResetPasswordComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.sub = this.route.queryParams.subscribe(function (params) {\r\n\t _this.email = params['email'];\r\n\t _this.code = params['code'];\r\n\t });\r\n\t };\r\n\t ResetPasswordComponent.prototype.timeoutAlert = function () {\r\n\t var _this = this;\r\n\t setTimeout(function () {\r\n\t _this.alerts = [];\r\n\t //supposedly not needed in angular2\r\n\t //$scope.$apply();\r\n\t }, 1000);\r\n\t };\r\n\t ResetPasswordComponent.prototype.closeAlert = function (index) {\r\n\t this.alerts.splice(index, 1);\r\n\t };\r\n\t ResetPasswordComponent.prototype.resetPassword = function () {\r\n\t var _this = this;\r\n\t this.alerts = [];\r\n\t var pwdData = {\r\n\t email: this.email,\r\n\t resetToken: this.code,\r\n\t newPassword: this.newPassword\r\n\t };\r\n\t this.accountService.resetPwd(pwdData)\r\n\t .subscribe(function (data) {\r\n\t if (data.succeeded) {\r\n\t _this.router.navigate(['/reset-password-success']);\r\n\t }\r\n\t else {\r\n\t _this.alerts.push({ type: 'danger', msg: data.errors[0] });\r\n\t }\r\n\t }, function (error) {\r\n\t _this.alerts.push({ type: 'danger', msg: 'An error occurred resetting your password. Please try again' });\r\n\t }, function () { return _this.timeoutAlert(); });\r\n\t };\r\n\t ResetPasswordComponent = __decorate([\r\n\t core_1.Component({\r\n\t providers: [account_service_1.AccountService],\r\n\t //templateUrl: 'app/authentication/reset-password.component.html',\r\n\t template: __webpack_require__(907),\r\n\t directives: [confirm_validator_directive_1.EqualValidator]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.Router, account_service_1.AccountService, router_1.ActivatedRoute])\r\n\t ], ResetPasswordComponent);\r\n\t return ResetPasswordComponent;\r\n\t}());\r\n\texports.ResetPasswordComponent = ResetPasswordComponent;\r\n\n\n/***/ },\n\n/***/ 906:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar __param = (this && this.__param) || function (paramIndex, decorator) {\r\n\t return function (target, key) { decorator(target, key, paramIndex); }\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar forms_1 = __webpack_require__(337);\r\n\tvar EqualValidator = (function () {\r\n\t function EqualValidator(validateEqual, reverse) {\r\n\t this.validateEqual = validateEqual;\r\n\t this.reverse = reverse;\r\n\t }\r\n\t Object.defineProperty(EqualValidator.prototype, \"isReverse\", {\r\n\t get: function () {\r\n\t if (!this.reverse)\r\n\t return false;\r\n\t return this.reverse === 'true' ? true : false;\r\n\t },\r\n\t enumerable: true,\r\n\t configurable: true\r\n\t });\r\n\t EqualValidator.prototype.validate = function (c) {\r\n\t // self value\r\n\t var v = c.value;\r\n\t // control vlaue\r\n\t var e = c.root.find(this.validateEqual);\r\n\t // value not equal\r\n\t if (e && v !== e.value && !this.isReverse) {\r\n\t return {\r\n\t validateEqual: false\r\n\t };\r\n\t }\r\n\t // value equal and reverse\r\n\t if (e && v === e.value && this.isReverse) {\r\n\t delete e.errors['validateEqual'];\r\n\t if (!Object.keys(e.errors).length)\r\n\t e.setErrors(null);\r\n\t }\r\n\t // value not equal and reverse\r\n\t if (e && v !== e.value && this.isReverse) {\r\n\t e.setErrors({\r\n\t validateEqual: false\r\n\t });\r\n\t }\r\n\t return null;\r\n\t };\r\n\t EqualValidator = __decorate([\r\n\t core_1.Directive({\r\n\t selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',\r\n\t providers: [\r\n\t core_1.provide(forms_1.NG_VALIDATORS, { useExisting: core_1.forwardRef(function () { return EqualValidator; }), multi: true })\r\n\t ]\r\n\t }),\r\n\t __param(0, core_1.Attribute('validateEqual')),\r\n\t __param(1, core_1.Attribute('reverse')), \r\n\t __metadata('design:paramtypes', [String, String])\r\n\t ], EqualValidator);\r\n\t return EqualValidator;\r\n\t}());\r\n\texports.EqualValidator = EqualValidator;\r\n\n\n/***/ },\n\n/***/ 907:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"\\r\\n
\\r\\n
\\r\\n Reset Password\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{alert.msg}}
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Password must be at least 6 characters long, and contain at least one upper case letter, one lower case letter, and one number.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Password's must match\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 908:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar ResetPasswordSuccessComponent = (function () {\r\n\t function ResetPasswordSuccessComponent() {\r\n\t }\r\n\t ResetPasswordSuccessComponent = __decorate([\r\n\t core_1.Component({\r\n\t //templateUrl: 'app/authentication/reset-password-success.component.html'\r\n\t template: __webpack_require__(909),\r\n\t }), \r\n\t __metadata('design:paramtypes', [])\r\n\t ], ResetPasswordSuccessComponent);\r\n\t return ResetPasswordSuccessComponent;\r\n\t}());\r\n\texports.ResetPasswordSuccessComponent = ResetPasswordSuccessComponent;\r\n\n\n/***/ },\n\n/***/ 909:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n Password Reset Success\\r\\n
\\r\\n
\\r\\n
\\r\\n Click here to login. \\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 910:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar admin_component_1 = __webpack_require__(911);\r\n\tvar user_component_1 = __webpack_require__(914);\r\n\tvar auth_guard_service_1 = __webpack_require__(696);\r\n\texports.AdminRoutes = [\r\n\t { path: 'admin', component: admin_component_1.AdminComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'user-admin', component: user_component_1.UserComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'user-admin/:id', component: user_component_1.UserComponent, canActivate: [auth_guard_service_1.AuthGuard] }\r\n\t];\r\n\n\n/***/ },\n\n/***/ 911:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar admin_service_1 = __webpack_require__(912);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar primeng_1 = __webpack_require__(708);\r\n\tvar primeng_2 = __webpack_require__(708);\r\n\tvar primeng_3 = __webpack_require__(708);\r\n\tvar primeng_4 = __webpack_require__(708);\r\n\tvar primeng_5 = __webpack_require__(708);\r\n\tvar primeng_6 = __webpack_require__(708);\r\n\tvar primeng_7 = __webpack_require__(708);\r\n\tvar AdminComponent = (function () {\r\n\t function AdminComponent(router, adminService, route) {\r\n\t this.router = router;\r\n\t this.adminService = adminService;\r\n\t this.route = route;\r\n\t this.retrievingUsers = false;\r\n\t }\r\n\t AdminComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.users = [];\r\n\t this.getUsers();\r\n\t this.items = [\r\n\t { label: 'Edit', icon: 'fa-edit', command: function (event) { return _this.editUser(_this.selectedUser); } },\r\n\t { label: 'Delete', icon: 'fa-trash', command: function (event) { return _this.deleteUser(_this.selectedUser); } }\r\n\t ];\r\n\t };\r\n\t AdminComponent.prototype.getUsers = function () {\r\n\t var _this = this;\r\n\t this.retrievingUsers = true;\r\n\t this.adminService.getUsers()\r\n\t .subscribe(function (users) {\r\n\t _this.users = users;\r\n\t _this.users.map(function (user) {\r\n\t user.roles = user.roles.map(function (role) { return role.name; }).join(', ');\r\n\t });\r\n\t }, function (error) {\r\n\t _this.alerts = [];\r\n\t _this.alerts.push({ type: 'danger', msg: 'There was an error retrieving users.' });\r\n\t }, function () { return _this.retrievingUsers = false; });\r\n\t };\r\n\t AdminComponent.prototype.addUser = function () {\r\n\t this.router.navigate(['/user-admin']);\r\n\t };\r\n\t AdminComponent.prototype.editUser = function (user) {\r\n\t this.router.navigate(['/user-admin', { id: user.id }]);\r\n\t };\r\n\t AdminComponent.prototype.deleteUser = function (user) {\r\n\t var _this = this;\r\n\t var confirmAnswer = confirm(\"Are you sure you want to delete user \" + user.userName);\r\n\t if (confirmAnswer == true) {\r\n\t this.adminService.deleteUser(user.id)\r\n\t .subscribe(function (users) {\r\n\t _this.retrievingUsers = true;\r\n\t _this.alerts = [];\r\n\t _this.alerts.push({ type: 'success', msg: 'Successfully removed user' });\r\n\t _this.getUsers();\r\n\t }, function (error) {\r\n\t _this.alerts = [];\r\n\t _this.alerts.push({ type: 'danger', msg: 'Failed to remove user' });\r\n\t }, function () { return _this.retrievingUsers = false; });\r\n\t }\r\n\t };\r\n\t AdminComponent = __decorate([\r\n\t core_1.Component({\r\n\t providers: [admin_service_1.AdminService],\r\n\t //templateUrl: 'app/administration/admin.component.html',\r\n\t template: __webpack_require__(913),\r\n\t directives: [primeng_2.DataTable, primeng_3.Column, primeng_4.Header, primeng_5.Button, primeng_6.Menu, primeng_1.ContextMenu, primeng_7.ContextMenuSub]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.Router, admin_service_1.AdminService, router_1.ActivatedRoute])\r\n\t ], AdminComponent);\r\n\t return AdminComponent;\r\n\t}());\r\n\texports.AdminComponent = AdminComponent;\r\n\n\n/***/ },\n\n/***/ 912:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar http_helper_1 = __webpack_require__(678);\r\n\tvar AdminService = (function () {\r\n\t function AdminService(httpHelper) {\r\n\t this.httpHelper = httpHelper;\r\n\t }\r\n\t //Do we need a user types?????\r\n\t AdminService.prototype.getUsers = function () {\r\n\t //wasn't able to get cacheing to work but found a couple of examples\r\n\t //this really isn't pulling back that much data so just going to run the call again\r\n\t return this.httpHelper.get('api/users');\r\n\t };\r\n\t AdminService.prototype.getRoles = function () {\r\n\t return this.httpHelper.get('auth/api/account/roles');\r\n\t };\r\n\t //This seems to be never used\r\n\t AdminService.prototype.getCachedUsers = function () {\r\n\t return this.users;\r\n\t };\r\n\t //so will have an user interface but not sure if I will need it here\r\n\t AdminService.prototype.createUser = function (user) {\r\n\t return this.httpHelper.post(\r\n\t //'auth/api/users/',\r\n\t 'api/users/', JSON.stringify(user));\r\n\t //TODO: test error handling here\r\n\t };\r\n\t AdminService.prototype.emailExists = function (email) {\r\n\t return this.httpHelper.post('auth/api/account/emailexists', \r\n\t //this might not be right\r\n\t JSON.stringify({ email: email }));\r\n\t };\r\n\t AdminService.prototype.usernameExists = function (username) {\r\n\t return this.httpHelper.post('auth/api/account/usernameexists', \r\n\t //this might not be right\r\n\t JSON.stringify({ username: username }));\r\n\t };\r\n\t AdminService.prototype.updateUser = function (user) {\r\n\t return this.httpHelper.put('api/users/' + user.id, JSON.stringify(user));\r\n\t };\r\n\t AdminService.prototype.deleteUser = function (userid) {\r\n\t return this.httpHelper.delete('api/users/' + userid);\r\n\t };\r\n\t AdminService = __decorate([\r\n\t core_1.Injectable(), \r\n\t __metadata('design:paramtypes', [http_helper_1.HttpHelper])\r\n\t ], AdminService);\r\n\t return AdminService;\r\n\t}());\r\n\texports.AdminService = AdminService;\r\n\n\n/***/ },\n\n/***/ 913:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n Admin\\r\\n
\\r\\n
\\r\\n
\\r\\n Users\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Loading Users \\r\\n
\\r\\n
\\r\\n
\\r\\n

No users found.

\\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 \"\n\n/***/ },\n\n/***/ 914:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar admin_service_1 = __webpack_require__(912);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar commondata_service_1 = __webpack_require__(693);\r\n\tvar _ = __webpack_require__(680);\r\n\tvar UserComponent = (function () {\r\n\t function UserComponent(router, adminService, _commonDataService, route) {\r\n\t this.router = router;\r\n\t this.adminService = adminService;\r\n\t this._commonDataService = _commonDataService;\r\n\t this.route = route;\r\n\t }\r\n\t UserComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t this.sub = this.route.params.subscribe(function (params) {\r\n\t var id = params['id'];\r\n\t if (id === undefined) {\r\n\t _this.newUser = true;\r\n\t _this.pageTitle = 'Create User';\r\n\t _this.user = {};\r\n\t _this.getRoles();\r\n\t }\r\n\t else {\r\n\t _this.newUser = false;\r\n\t _this.pageTitle = 'Edit User';\r\n\t _this.idParam = id;\r\n\t //console.log(this.idParam);\r\n\t _this.adminService.getUsers().subscribe(function (data) {\r\n\t var users = data;\r\n\t _this.user = _.find(users, function (user) {\r\n\t return user.id === Number(id);\r\n\t });\r\n\t _this.origUser = _.cloneDeep(_this.user);\r\n\t _this.getRoles();\r\n\t });\r\n\t }\r\n\t });\r\n\t this.getKeyValues('region');\r\n\t };\r\n\t UserComponent.prototype.getKeyValues = function (id) {\r\n\t var _this = this;\r\n\t this._commonDataService.getData(id)\r\n\t .subscribe(function (list) {\r\n\t if (id == \"region\") {\r\n\t _this.regions = list;\r\n\t }\r\n\t });\r\n\t };\r\n\t UserComponent.prototype.getRoles = function () {\r\n\t var _this = this;\r\n\t this.adminService.getRoles()\r\n\t .subscribe(function (roles) {\r\n\t _this.roles = roles;\r\n\t _this.selectRole();\r\n\t });\r\n\t };\r\n\t UserComponent.prototype.selectRole = function () {\r\n\t if (this.user && this.user.roles) {\r\n\t var roleId_1 = this.user.roles[0].id;\r\n\t this.user.selectedRole = _.find(this.roles, function (role) {\r\n\t return role.id === roleId_1;\r\n\t });\r\n\t }\r\n\t else {\r\n\t this.user.selectedRole = this.roles[1];\r\n\t }\r\n\t };\r\n\t UserComponent.prototype.submitUser = function () {\r\n\t var _this = this;\r\n\t this.alerts = [];\r\n\t if (this.newUser) {\r\n\t this.adminService.usernameExists(this.user.userName)\r\n\t .subscribe(function (success) {\r\n\t if (success == true) {\r\n\t _this.alerts.push({ type: 'danger', msg: 'User Name is Already in Use' });\r\n\t }\r\n\t else {\r\n\t _this.adminService.emailExists(_this.user.email)\r\n\t .subscribe(function (success) {\r\n\t if (success == true) {\r\n\t _this.alerts.push({ type: 'danger', msg: 'Email is Already in Use' });\r\n\t }\r\n\t else {\r\n\t _this.saveUser();\r\n\t }\r\n\t }, function (error) {\r\n\t _this.alerts.push({ type: 'danger', msg: 'Error Occured Connecting to Server' });\r\n\t });\r\n\t }\r\n\t }, function (error) {\r\n\t _this.alerts.push({ type: 'danger', msg: 'Error Occured Connecting to Server' });\r\n\t });\r\n\t }\r\n\t else {\r\n\t this.saveUser();\r\n\t }\r\n\t };\r\n\t UserComponent.prototype.saveUser = function () {\r\n\t var _this = this;\r\n\t this.alerts = [];\r\n\t this.user.role = this.user.selectedRole.name;\r\n\t if (this.newUser) {\r\n\t //TODO: not sure I need this\r\n\t this.user.baseUrl = window.location.href.substring(0, window.location.href.lastIndexOf('/'));\r\n\t this.adminService.createUser(this.user)\r\n\t .subscribe(function (success) { return _this.router.navigate(['/admin']); }, function (error) {\r\n\t _this.alerts.push({ type: 'danger', msg: 'Creation failed.' });\r\n\t });\r\n\t }\r\n\t else {\r\n\t this.adminService.updateUser(this.user)\r\n\t .subscribe(function (success) { return _this.router.navigate(['/admin']); }, function (error) {\r\n\t _this.alerts.push({ type: 'danger', msg: 'Update failed.' });\r\n\t });\r\n\t }\r\n\t };\r\n\t UserComponent.prototype.resetForm = function () {\r\n\t this.user = this.origUser;\r\n\t this.selectRole();\r\n\t //https://github.com/angular/angular/pull/9974\r\n\t //this.form.markAsPristine();\r\n\t };\r\n\t UserComponent.prototype.closeAlert = function (index) {\r\n\t this.alerts.splice(index, 1);\r\n\t };\r\n\t UserComponent = __decorate([\r\n\t core_1.Component({\r\n\t providers: [admin_service_1.AdminService],\r\n\t //templateUrl: 'app/administration/user.component.html'\r\n\t template: __webpack_require__(915),\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.Router, admin_service_1.AdminService, commondata_service_1.CommonDataService, router_1.ActivatedRoute])\r\n\t ], UserComponent);\r\n\t return UserComponent;\r\n\t}());\r\n\texports.UserComponent = UserComponent;\r\n\n\n/***/ },\n\n/***/ 915:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n {{ pageTitle }}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
{{alert.msg}}
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n User Name is required\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Vaid email address required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n First Name is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Last Name is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 916:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar account_component_1 = __webpack_require__(917);\r\n\tvar email_confirmation_component_1 = __webpack_require__(919);\r\n\tvar auth_guard_service_1 = __webpack_require__(696);\r\n\texports.AccountRoutes = [\r\n\t { path: 'account', component: account_component_1.AccountComponent, canActivate: [auth_guard_service_1.AuthGuard] },\r\n\t { path: 'email-confirmation', component: email_confirmation_component_1.EmailConfirmationComponent },\r\n\t];\r\n\n\n/***/ },\n\n/***/ 917:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar account_service_1 = __webpack_require__(903);\r\n\tvar auth_service_1 = __webpack_require__(679);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar AccountComponent = (function () {\r\n\t function AccountComponent(router, accountService, authService, route) {\r\n\t this.router = router;\r\n\t this.accountService = accountService;\r\n\t this.authService = authService;\r\n\t this.route = route;\r\n\t }\r\n\t //TODO: may not need this \r\n\t AccountComponent.prototype.ngOnInit = function () {\r\n\t };\r\n\t AccountComponent.prototype.timeoutAlert = function () {\r\n\t setTimeout(function () {\r\n\t this.errorAlerts = [];\r\n\t }, 10000);\r\n\t };\r\n\t AccountComponent.prototype.changePassword = function () {\r\n\t var _this = this;\r\n\t this.alerts = [];\r\n\t var pwdData = {\r\n\t username: this.authService.getLoggedInUser(),\r\n\t currentPassword: this.currentPassword,\r\n\t newPassword: this.newPassword\r\n\t };\r\n\t this.accountService.changePwd(pwdData)\r\n\t .subscribe(function (data) {\r\n\t if (data.succeeded) {\r\n\t _this.alerts.push({ type: 'success', msg: 'Password successfully changed' });\r\n\t }\r\n\t else {\r\n\t _this.alerts.push({ type: 'danger', msg: data.errors[0] });\r\n\t }\r\n\t }, function (error) {\r\n\t _this.alerts.push({ type: 'danger', msg: error });\r\n\t }, function () { return _this.timeoutAlert(); });\r\n\t };\r\n\t //not used for now\r\n\t // getSecurityQuestions(){\r\n\t // \tthis.accountService.getSecurityQuestions().\r\n\t // subscribe(\r\n\t // data => {\r\n\t // this.questions = data;\r\n\t // \t\t\t this.getUserAccountInfo();\r\n\t // },\r\n\t // error => {\r\n\t // \t\t\t this.alerts = [];\r\n\t // \t\t\t this.alerts.push({type: 'danger', \r\n\t // \t\t\t msg: 'An unexpected error occurred while retrieving the list of security questions'});\r\n\t // });\r\n\t // }\r\n\t // getUserAccountInfo(){\r\n\t // \tthis.accountService.getAccountInfo(this.authService.getLoggedInUser()).\r\n\t // subscribe(\r\n\t // data => {\r\n\t // this.question = _.find(this.questions, function(q: any){\r\n\t // \t\t\t\t return q.id === data.questionId;});\r\n\t // \t\t\t this.answer = data.answer;\r\n\t // \t\t });\r\n\t // }\r\n\t // saveSecurityQuestionAnswer(){\r\n\t // var securityQuestionData = {\r\n\t // \t username: this.authService.getLoggedInUser(),\r\n\t // \t\tquestionid: this.question.id,\r\n\t // \t\tanswer: this.answer\r\n\t // \t};\r\n\t // \tthis.accountService.saveSecurityQuestionAnswers(securityQuestionData)\r\n\t // .subscribe(\r\n\t // success => {\r\n\t // this.alerts = [];\r\n\t // \t\t\t\tthis.alerts.push({type: 'success', msg: 'Security Question saved.'});\r\n\t // },\r\n\t // error => {\r\n\t // \t\t\t this.alerts = [];\r\n\t // \t\t\t\tthis.alerts.push({type: 'danger', msg: 'Unexpected error saving security question'});\r\n\t // },\r\n\t // () => this.timeoutAlert()\r\n\t // );\t\r\n\t // }\r\n\t AccountComponent.prototype.closeAlert = function (index) {\r\n\t this.alerts.splice(index, 1);\r\n\t };\r\n\t AccountComponent = __decorate([\r\n\t core_1.Component({\r\n\t providers: [account_service_1.AccountService, auth_service_1.AuthService],\r\n\t //templateUrl: 'app/accounts/account.component.html'\r\n\t template: __webpack_require__(918),\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.Router, account_service_1.AccountService, auth_service_1.AuthService, router_1.ActivatedRoute])\r\n\t ], AccountComponent);\r\n\t return AccountComponent;\r\n\t}());\r\n\texports.AccountComponent = AccountComponent;\r\n\n\n/***/ },\n\n/***/ 918:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n Account Management\\r\\n
\\r\\n
\\r\\n

Change Password

\\r\\n
\\r\\n
\\r\\n
{{alert.msg}}
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Password is required\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Password must be at least 6 characters long, and contain at least one upper case letter, one lower case letter, and one number.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Password's must match\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ },\n\n/***/ 919:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\r\n\tvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n\t var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n\t else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n\t return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n\t};\r\n\tvar __metadata = (this && this.__metadata) || function (k, v) {\r\n\t if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n\t};\r\n\tvar core_1 = __webpack_require__(11);\r\n\tvar account_service_1 = __webpack_require__(903);\r\n\tvar router_1 = __webpack_require__(655);\r\n\tvar EmailConfirmationComponent = (function () {\r\n\t function EmailConfirmationComponent(router, accountService, route) {\r\n\t this.router = router;\r\n\t this.accountService = accountService;\r\n\t this.route = route;\r\n\t }\r\n\t EmailConfirmationComponent.prototype.ngOnInit = function () {\r\n\t var _this = this;\r\n\t var email;\r\n\t var token;\r\n\t this.sub = this.route.queryParams.subscribe(function (params) {\r\n\t email = params['email'];\r\n\t token = params['token'];\r\n\t });\r\n\t var data = {\r\n\t email: email,\r\n\t token: token\r\n\t };\r\n\t this.accountService.confirmEmail(data).\r\n\t subscribe(function (success) {\r\n\t _this.message = \"Confirmation of e-mail address complete.\";\r\n\t //seems no way to do this right now, not sure if needed\r\n\t //$location.search('email', undefined);\r\n\t //$location.search('token', undefined);\r\n\t }, function (error) { return _this.message = \"Failed to confirm e-mail. \" + error; });\r\n\t };\r\n\t EmailConfirmationComponent = __decorate([\r\n\t core_1.Component({\r\n\t //selector: 'login-form',\r\n\t providers: [account_service_1.AccountService],\r\n\t //templateUrl: 'app/accounts/email-confirmation.component.html',\r\n\t template: __webpack_require__(920),\r\n\t directives: [router_1.ROUTER_DIRECTIVES]\r\n\t }), \r\n\t __metadata('design:paramtypes', [router_1.Router, account_service_1.AccountService, router_1.ActivatedRoute])\r\n\t ], EmailConfirmationComponent);\r\n\t return EmailConfirmationComponent;\r\n\t}());\r\n\texports.EmailConfirmationComponent = EmailConfirmationComponent;\r\n\n\n/***/ },\n\n/***/ 920:\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
\\r\\n
\\r\\n Email confirmation\\r\\n
\\r\\n
{{message}}\\r\\n
\\r\\n
\"\n\n/***/ }\n\n});\n\n\n/** WEBPACK FOOTER **\n ** app.4e7fdec8a5a40bdf6602.js\n **/","import { bootstrap } from '@angular/platform-browser-dynamic';\r\nimport { disableDeprecatedForms, provideForms } from '@angular/forms';\r\n\r\n// Our main component\r\nimport { AppComponent } from './app.component';\r\n\r\n// Our main routes\r\nimport { APP_ROUTER_PROVIDERS } from './app.routes';\r\nimport {LocationStrategy, PathLocationStrategy} from '@angular/common';\r\nimport {AuthGuard} from './authentication/auth-guard.service';\r\nimport { HTTP_PROVIDERS } from '@angular/http';\r\nimport {enableProdMode,provide} from '@angular/core';\r\nimport {APP_BASE_HREF} from '@angular/common'; \r\nif (process.env.ENV === 'production') {\r\n // Production\r\n enableProdMode();\r\n} \r\n\r\nbootstrap(AppComponent, [\r\n [HTTP_PROVIDERS],\r\n APP_ROUTER_PROVIDERS,\r\n disableDeprecatedForms(),\r\n provideForms(),\r\n provide(LocationStrategy, {useClass: PathLocationStrategy}\r\n ),\r\n {provide: APP_BASE_HREF, useValue : '/taf2024/'}\r\n])\r\n.catch(err => console.error(err));\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/main.ts\n **/","import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { HTTP_PROVIDERS } from '@angular/http';\r\nimport 'rxjs/Rx';\r\nimport { ROUTER_DIRECTIVES } from '@angular/router';\r\n\r\n\r\nimport { AppConfigValues } from './shared/app-config-values';\r\nimport { AirportService } from './airports/airport.service';\r\nimport { TAFBookService } from './system-management/tafbooks/taf-book.service';\r\nimport { TAFBookB1Service } from './system-management/tafbooks/taf-book-b1/taf-book-b1.service';\r\nimport { TAFBookB2Service } from './system-management/tafbooks/taf-book-b2/taf-book-b2.service';\r\nimport { TAFBookB3Service } from './system-management/tafbooks/taf-book-b3/taf-book-b3.service';\r\nimport { TAFBookB4Service } from './system-management/tafbooks/taf-book-b4/taf-book-b4.service';\r\nimport { TAFBookB5Service } from './system-management/tafbooks/taf-book-b5/taf-book-b5.service';\r\nimport { TAFBookS1Service } from './system-management/tafbooks/taf-book-s1/taf-book-s1.service';\r\nimport { TAFBookS2Service } from './system-management/tafbooks/taf-book-s2/taf-book-s2.service';\r\nimport { TAFBookS3Service } from './system-management/tafbooks/taf-book-s3/taf-book-s3.service';\r\nimport { TAFBookGraphS1Service } from './system-management/tafbooks/taf-book-graph-s1/taf-book-graph-s1.service';\r\nimport { QueryReportService} from './query-reports/query-report.service';\r\nimport { ScenarioService, CreateScenarioRequest } from './scenario-activities/scenario.service';\r\nimport { CommonDataService } from './common-data/commondata.service';\r\nimport { AuthService } from './authentication/auth.service';\r\nimport { SystemControlService} from './shared/system-control.service';\r\n\r\nimport { UserInfoService } from './shared/user-info.service';\r\nimport { AuthGuard } from './authentication/auth-guard.service';\r\nimport { HttpHelper } from './shared/http-helper';\r\nimport { OperationsListRequest } from './airports/airport-interfaces';\r\nimport {QueryReportListRequest} from './query-reports/query-report';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { UserSession } from './shared/user-session';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'pm-app',\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \"Federal\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n Aviation Data and Statistics Home\r\n \r\n \r\n
\r\n
\r\n Go to LOCID:\r\n \r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
`,\r\n styles: [require('./styles/faa_styles.css'), require('./styles/print_faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES],\r\n providers: [AppConfigValues, \r\n AirportService, \r\n QueryReportService,\r\n TAFBookService,\r\n TAFBookS1Service, \r\n TAFBookS2Service, \r\n TAFBookGraphS1Service, \r\n TAFBookS3Service,\r\n TAFBookB1Service,\r\n TAFBookB2Service,\r\n TAFBookB3Service,\r\n TAFBookB4Service,\r\n TAFBookB5Service, \r\n ScenarioService, \r\n CreateScenarioRequest, \r\n CommonDataService, \r\n HTTP_PROVIDERS, \r\n AuthService, \r\n HttpHelper, \r\n AuthGuard, \r\n UserInfoService, \r\n UserSession, \r\n SystemControlService,\r\n OperationsListRequest,\r\n QueryReportListRequest]\r\n})\r\n\r\nexport class AppComponent implements OnInit{\r\n pageTitle: string = 'TAF Legacy NET 472';\r\n locId: string;\r\n isAdmin: boolean;\r\n isLoggedIn: boolean;\r\n isReadOnly: boolean;\r\n // private IMGFOOTRIGHT= require('/app/images/foot_app_right.gif');\r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private authService: AuthService,\r\n private _User: UserSession) {}\r\n \r\n\r\n ngOnInit(): void{\r\n this.isAdmin = this.authService.isInRole(\"System Developer\");\r\n this.isLoggedIn = this.authService.isLoggedIn();\r\n this.isReadOnly = this.authService.isReadOnly();\r\n }\r\n\r\n onSubmit() { \r\n this.router.navigate(['/airports', { locId: this.locId}]);\r\n this.locId ='';\r\n\r\n }\r\n\r\n logout(){\r\n this.authService.logOut();\r\n this.router.navigate(['/login']);\r\n window.location.reload();\r\n }\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/app.component.ts\n **/","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AppConfigValues {\r\n //public apiHostUrl: string = 'http://localhost:55706/'; // local development settings\r\n //public apiHostUrl: string = ''; // production settings\r\n\r\n public getApiHostUrl(): string{\r\n //console.log(\"process.env.ENV\" + process.env.ENV);\r\n if (process.env.ENV === 'production') {\r\n return '/taf2024/'; // production settings\r\n //return '/tafl/'; // production settings\r\n }else{\r\n return 'http://localhost:55706/'; // local development settings\r\n } \r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/shared/app-config-values.ts\n **/","import { Injectable } from '@angular/core';\r\n//import { Response } from '@angular/http';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\nimport { IAirport, IOperation, IOperationListColumnResponse, OperationsListRequest, ReforecastRequest, IReforecastResponse } from './airport-interfaces';\r\nimport { FacilitySearchRequest } from './facility-search-request';\r\n\r\nimport { HttpHelper } from '../shared/http-helper';\r\n\r\n@Injectable()\r\nexport class AirportService {\r\n locId: string;\r\n scenarioId: number;\r\n //need to have this somewhere besides hardcoded in here\r\n //private _baseAirportUrl = `http://localhost:55706/api/airport`;\r\n private _baseAirportUrl = `api/airport`;\r\n\r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getAirport(locId: string, scenarioId: number): Observable {\r\n\r\n this.locId = locId;\r\n this.scenarioId = scenarioId;\r\n //console.log(\"scenarioId: \" + scenarioId);\r\n return this.httpHelper.get(`${this._baseAirportUrl}/${scenarioId}/${locId}`);\r\n }\r\n\r\n getAirportLocIds(scenarioId: number): Observable {\r\n return this.httpHelper.get(`${this._baseAirportUrl}/locidlist/${scenarioId}`);\r\n }\r\n\r\n getAirportLocIdsByCriteria(request: FacilitySearchRequest): Observable {\r\n let url: string = `${this._baseAirportUrl}/facilities/search?` +\r\n `baseScenarioId=${request.baseScenarioId}` +\r\n `&locId=${request.locId}` +\r\n `®ion=${request.region}` +\r\n `&state=${request.state}` +\r\n `&hubSize=${request.hubSize}` +\r\n `&level=${request.level}` +\r\n `&type=${request.type}` +\r\n `&allFaaTowers=${request.allFaaTowers}` +\r\n `&allFaaAndContractTowers=${request.allFaaContractTowers}` +\r\n `&oep35=${request.oep35}` +\r\n `¢erId=${request.centerId}` +\r\n `&relieverFacility=${request.relieverFacility}` +\r\n `&relieverLocId=${request.relieverLocId}` +\r\n `&approachControlId=${request.approachControlId}` +\r\n `&searchOption=${request.searchOption}` +\r\n `&selectVariable=${request.selectVariable}` +\r\n `&growthStartYear=${request.growthStartYear}` +\r\n `&growthEndYear=${request.growthEndYear}` +\r\n `&growthOperator=${request.growthOperator}` +\r\n `&growthPercentage=${request.growthPercentage}` +\r\n `&growthExcludeChanges=${request.growthExcludeChanges}` +\r\n `&varValueYear=${request.varValueYear}` +\r\n `&varValueOperator=${request.varValueOperator}` +\r\n `&varValue=${request.varValue}`;\r\n return this.httpHelper.get(url);\r\n }\r\n\r\n getAirportCenterIds(baseScenarioId: number): Observable {\r\n return this.httpHelper.get(`${this._baseAirportUrl}/centerids/${baseScenarioId}`);\r\n }\r\n\r\n getRelieverLocIds(scenarioId: number): Observable {\r\n return this.httpHelper.get(`${this._baseAirportUrl}/relieverids/${scenarioId}`);\r\n }\r\n\r\n getApproachControlIds(scenarioId: number): Observable {\r\n return this.httpHelper.get(`${this._baseAirportUrl}/approachcontrolids/${scenarioId}`);\r\n }\r\n\r\n getScenarioNotes(locId: string, scenarioId: number): Observable {\r\n return this.httpHelper.get(`${this._baseAirportUrl}/scenarionotes/${scenarioId}/${locId}`);\r\n }\r\n getFacilityList(scenarioId: number): Observable {\r\n return this.httpHelper.get(`${this._baseAirportUrl}/facilitylist/${scenarioId}`);\r\n }\r\n updateScenarioNotes(locId: string, scenarioId: number, note: string): Observable {\r\n\r\n let params = {\r\n locId: locId,\r\n scenarioId: scenarioId,\r\n note: note\r\n };\r\n\r\n return this.httpHelper.put(`${this._baseAirportUrl}/scenarionotes`, JSON.stringify(params));\r\n }\r\n\r\n updateAirport(airport: IAirport): Observable {\r\n return this.httpHelper.put(`${this._baseAirportUrl}`, airport);\r\n }\r\n\r\n getAirportFromScenario(scenarioId: number): Observable {\r\n return this.httpHelper.get(`${this._baseAirportUrl}/scenario-airport/${scenarioId}`);\r\n }\r\n\r\n getNextAndPreviousAirports(locId: string, scenarioId: number): Observable {\r\n\r\n return this.httpHelper.get(`${this._baseAirportUrl}/next-previous/${scenarioId}/${locId}`);\r\n }\r\n\r\n getOperations(): Observable{\r\n return this.httpHelper.get(`${this._baseAirportUrl}/operations`);\r\n }\r\n\r\n getOperationsColumns(request: OperationsListRequest): Observable{\r\n let url:string = `${this._baseAirportUrl}/operations-columns?` + \r\n `tableName=${request.tableName}` +\r\n `&locId=${request.locId}` +\r\n `&scenarioId=${request.scenarioId}` +\r\n `&isAdmin=${request.isAdmin}`;\r\n return this.httpHelper.get(url);\r\n }\r\n\r\n getOperationsList(request: OperationsListRequest): Observable{\r\n let url:string = `${this._baseAirportUrl}/operations-list?` + \r\n `tableName=${request.tableName}` +\r\n `&locId=${request.locId}` +\r\n `&scenarioId=${request.scenarioId}` +\r\n `&isAdmin=${request.isAdmin}`;\r\n return this.httpHelper.get(url);\r\n }\r\n\r\n updateOperations(request: any): Observable{\r\n return this.httpHelper.put(`${this._baseAirportUrl}/operations-update`, request);\r\n }\r\n\r\n saveOperationsYear(request: any): Observable{\r\n return this.httpHelper.post(`${this._baseAirportUrl}/operations-year`, request);\r\n }\r\n \r\n getGraphMinYear(request: any): Observable{\r\n let url:string = `${this._baseAirportUrl}/operations-graph/min-year?` + \r\n `tableName=${request.tableName}` +\r\n `&locId=${request.locId}` +\r\n `&scenarioId=${request.scenarioId}`;\r\n return this.httpHelper.get(url);\r\n }\r\n\r\n getGraphData(request: any): Observable{\r\n return this.httpHelper.post(`${this._baseAirportUrl}/operations-graph`, request);\r\n }\r\n\r\n hasGraphData(request: any): Observable{\r\n let url:string = `${this._baseAirportUrl}/operations-graph/has-data?` + \r\n `tableName=${request.tableName}` +\r\n `&locId=${request.locId}` +\r\n `&scenarioId=${request.scenarioId}`;\r\n return this.httpHelper.get(url);\r\n }\r\n\r\n getReforcastData(request: ReforecastRequest): Observable {\r\n let url:string = `${this._baseAirportUrl}/operations-reforecast?` + \r\n `tableName=${request.tableName}` +\r\n `&fieldName=${request.fieldName}` +\r\n `&minYear=${request.minYear}` +\r\n `&locId=${request.locId}` +\r\n `&scenarioId=${request.scenarioId}`;\r\n return this.httpHelper.get(url);\r\n }\r\n\r\n reforecastSupplyData(request: any): Observable{\r\n return this.httpHelper.post(`${this._baseAirportUrl}/operations-reforecast/supply-data`, request);\r\n }\r\n\r\n reforecastOperation(request: any): Observable{\r\n return this.httpHelper.post(`${this._baseAirportUrl}/operations-reforecast/operation`, request);\r\n }\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/airport.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptionsArgs, Headers } from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport { AppConfigValues } from '../shared/app-config-values';\r\nimport { AuthService } from '../authentication/auth.service';\r\n\r\n@Injectable()\r\nexport class HttpHelper {\r\n urlPrefix: string;\r\n \r\n constructor(private http: Http,\r\n private config: AppConfigValues,\r\n private authService: AuthService) {\r\n this.urlPrefix = config.getApiHostUrl();\r\n }\r\n \r\n public get(url: string) : Observable {\r\n\r\n let headers = new Headers();\r\n \r\n if(this.authService.isLoggedIn()){\r\n \r\n headers.append('Authorization', `Bearer ${this.authService.getAccessToken()}`);\r\n }\r\n \r\n return this.http.get(this.urlPrefix +url, { headers })\r\n .map(this.extractData)\r\n .do(data => console.log(data))\r\n .catch(this.handleError);\r\n }\r\n\r\n public post(url: string, body: any, options?: RequestOptionsArgs) : Observable{\r\n let headers = new Headers({'Content-Type': 'application/json'});\r\n \r\n if(this.authService.isLoggedIn()){\r\n headers.append('Authorization', `Bearer ${this.authService.getAccessToken()}`);\r\n }\r\n \r\n \r\n let postOptions = options || {headers : headers }\r\n\r\n return this.http.post(this.urlPrefix + url, body, postOptions)\r\n .map(this.extractData)\r\n .do(data => console.log(\" data \" + data))\r\n .catch(this.handleError);\r\n }\r\n\r\n \r\n public put(url: string, body: any, options?: RequestOptionsArgs) : Observable{\r\n \r\n let headers = new Headers({'Content-Type': 'application/json'});\r\n \r\n if(this.authService.isLoggedIn()){\r\n \r\n headers.append('Authorization', `Bearer ${this.authService.getAccessToken()}`);\r\n }\r\n \r\n\r\n let postOptions = options || {headers : headers }\r\n\r\n \r\n return this.http.put(this.urlPrefix + url, body, postOptions)\r\n .map(this.extractData)\r\n .do(data => console.log(data))\r\n .catch(this.handleError);\r\n }\r\n\r\n\r\n public delete(url: string, options?: RequestOptionsArgs) : Observable{\r\n //not sure if I actually need the headers and options here \r\n\r\n //let headers = new Headers({'Content-Type': 'application/json'});\r\n //let postOptions = options || {headers : headers }\r\n \r\n //return this.http.delete(this.urlPrefix + url, postOptions)\r\n let headers = new Headers();\r\n\r\n if(this.authService.isLoggedIn()){\r\n \r\n headers.append('Authorization', `Bearer ${this.authService.getAccessToken()}`);\r\n }\r\n \r\n\r\n return this.http.delete(this.urlPrefix + url, { headers })\r\n .map(this.extractData)\r\n .do(data => console.log(data))\r\n .catch(this.handleError); \r\n }\r\n\r\n private extractData(res: Response) {\r\n let body: any;\r\n\r\n // check if empty, before call json\r\n if (res.text()) {\r\n body = res.json();\r\n }\r\n\r\n return body || {};\r\n }\r\n\r\n private handleError(error: any) { \r\n let errMsg = (error.message) ? error.message :\r\n error.status ? `${error.status} - ${error.statusText}` : 'Server error';\r\n console.error(errMsg); \r\n return Observable.throw(errMsg);\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/shared/http-helper.ts\n **/","// user.service.ts\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Http, Response, RequestOptionsArgs, Headers } from '@angular/http';\r\n//import { HttpHelper } from '../shared/http-helper';\r\n\r\nimport {Observable} from 'rxjs/Rx';\r\nimport { AppConfigValues } from '../shared/app-config-values';\r\n\r\nimport * as _ from 'lodash';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n public serviceUrlPrefix: string;\r\n token: any;\r\n public redirectUrl: string;\r\n\r\n constructor(private http: Http) {\r\n this.serviceUrlPrefix = new AppConfigValues().getApiHostUrl();\r\n }\r\n\r\n oidclogin(){\r\n var linkurl = new AppConfigValues().getApiHostUrl();\r\n window.location.href= linkurl + 'auth/api/account/oidclogin';\r\n //window.location.href='http://localhost:55706/auth/api/account/oidclogin';\r\n //return this.http.get('http://localhost:55706/auth/api/account/oidclogin');\r\n }\r\n getToken() {\r\n if (this.token) {\r\n return this.token;\r\n }\r\n else {\r\n return JSON.parse(sessionStorage.getItem(\"token\"));\r\n }\r\n }\r\n\r\n isLoggedIn() {\r\n return this.getToken() !== null && new Date() < new Date(this.getToken()['.expires']);\r\n }\r\n\r\n\r\n getAccessToken() {\r\n return this.getToken().access_token;\r\n }\r\n\r\n setToken(token: any) {\r\n this.token = token;\r\n\r\n if (token) {\r\n //think I can do either\r\n\r\n //this seems to be setting the to string of token not the actual json will have to look at that\r\n //http://vaughnroyko.com/saving-and-loading-objects-or-arrays-in-localstorage\r\n sessionStorage.setItem(\"token\", JSON.stringify(token));\r\n //sessionStorage[\"token\"] = token;\r\n }\r\n else {\r\n sessionStorage.removeItem(\"token\");\r\n }\r\n }\r\n\r\n getLoggedInUser() {\r\n\r\n if (this.getToken()) {\r\n return this.getToken().userName;\r\n }\r\n }\r\n\r\n getFullName() {\r\n\r\n if (this.getToken()) {\r\n return this.getToken().fullname;\r\n }\r\n }\r\n\r\n getRoles() {\r\n if (this.getToken())\r\n return this.getToken().roles;\r\n }\r\n\r\n isInRole(role: string) {\r\n console.log(this.getToken());\r\n return this.getToken() != null && _.includes(this.getToken().roles.split(','), role);\r\n }\r\n\r\n isAdmin() {\r\n return this.getToken() != null && (_.includes(this.getToken().roles.split(','), \"System Developer\") ||\r\n _.includes(this.getToken().roles.split(','), \"FAA Admin\"));\r\n }\r\n\r\n isRegionalManager() {\r\n return this.getToken() != null && (_.includes(this.getToken().roles.split(','), \"Regional Manager\"));\r\n }\r\n \r\n isReadOnly() {\r\n return this.getToken() != null && (_.includes(this.getToken().roles.split(','), \"Read Only\"));\r\n }\r\n\r\n logOut(){\r\n this.token = null;\r\n\t\t\tsessionStorage.clear();\r\n }\r\n\r\n getUserId() {\r\n if (this.getToken())\r\n return this.getToken().id;\r\n }\r\n\r\n login(oidcCode: string): Observable {\r\n\r\n let headers = new Headers();\r\n headers.append('Content-Type', 'application/x-www-form-urlencoded');\r\n\r\n //will need to call our helper method here \r\n return this.http.post(\r\n `${this.serviceUrlPrefix}token`,\r\n 'grant_type=myaccess&oidcCode=' + encodeURIComponent(oidcCode),\r\n { headers })\r\n .map(this.extractData)\r\n .do(data => console.log(\"data\" + data))\r\n .catch(this.handleError)\r\n .map(data => {\r\n this.setToken(data);\r\n return data;\r\n });\r\n\t\t}\r\n\r\n\r\n private handleError(error: any) {\r\n let body = error.json();\r\n return Observable.throw(body || { error_description: \"Server Error\" });\r\n }\r\n\r\n private extractData(res: Response) {\r\n let body = res.json();\r\n return body || {};\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/authentication/auth.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ITAFBookResponse } from './taf-book';\r\nimport { HttpHelper } from '../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class TAFBookService {\r\n\r\n private _tafBookurl = `api/tafbook`;\r\n \r\n constructor(private httpHelper: HttpHelper) { }\r\n generateTafBook(request:any) :Observable{\r\n return this.httpHelper.post(`${this._tafBookurl}/tafbookGenerate`, request);\r\n }\r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ITAFBookB1 } from './taf-book-b1-list';\r\n\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\n\r\n@Injectable()\r\nexport class TAFBookB1Service {\r\n\r\n //need to have this somewhere besides hardcoded in here\r\n //private _tafBookB1Url = ` http://localhost:55706/api/systemmanagement/TAFBookB1`;\r\n private _tafBookB1Url = `api/systemmanagement/TAFBookB1`;\r\n\r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getTAFBookB1(): Observable {\r\n return this.httpHelper.get(`${this._tafBookB1Url}`)\r\n //.map((response: Response) => response.json())\r\n //.do(data => console.log('ITafBookB1: ' + JSON.stringify(data)))\r\n //.catch(this.handleError);\r\n }\r\n\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json() || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-b1/taf-book-b1.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ITAFBookB2 } from './taf-book-b2-list';\r\n\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class TAFBookB2Service {\r\n\r\n //need to have this somewhere besides hardcoded in here\r\n\r\n //private _tafBookB2Url = ` http://localhost:55706/api/systemmanagement/TAFBookB2`;\r\n private _tafBookB2Url = `api/systemmanagement/TAFBookB2`;\r\n\r\n\r\n\r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getTAFBookB2(): Observable {\r\n return this.httpHelper.get(`${this._tafBookB2Url}`)\r\n //.map((response: Response) => response.json())\r\n //.do(data => console.log('ITafBookB2: ' + JSON.stringify(data)))\r\n //.catch(this.handleError);\r\n }\r\n\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-b2/taf-book-b2.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ITAFBookB3 } from './taf-book-b3-list';\r\n\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class TAFBookB3Service {\r\n\r\n //need to have this somewhere besides hardcoded in here\r\n\r\n //private _tafBookB3Url = ` http://localhost:55706/api/systemmanagement/TAFBookB3`;\r\n private _tafBookB3Url = `api/systemmanagement/TAFBookB3`;\r\n \r\n\r\n\r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getTAFBookB3(): Observable {\r\n return this.httpHelper.get(`${this._tafBookB3Url}`)\r\n //.map((response: Response) => response.json())\r\n //.do(data => console.log('ITafBookB3: ' + JSON.stringify(data)))\r\n //.catch(this.handleError);\r\n }\r\n\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-b3/taf-book-b3.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ITAFBookB4 } from './taf-book-b4-list';\r\n\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class TAFBookB4Service {\r\n\r\n //need to have this somewhere besides hardcoded in here\r\n\r\n //private _tafBookB4Url = ` http://localhost:55706/api/systemmanagement/TAFBookB4`;\r\n private _tafBookB4Url = `api/systemmanagement/TAFBookB4`;\r\n\r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getTAFBookB4(): Observable {\r\n return this.httpHelper.get(`${this._tafBookB4Url}`)\r\n //.map((response: Response) => response.json())\r\n //.do(httpHelper => console.log('ITafBookB4: ' + JSON.stringify(data)))\r\n //.catch(this.handleError);\r\n }\r\n\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-b4/taf-book-b4.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ITAFBookB5 } from './taf-book-b5-list';\r\n\r\n\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class TAFBookB5Service {\r\n\r\n //need to have this somewhere besides hardcoded in here\r\n\r\n //private _tafBookB5Url = ` http://localhost:55706/api/systemmanagement/TAFBookB5`;\r\n private _tafBookB5Url = `api/systemmanagement/TAFBookB5`;\r\n\r\n\r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getTAFBookB5(): Observable {\r\n return this.httpHelper.get(`${this._tafBookB5Url}`)\r\n //.map((response: Response) => response.json())\r\n //.do(httpHelper => console.log('ITafBookB5: ' + JSON.stringify(data)))\r\n //.catch(this.handleError);\r\n }\r\n\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-b5/taf-book-b5.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ITAFBookS1 } from './taf-book-s1-list';\r\n\r\n\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class TAFBookS1Service {\r\n\r\n //need to have this somewhere besides hardcoded in here\r\n \r\n //private _tafBookS1Url = ` http://localhost:55706/api/systemmanagement/TAFBookS1`;\r\n private _tafBookS1Url = `api/systemmanagement/TAFBookS1`;\r\n\r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getTAFBookS1(): Observable {\r\n return this.httpHelper.get(`${this._tafBookS1Url}`);\r\n //.map((response: Response) => response.json())\r\n //.do(data => console.log('ITafBookS1: ' + JSON.stringify(data)))\r\n //.catch(this.handleError);\r\n }\r\n\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-s1/taf-book-s1.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ITAFBookS2 } from './taf-book-s2-list';\r\n\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class TAFBookS2Service {\r\n\r\n //need to have this somewhere besides hardcoded in here\r\n\r\n //private _tafBookS2Url = ` http://localhost:55706/api/systemmanagement/TAFBookS2`;\r\n private _tafBookS2Url = `api/systemmanagement/TAFBookS2`;\r\n \r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getTAFBookS2(): Observable {\r\n return this.httpHelper.get(`${this._tafBookS2Url}`)\r\n //.map((response: Response) => response.json())\r\n //.do(data => console.log('ITafBookS2: ' + JSON.stringify(data)))\r\n //.catch(this.handleError);\r\n }\r\n\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-s2/taf-book-s2.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ITAFBookS3 } from './taf-book-s3-list';\r\n\r\n\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class TAFBookS3Service {\r\n\r\n //need to have this somewhere besides hardcoded in here\r\n\r\n //private _tafBookS3Url = ` http://localhost:55706/api/systemmanagement/TAFBookS3`;\r\n private _tafBookS3Url = `api/systemmanagement/TAFBookS3`;\r\n \r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getTAFBookS3(): Observable {\r\n return this.httpHelper.get(`${this._tafBookS3Url}`)\r\n //.map((response: Response) => response.json())\r\n //.do(data => console.log('ITafBookS3: ' + JSON.stringify(data)))\r\n //.catch(this.handleError);\r\n }\r\n\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-s3/taf-book-s3.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport {ITafBookElemGraphS1} from './taf-book-graph-s1';\r\n\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport * as _ from 'lodash';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class TAFBookGraphS1Service {\r\n\r\n //private _tafBookGraphS1Url = ` http://localhost:55706/api/systemmanagement/TAFBookGraphS1`;\r\n private _tafBookGraphS1Url = `api/systemmanagement/TAFBookGraphS1`;\r\n \r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getTAFGraphS1BookSplit(){\r\n return this.httpHelper.get(`${this._tafBookGraphS1Url}`);\r\n //return Observable.forkJoin(\r\n // this.httpHelper.get(`${this._tafBookGraphS1Url}`));\r\n //.map((response: Response) => _.map(JSON.parse(JSON.stringify(response.json())),'locid')),\r\n //.do(httpHelper => console.log(\"trying to pull locid only in Service: \" + data)),\r\n // this.httpHelper.get(`${this._tafBookGraphS1Url}`)\r\n //.map((response: Response) => _.map(JSON.parse(JSON.stringify(response.json())),'rateFyLfc')));\r\n //.do(httpHelper => console.log(\"trying to pull rates only in Service: \" + data)));\r\n }\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-graph-s1/taf-book-graph-s1.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { IQueryReportResponse, IQueryReportRequest, IQueryReportsFacilityRequest } from './query-report';\r\nimport { HttpHelper } from '../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class QueryReportService {\r\n\r\n private _queryreporturl = `api/queryreport`;\r\n \r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getFacilityListReport(request: any): Observable {\r\n return this.httpHelper.post(`${this._queryreporturl}/queryReportsGenerate`, request);\r\n }\r\n saveLocids(requestLocid: IQueryReportsFacilityRequest):Observable{\r\n return this.httpHelper.post(`${this._queryreporturl}/saveLocidList`, requestLocid)\r\n }\r\n generateGraphs(request:any) :Observable{\r\n return this.httpHelper.post(`${this._queryreporturl}/queryReportGraphs`, request);\r\n }\r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/query-reports/query-report.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport { HttpHelper } from '../shared/http-helper';\r\nimport { AirportOperations } from './airport-operations';\r\nimport { BasedAircraft } from './based-aircraft';\r\nimport { Enplanements } from './enplanements';\r\nimport { TraconOperations } from '../system-management/tracon-models/tracon-operations';\r\nimport { UserSession } from '../shared/user-session';\r\n\r\nimport * as _ from 'lodash';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class ScenarioService {\r\n private _baseScenarioUrl = 'api/scenario';\r\n \r\n constructor(private _httpHelper: HttpHelper){}\r\n\r\n public getScenario(scenarioId: number): Observable{\r\n return this._httpHelper.get(`${this._baseScenarioUrl}/${scenarioId}`);\r\n }\r\n\r\n public getScenarios(userId: number): Observable{\r\n return this._httpHelper.get(`${this._baseScenarioUrl}/list/${userId}`);\r\n }\r\n\r\n public getMergeListScenarios(type: string, userId: number):Observable{\r\n return this._httpHelper.get(`${this._baseScenarioUrl}/mergelist/${type}/${userId}`);\r\n }\r\n \r\n public getDeleteListScenarios (userId: number): Observable{ \r\n return this._httpHelper.get(`${this._baseScenarioUrl}/deletelist/${userId}`);\r\n }\r\n\r\n public createScenario(request: CreateScenarioRequest): Observable{\r\n return this._httpHelper.post(`${this._baseScenarioUrl}/create`, request);\r\n }\r\n\r\n public deleteScenarios(ids: number[]): Observable{\r\n return this._httpHelper.post(`${this._baseScenarioUrl}/delete`, ids);\r\n }\r\n\r\n public updateCommitScenario(request: UpdateCommitScenarioRequest): Observable{\r\n return this._httpHelper.post(`${this._baseScenarioUrl}/updatecommit`, request);\r\n }\r\n\r\n public modifyScenarioFacilities(request: ModifyScenarioFacilitiesRequest): Observable{\r\n return this._httpHelper.post(`${this._baseScenarioUrl}/modifyscenariofacilities`, request);\r\n }\r\n\r\n public executeReforecast(request: ScenarioForecastRequest): Observable{\r\n return this._httpHelper.post(`${this._baseScenarioUrl}/forecast`, request);\r\n }\r\n}\r\n\r\n/* Definition of the Scenario entity */\r\nexport interface IScenario {\r\n id: number;\r\n userLevel: number;\r\n scenarioName: string;\r\n owner: string;\r\n userNotes: string;\r\n histNotes: string;\r\n updatedFlag: number;\r\n lastUpdated: string;\r\n baseFlag: number;\r\n enplanementlag: number;\r\n lopsFlag: number;\r\n aopsFlag: number;\r\n apprFlag: number;\r\n facCrit: string;\r\n setup: number;\r\n public: number;\r\n userId: number;\r\n traceopsFlag: number;\r\n}\r\n\r\nexport class CreateScenarioRequest {\r\n userId: number;\r\n baseScenarioId: number;\r\n scenarioName: string;\r\n source: string;\r\n facilities: string[];\r\n public: boolean;\r\n\r\n updateSessionState(){\r\n sessionStorage.setItem('create-scenario-request', JSON.stringify(this));\r\n }\r\n\r\n getSession(): CreateScenarioRequest{\r\n if(sessionStorage.getItem('create-scenario-request') === null)\r\n return null;\r\n\r\n let storedRq:CreateScenarioRequest = JSON.parse(sessionStorage.getItem('create-scenario-request')) as CreateScenarioRequest;\r\n this.baseScenarioId = storedRq.baseScenarioId;\r\n this.facilities = storedRq.facilities;\r\n this.public = storedRq.public;\r\n this.scenarioName = storedRq.scenarioName;\r\n this.source = storedRq.source;\r\n this.userId = storedRq.userId;\r\n \r\n return(this);\r\n }\r\n\r\n destroySession(){\r\n sessionStorage.removeItem('create-scenario-request');\r\n }\r\n\r\n hasValidSession():boolean {\r\n return sessionStorage.getItem('create-scenario-request') !== null;\r\n }\r\n}\r\n\r\nexport class CreateScenarioResponse {\r\n responseStatus: string;\r\n responseMessage: string;\r\n}\r\n\r\nexport class UpdateCommitScenarioRequest{\r\n public userId: number;\r\n public scenarioSourceId: number;\r\n public scenarioSourceName: string;\r\n public scenarioTargetId: number;\r\n public scenarioTargetName: string;\r\n public all: number;\r\n public towerWithoutRadar: number;\r\n public tracon: number;\r\n public combinedTraconTower: number;\r\n public combinedNonRadarTower: number;\r\n public towerWithDisplay: number;\r\n public combinedControlFacility: number;\r\n public towerWithRadar: number;\r\n public enrouteCenter: number;\r\n public combinedTracon: number;\r\n public faaContractTower: number;\r\n public nonFaaFacility: number;\r\n public aopsFlag: number;\r\n public trFlag: number;\r\n public baFlag: number;\r\n public enplFlag: number;\r\n public preserveFlag: number;\r\n}\r\n\r\nexport class UpdateCommitScenarioResponse {\r\n public responseStatus: string;\r\n public responseMessage: string;\r\n}\r\n\r\nexport class ModifyScenarioFacilitiesRequest {\r\n public operation: string;\r\n public locIds: string[];\r\n public currentScenarioId: number;\r\n public deleteScenarioId: number;\r\n public sourceScenarioId: number;\r\n public targetScenarioId: number;\r\n public Overwrite: boolean;\r\n}\r\n\r\nexport class ModifyScenarioFacilitiesResponse{\r\n public invalidDeletedLocIds: string[];\r\n public deletedLocIds: string[];\r\n public notFoundLocIds: string[];\r\n public overwrittenLocIds: string[];\r\n public existingLocIds: string[];\r\n public processedLocIds: string[];\r\n public currentScenarioId: number;\r\n}\r\n\r\nexport class ScenarioForecastRequest{\r\n scenarioId: number;\r\n startYear: number;\r\n endYear: number;\r\n airportOperations: AirportOperations;\r\n basedAircraft: BasedAircraft;\r\n enplanements: Enplanements;\r\n traconOperations: TraconOperations;\r\n\r\n setNameInSession(name: string):void {\r\n sessionStorage.setItem('reforecast-scenario-name', name);\r\n }\r\n\r\n getNameInSession():string {\r\n return sessionStorage.getItem('reforecast-scenario-name');\r\n }\r\n\r\n destroySessionValues():void {\r\n sessionStorage.removeItem('reforecast-scenario-name');\r\n }\r\n}\r\n\r\nexport class ScenarioForecastResponse {\r\n public responseStatus: string;\r\n public responseMessage: string;\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/scenario.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { HttpHelper } from '../shared/http-helper';\r\n\r\n@Injectable()\r\nexport class CommonDataService {\r\n private _serviceUrlPrefix: string = '/api/data';\r\n\r\n constructor(private _httpHelper: HttpHelper) { }\r\n\r\n public getData(source: string): Observable {\r\n return this._httpHelper.get(`${this._serviceUrlPrefix}/${source}`);\r\n }\r\n\r\n public getSystemControlData(): Observable {\r\n return this._httpHelper.get(`${this._serviceUrlPrefix}/systemcontrol`);\r\n }\r\n\r\n public getVariableInfo():Observable{\r\n return this._httpHelper.get(`${this._serviceUrlPrefix}/variableinfo`);\r\n }\r\n\r\n public getEnplanementYears():Observable{\r\n return this._httpHelper.get(`${this._serviceUrlPrefix}/enplanementyears`);\r\n }\r\n}\r\n\r\nexport class KeyValuePair {\r\n key: string;\r\n value: string;\r\n}\r\n\r\nexport class SystemControl {\r\n fyYear: number;\r\n ffcYear: number;\r\n lfcYear: number;\r\n mangrLock: number;\r\n copyType: number;\r\n copyScena: number;\r\n ldEmdf: Date;\r\n lyEmdf: number;\r\n ldAops: Date;\r\n lyAops: number;\r\n ldAppr: Date;\r\n lyAppr: number;\r\n ldEnpl: Date;\r\n lyEnpl: number;\r\n ldNfdc: Date;\r\n lyNfdc: number;\r\n ldAsvd: Date;\r\n lyAsvd: number;\r\n lScenId: number;\r\n esma: number;\r\n esmc: number;\r\n importStage: number;\r\n dateStepCompleted: Date;\r\n}\r\n\r\nexport class VariableInfo {\r\n displayVariable: string;\r\n searchVariable: string;\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/common-data/commondata.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { HttpHelper } from '../shared/http-helper';\r\n\r\nimport {SystemControlElem} from './system-control-elem';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class SystemControlService {\r\n private _systemControlUrl = `api/data`;\r\n \r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n public getSystemControl(): Observable {\r\n return this.httpHelper.get(`${this._systemControlUrl}/systemcontrol`)\r\n }\r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/shared/system-control.service.ts\n **/","// user.service.ts\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Http, Response, RequestOptionsArgs, Headers } from '@angular/http';\r\nimport { HttpHelper } from '../shared/http-helper';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport { AppConfigValues } from '../shared/app-config-values';\r\nimport * as _ from 'lodash';\r\n\r\n@Injectable()\r\nexport class UserInfoService {\r\n \r\n constructor(private httpHelper: HttpHelper) {}\r\n\r\n isScenarioOwner(userId: number, scenarioId: number): Observable {\r\n return this.httpHelper.get(`api/user-info/scenario-owner/${userId}/${scenarioId}`);\r\n }\r\n\r\n public getRegCode(userId: number): Observable {\r\n return this.httpHelper.get(`api/user-info/reg-code/${userId}`);\r\n }\r\n\r\n public getRegionalYear(userId: number): Observable{\r\n return this.httpHelper.get(`api/user-info/regional-years/${userId}`);\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/shared/user-info.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\n\r\nimport * as _ from 'lodash';\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n systemDeveloperOnlyRoutes: string[] = ['/admin', '/user-admin'];\r\n\r\n constructor(private authService: AuthService, private router: Router) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n \r\n if (this.authService.isLoggedIn()) { \r\n\r\n if( _.includes(this.systemDeveloperOnlyRoutes, state.url) && !this.authService.isInRole(\"System Developer\")){\r\n this.router.navigate(['/welcome']);\r\n return false;\r\n }\r\n return true; \r\n }\r\n else{\r\n // Store the attempted URL for redirecting\r\n this.authService.redirectUrl = state.url;\r\n \r\n // Navigate to the login page\r\n this.router.navigate(['/login', { requestedUrl: state.url}]);\r\n \r\n return false;\r\n }\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/authentication/auth-guard.service.ts\n **/","/* Defines the airport entity */\r\n\r\n\r\n//what was the deal you only need this if you are going to try to do something but can't remember what'\r\nexport interface IAirport {\r\n locId: string;\r\n region: string;\r\n regionName: string;\r\n name: string;\r\n city: string;\r\n state: string;\r\n facilityClass: string;\r\n atctFacility: number;\r\n facilityLevel: string;\r\n\r\n //Hub fields\r\n hubSize: string;\r\n hubLocId: string;\r\n reliever: number;\r\n relieverId: string;\r\n centerAreaId: string;\r\n approachControlId: string;\r\n siteNumber: string;\r\n naspNumber: number;\r\n latitude: string;\r\n longitude: string;\r\n\r\n //will probably need something later for comments/notes \r\n comments: string;\r\n primaryRadar: number;\r\n noAddFacility: number;\r\n opsFlag: string;\r\n regionalInput: number;\r\n regionalInputStartYear: string;\r\n regionalInputEndYear: string;\r\n\r\n regName: string;\r\n stateName: string;\r\n facLevelName: string;\r\n hubSizeName: string;\r\n facClassName: string;\r\n OpsFlagName: string;\r\n}\r\n\r\nexport interface IOperation {\r\n tableName: string;\r\n displayName: string;\r\n}\r\n\r\n\r\nexport class OperationsListRequest{\r\n tableName: string;\r\n locId: string;\r\n scenarioId: number;\r\n isAdmin: number;\r\n}\r\n\r\nexport interface IOperationListColumnResponse{\r\n tableDisplay: string;\r\n fieldName: string;\r\n displayName: string;\r\n graphName: string;\r\n calculated: number;\r\n styleShow: number;\r\n graphR: number;\r\n isAAT:number;\r\n}\r\n\r\nexport interface IEditRowField{\r\n value: string;\r\n fieldName: string;\r\n displayName: string;\r\n readOnly: boolean;\r\n display: boolean;\r\n}\r\n\r\nexport class ReforecastRequest{\r\n fieldName: string;\r\n tableName: string;\r\n locId: string;\r\n scenarioId: number;\r\n minYear: number;\r\n}\r\n\r\nexport interface IReforecastResponse{\r\n aYear: number;\r\n value: number;\r\n scenario: number;\r\n lastYearsValue: number;\r\n originalValue: number;\r\n growth: number;\r\n originalGrowth: number;\r\n}\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/airport-interfaces.ts\n **/","export interface IQueryReportResponse{\r\n htmlFileUrl :string;\r\n pdfFileUrl : string;\r\n responseStatus :string;\r\n responseMessage :string;\r\n responseDisplay: string;\r\n savedLocidList:string[];\r\n locidNoMatch:string[];\r\n\r\n /* constructor(htmlFileUrl: string, pdfFileUrl:string, responseStatus:string, responseMessage:string, responseDisplay:string, savedLocidList:string[], locidNoMatch:string[]){\r\n this.htmlFileUrl = htmlFileUrl;\r\n this.pdfFileUrl = pdfFileUrl;\r\n this.responseStatus =responseStatus;\r\n this.responseMessage =responseMessage;\r\n this.responseDisplay = responseDisplay;\r\n this.savedLocidList= savedLocidList;\r\n this.locidNoMatch= locidNoMatch;\r\n }*/\r\n}\r\nexport interface IOperation {\r\n tableName: string;\r\n displayName: string;\r\n}\r\n\r\nexport interface IQueryReportListColumnResponse{\r\n tableDisplay: string;\r\n fieldName: string;\r\n displayName: string;\r\n graphName: string;\r\n calculated: number;\r\n styleShow: number;\r\n graphR: number;\r\n}\r\nexport class QueryReportListRequest{\r\n tableName: string;\r\n locId: string;\r\n scenario: number;\r\n isAdmin: number;\r\n startYear:number;\r\n reportId:number;\r\n columns: IQueryReportListColumnResponse;\r\n graphType:string;\r\n scenarioId: number;\r\n}\r\nexport class IQueryReportRequest{\r\n startYear: number;\r\n scenario:number;\r\n reportId:number;\r\n facOption:number;\r\n locidList:string[];\r\n constructor(startYear:number, scenario:number, reportId:number, facOption:number, locidList:string[]){\r\n this.startYear = startYear;\r\n this.scenario = scenario;\r\n this.reportId= reportId;\r\n this.facOption= facOption;\r\n this.locidList = locidList;\r\n }\r\n}\r\n\r\nexport class IQueryReportListComponent{\r\n id:number;\r\n name:string;\r\n constructor(id: number, name: string) {\r\n this.id=id;\r\n this.name=name;\r\n }\r\n}\r\nexport class IQueryReportsFacilityRequest{\r\n locid:string[];\r\n scenarioId:number;\r\n constructor(locid:string[], scenario:number){\r\n this.locid=locid;\r\n this.scenarioId=scenario;\r\n }\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/query-reports/query-report.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { CreateScenarioRequest } from '../scenario-activities/scenario.service';\r\nimport { AuthService } from '../authentication/auth.service';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport { ThrowStmt } from '@angular/compiler/src/output/output_ast';\r\n//import { plainToClass } from \"class-transformer\"; \r\n\r\n@Injectable() \r\nexport class UserSession {\r\n public userId: number;\r\n public fullName: string;\r\n public roles: string;\r\n public scenarioId: number;\r\n public id: number;\r\n public fullname:string;\r\n\r\n //convienence properties\r\n public isAdmin: boolean;\r\n public isRegionalManager: boolean;\r\n public isReadOnly: boolean;\r\n \r\n constructor(private _authService: AuthService){\r\n this.userId = _authService.getUserId();\r\n this.fullName = _authService.getFullName();\r\n this.roles = _authService.getRoles();\r\n this.isAdmin = _authService.isAdmin();\r\n this.isRegionalManager = _authService.isRegionalManager();\r\n this.isReadOnly = _authService.isReadOnly();\r\n this.scenarioId = 1; // default to National\r\n }\r\n\r\n public updateSessionState(){\r\n if(sessionStorage.getItem('user-session') !== null)\r\n sessionStorage.removeItem('user-session');\r\n \r\n sessionStorage.setItem('user-session', JSON.stringify(sessionStorage[\"token\"]));\r\n }\r\n\r\n public getSession():UserSession{\r\n if(sessionStorage.getItem('user-session') === null)\r\n return null;\r\n \r\n //let uSession:UserSession = JSON.parse(sessionStorage.getItem('user-session')) as UserSession;\r\n\r\n let jsonObject: any = JSON.parse(sessionStorage[\"token\"]);\r\n let uSession: UserSession = jsonObject;\r\n uSession.scenarioId = this.scenarioId;\r\n uSession.isAdmin = this._authService.isAdmin();\r\n uSession.isRegionalManager = this._authService.isRegionalManager();\r\n uSession.isReadOnly = this._authService.isReadOnly();\r\n //console.log(\"uSession.scenarioId\" + uSession.scenarioId);\r\n return uSession;\r\n }\r\n\r\n public getUserId():number{\r\n let userId = this._authService.getUserId();\r\n return userId;\r\n }\r\n\r\n public getScenarioId():number{\r\n return this.scenarioId;\r\n }\r\n\r\n public hasValidSession():boolean {\r\n return sessionStorage.getItem('user-session') !== null;\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/shared/user-session.ts\n **/","module.exports = \"\\r\\n .custom {\\r\\n width: 250px !important;\\r\\n background-color:#ff9;\\r\\n color: #000;\\r\\n}\\r\\n.custom-airport-button{\\r\\n font-weight:normal;\\r\\n}\\r\\n/*.ui-button, .ui-button.ui-state-default {\\r\\n width: 150px !important;\\r\\n background-color:#ff9;\\r\\n color: #000;\\r\\n}*/\\r\\n.custom-button-header {\\r\\n background-color:#ff9;\\r\\n color: #000;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px !important;\\r\\n}\\r\\n.customh2{\\r\\n font-size: 18px;\\r\\n padding-bottom: 2px;\\r\\n margin: 20px 0px 10px;\\r\\n color: #900;\\r\\n border-bottom: #999 1px solid;\\r\\n text-align: left;\\r\\n}\\r\\n.customh3{\\r\\n padding-right: 0px;\\r\\n padding-left: 0px;\\r\\n padding-bottom: 0px;\\r\\n padding-top: 0px;\\r\\n margin: 13px 0px 5px;\\r\\n font: bold 94%/115% Arial, Verdana, Helvetica, sans-serif;\\r\\n color: #3d3d3d;\\r\\n font-size: 12px;\\r\\n}\\r\\n.custom-checkbox-label{\\r\\n padding-right: 0px;\\r\\n padding-left: 0px;\\r\\n padding-bottom: 0px;\\r\\n padding-top: 0px;\\r\\n margin: 13px 0px 5px;\\r\\n font: bold 94%/115% Arial, Verdana, Helvetica, sans-serif;\\r\\n color: #3d3d3d;\\r\\n font-size: 12px;\\r\\n}\\r\\n.custom-radio-label{\\r\\n padding-right: 0px;\\r\\n padding-left: 0px;\\r\\n padding-bottom: 0px;\\r\\n padding-top: 0px;\\r\\n font: bold 94%/115% Arial, Verdana, Helvetica, sans-serif;\\r\\n color: #3d3d3d;\\r\\n font-size: 10px;\\r\\n}\\r\\n.selectionOptions {\\r\\n\\tmargin-left: 20px;\\r\\n\\tpadding: 10px;\\r\\n\\tbackground-color: #fff5ce;\\r\\n}\\r\\n.customtd{\\r\\n font-size: 12px;\\r\\n text-align: left; \\r\\n}\\r\\n.customtd-reforecast{\\r\\n font-size: 11px;\\r\\n text-align: right; \\r\\n white-space:nowrap;\\r\\n}\\r\\n.customtd-reforecast-year{\\r\\n font-size: 11px;\\r\\n text-align: left; \\r\\n white-space:nowrap\\r\\n}\\r\\n.customtd-reforecast-numeric{\\r\\n font-size: 11px;\\r\\n text-align: right; \\r\\n white-space:nowrap;\\r\\n box-sizing: border-box;\\r\\n -moz-box-sizing: border-box;\\r\\n width:75px;\\r\\n padding:0px;\\r\\n}\\r\\n.customth-reforecast{\\r\\n font-weight: bold;\\r\\n font-size: 13px;\\r\\n background-color: #ddd;\\r\\n color: #1e1e1e;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.table > thead > tr > th,\\r\\n.table > tbody > tr > th,\\r\\n.table > tfoot > tr > th,\\r\\n.table > thead > tr > td,\\r\\n.table > tbody > tr > td,\\r\\n.table > tfoot > tr > td {\\r\\n padding-bottom: 2px !important;\\r\\n padding-top: 2px !important;\\r\\n padding-left: 2px;\\r\\n padding-right:8px!important;;\\r\\n line-height: 1.42857143;\\r\\n vertical-align: top;\\r\\n border-top: 1px solid #ddd;\\r\\n}\\r\\n\\r\\n.divider {\\r\\n border-bottom: 1px;\\r\\n border-bottom-color: black;\\r\\n border-bottom-style: solid;\\r\\n}\\r\\n.current-scenario{\\r\\n text-align: center;\\r\\n vertical-align: top;\\r\\n}\\r\\n.menu-section {\\r\\n font-weight: bold;\\r\\n width: 200px;\\r\\n}\\r\\n.menu-section .menu-items {\\r\\n margin-left: 22px;\\r\\n display: none;\\r\\n}\\r\\n.menu-section .menu-items-visible {\\r\\n margin-left: 22px;\\r\\n display: block;\\r\\n}\\r\\n.divider-space {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.checkbox-group {\\r\\n clear: both;\\r\\n height: 25px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.checkbox-group .checkbox {\\r\\n float: left;\\r\\n height: 20px;\\r\\n margin: 5px 30px 0 0 ;\\r\\n width: 225px;\\r\\n}\\r\\n.search {\\r\\n border: 1px solid #e5e5e5;\\r\\n border-radius: 5px;\\r\\n margin: 10px 0 20px 0;\\r\\n padding: 0 10px 10px 10px;\\r\\n}\\r\\n.search h3 {\\r\\n text-align: center;\\r\\n}\\r\\n.locids {\\r\\n border: 1px solid #e5e5e5;\\r\\n border-radius: 5px;\\r\\n margin: 10px 0 0 5px;\\r\\n height: 400px;\\r\\n background-color: #f6f6f6;\\r\\n overflow: scroll;\\r\\n align-items: right;\\r\\n}\\r\\n.locids .header {\\r\\n text-align: center;\\r\\n}\\r\\n.locids ul {\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n.locids ul li a {\\r\\n float: right;\\r\\n cursor: pointer;\\r\\n}\\r\\n.checkbox-group {\\r\\n clear: both;\\r\\n height: 25px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.checkbox-group .checkbox {\\r\\n margin-top: 5px;\\r\\n}\\r\\n.hidden {\\r\\n display: none;\\r\\n}\\r\\n.more-search-options-panel {\\r\\n margin-top: -20px;\\r\\n}\\r\\n.more-search-options-panel .glyphicon {\\r\\n cursor: pointer;\\r\\n}\\r\\n.more-search-options {\\r\\n display: block;\\r\\n}\\r\\n.totals {\\r\\n margin-left: 5px;\\r\\n}\\r\\n.search-option-container {\\r\\n border: 1px solid #d5d5d5;\\r\\n border-radius: 5px;\\r\\n clear: both;\\r\\n padding: 10px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.search-option-container .radio {\\r\\n margin-left: 20px;\\r\\n}\\r\\n/*************************************************************************************************/\\r\\n/* title */\\r\\nnav .navbar .navbar-default .navbar-brand {\\r\\n float: left;\\r\\n font-size: 18px;\\r\\n line-height: 20px;\\r\\n}\\r\\n.navbar-default .navbar-nav > li > a {\\r\\n color: #777;\\r\\n padding-top: 0px;\\r\\n padding-bottom: 0px;\\r\\n}\\r\\n.navbar-default .navbar-brand {\\r\\n background-color: #c0e4fe;\\r\\n color: #777;\\r\\n font: bold 50%/75% Arial, Verdana, Helvetica, sans-serif;\\r\\n font-size:5px;\\r\\n padding-left:50%;\\r\\n padding:0px 0px;\\r\\n}\\r\\n\\r\\n.navbar-default .navbar-brand:hover,\\r\\n.navbar-default .navbar-brand:focus {\\r\\n color: #5E5E5E;\\r\\n}\\r\\n/* link */\\r\\n.nav .navbar-nav > li > a {\\r\\n color: #777;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n}\\r\\n.navbar-default .navbar-nav > li > a:hover,\\r\\n.navbar-default .navbar-nav > li > a:focus {\\r\\n color: #333;\\r\\n font-size:5px;\\r\\n padding-left:50%;\\r\\n}\\r\\n.navbar-default .navbar-nav > .active > a, \\r\\n.navbar-default .navbar-nav > .active > a:hover, \\r\\n.navbar-default .navbar-nav > .active > a:focus {\\r\\n color: #555;\\r\\n background-color: #E7E7E7;\\r\\n\\r\\n}\\r\\n.navbar-default .navbar-nav > .open > a, \\r\\n.navbar-default .navbar-nav > .open > a:hover, \\r\\n.navbar-default .navbar-nav > .open > a:focus {\\r\\n color: #555;\\r\\n background-color: #D5D5D5;\\r\\n}\\r\\n/* caret */\\r\\n.navbar-default .navbar-nav > .dropdown > a .caret {\\r\\n border-top-color: #777;\\r\\n border-bottom-color: #777;\\r\\n}\\r\\n.navbar-default .navbar-nav > .dropdown > a:hover .caret,\\r\\n.navbar-default .navbar-nav > .dropdown > a:focus .caret {\\r\\n border-top-color: #333;\\r\\n border-bottom-color: #333;\\r\\n}\\r\\n.navbar-default .navbar-nav > .open > a .caret, \\r\\n.navbar-default .navbar-nav > .open > a:hover .caret, \\r\\n.navbar-default .navbar-nav > .open > a:focus .caret {\\r\\n border-top-color: #555;\\r\\n border-bottom-color: #555;\\r\\n}\\r\\n/* mobile version */\\r\\n.navbar-default .navbar-toggle {\\r\\n border-color: #DDD;\\r\\n}\\r\\n.navbar-default .navbar-toggle:hover,\\r\\n.navbar-default .navbar-toggle:focus {\\r\\n background-color: #DDD;\\r\\n}\\r\\n.navbar-default .navbar-toggle .icon-bar {\\r\\n background-color: #CCC;\\r\\n}\\r\\n@media (max-width: 600px) {\\r\\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\\r\\n color: #777;\\r\\n\\r\\n }\\r\\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\\r\\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\\r\\n color: #333;\\r\\n }\\r\\n}\\r\\n/*********************************** Facility View Notes/Previous/Next buttons ***************************************/\\r\\n:host .ui-button, .ui-button span button.ui-button.ui-state-default span .ui-button.ui-state-default span {\\r\\n\\tfont-weight: normal; \\r\\n}\\r\\n\\r\\n:host ui-tabview .ui-tabview-nav > li.ui-state-default.ui-state-hover {\\r\\n background-color:#ff9;\\r\\n color: #000;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px ;\\r\\n height:45px;\\r\\n}\\r\\n:host .ui-tabview .ui-tabview-nav {\\r\\n margin-top: 20px;\\r\\n margin-left: 150px;\\r\\n width: 1090px;\\r\\n height: 35px;\\r\\n}\\r\\n:host .fa-external-link-square {\\r\\n font-weight:normal;\\r\\n}\\r\\n:host ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only{\\r\\n font-weight:normal;\\r\\n}\\r\\n:host span.ui-button-text.ui-c{\\r\\n font-weight:normal;\\r\\n}\\r\\n:host .ui-button-text-icon-left .ui-button-text {\\r\\n font-weight:normal;\\r\\n}\\r\\n:host .ui-button, button.ui-button.ui-state-default, .ui-button.ui-state-default{\\r\\n background-color:#ff9;\\r\\n color: #000;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px ;\\r\\n font-weight: normal;\\r\\n}\\r\\n:host .ui-tabview.ui-tabview-top>.ui-tabview-nav li{\\r\\n background-color:#ff9;\\r\\n color: #000;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px ;\\r\\n font-weight: normal;\\r\\n}\\r\\n:host ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only{\\r\\n background-color: #900;\\r\\n color: white;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px ;\\r\\n}\\r\\n:host .btn-danger:active:hover, .btn-danger.active:hover, .open > .dropdown-toggle.btn-danger:hover, .btn-danger:active:focus, .btn-danger.active:focus, .open > .dropdown-toggle.btn-danger:focus, .btn-danger:active.focus, .btn-danger.active.focus, .open > .dropdown-toggle.btn-danger.focus{\\r\\n background-color: #900;\\r\\n color: white;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px ;\\r\\n}\\r\\n:host .ui-tabview .ui-tabview-nav > li.ui-state-default.ui-state-hover{\\r\\n background-color: #900;\\r\\n color:white;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px ;\\r\\n}\\r\\n/*:host button.ui-button.ui-state-hover, .ui-button.ui-state-hover, button.ui-button.ui-state-focus, .ui-button.ui-state-focus{\\r\\n background-color: #900;\\r\\n color: #000;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n border-radius: 8px;\\r\\n width: 150px !important;\\r\\n font-weight: normal;\\r\\n}*/\\r\\n/*********************************** Data table buttons ***************************************/\\r\\n:host .ui-datatable .ui-sortable-column-icon {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n\\r\\n:host .ui-datatable th.ui-state-hover{\\r\\n background-color: #c9302c;\\r\\n color:white;\\r\\n}\\r\\n\\r\\n:host .ui-datatable .ui-sortable-column {\\r\\n background-color: #ff9\\r\\n}\\r\\n/*************************************************************************************************/\\r\\n\\r\\n\\r\\n/****************************************Operations list page************************************/\\r\\n:host .ui-datatable .ui-sortable-column-icon {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n\\r\\n:host .ui-datatable th.ui-state-hover{\\r\\n background-color: #c9302c;\\r\\n}\\r\\n\\r\\n:host .ui-datatable .ui-sortable-column {\\r\\n background-color: #ff9\\r\\n}\\r\\n:host .myTableAyear {\\r\\n width: 5%;\\r\\n}\\r\\n\\r\\n:host .myTableForecast{\\r\\n width: 2.5%;\\r\\n}\\r\\n:host .myTableColsLightGrey{\\r\\n text-align:right;\\r\\n background-color:lightgrey;\\r\\n}\\r\\n:host .myTableCols{\\r\\n text-align:right;\\r\\n background-color: transparent;\\r\\n}\\r\\n/*************************************************************************************/\\r\\n\\r\\n/*********************************** Airports ***************************************/\\r\\n.current-scenario{\\r\\n text-align: center;\\r\\n}\\r\\n.divider {\\r\\n clear: both;\\r\\n}\\r\\n.divider-space {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.merge-column {\\r\\n float: left;\\r\\n margin-right: 100px;\\r\\n}\\r\\n.section-title {\\r\\n font-weight: bold;\\r\\n}\\r\\n.btn-right {\\r\\n float: right;\\r\\n margin-left: 15px;\\r\\n}\\r\\n\\r\\n\\r\\n/*************************************************************************************************/\\r\\n.body\\r\\n{\\r\\n font-size: 12px;\\r\\n color: #3d3d3d;\\r\\n font-family: Arial, Verdana, Helvetica, sans-serif;\\r\\n border-width:1px;\\r\\n border-color:black;\\r\\n background-color:#c0e4fe;\\r\\n border-style: solid;\\r\\n}\\r\\n.select.input-sm {\\r\\n -webkit-appearance: menulist;\\r\\n box-sizing: border-box;\\r\\n align-items: center;\\r\\n white-space: pre;\\r\\n -webkit-rtl-ordering: logical;\\r\\n color: black;\\r\\n background-color: white;\\r\\n cursor: default;\\r\\n border-width: 1px;\\r\\n border-style: solid;\\r\\n border-color: initial;\\r\\n border-image: initial;\\r\\n}\\r\\n/*:host .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td{\\r\\n display: table-cell;\\r\\n vertical-align: inherit;\\r\\n height:20px!important;;\\r\\n margin:0px !important;\\r\\n table-layout:fixed; \\r\\n}*/\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/styles/faa_styles.css\n ** module id = 700\n ** module chunks = 0\n **/","module.exports = \"\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/styles/print_faa_styles.css\n ** module id = 701\n ** module chunks = 0\n **/","import { provideRouter, RouterConfig } from '@angular/router';\r\n\r\nimport { WelcomeComponent } from './home/welcome.component';\r\nimport { AirportRoutes } from './airports/airport.routes';\r\nimport { SystemManagementRoutes } from './system-management/system-management.routes';\r\nimport { ScenarioActivitiesRoutes } from './scenario-activities/scenario-activities.routes';\r\nimport { QueryReportRoutes } from './query-reports/query-report.routes';\r\n\r\nimport { AuthRoutes } from './authentication/auth.routes';\r\nimport { AdminRoutes } from './administration/admin.routes';\r\nimport { AccountRoutes } from './accounts/account.routes';\r\nimport { AuthGuard } from './authentication/auth-guard.service';\r\nimport { AuthService } from './authentication/auth.service';\r\n//import { Http } from '@angular/http';\r\n\r\nexport const routes: RouterConfig = [\r\n { path: '', redirectTo: '/welcome', pathMatch: 'full'},\r\n { path: 'welcome', component: WelcomeComponent, canActivate: [AuthGuard] },\r\n ...AirportRoutes,\r\n ...SystemManagementRoutes,\r\n ...ScenarioActivitiesRoutes,\r\n ...QueryReportRoutes,\r\n ...AuthRoutes,\r\n ...AdminRoutes,\r\n ...AccountRoutes\r\n];\r\n\r\nexport const APP_ROUTER_PROVIDERS = [\r\n provideRouter(routes), AuthGuard, AuthService//, Http\r\n];\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/app.routes.ts\n **/","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { IScenario, ScenarioService } from '../scenario-activities/scenario.service';\r\nimport { UserSession } from '../shared/user-session';\r\nimport { AuthService } from '../authentication/auth.service';\r\nimport { UserInfoService } from '../shared/user-info.service';\r\n\r\n@Component({\r\n //templateUrl: 'app/home/welcome.component.html',\r\n template: require('./welcome.component.html'),\r\n styles: [require('../styles/faa_styles.css')]\r\n})\r\nexport class WelcomeComponent implements OnInit {\r\n pageTitle: string = 'Welcome, ' + this.User.getSession()['fullname'];\r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n errorMessage: string;\r\n scenarioHeaderDiv: HTMLDivElement;\r\n isAdmin: boolean;\r\n isScenarioOwner: boolean = false;\r\n isReadOnly: boolean = false;\r\n \r\n constructor(private _scenarioService: ScenarioService, \r\n private User: UserSession, \r\n private _userInfoService: UserInfoService,\r\n private authService: AuthService) { }\r\n\r\n @ViewChild('scenarioHeader') scenarioHeader: ElementRef;\r\n\r\n ngOnInit() {\r\n //console.log(\"Welcome ngInit\");\r\n \r\n this.isAdmin = this.authService.isInRole(\"System Developer\");\r\n this.isReadOnly = this.authService.isReadOnly();\r\n this.User.updateSessionState();\r\n let tempUserId = this.User.getSession()['id'];\r\n let tempScenario = this.User.getSession().scenarioId;\r\n this._scenarioService.getScenarios(tempUserId) \r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n if (this.User.hasValidSession())\r\n this.setScenarioHeader(this.User.scenarioId);\r\n else {\r\n this.setScenarioHeader(this.User.scenarioId);\r\n this.User.updateSessionState();\r\n }\r\n }\r\n );\r\n this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n \r\n //this probably needs to be somewhere more central\r\n this._userInfoService.isScenarioOwner(tempUserId, tempScenario).subscribe(\r\n success => this.isScenarioOwner = success.isOwner,\r\n error => this.errorMessage = error\r\n );\r\n\r\n }\r\n\r\n onScenarioChange(event: Event): void {\r\n let selectedScenarioId: number = +(event.target as HTMLSelectElement).value;\r\n this.User.scenarioId = selectedScenarioId;\r\n this.setScenarioHeader(selectedScenarioId);\r\n this.User.updateSessionState();\r\n }\r\n\r\n private setScenarioHeader(scenarioId: number): void {\r\n let foundScenarios: IScenario[] = this.allScenarios.filter(function (scenario) {\r\n return scenario.id === scenarioId;\r\n });\r\n if (foundScenarios.length > 0) {\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n this.scenarioHeaderDiv.innerHTML = `Current Scenario: ${this.currentScenario.scenarioName} (${this.currentScenario.id})`;\r\n }\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/home/welcome.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n
\\r\\n {{pageTitle}}\\r\\n
\\r\\n
\\r\\n
Scenario:\\r\\n \\r\\n
\\r\\n
\\r\\n

Your Options

\\r\\n
\\r\\n
\\r\\n Facility View\\r\\n
\\r\\n
\\r\\n
View/Update Facilities in this Scenario
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Scenario Activities\\r\\n
\\r\\n
\\r\\n
Create/Delete, Change Facilities in a Scenario
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Query Reports\\r\\n
\\r\\n
\\r\\n
Create a variety of data and growth rate reports
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n System Management\\r\\n
\\r\\n
\\r\\n
Some Options Available for System Management
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Admin\\r\\n
\\r\\n
\\r\\n
Some Options Available for System Admin
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/home/welcome.component.html\n ** module id = 704\n ** module chunks = 0\n **/","import { Routes } from '@angular/router';\r\n\r\nimport { AirportComponent } from './airport.component';\r\nimport { AuthGuard } from '../authentication/auth-guard.service';\r\nimport { AirportEditComponent } from './airport-edit.component';\r\nimport { OperationsListComponent } from './Operations-lists/operations-list.component';\r\nimport { OperationsAddDataPointComponent } from './Operations-lists/operations-add-data-point.component';\r\nimport { OperationsGraphComponent } from './Operations-lists/operations-graphs/operations-graph.component';\r\nimport { OperationsGraphDisplayComponent } from './Operations-lists/operations-graphs/operations-graph-display.component';\r\nimport { OperationsReforecastContainerComponent } from './operations-lists/operations-reforecasts/operations-reforecast-container.component';\r\n\r\n\r\nexport const AirportRoutes: Routes = [\r\n { path: 'airports', component: AirportComponent, canActivate: [AuthGuard] },\r\n { path: 'airports/:locId', component: AirportComponent, canActivate: [AuthGuard] },\r\n { path: 'airports-edit/:locId', component: AirportEditComponent, canActivate: [AuthGuard] },\r\n { path: 'operations-list/:tableName', component: OperationsListComponent, canActivate: [AuthGuard] },\r\n { path: 'operations-add-year', component: OperationsAddDataPointComponent, canActivate: [AuthGuard] },\r\n { path: 'operations-graph/:tableName', component: OperationsGraphComponent, canActivate: [AuthGuard] },\r\n { path: 'operations-graph-display/:tableName', component: OperationsGraphDisplayComponent, canActivate: [AuthGuard]},\r\n { path: 'operations-reforcast/:tableName', component: OperationsReforecastContainerComponent, canActivate: [AuthGuard]}\r\n];\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/airport.routes.ts\n **/","import { Component, OnInit, ViewChild, ElementRef, OnDestroy} from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IAirport, IOperation } from './airport-interfaces';\r\nimport { AirportService } from './airport.service';\r\nimport { QueryReportService} from '../query-reports/query-report.service';\r\nimport { IQueryReportResponse, IQueryReportRequest} from '../query-reports/query-report';\r\nimport { IScenario, ScenarioService } from '../scenario-activities/scenario.service';\r\nimport { UserSession } from '../shared/user-session';\r\nimport { UserInfoService } from '../shared/user-info.service';\r\nimport { DegreesFromSecondsPipe } from './degrees-from-seconds.pipe';\r\nimport { DialogModule } from 'primeng/primeng';\r\nimport { Dialog } from 'primeng/primeng';\r\nimport { Button } from 'primeng/primeng';\r\nimport {Messages} from 'primeng/primeng';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n //templateUrl: 'app/airports/airport.component.html',\r\n template: require('./airport.component.html'),\r\n styles: [require('../styles/faa_styles.css'), require('../styles/print_faa_styles.css')],\r\n //styleUrls: ['app/products/product-list.component.css'],\r\n directives: [ROUTER_DIRECTIVES, Dialog, Button],\r\n pipes: [DegreesFromSecondsPipe]\r\n})\r\n\r\nexport class AirportComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'Facility View ';\r\n errorMessage: string;\r\n airport: IAirport;\r\n private sub: any; \r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n scenarioHeaderDiv: HTMLDivElement;\r\n displayNotes: boolean = false;\r\n scenarioNote: string;\r\n notesTitle: string;\r\n facListTitle: string;\r\n graphDataTitle:string;\r\n\r\n isScenarioOwner: boolean = false;\r\n canEdit: boolean = false;\r\n nextFacility: string;\r\n previousFacility: string;\r\n operations: IOperation[];\r\n facList:IAirport[];\r\n displayFacilityList:boolean=false;\r\n cols: any[];\r\n displaySpinner:boolean=false;\r\n request : IQueryReportRequest ;\r\n facReportListResponse : IQueryReportResponse[];\r\n msgs: Messages[]=[];\r\n msgsAll: Messages[]=[];\r\n displayGraphData: boolean=false;\r\n showAll: string=\"true\";\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _airportService: AirportService,\r\n private _scenarioService: ScenarioService, \r\n private User: UserSession, \r\n private _userInfoService: UserInfoService,\r\n private _queryReport:QueryReportService) {\r\n }\r\n\r\n @ViewChild('scenarioHeader') scenarioHeader: ElementRef;\r\n\r\n ngOnInit(): void{\r\n\r\n this.sub = this.route.params.subscribe(\r\n params => {\r\n let id = params['locId'];\r\n if(!_.isEmpty(id)){\r\n this.getAirport(id);\r\n }\r\n else{\r\n //console.log(\"Empty param\");\r\n this.getAirportFromScenario();\r\n }\r\n }\r\n );\r\n \r\n\r\n this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this.User.getSession().scenarioId);\r\n }\r\n );\r\n \r\n //this probably needs to be somewhere more central\r\n \r\n this.User.updateSessionState();\r\n this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(\r\n success => this.isScenarioOwner = success.isOwner,\r\n error => this.errorMessage = error\r\n );\r\n\r\n this.getOperations();\r\n // this.request = new IQueryReportRequest(0,1,6,10,['ATL']);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n getOperations(){\r\n this._airportService.getOperations()\r\n .subscribe(\r\n operations => this.operations = operations,\r\n error => this.errorMessage = error);\r\n }\r\n\r\n getAirportFromScenario(){\r\n //console.log(\"this.User.getSession().scenarioId \" + this.User.getSession().scenarioId);\r\n this._airportService.getAirportFromScenario(this.User.getSession().scenarioId)\r\n .subscribe(\r\n success => this.getAirport(success),\r\n error => this.errorMessage = error\r\n )\r\n }\r\n\r\n getAirport(locId: string) {\r\n this._airportService.getAirport(locId, this.User.getSession().scenarioId)\r\n .subscribe(\r\n airport => this.airport = airport,\r\n error => this.errorMessage = error,\r\n () => {\r\n if(this.airport.locId == undefined){\r\n this.msgsAll=[];\r\n this.msgsAll.push({severity:'error', summary:'Error Message', detail: 'If you were requesting a LOCID, it may not be part of your current scenario, or the LOCID is not found.' });\r\n this.showAll=\"false\";\r\n }\r\n else{\r\n this.msgsAll=[];\r\n this.showAll=\"true\";\r\n this.setCanEdit();\r\n this.setNextAndPrevious(locId);\r\n }\r\n });\r\n }\r\n\r\n setNextAndPrevious(locId: string){\r\n\r\n this._airportService.getNextAndPreviousAirports(locId, this.User.getSession().scenarioId)\r\n .subscribe(\r\n success => {\r\n this.nextFacility = success.nextAirport;\r\n this.previousFacility = success.previousAirport;\r\n }\r\n );\r\n }\r\n\r\n setCanEdit(){\r\n this._userInfoService.getRegCode(this.User.getSession()['id'])\r\n .subscribe(\r\n success => {\r\n if(this.User.getSession().isAdmin || (this.User.getSession().isRegionalManager && success === this.airport.region)){\r\n this.canEdit = true;\r\n } \r\n }\r\n );\r\n }\r\n\r\n onScenarioChange(event: Event):void {\r\n let selectedScenarioId:number = +(event.target as HTMLSelectElement).value;\r\n this.User.scenarioId = selectedScenarioId;\r\n this.User.updateSessionState();\r\n this.setScenarioHeader(selectedScenarioId); \r\n\r\n this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(\r\n success => this.isScenarioOwner = success.isOwner,\r\n error => this.errorMessage = error\r\n );\r\n\r\n this.getAirportFromScenario();\r\n }\r\n\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n this.scenarioHeaderDiv.innerHTML = `Current Scenario: ${this.currentScenario.scenarioName} (${this.currentScenario.id})`;\r\n }\r\n\r\n showNotes() {\r\n\r\n if(this.isScenarioOwner || this.User.getSession().isAdmin){\r\n this.notesTitle = \"Edit Scenario Notes\";\r\n }\r\n else{\r\n this.notesTitle = \"View Scenario Notes\";\r\n }\r\n\r\n this._airportService.getScenarioNotes(this.airport.locId, this.User.getSession().scenarioId)\r\n .subscribe(\r\n success => {\r\n if(!_.isEmpty(success)){\r\n this.scenarioNote = success;\r\n }\r\n this.displayNotes = true;\r\n },\r\n error => this.errorMessage = \"An error occured while attempting to retrieve notes.\"\r\n );\r\n }\r\n\r\n showDataReport(){\r\n this.request = new IQueryReportRequest(1,0,6,10,[this.airport.locId]);\r\n this.request.scenario = this.currentScenario.id;\r\n //year is fy_year -3 and will get calculated on webAPI side of the house; don't want to do that here also.\r\n this.request.startYear = 0;\r\n //these two values are hardcoded to reflect data from query reports: facility levelr eport data summary (6) for a certain facility (10)\r\n this.request.reportId = 6;\r\n this.request.facOption = 10;\r\n this.request.locidList=[this.airport.locId];\r\n \r\n if(this.isScenarioOwner || this.User.getSession().isAdmin || this.User.isReadOnly){\r\n this.graphDataTitle = \"Data Report\";\r\n this.displaySpinner = true;\r\n this._queryReport.getFacilityListReport(this.request)\r\n .subscribe(\r\n response => {\r\n this.displaySpinner = false;\r\n this.facReportListResponse = response;\r\n if (this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error has occurred executing your request'\r\n +this.facReportListResponse[0].responseMessage});\r\n }\r\n else if (this.facReportListResponse[0].responseMessage === 'No Data') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Info Message', detail: 'No Data returned.'\r\n +this.facReportListResponse[0].responseMessage});\r\n this.facReportListResponse[0].pdfFileUrl=\"\";\r\n this.facReportListResponse[0].htmlFileUrl=\"\";\r\n }\r\n else{\r\n this.msgs=[];\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n this.cols = [\r\n {field: \"htmlFileUrl\", header: 'Html'},\r\n {field: \"pdfFileUrl\", header: 'Pdf'},\r\n\r\n ]\r\n this.displayGraphData =true;\r\n }\r\n //console.log (\"Airport Data report response facility report \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n }\r\n showGrowthRateReport(){\r\n this.facListTitle = \"Growth Rate Report\";\r\n this.request = new IQueryReportRequest(1,0,7,10,[this.airport.locId]);\r\n this.request.scenario = this.currentScenario.id;\r\n //year is fy_year -3 and will get calculated on webAPI side of the house; don't want to do that here also.\r\n this.request.startYear = 0;\r\n //these two values are hardcoded to reflect data from query reports: facility levelr eport data summary (6) for a certain facility (10)\r\n this.request.reportId = 7;\r\n this.request.facOption = 10;\r\n this.request.locidList=[this.airport.locId];\r\n \r\n if(this.isScenarioOwner || this.User.getSession().isAdmin || this.User.isReadOnly){\r\n this.graphDataTitle = \"Growth Rate Report\";\r\n this.displaySpinner = true;\r\n this._queryReport.getFacilityListReport(this.request)\r\n .subscribe(\r\n response => {\r\n this.displaySpinner = false;\r\n this.facReportListResponse = response;\r\n if (this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error has occurred executing your request'\r\n +this.facReportListResponse[0].responseMessage});\r\n }\r\n else if (this.facReportListResponse[0].responseMessage === 'No Data') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Info Message', detail: 'No Data returned.'\r\n +this.facReportListResponse[0].responseMessage});\r\n this.facReportListResponse[0].pdfFileUrl=\"\";\r\n this.facReportListResponse[0].htmlFileUrl=\"\";\r\n }\r\n else{\r\n this.msgs=[];\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n this.cols = [\r\n {field: \"htmlFileUrl\", header: 'Html'},\r\n {field: \"pdfFileUrl\", header: 'Pdf'},\r\n\r\n ]\r\n this.displayGraphData =true;\r\n }\r\n //console.log (\"Airport Data report response facility report \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n }\r\n showOpsPerBA(){\r\n this.facListTitle = \"Operations Per Based Aircraft Ratio\";\r\n this.request = new IQueryReportRequest(1,0,7,10,[this.airport.locId]);\r\n this.request.scenario = this.currentScenario.id;\r\n //year is fy_year -3 and will get calculated on webAPI side of the house; don't want to do that here also.\r\n this.request.startYear = 0;\r\n //these two values are hardcoded to reflect data from query reports: facility levelr eport data summary (6) for a certain facility (10)\r\n this.request.reportId = 12;\r\n this.request.facOption = 0;\r\n this.request.locidList=[this.airport.locId];\r\n \r\n if(this.isScenarioOwner || this.User.getSession().isAdmin || this.User.isReadOnly){\r\n this.graphDataTitle = \"Operations Per Based Aircraft Ratio\";\r\n this.displaySpinner = true;\r\n this._queryReport.getFacilityListReport(this.request)\r\n .subscribe(\r\n response => {\r\n this.displaySpinner = false;\r\n this.facReportListResponse = response;\r\n if (this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error has occurred executing your request'\r\n +this.facReportListResponse[0].responseMessage});\r\n }\r\n else if (this.facReportListResponse[0].responseMessage === 'No Data') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Info Message', detail: 'No Data returned.'\r\n +this.facReportListResponse[0].responseMessage});\r\n this.facReportListResponse[0].pdfFileUrl=\"\";\r\n this.facReportListResponse[0].htmlFileUrl=\"\";\r\n }\r\n else{\r\n this.msgs=[];\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n this.cols = [\r\n {field: \"htmlFileUrl\", header: 'Html'},\r\n {field: \"pdfFileUrl\", header: 'Pdf'},\r\n\r\n ]\r\n this.displayGraphData =true;\r\n }\r\n //console.log (\"Operations Per Based Aircraft Ratio response \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n },\r\n error => this.errorMessage = error\r\n );\r\n } \r\n }\r\n showFacList(){\r\n this.facListTitle = \"Facility List\";\r\n this.request = new IQueryReportRequest(1,0,5,10,[this.airport.locId]);\r\n this.request.scenario = this.User.getSession().scenarioId;\r\n //year is fy_year -3 and will get calculated on webAPI side of the house; don't want to do that here also.\r\n this.request.startYear = 0;\r\n //these two values are hardcoded to reflect data from query reports: facility levelr eport data summary (6) for a certain facility (10)\r\n this.request.reportId = 11;\r\n this.request.facOption = 0;\r\n this.request.locidList=[this.airport.locId];\r\n \r\n if(this.isScenarioOwner || this.User.getSession().isAdmin || this.User.isReadOnly){\r\n \r\n this.graphDataTitle = \"Facility List\"; \r\n this.displaySpinner = true;\r\n this._queryReport.getFacilityListReport(this.request)\r\n .subscribe(\r\n response => {\r\n this.displaySpinner = false;\r\n this.facReportListResponse = response;\r\n if (this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error has occurred executing your request'\r\n +this.facReportListResponse[0].responseMessage});\r\n }\r\n else if (this.facReportListResponse[0].responseMessage === 'No Data') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Info Message', detail: 'No Data returned.'\r\n +this.facReportListResponse[0].responseMessage});\r\n this.facReportListResponse[0].pdfFileUrl=\"\";\r\n this.facReportListResponse[0].htmlFileUrl=\"\";\r\n }\r\n else{\r\n this.msgs=[];\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n this.cols = [\r\n {field: \"htmlFileUrl\", header: 'Html'},\r\n {field: \"pdfFileUrl\", header: 'Pdf'},\r\n\r\n ]\r\n this.displayGraphData =true;\r\n }\r\n //console.log (\"Airport Data report response facility report \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n /* if(this.isScenarioOwner || this.User.getSession().isAdmin){\r\n this.facListTitle = \"Facility List\";\r\n this.displaySpinner = true;\r\n this._airportService.getFacilityList(this.User.getSession().scenarioId)\r\n .subscribe(\r\n response => {\r\n this.facList = response;\r\n this.displayFacilityList = true;\r\n this.cols = [\r\n {field: \"locId\", header: 'Locid'},\r\n {field: \"name\", header: 'Airport Name'},\r\n {field: \"region\", header: 'Region'},\r\n {field: \"city\", header: 'City'},\r\n {field: \"stateName\", header: 'State'},\r\n {field: \"facClassName\", header: 'Facility Class'},\r\n {field: \"facLevelName\", header: 'Facility Level'},\r\n {field: \"latitude\", header: 'Latitude'},\r\n {field: \"longitude\", header: 'Longitude'},\r\n {field: \"siteNumber\", header: 'Site'},\r\n ]\r\n console.log('Airport Get Facility List Component: ' + JSON.stringify(this.cols));\r\n this.displaySpinner =false;\r\n },\r\n error => this.errorMessage = \"An error occured while attempting to retrieve notes.\"\r\n );\r\n }*/\r\n }\r\n saveNotes() { \r\n this._airportService.updateScenarioNotes(this.airport.locId, this.User.getSession().scenarioId, this.scenarioNote)\r\n .subscribe(\r\n success => {},\r\n error => {\r\n this.errorMessage = \"An error occured while attempting to save your note.\";\r\n this.displayNotes = false;\r\n },\r\n () => this.displayNotes = false\r\n );\r\n }\r\n\r\n editAirport(){\r\n this.router.navigate([`/airports-edit/${this.airport.locId}`]);\r\n }\r\n\r\n nextFacilityAction(){\r\n this.router.navigate([`/airports/${this.nextFacility}`]);\r\n }\r\n\r\n \r\n previousFacilityAction(){\r\n this.router.navigate([`/airports/${this.previousFacility}`]);\r\n }\r\n\r\n performOp(op: IOperation){\r\n \r\n let params = {\r\n locId: this.airport.locId,\r\n airportName: this.airport.name\r\n }\r\n\r\n this.router.navigate([`/operations-list/${op.tableName}`, params]);\r\n }\r\n openPDFFile(responsepdf:any){\r\n window.open(responsepdf, '_blank');\r\n }\r\n openHTMLFile(responseHtml:any){\r\n window.open(responseHtml, '_blank');\r\n }\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/airport.component.ts\n **/","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'degreesFromSeconds'})\r\nexport class DegreesFromSecondsPipe implements PipeTransform {\r\n\r\n transform(seconds: string): string {\r\n\r\n let secLen = seconds.length;\r\n\tlet calc = parseFloat(seconds);\r\n\tcalc = calc / 3600;\r\n\tif (seconds.substr(secLen -1, 1) == 'W' || seconds.substr(secLen -1, 1) == 'S')\r\n\t calc = calc * -1;\r\n \r\n if(isNaN(calc)){\r\n \t\tcalc=0;\r\n }\r\n \t \r\n return calc.toString();\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/degrees-from-seconds.pipe.ts\n **/","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n {{pageTitle + ': ' + airport.locId + ' - ' + airport.name}}\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
{{errorMessage}}
\\r\\n Scenario:\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n HTML file created for facility {{airport.locId}}: \\r\\n \\r\\n
\\r\\n
\\r\\n PDF file created for facility {{airport.locId}}: \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

Scenario: {{currentScenario.scenarioName}}

\\r\\n

LOCID: {{airport.locId}} - {{airport.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

Title: APO TAF Facility List

\\r\\n

Scenario: {{currentScenario.scenarioName}} ({{currentScenario.id}})

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the 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
LOCID:
\\r\\n
{{airport.locId}}
\\r\\n
Region:
\\r\\n
{{airport.regName}}
\\r\\n
Name:
\\r\\n
{{airport.name}}
\\r\\n
\\r\\n
\\r\\n
 
\\r\\n
 
\\r\\n
City:
\\r\\n
{{airport.city}}
\\r\\n
State:
\\r\\n
{{airport.stateName}}
\\r\\n
\\r\\n
\\r\\n
Facility Class:
\\r\\n
{{airport.facClassName}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Facility Level:
\\r\\n
{{airport.facLevelName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Hub Size:
\\r\\n
{{airport.hubSizeName}}
\\r\\n
Hub Loc Id:
\\r\\n
{{airport.hubLocId}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n
Reliever Id:
\\r\\n
{{airport.relieverId}}
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n
Center Area Id:
\\r\\n
{{airport.centerAreaId}}
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n
Approach Control Id:
\\r\\n
{{airport.approachControlId}}
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Site Number:
\\r\\n
{{airport.siteNumber}}
\\r\\n
\\r\\n
\\r\\n
Nasp Number:
\\r\\n
{{airport.naspNumber}}
\\r\\n
\\r\\n
\\r\\n
Latitude:
\\r\\n
{{airport.latitude | degreesFromSeconds}}
\\r\\n
\\r\\n
\\r\\n
Longitude:
\\r\\n
{{airport.longitude | degreesFromSeconds}}
\\r\\n
\\r\\n
\\r\\n
Link to Google Maps:
\\r\\n
\\r\\n Map It!\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
Comments/Notes:

\\r\\n
{{airport.comments}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
OPS_FLAG
\\r\\n
{{airport.OpsFlagName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Regional Input Start Year:
\\r\\n
{{airport.regionalInputStartYear}}
\\r\\n
Regional Input End Year:
\\r\\n
{{airport.regionalInputEndYear}}
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/airports/airport.component.html\n ** module id = 772\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy} from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IAirport } from './airport-interfaces';\r\nimport { AirportService } from './airport.service';\r\nimport { IScenario, ScenarioService } from '../scenario-activities/scenario.service';\r\nimport { UserSession } from '../shared/user-session';\r\nimport { UserInfoService } from '../shared/user-info.service';\r\nimport { CommonDataService, KeyValuePair } from '../common-data/commondata.service';\r\nimport * as _ from 'lodash';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/airports/airport.component.html',\r\n template: require('./airport-edit.component.html'),\r\n styles: [require('./airport.css')],\r\n //styleUrls: ['app/products/product-list.component.css'],\r\n providers: [KeyValuePair],\r\n directives: [ROUTER_DIRECTIVES]\r\n})\r\n\r\nexport class AirportEditComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'Facility Edit ';\r\n errorMessage: string;\r\n airport: IAirport;\r\n private sub: any; \r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n displayNotes: boolean = false;\r\n scenarioNote: string;\r\n regStartYear: string;\r\n regEndYear: string;\r\n\r\n regions: KeyValuePair[]; \r\n states: KeyValuePair[];\r\n facClasses: KeyValuePair[];\r\n facLevels: KeyValuePair[];\r\n sizes: KeyValuePair[];\r\n flags: KeyValuePair[];\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _airportService: AirportService,\r\n private _scenarioService: ScenarioService, \r\n private _commonDataService: CommonDataService,\r\n private _userInfoService: UserInfoService,\r\n private User: UserSession) {\r\n }\r\n\r\n ngOnInit(): void{\r\n //TODO: need to see what the original page defaults to \r\n this.sub = this.route.params.subscribe(\r\n params => {\r\n let id = params['locId'];\r\n \r\n //will need to only do this if we get a value\r\n this.getAirport(id);\r\n });\r\n this._scenarioService.getScenarios(this.User.getSession()['id'])//this.User.getSession().userId\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this.User.getSession().scenarioId);\r\n }\r\n );\r\n\r\n this.getKeyValues('region');\r\n this.getKeyValues('state');\r\n this.getKeyValues('emdfcode');\r\n this.getKeyValues('faclevel');\r\n this.getKeyValues('hubsize');\r\n this.getKeyValues('opsflags');\r\n\r\n this._userInfoService.getRegionalYear(this.User.getSession()['id'])//this.User.getSession().userId\r\n .subscribe(\r\n success => {\r\n this.regStartYear = success.startYear;\r\n this.regEndYear = success.endYear;\r\n }\r\n );\r\n\r\n\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n\r\n getAirport(locId: string) {\r\n this._airportService.getAirport(locId, this.User.getSession().scenarioId)\r\n .subscribe(\r\n airport => this.airport = airport,\r\n error => this.errorMessage = error);\r\n }\r\n\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n }\r\n\r\n private getKeyValues(id: string)\r\n {\r\n this._commonDataService.getData(id)\r\n .subscribe(\r\n (list: KeyValuePair[]) => {\r\n if(id == \"region\"){\r\n this.regions = list;\r\n }\r\n else if(id == \"state\"){\r\n this.states = list;\r\n }\r\n else if(id == \"emdfcode\"){\r\n this.facClasses = list;\r\n }\r\n else if(id == \"faclevel\"){\r\n this.facLevels = list;\r\n }\r\n else if(id == \"hubsize\"){\r\n this.sizes = list;\r\n }\r\n else if(id == \"opsflags\"){\r\n this.flags = list;\r\n }\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n\r\n updateAirport(){\r\n this.errorMessage = null;\r\n\r\n if(+this.airport.regionalInputEndYear < +this.airport.regionalInputStartYear){\r\n this.errorMessage = \"Regional input start year cannot be greater than regional input end year.\";\r\n return;\r\n }\r\n\r\n \r\n this._airportService.updateAirport(this.airport)\r\n .subscribe(\r\n response => {\r\n if(response.responseStatus == \"success\"){\r\n this.router.navigate(['/airports', { locId: this.airport.locId}]);\r\n }\r\n else if(response.responseStatus == \"error\"){\r\n this.errorMessage = \"An error occured while trying to update the facility.\";\r\n console.error(response.responseMessage);\r\n }\r\n },\r\n error => {\r\n this.errorMessage = \"An error occured while trying to update the facility.\";\r\n console.error(error);\r\n }\r\n );\r\n\r\n\r\n }\r\n\r\n cancelEdit(){\r\n this.router.navigate(['/airports', { locId: this.airport.locId}]);\r\n }\r\n\r\n regionalInputChange(event: any){\r\n\r\n //TODO: need to set these to other default values\r\n if(event.target.checked){\r\n this.airport.regionalInputStartYear = this.regStartYear;\r\n this.airport.regionalInputEndYear = this.regEndYear;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/airport-edit.component.ts\n **/","module.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n {{pageTitle + ': ' + airport.name }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{airport.locId}}\\r\\n
\\r\\n
\\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 is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n City is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/airports/airport-edit.component.html\n ** module id = 774\n ** module chunks = 0\n **/","module.exports = \".current-scenario{\\r\\n text-align: center;\\r\\n}\\r\\n.divider {\\r\\n clear: both;\\r\\n}\\r\\n.divider-space {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.merge-column {\\r\\n float: left;\\r\\n margin-right: 100px;\\r\\n}\\r\\n.section-title {\\r\\n font-weight: bold;\\r\\n}\\r\\n.btn-right {\\r\\n float: right;\\r\\n margin-left: 15px;\\r\\n}\\r\\n\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/airports/airport.css\n ** module id = 775\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy} from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IOperation } from '../airport-interfaces';\r\nimport { TabViewModule } from 'primeng/primeng';\r\nimport { TabView } from 'primeng/primeng';\r\nimport { TabPanel } from 'primeng/primeng';\r\n\r\nimport { AirportService } from '../airport.service';\r\nimport { IScenario, ScenarioService } from '../../scenario-activities/scenario.service';\r\n\r\nimport { UserSession } from '../../shared/user-session';\r\nimport { UserInfoService } from '../../shared/user-info.service';\r\n\r\nimport { Button } from 'primeng/primeng';\r\nimport { Dialog } from 'primeng/primeng';\r\nimport * as _ from 'lodash';\r\nimport {Messages} from 'primeng/primeng';\r\n\r\nimport { OperationGridComponent } from './operation-grid.component';\r\n\r\n\r\n@Component({\r\n template: require('./operations-list.component.html'),\r\n //styles: [require('../airport.css')],\r\n styles: [require('../../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES, Button, TabView, TabPanel, OperationGridComponent, Dialog]\r\n})\r\n\r\nexport class OperationsListComponent implements OnInit, OnDestroy{\r\n pageTitle: string;\r\n errorMessage: string;\r\n\r\n\r\n private sub: any; \r\n\r\n //think I need current not all\r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n\r\n displayNotes: boolean = false;\r\n scenarioNote: string;\r\n notesTitle: string;\r\n\r\n isScenarioOwner: boolean = false;\r\n\r\n canEdit: boolean = false;\r\n\r\n tableName: string;\r\n allOperations: IOperation[];\r\n locId: string;\r\n airportName: string;\r\n displayAll: boolean = false;\r\n msgs: Messages[]=[];\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _airportService: AirportService,\r\n private _scenarioService: ScenarioService, \r\n private User: UserSession, \r\n private _userInfoService: UserInfoService) {\r\n }\r\n\r\n\r\n ngOnInit(): void{\r\n this.sub = this.route.params.subscribe(\r\n params => {\r\n this.tableName = params['tableName'];\r\n this.locId = params['locId'];\r\n this.airportName = params['airportName'];\r\n this.displayAll = params['displayAll'];\r\n \r\n this._airportService.getOperations()\r\n .subscribe(\r\n operations => this.allOperations = operations,\r\n error => this.errorMessage = error);\r\n }\r\n );\r\n\r\n this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this.User.getSession().scenarioId);\r\n }\r\n );\r\n\r\n this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(\r\n success =>{ this.isScenarioOwner = success.isOwner; \r\n if(this.isScenarioOwner == false && this.User.isAdmin == false){\r\n //console.log(\"this.isScenarioOwner == false \" + (this.isScenarioOwner == false));\r\n this.msgs = [];\r\n this.msgs.push({severity:'warn', summary:'Warn Message', detail:'We\\'re sorry, your access level does not permit you to view this page. Contact the TAF administrator to change your access privileges.'});\r\n }\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n }\r\n\r\n showNotes() {\r\n\r\n if(this.isScenarioOwner || this.User.getSession().isAdmin){\r\n this.notesTitle = \"Edit Scenario Notes\";\r\n }\r\n else{\r\n this.notesTitle = \"View Scenario Notes\";\r\n }\r\n\r\n this._airportService.getScenarioNotes(this.locId, this.User.getSession().scenarioId)\r\n .subscribe(\r\n success => {\r\n if(!_.isEmpty(success)){\r\n this.scenarioNote = success;\r\n }\r\n this.displayNotes = true;\r\n },\r\n error => this.errorMessage = \"An error occured while attempting to retrieve notes.\"\r\n );\r\n }\r\n\r\n saveNotes() { \r\n this._airportService.updateScenarioNotes(this.locId, this.User.getSession().scenarioId, this.scenarioNote)\r\n .subscribe(\r\n success => {},\r\n error => {\r\n this.errorMessage = \"An error occured while attempting to save your note.\";\r\n this.displayNotes = false;\r\n },\r\n () => this.displayNotes = false\r\n );\r\n }\r\n\r\n\r\n onTabChange(event: any) {\r\n\r\n let params = {\r\n locId: this.locId,\r\n airportName: this.airportName\r\n }\r\n\r\n this.router.navigate([`/operations-list/${this.allOperations[event.index].tableName}`, params]);\r\n }\r\n\r\n back(){\r\n this.router.navigate([`/airports/${this.locId}`]);\r\n }\r\n\r\n graphData(){\r\n let params = {\r\n locId: this.locId,\r\n airportName: this.airportName\r\n }\r\n\r\n this.router.navigate([`/operations-graph/${this.tableName}`, params]);\r\n }\r\n\r\n print(){\r\n //console.log(\"printing\");\r\n document.getElementById(\"customButtons\").style.visibility=\"hidden\";\r\n //document.getElementById(\"customPanelBody\").style.width = \"1000px\";\r\n document.getElementById(\"taf-header\").style.visibility=\"hidden\";\r\n document.getElementById(\"taf-footer\").style.visibility=\"hidden\";\r\n window.print();\r\n document.getElementById(\"customButtons\").style.visibility=\"visible\";\r\n //document.getElementById(\"customPanelBody\").style.width = \"1000px\";\r\n document.getElementById(\"taf-header\").style.visibility=\"visible\";\r\n document.getElementById(\"taf-footer\").style.visibility=\"visible\";\r\n }\r\n\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/Operations-lists/operations-list.component.ts\n **/","import { Component, Input, Output, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IOperation, IOperationListColumnResponse, OperationsListRequest, IEditRowField } from '../airport-interfaces';\r\nimport { AirportService } from '../airport.service';\r\nimport { ScenarioService } from '../../scenario-activities/scenario.service';\r\nimport { UserInfoService } from '../../shared/user-info.service';\r\nimport { UserSession } from '../../shared/user-session';\r\nimport { Button } from 'primeng/primeng';\r\nimport { Column } from 'primeng/primeng';\r\nimport { TemplateLoader } from 'primeng/primeng';\r\nimport { TemplateWrapper } from 'primeng/primeng';\r\nimport { PrimeTemplate } from 'primeng/primeng';\r\nimport { ColumnBodyTemplateLoader } from 'primeng/primeng';\r\nimport { Footer } from 'primeng/primeng';\r\nimport * as _ from 'lodash';\r\n\r\nimport {SystemControl} from '../../shared/system-control';\r\nimport {SystemControlElem} from '../../shared/system-control-elem';\r\nimport { SystemControlService} from '../../shared/system-control.service';\r\n\r\n@Component({\r\n selector: 'operation-grid',\r\n template: require('./operation-grid.component.html'),\r\n styles: [require('../../styles/faa_styles.css')],\r\n //encapsulation: ViewEncapsulation.None,\r\n directives: [Button, Column, TemplateLoader, TemplateWrapper, PrimeTemplate, ColumnBodyTemplateLoader, Footer]\r\n})\r\n\r\nexport class OperationGridComponent implements OnInit, OnDestroy{\r\n @Input() operation: IOperation;\r\n\r\n //so everything we do in here will need to check this, we only want to do stuff if we are the selected one\r\n @Input() selected: boolean;\r\n @Input() locId: string;\r\n @Input() airportName: string;\r\n @Input() displayAll: boolean;\r\n\r\n //will need an array of results objects\r\n //and a columns object to create the rows\r\n results: any[]\r\n selectedRow: any;\r\n columns: IOperationListColumnResponse[];\r\n editableColumns: IOperationListColumnResponse[];\r\n errorMessage: string;\r\n\r\n editRow: any[];\r\n displayDialog: boolean = false;\r\n isAAT: IOperationListColumnResponse[];\r\n canEdit: boolean = false;\r\n dialogHeader = \"Detail\";\r\n\r\n //displayAll: boolean = false;\r\n displayAllText: string = \"View Previous Years\";\r\n systemControlElem: SystemControlElem;\r\n\r\n //might need the routes\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _airportService: AirportService,\r\n private _scenarioService: ScenarioService,\r\n private _userInfoService: UserInfoService, \r\n private User: UserSession,\r\n private request: OperationsListRequest,\r\n private _systemControlService:SystemControlService) \r\n {}\r\n\r\n ngOnInit(): void{\r\n if(this.selected){\r\n\r\n this.request.tableName = this.operation.tableName;\r\n this.request.scenarioId = this.User.getSession().scenarioId;\r\n this.request.locId = this.locId;\r\n this.request.isAdmin = this.User.getSession().isAdmin ? 1 : 0;\r\n\r\n\r\n this._airportService.getOperationsColumns(this.request)\r\n .subscribe(\r\n columns => {\r\n this.columns = columns;\r\n this.editableColumns = _.filter(this.columns, function(column) { return !column.calculated; });\r\n _.find(columns, function(column){column.fieldName ==='AAT'?column.isAAT=1:column.isAAT=0;});\r\n \r\n },\r\n error => this.errorMessage = error,\r\n () => {\r\n }\r\n );\r\n\r\n this.getResults();\r\n }\r\n }\r\n\r\n //may not need this\r\n ngOnDestroy(){}\r\n\r\n\r\n getResults(){\r\n\r\n this._systemControlService.getSystemControl()\r\n .subscribe(\r\n systemControlElem => this.systemControlElem = systemControlElem,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this._airportService.getOperationsList(this.request)\r\n .subscribe(\r\n results => {\r\n this.results = results;\r\n this.results.map(result => {\r\n result.scenarioDisplay = result.SCENARIO == 0 ? \"\" : \"*\";\r\n });\r\n\r\n if(!this.displayAll)\r\n {\r\n this.results = this.results.filter(results => { return results.AYEAR > (this.systemControlElem.ffcYear - 4) });\r\n }\r\n\r\n this.results.sort((n1,n2) => {\r\n if (n1.AYEAR > n2.AYEAR) {\r\n return 1;\r\n }\r\n\r\n if (n1.AYEAR < n2.AYEAR) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n \r\n this.setDisplayAllText(this.displayAll);\r\n\r\n },\r\n error => this.errorMessage = error\r\n );\r\n });\r\n }\r\n\r\n onRowSelect(event: any) {\r\n //lets make this a view if they are not the scenario owner or admin\r\n //need to get the scenario of the row\r\n \r\n if(this.User.getSession().isAdmin){\r\n this.dialogHeader = \"Edit\";\r\n this.canEdit = true;\r\n this.editRow = this.cloneRow(event.data);\r\n this.displayDialog = true;\r\n }\r\n else{\r\n this._userInfoService.isScenarioOwner(this.User.getSession()['id'], event.data.SCENARIO).subscribe(\r\n success => {\r\n if(success.isOwner){\r\n this.dialogHeader = \"Edit\";\r\n this.canEdit = true;\r\n this.editRow = this.cloneRow(event.data);\r\n this.displayDialog = true;\r\n }\r\n else{\r\n this.dialogHeader = \"Detail\";\r\n this.canEdit = false;\r\n this.editRow = this.cloneRow(event.data);\r\n this.displayDialog = true;\r\n\r\n } \r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n }\r\n\r\n \r\n cloneRow(dataToClone: any): any {\r\n let editableColumnCounter: number = 0;\r\n let cloneListCounter: number = 0;\r\n\r\n let cloneList: IEditRowField[] = [];\r\n\r\n\r\n for(let prop in dataToClone) {\r\n\r\n let clone: IEditRowField = {value: \"\", fieldName: \"\", displayName: \"\", readOnly: false, display: true};\r\n\r\n if( _.find(this.editableColumns, function(column: any) {return column.fieldName === prop})){\r\n \r\n clone.value = dataToClone[prop];\r\n clone.fieldName = prop;\r\n clone.displayName = this.editableColumns[editableColumnCounter].displayName;\r\n clone.readOnly = false;\r\n \r\n cloneList[cloneListCounter] = clone;\r\n\r\n editableColumnCounter++;\r\n cloneListCounter++;\r\n }\r\n // else if(_.find(this.columns, function(column: any) {return column.graphName === prop && column.calculated})){\r\n // clone.value = dataToClone[prop];\r\n // clone.fieldName = prop;\r\n // clone.displayName = _.find(this.columns, function(column: any) {return column.graphName === prop && column.calculated}).displayName;\r\n // clone.readOnly = true;\r\n\r\n // cloneList[cloneListCounter] = clone;\r\n\r\n // cloneListCounter++;\r\n \r\n // }\r\n else if (prop === \"AYEAR\")\r\n {\r\n //really only want year in here\r\n clone.value = dataToClone[prop];\r\n clone.fieldName = prop;\r\n clone.displayName = \"Year\";\r\n clone.readOnly = true;\r\n\r\n cloneList[cloneListCounter] = clone;\r\n\r\n cloneListCounter++;\r\n \r\n }\r\n else if (prop === \"SCENARIO\")\r\n {\r\n clone.value = dataToClone[prop];\r\n clone.fieldName = prop;\r\n clone.display = false;\r\n clone.readOnly = true;\r\n\r\n cloneList[cloneListCounter] = clone;\r\n\r\n cloneListCounter++;\r\n \r\n }\r\n }\r\n return cloneList;\r\n }\r\n\r\n addButtonClicked(){ \r\n \r\n let params = {\r\n locId: this.locId,\r\n tableName: this.operation.tableName,\r\n airportName: this.airportName\r\n }\r\n\r\n this.router.navigate([`/operations-add-year`, params]);\r\n }\r\n\r\n columnClick(event: any) {\r\n let params = {\r\n locId: this.locId,\r\n fieldName: event.field,\r\n airportName: this.airportName\r\n }\r\n\r\n this.router.navigate([`/operations-reforcast/${this.operation.tableName}`, params]);\r\n }\r\n\r\n save(){\r\n let params = {\r\n tableName: this.operation.tableName,\r\n locId: this.locId,\r\n editRow: this.editRow,\r\n\r\n }\r\n\r\n this._airportService.updateOperations(params)\r\n .subscribe(\r\n response => {\r\n if(response.responseStatus == \"success\"){\r\n this.getResults(); \r\n this.displayDialog = false;\r\n }\r\n else if(response.responseStatus == \"error\"){\r\n this.displayDialog = false;\r\n this.errorMessage = \"An error occured while trying to update the row.\";\r\n console.error(response.responseMessage);\r\n }\r\n },\r\n error => {\r\n this.displayDialog = false;\r\n this.errorMessage = \"An error occured while trying to update the facility.\";\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n displayAllYears(){\r\n\r\n this.displayAll = !this.displayAll;\r\n\r\n this.setDisplayAllText(this.displayAll);\r\n\r\n this.getResults();\r\n }\r\n\r\n setDisplayAllText(flag: boolean){\r\n if(flag){\r\n this.displayAllText = \"Hide Previous Years\";\r\n }else{ \r\n this.displayAllText = \"View Previous Years\";\r\n }\r\n }\r\n}\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/Operations-lists/operation-grid.component.ts\n **/","module.exports = \"\\r\\n
{{errorMessage}}
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n \\r\\n\\r\\n

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

\\r\\n {{columns[0].tableDisplay}} \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\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.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\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/airports/Operations-lists/operation-grid.component.html\n ** module id = 778\n ** module chunks = 0\n **/","module.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n {{'Facility: ' + locId + ' - ' + airportName }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n

Scenario: {{currentScenario.scenarioName}}

\\r\\n

LOCID: {{locId}} - {{airportName}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/airports/Operations-lists/operations-list.component.html\n ** module id = 779\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy} from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IOperation } from '../airport-interfaces';\r\n\r\nimport { AirportService } from '../airport.service';\r\nimport { IScenario, ScenarioService } from '../../scenario-activities/scenario.service';\r\n\r\nimport { UserSession } from '../../shared/user-session';\r\nimport { UserInfoService } from '../../shared/user-info.service';\r\n\r\nimport { Button } from 'primeng/primeng';\r\nimport { Dialog } from 'primeng/primeng';\r\n\r\nimport {SystemControl} from '../../shared/system-control';\r\nimport {SystemControlElem} from '../../shared/system-control-elem';\r\nimport { SystemControlService } from '../../shared/system-control.service';\r\n\r\n\r\n\r\nimport * as _ from 'lodash';\r\n\r\n\r\n@Component({\r\n template: require('./operations-add-data-point.component.html'),\r\n styles: [require('../airport.css')],\r\n directives: [ROUTER_DIRECTIVES, Button, Dialog]\r\n})\r\n\r\nexport class OperationsAddDataPointComponent implements OnInit, OnDestroy{\r\n pageTitle: string;\r\n errorMessage: string;\r\n private sub: any; \r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n\r\n tableName: string;\r\n locId: string;\r\n year: number;\r\n airportName: string;\r\n systemControlElem: SystemControlElem;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _airportService: AirportService,\r\n private _scenarioService: ScenarioService, \r\n private User: UserSession, \r\n private _userInfoService: UserInfoService,\r\n private _systemControlService:SystemControlService) {\r\n }\r\n\r\n\r\n ngOnInit(): void{\r\n this.sub = this.route.params.subscribe(\r\n params => {\r\n this.tableName = params['tableName'];\r\n this.locId = params['locId'];\r\n this.airportName = params['airportName'];\r\n }\r\n );\r\n\r\n this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this.User.getSession().scenarioId);\r\n }\r\n );\r\n\r\n this._systemControlService.getSystemControl()\r\n .subscribe(\r\n systemControlElem => this.systemControlElem = systemControlElem,\r\n error => this.errorMessage = error\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n }\r\n\r\n submit(){\r\n\r\n this.errorMessage = null;\r\n\r\n if(this.year >= this.systemControlElem.lfcYear){\r\n this.errorMessage = \"The year can only be less than last forecast year\";\r\n return;\r\n }\r\n else{\r\n\r\n \r\n let scenarioId: number;\r\n\r\n if(this.year < this.systemControlElem.ffcYear){\r\n scenarioId = 0;\r\n }\r\n else{\r\n scenarioId = this.User.getSession().scenarioId; \r\n }\r\n\r\n\r\n let params = {\r\n tableName: this.tableName,\r\n locId: this.locId,\r\n scenario: scenarioId,\r\n ayear: this.year\r\n }\r\n\r\n this._airportService.saveOperationsYear(params)\r\n .subscribe(\r\n response => {\r\n if(response.responseStatus == \"success\"){\r\n\r\n \r\n let displayAll: number = 0;\r\n\r\n if(this.year < this.systemControlElem.ffcYear - 4){\r\n displayAll = 1;\r\n }\r\n\r\n let params = {\r\n locId: this.locId,\r\n airportName: this.airportName,\r\n displayAll: displayAll \r\n }\r\n\r\n this.router.navigate([`/operations-list/${this.tableName}`, params]);\r\n\r\n }\r\n else if(response.responseStatus == \"duplicate\"){\r\n this.errorMessage = \"This year already exist within this scenario.\";\r\n }\r\n else if(response.responseStatus == \"error\"){\r\n this.errorMessage = \"An error occured while trying to update the facility.\";\r\n console.error(response.responseMessage);\r\n }\r\n },\r\n error => {\r\n this.errorMessage = \"An error occured while trying to add the year.\";\r\n console.error(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n cancel(){\r\n let params = {\r\n locId: this.locId,\r\n airportName: this.airportName\r\n }\r\n\r\n this.router.navigate([`/operations-list/${this.tableName}`, params]);\r\n }\r\n\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/Operations-lists/operations-add-data-point.component.ts\n **/","module.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n TAF Add Year\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n\\r\\n

\\r\\n This feature allows you to add a new year to \\r\\n for this LOCID and data set specified below. You must add a new year to \\r\\n each data set individually.
History years will be shared with all \\r\\n scenarios.

\\r\\n Forecast years must be within forecast years of {{systemControlElem?.ffcYear}} and {{systemControlElem?.lfcYear}} \\r\\n and will be added to this scenario only. All the values will be set to \\r\\n zero.
You may edit the data points from the data set list page after \\r\\n they are added.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Scenario:
\\r\\n
{{currentScenario?.scenarioName}}
\\r\\n
\\r\\n
\\r\\n
Loc Id:
\\r\\n
{{locId}}
\\r\\n
\\r\\n
\\r\\n
Data Set:
\\r\\n
{{tableName}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/airports/Operations-lists/operations-add-data-point.component.html\n ** module id = 781\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy} from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IOperation } from '../../airport-interfaces';\r\nimport { TabViewModule } from 'primeng/primeng';\r\nimport { TabView } from 'primeng/primeng';\r\nimport { TabPanel } from 'primeng/primeng';\r\n\r\nimport { AirportService } from '../../airport.service';\r\nimport { IScenario, ScenarioService } from '../../../scenario-activities/scenario.service';\r\n\r\nimport { UserSession } from '../../../shared/user-session';\r\nimport { UserInfoService } from '../../../shared/user-info.service';\r\n\r\nimport { Button } from 'primeng/primeng';\r\nimport * as _ from 'lodash';\r\n\r\nimport { OperationsGraphSelectionsComponent } from './operations-graph-selections.component';\r\n\r\n\r\n@Component({\r\n template: require('./operations-graph.component.html'),\r\n styles: [require('../../../styles/faa_styles.css'),require('../../../styles/print_faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES, Button, TabView, TabPanel, OperationsGraphSelectionsComponent]\r\n})\r\n\r\nexport class OperationsGraphComponent implements OnInit, OnDestroy{\r\n pageTitle: string;\r\n errorMessage: string;\r\n private sub: any; \r\n\r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n\r\n isScenarioOwner: boolean = false;\r\n\r\n tableName: string;\r\n allOperations: IOperation[];\r\n locId: string;\r\n airportName: string;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _airportService: AirportService,\r\n private _scenarioService: ScenarioService, \r\n private User: UserSession, \r\n private _userInfoService: UserInfoService) {\r\n }\r\n\r\n\r\n ngOnInit(): void{\r\n this.sub = this.route.params.subscribe(\r\n params => {\r\n this.tableName = params['tableName'];\r\n this.locId = params['locId'];\r\n this.airportName = params['airportName'];\r\n \r\n this._airportService.getOperations()\r\n .subscribe(\r\n operations => this.allOperations = operations,\r\n error => this.errorMessage = error);\r\n }\r\n );\r\n\r\n this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this.User.getSession().scenarioId);\r\n }\r\n );\r\n\r\n this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(\r\n success => this.isScenarioOwner = success.isOwner,\r\n error => this.errorMessage = error\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n }\r\n\r\n onTabChange(event: any) {\r\n\r\n let params = {\r\n locId: this.locId,\r\n airportName: this.airportName\r\n }\r\n\r\n this.router.navigate([`/operations-graph/${this.allOperations[event.index].tableName}`, params]);\r\n }\r\n\r\n backFacilityView(){\r\n this.router.navigate([`/airports/${this.locId}`]);\r\n }\r\n\r\n backDataSheet(){\r\n\r\n let params = {\r\n locId: this.locId,\r\n airportName: this.airportName\r\n }\r\n\r\n this.router.navigate([`/operations-list/${this.tableName}`, params]);\r\n }\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/Operations-lists/operations-graphs/operations-graph.component.ts\n **/","import { Component, Input, Output, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IOperation, IOperationListColumnResponse, OperationsListRequest, IEditRowField } from '../../airport-interfaces';\r\nimport { AirportService } from '../../airport.service';\r\nimport { ScenarioService } from '../../../scenario-activities/scenario.service';\r\nimport { UserInfoService } from '../../../shared/user-info.service';\r\nimport { UserSession } from '../../../shared/user-session';\r\nimport { Button } from 'primeng/primeng';\r\nimport { Checkbox } from 'primeng/primeng';\r\nimport * as _ from 'lodash';\r\n\r\nimport {SystemControl} from '../../../shared/system-control';\r\nimport {SystemControlElem} from '../../../shared/system-control-elem';\r\nimport { SystemControlService} from '../../../shared/system-control.service';\r\n\r\n@Component({\r\n selector: 'operations-graph-selections',\r\n template: require('./operations-graph-selections.component.html'),\r\n styles: [require('../../../styles/faa_styles.css')],\r\n directives: [Button, Checkbox]\r\n})\r\n\r\nexport class OperationsGraphSelectionsComponent implements OnInit, OnDestroy{\r\n @Input() operation: IOperation;\r\n @Input() selected: boolean;\r\n @Input() locId: string;\r\n @Input() airportName: string;\r\n @Input() displayAll: boolean;\r\n\r\n \r\n columns: IOperationListColumnResponse[];\r\n \r\n errorMessage: string;\r\n systemControlElem: SystemControlElem;\r\n \r\n startYears:number[] = [];\r\n endYears:number[] = [];\r\n\r\n selectedStartYear: number;\r\n selectedEndYear: number;\r\n graphType: string = \"bar\";\r\n yearsToPreview: number = 4;\r\n hasData: boolean;\r\n dataCheckDone: boolean = false;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _airportService: AirportService,\r\n private _scenarioService: ScenarioService,\r\n private _userInfoService: UserInfoService, \r\n private User: UserSession,\r\n private request: OperationsListRequest,\r\n private _systemControlService:SystemControlService) \r\n {}\r\n\r\n ngOnInit(): void{\r\n if(this.selected){\r\n \r\n let params = {\r\n tableName: this.operation.tableName,\r\n locId: this.locId,\r\n scenarioId: this.User.getSession().scenarioId\r\n }\r\n\r\n this._airportService.hasGraphData(params)\r\n .subscribe(\r\n response => {\r\n if(response.hasData){\r\n\r\n this.hasData = true;\r\n this.dataCheckDone = true;\r\n\r\n this.getColumns();\r\n\r\n this.getSystemControlValues();\r\n }\r\n else{\r\n this.hasData = false;\r\n this.dataCheckDone = true;\r\n }\r\n },\r\n error => {\r\n this.errorMessage = \"Server Error\";\r\n console.error(error);\r\n }\r\n );\r\n }\r\n }\r\n \r\n getColumns(){\r\n this.request.tableName = this.operation.tableName;\r\n this.request.scenarioId = this.User.getSession().scenarioId;\r\n this.request.locId = this.locId;\r\n this.request.isAdmin = this.User.getSession().isAdmin ? 1 : 0;\r\n this._airportService.getOperationsColumns(this.request)\r\n .subscribe(\r\n columns => this.columns = columns,\r\n error => this.errorMessage = error);\r\n }\r\n\r\n getSystemControlValues(){\r\n this._systemControlService.getSystemControl()\r\n .subscribe(\r\n systemControlElem => {\r\n this.systemControlElem = systemControlElem;\r\n this.populateYears();\r\n },\r\n error => this.errorMessage = error);\r\n }\r\n\r\n populateYears(){\r\n\r\n this._userInfoService.getRegionalYear(this.User.getSession()['id'])\r\n .subscribe(\r\n success => {\r\n this.populateStartYears(success.startYear);\r\n this.populateEndYears(success.endYear);\r\n\r\n }\r\n );\r\n }\r\n\r\n populateStartYears(startYear: any){\r\n\r\n let params = {\r\n tableName: this.operation.tableName,\r\n locId: this.locId,\r\n scenarioId: this.User.getSession().scenarioId\r\n\r\n };\r\n\r\n let minYear: number;\r\n\r\n this._airportService.getGraphMinYear(params)\r\n .subscribe(\r\n min => {\r\n minYear = min;\r\n\r\n let index = 0;\r\n for(let year = minYear; year <= this.systemControlElem.lfcYear; year++){\r\n this.startYears[index] = year;\r\n index++;\r\n }\r\n\r\n //need to set selected one\r\n if(startYear){\r\n this.selectedStartYear = startYear;\r\n }\r\n else{\r\n this.selectedStartYear = this.systemControlElem.ffcYear - this.yearsToPreview;\r\n }\r\n }\r\n );\r\n }\r\n\r\n populateEndYears(endYear: any){\r\n\r\n let index = 0;\r\n for(let year = this.systemControlElem.ffcYear - this.yearsToPreview; year <= this.systemControlElem.lfcYear; year++){\r\n this.endYears[index] = year;\r\n index++;\r\n }\r\n //console.log(\"this.systemControlElem.ffcYear\" + this.systemControlElem.ffcYear +\" \" + this.systemControlElem.lfcYear)\r\n //need to set selected one\r\n if(endYear){\r\n this.selectedEndYear = endYear;\r\n // console.log(\"populateEndYears\" +endYear );\r\n }\r\n else{\r\n this.selectedEndYear = this.systemControlElem.ffcYear - this.yearsToPreview;\r\n \r\n }\r\n }\r\n\r\n ngOnDestroy(){}\r\n\r\n generateGraph(){\r\n \r\n this.errorMessage = null;\r\n\r\n let selectedColumns = this.columns.filter(function(column){\r\n return column.graphR == 1;\r\n });\r\n\r\n if(selectedColumns.length === 0){\r\n this.errorMessage = \"At least one data column must be selected.\"\r\n return;\r\n }\r\n\r\n if(this.selectedEndYear <= this.selectedStartYear){\r\n this.errorMessage = \"Selected end year must be greater than the selected start year.\"\r\n return;\r\n }\r\n \r\n sessionStorage.setItem('operations-graph-columns', JSON.stringify(selectedColumns));\r\n\r\n let params = {\r\n displayName: this.operation.displayName,\r\n locId: this.locId,\r\n airportName: this.airportName,\r\n graphType: this.graphType,\r\n startYear: this.selectedStartYear,\r\n endYear: this.selectedEndYear,\r\n quickGraph: \"false\"\r\n };\r\n\r\n this.router.navigate([`/operations-graph-display/${this.operation.tableName}`, params]);\r\n }\r\n}\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/Operations-lists/operations-graphs/operations-graph-selections.component.ts\n **/","module.exports = \"
\\r\\n
{{errorMessage}}
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n\\r\\n
\\r\\n No records found\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Please enter the years used to define graph data:

\\r\\n
\\r\\n
\\r\\n
\\r\\n Starting Year:\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Ending Year: \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Graph Types:
\\r\\n
\\r\\n
\\r\\n Bar
\\r\\n Line\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/airports/Operations-lists/operations-graphs/operations-graph-selections.component.html\n ** module id = 784\n ** module chunks = 0\n **/","module.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n {{'Facility: ' + locId + ' - ' + airportName }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/airports/Operations-lists/operations-graphs/operations-graph.component.html\n ** module id = 785\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy} from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IOperation, IOperationListColumnResponse } from '../../airport-interfaces';\r\nimport { TabViewModule } from 'primeng/primeng';\r\nimport { TabView } from 'primeng/primeng';\r\nimport { TabPanel } from 'primeng/primeng';\r\n\r\nimport { AirportService } from '../../airport.service';\r\nimport { IScenario, ScenarioService } from '../../../scenario-activities/scenario.service';\r\n\r\nimport { UserSession } from '../../../shared/user-session';\r\nimport { UserInfoService } from '../../../shared/user-info.service';\r\n\r\nimport { UIChart} from 'primeng/primeng';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n template: require('./operations-graph-display.component.html'),\r\n styles: [require('../../../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES, UIChart]\r\n})\r\n\r\nexport class OperationsGraphDisplayComponent implements OnInit, OnDestroy{\r\n pageTitle: string;\r\n errorMessage: string;\r\n private sub: any; \r\n\r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n\r\n tableName: string;\r\n displayName: string;\r\n allOperations: IOperation[];\r\n locId: string;\r\n airportName: string;\r\n graphType: string = \"bar\";\r\n graphOptions:any;\r\n\r\n startYear: number;\r\n endYear: number;\r\n\r\n columns: IOperationListColumnResponse[];\r\n\r\n result: any;\r\n data: any;\r\n quickGraph: string;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _airportService: AirportService,\r\n private _scenarioService: ScenarioService, \r\n private User: UserSession, \r\n private _userInfoService: UserInfoService) {\r\n }\r\n\r\n ngOnInit(): void{\r\n this.sub = this.route.params.subscribe(\r\n params => {\r\n this.tableName = params['tableName'];\r\n this.displayName = params['displayName'];\r\n this.locId = params['locId'];\r\n this.airportName = params['airportName'];\r\n this.graphType = params['graphType'];\r\n this.startYear = params['startYear'];\r\n this.endYear = params['endYear'];\r\n this.quickGraph = params['quickGraph'];\r\n \r\n this.columns = JSON.parse(sessionStorage.getItem('operations-graph-columns'));\r\n\r\n this.getGraphData();\r\n }\r\n );\r\n\r\n this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this.User.getSession().scenarioId);\r\n }\r\n );\r\n }\r\n\r\n\r\n getGraphData(){\r\n\r\n let params = {\r\n tableName: this.tableName,\r\n locId: this.locId,\r\n scenarioId: this.User.getSession().scenarioId,\r\n startYear: this.startYear,\r\n endYear: this.endYear,\r\n columns: this.columns\r\n }\r\n\r\n this._airportService.getGraphData(params)\r\n .subscribe(\r\n result => {\r\n this.result = result;\r\n\r\n this.createGraphDataSet();\r\n }\r\n );\r\n }\r\n\r\n createGraphDataSet(){\r\n\r\n let labels = _.map(this.result,'AYEAR');\r\n let datasets: any[] = [];\r\n\r\n for(let index in this.columns)\r\n {\r\n let dataset = {\r\n label: this.columns[index].graphName,\r\n data: _.map(this.result, this.columns[index].graphName),\r\n fill: false,\r\n \r\n backgroundColor: this.getRandomColor(),\r\n borderColor: this.getRandomColor()\r\n }\r\n\r\n datasets[index] = dataset;\r\n }\r\n \r\n this.data = {\r\n labels: labels,\r\n datasets: datasets\r\n }\r\n this.graphOptions = {\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero:true\r\n }\r\n }]\r\n }\r\n };\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n \r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n }\r\n\r\n\r\n backFacilityView(){\r\n this.router.navigate([`/airports/${this.locId}`]);\r\n }\r\n\r\n backDataSheet(){\r\n\r\n let params = {\r\n locId: this.locId,\r\n airportName: this.airportName\r\n }\r\n\r\n this.router.navigate([`/operations-list/${this.tableName}`, params]);\r\n }\r\n\r\n backSelections(){\r\n let params = {\r\n locId: this.locId,\r\n airportName: this.airportName\r\n }\r\n\r\n this.router.navigate([`/operations-graph/${this.tableName}`, params]);\r\n }\r\n\r\n getRandomColor() {\r\n let letters = '0123456789ABCDEF';\r\n let color = '#';\r\n \r\n for (let i = 0; i < 6; i++ ) {\r\n color += letters[Math.floor(Math.random() * 16)];\r\n }\r\n\r\n return color;\r\n }\r\n\r\n backReforecast(){\r\n \r\n let params = {\r\n locId: this.locId,\r\n fieldName: this.columns[0].fieldName,\r\n airportName: this.airportName\r\n }\r\n\r\n this.router.navigate([`/operations-reforcast/${this.tableName}`, params]);\r\n }\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/Operations-lists/operations-graphs/operations-graph-display.component.ts\n **/","module.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n {{'Facility: ' + locId + ' - ' + airportName }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n\\r\\n \\r\\n
\\r\\n {{displayName}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/airports/Operations-lists/operations-graphs/operations-graph-display.component.html\n ** module id = 787\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy} from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IOperation, OperationsListRequest } from '../../airport-interfaces';\r\nimport { TabViewModule } from 'primeng/primeng';\r\nimport { TabView } from 'primeng/primeng';\r\nimport { TabPanel } from 'primeng/primeng';\r\n\r\nimport { AirportService } from '../../airport.service';\r\nimport { IScenario, ScenarioService } from '../../../scenario-activities/scenario.service';\r\n\r\nimport { UserSession } from '../../../shared/user-session';\r\nimport { UserInfoService } from '../../../shared/user-info.service';\r\n\r\nimport { Button } from 'primeng/primeng';\r\nimport * as _ from 'lodash';\r\n\r\nimport { OperationsReforecastComponent } from './operations-reforecast.component';\r\n\r\n\r\n@Component({\r\n template: require('./operations-reforecast-container.component.html'),\r\n styles: [require('../../../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES, Button, TabView, TabPanel, OperationsReforecastComponent]\r\n})\r\n\r\nexport class OperationsReforecastContainerComponent implements OnInit, OnDestroy{\r\n pageTitle: string;\r\n errorMessage: string;\r\n private sub: any; \r\n\r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n\r\n isScenarioOwner: boolean = false;\r\n\r\n tableName: string;\r\n allOperations: IOperation[];\r\n locId: string;\r\n airportName: string;\r\n fieldName: string;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _airportService: AirportService,\r\n private _scenarioService: ScenarioService, \r\n private User: UserSession, \r\n private _userInfoService: UserInfoService) {\r\n }\r\n\r\n\r\n ngOnInit(): void{\r\n this.sub = this.route.params.subscribe(\r\n params => {\r\n this.tableName = params['tableName'];\r\n this.locId = params['locId'];\r\n this.airportName = params['airportName'];\r\n this.fieldName = params['fieldName'];\r\n this._airportService.getOperations()\r\n .subscribe(\r\n operations => this.allOperations = operations,\r\n error => this.errorMessage = error);\r\n }\r\n );\r\n\r\n this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this.User.getSession().scenarioId);\r\n }\r\n );\r\n\r\n this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(\r\n success => this.isScenarioOwner = success.isOwner,\r\n error => this.errorMessage = error\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n }\r\n\r\n onTabChange(event: any) {\r\n\r\n let request: OperationsListRequest = new OperationsListRequest();\r\n request.tableName = this.allOperations[event.index].tableName;\r\n request.scenarioId = this.User.getSession().scenarioId;\r\n request.locId = this.locId;\r\n request.isAdmin = this.User.getSession().isAdmin ? 1 : 0;\r\n\r\n this._airportService.getOperationsColumns(request)\r\n .subscribe(\r\n columns => {\r\n let column = columns.filter(function(column){ return column.calculated == 0; })[0];\r\n \r\n let params = {\r\n locId: this.locId,\r\n airportName: this.airportName,\r\n fieldName: column.fieldName\r\n }\r\n\r\n this.router.navigate([`/operations-reforcast/${this.allOperations[event.index].tableName}`, params]);\r\n\r\n },\r\n error => this.errorMessage = error);\r\n }\r\n\r\n backFacilityView(){\r\n this.router.navigate([`/airports/${this.locId}`]);\r\n }\r\n\r\n backDataSheet(){\r\n\r\n let params = {\r\n locId: this.locId,\r\n airportName: this.airportName\r\n }\r\n\r\n this.router.navigate([`/operations-list/${this.tableName}`, params]);\r\n }\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/operations-lists/operations-reforecasts/operations-reforecast-container.component.ts\n **/","import { Component, Input, Output, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IOperation, IOperationListColumnResponse, OperationsListRequest, IEditRowField, ReforecastRequest, IReforecastResponse } from '../../airport-interfaces';\r\nimport { AirportService } from '../../airport.service';\r\nimport { ScenarioService } from '../../../scenario-activities/scenario.service';\r\nimport { UserInfoService } from '../../../shared/user-info.service';\r\nimport { UserSession } from '../../../shared/user-session';\r\nimport { Button } from 'primeng/primeng';\r\nimport * as _ from 'lodash';\r\nimport { Dialog } from 'primeng/primeng';\r\nimport {Messages} from 'primeng/primeng';\r\n\r\n\r\nimport {SystemControl} from '../../../shared/system-control';\r\nimport {SystemControlElem} from '../../../shared/system-control-elem';\r\nimport { SystemControlService} from '../../../shared/system-control.service';\r\nimport {DecimalPipe} from '@angular/common';\r\n\r\n@Component({\r\n selector: 'operations-reforecast',\r\n template: require('./operations-reforecast.component.html'),\r\n styles: [require('../../../styles/faa_styles.css')],\r\n directives: [Button]\r\n})\r\n\r\nexport class OperationsReforecastComponent implements OnInit, OnDestroy{\r\n @Input() operation: IOperation;\r\n @Input() selected: boolean;\r\n @Input() locId: string;\r\n @Input() airportName: string;\r\n @Input() fieldName: string; \r\n \r\n\r\n \r\n columns: IOperationListColumnResponse[];\r\n \r\n errorMessage: string;\r\n successMessage: string;\r\n\r\n systemControlElem: SystemControlElem;\r\n \r\n startYears:number[] = [];\r\n endYears:number[] = [];\r\n\r\n selectedStartYear: number;\r\n selectedEndYear: number;\r\n\r\n //not sure if this will be needed\r\n yearsToPreview: number = 4;\r\n \r\n\r\n forecastOperation: string;\r\n \r\n interpolationValue: number;\r\n fillInValue: number;\r\n growthRateValue: number;\r\n growAndSmoothValue: number;\r\n\r\n reforecastData: IReforecastResponse[];\r\n\r\n isScenarioOwner: boolean = false;\r\n\r\n averageRate: number;\r\n\r\n dataDisabled: boolean = true;\r\n growthDisabled: boolean = true;\r\n highlightYears: boolean = false; \r\n displaySpinner :boolean=false;\r\n msgs: Messages[]=[];\r\n private sub: any; \r\n ownScenarios:string =\"true\";\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _airportService: AirportService,\r\n private _scenarioService: ScenarioService,\r\n private _userInfoService: UserInfoService, \r\n private User: UserSession,\r\n private request: OperationsListRequest,\r\n private _systemControlService:SystemControlService) \r\n {}\r\n\r\n ngOnInit(): void{\r\n\r\n this.sub = this.route.params.subscribe(\r\n params => {\r\n this.fieldName = params['fieldName'];\r\n }\r\n \r\n );\r\n if(this.selected){\r\n \r\n //will need to get columns in here for dropdown, only non calculated\r\n this.getColumns();\r\n this.getSystemControlValues();\r\n }\r\n this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(\r\n success =>{ this.isScenarioOwner = success.isOwner; \r\n if(this.isScenarioOwner == false && this.User.isAdmin == false){\r\n this.ownScenarios=\"false\";\r\n this.msgs = [];\r\n this.msgs.push({severity:'warn', summary:'Warn Message', detail:'We\\'re sorry, your access level does not permit you to view this page. Contact the TAF administrator to change your access privileges.'});\r\n }\r\n },\r\n error => this.errorMessage = error\r\n );\r\n \r\n \r\n\r\n }\r\n\r\n getYears(){\r\n this.displaySpinner = true;\r\n let fieldNameSelected:string = (event.target as HTMLSelectElement).value;\r\n let params: ReforecastRequest = new ReforecastRequest;\r\n if(this.fieldName != fieldNameSelected && fieldNameSelected !=undefined){\r\n this.fieldName = fieldNameSelected\r\n }\r\n params.fieldName = this.fieldName ;\r\n params.locId = this.locId;\r\n params.tableName = this.operation.tableName;\r\n params.scenarioId = this.User.getSession().scenarioId;\r\n params.minYear = this.systemControlElem.ffcYear - this.yearsToPreview;\r\n \r\n this._airportService.getReforcastData(params)\r\n .subscribe(\r\n success => {\r\n if(success.length > 0){\r\n this.reforecastData = success;\r\n \r\n this.setLastYearsValues(this.reforecastData);\r\n \r\n this.reforecastData.map(data => {\r\n data.originalValue = data.value;\r\n });\r\n\r\n this.reforecastData.map(data => {\r\n data.growth = this.calcGrowthRate(data.value, data.lastYearsValue, 1);\r\n });\r\n\r\n this.reforecastData.map(data => {\r\n data.originalGrowth = data.growth;\r\n });\r\n\r\n this.averageRate = this.calcGrowthRate(\r\n //this.reforecastData[this.reforecastData.length-1].lastYearsValue,\r\n this.reforecastData.find( data => { return data.aYear === this.systemControlElem.lfcYear }).value, \r\n this.reforecastData.find( data => { return data.aYear === this.systemControlElem.fyYear }).value,\r\n this.systemControlElem.lfcYear - this.systemControlElem.fyYear);\r\n }\r\n this.displaySpinner = false;\r\n },\r\n error => this.errorMessage = error\r\n );\t\r\n }\r\n\r\n setLastYearsValues(dataIn: IReforecastResponse[]){\r\n\r\n for(let index in dataIn){\r\n \r\n if(+index === 0){\r\n dataIn[index].lastYearsValue = dataIn[index].value \r\n }\r\n else{\r\n dataIn[index].lastYearsValue = dataIn[+index - 1].value\r\n }\r\n\r\n }\r\n }\r\n\r\n calcGrowthRate(last_value: number, first_value: number, num_years: number): number {\r\n \r\n let ret_val = 0;\r\n\r\n if (last_value > 0 && first_value > 0 && num_years > 0) {\r\n ret_val = (Math.exp((Math.log(last_value) - Math.log(first_value))/num_years) -1) * 100;\r\n }\r\n\r\n if(first_value == 0 && last_value > 0){\r\n ret_val = 999.99;\r\n }\r\n\r\n if(first_value > 0 && last_value == 0){\r\n ret_val = -999.99;\r\n }\r\n\r\n if (ret_val > 999.99) {\r\n ret_val = 999.99;\r\n }\r\n\r\n if (ret_val < -999.99) {\r\n ret_val = -999.99;\r\n }\r\n return (ret_val);\r\n }\r\n\r\n resetDataValues(){\r\n this.reforecastData.map(data => {\r\n data.value = data.originalValue;\r\n });\r\n }\r\n\r\n resetGrowthValues(){\r\n this.reforecastData.map(data => {\r\n data.growth = data.originalGrowth;\r\n });\r\n }\r\n\r\n getColumns(){\r\n this.request.tableName = this.operation.tableName;\r\n this.request.scenarioId = this.User.getSession().scenarioId;\r\n this.request.locId = this.locId;\r\n this.request.isAdmin = this.User.getSession().isAdmin ? 1 : 0;\r\n this._airportService.getOperationsColumns(this.request)\r\n .subscribe(\r\n columns => {\r\n this.columns = columns.filter(function(column){ return column.calculated == 0; });\r\n },\r\n error => this.errorMessage = error);\r\n }\r\n \r\n getSystemControlValues(){\r\n this._systemControlService.getSystemControl()\r\n .subscribe(\r\n systemControlElem => {\r\n this.systemControlElem = systemControlElem;\r\n this.populateYears();\r\n this.getYears();\r\n },\r\n error => this.errorMessage = error);\r\n }\r\n\r\n populateYears(){\r\n this.populateStartYears();\r\n this.populateEndYears();\r\n }\r\n\r\n populateStartYears(){\r\n \r\n let index = 0;\r\n for(let year = this.systemControlElem.ffcYear; year <= this.systemControlElem.lfcYear; year++){\r\n this.startYears[index] = year;\r\n index++;\r\n }\r\n \r\n this.selectedStartYear = this.systemControlElem.ffcYear;\r\n }\r\n\r\n populateEndYears(){\r\n\r\n let index = 0;\r\n for(let year = this.systemControlElem.ffcYear - this.yearsToPreview; year <= this.systemControlElem.lfcYear; year++){\r\n this.endYears[index] = year;\r\n index++;\r\n }\r\n \r\n this.selectedEndYear = this.systemControlElem.lfcYear;\r\n \r\n }\r\n\r\n ngOnDestroy(){}\r\n\r\n radioSelected(event: any){\r\n if(!this.growthDisabled){\r\n this.resetGrowthValues();\r\n this.growthDisabled = true;\r\n }\r\n\r\n if(!this.dataDisabled){\r\n this.resetDataValues();\r\n this.dataDisabled = true;\r\n }\r\n\r\n this.dataDisabled = !(event.target.value === 'supplydata');\r\n this.growthDisabled = !(event.target.value === 'supplygrowth');\r\n this.highlightYears = !(event.target.value === 'supplygrowth' || event.target.value === 'supplydata');\r\n\r\n }\r\n\r\n\r\n formatGrowth(event: any, dataRow: IReforecastResponse, format: string){\r\n\r\n if(event.target.value === \"\"){\r\n event.target.value = 0\r\n }\r\n\r\n dataRow.growth = +(new DecimalPipe().transform(event.target.value, format)); \r\n }\r\n\r\n formatData(event: any, dataRow: IReforecastResponse, format: string){\r\n if(event.target.value === \"\"){\r\n event.target.value = 0\r\n }\r\n\r\n dataRow.value = +(new DecimalPipe().transform(event.target.value, format)); \r\n }\r\n calcDatasheet(dataRow: IReforecastResponse, type: string){\r\n let lastYr = this.systemControlElem.lfcYear;\r\n \r\n if(dataRow.value === dataRow.originalValue && dataRow.growth === dataRow.originalGrowth){\r\n return;\r\n }\r\n\r\n if (type === \"data\"){\r\n\r\n //drop the decimal part here\r\n dataRow.value = Math.floor(dataRow.value);\r\n\r\n let previousRow: IReforecastResponse = _.find(this.reforecastData, row => \r\n { \r\n if(row.aYear == dataRow.aYear - 1){\r\n return row;\r\n } \r\n });\r\n\r\n dataRow.growth = this.calcGrowthRate(dataRow.value, previousRow.value, 1)\r\n\r\n if(dataRow.aYear < lastYr){\r\n let nextRow: IReforecastResponse = _.find(this.reforecastData, row => \r\n { \r\n if(row.aYear == dataRow.aYear + 1){\r\n return row;\r\n } \r\n })\r\n\r\n nextRow.growth = this.calcGrowthRate( nextRow.value, dataRow.value, 1);\r\n\r\n }\r\n }\r\n else if (type === \"growth\"){\r\n\r\n let filteredRows = _.filter(this.reforecastData, data => { return data.aYear >= dataRow.aYear } );\r\n\r\n let first: boolean = true;\r\n\r\n for(let index in filteredRows){\r\n \r\n if(first){\r\n\r\n let predRow: IReforecastResponse = _.find(this.reforecastData, data => { return data.aYear == filteredRows[index].aYear - 1; }); \r\n\r\n filteredRows[index].value = Math.floor(predRow.value +\r\n (predRow.value * filteredRows[index].growth) / 100);\r\n first = false;\r\n }\r\n else{\r\n filteredRows[index].value = Math.floor(filteredRows[+index - 1].value +\r\n (filteredRows[+index - 1].value * filteredRows[index].growth) / 100); \r\n }\r\n\r\n if(filteredRows[index].value < 0){\r\n filteredRows[index].value = 0;\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n \r\n reset() {\r\n\r\n this.forecastOperation = null;\r\n\r\n this.resetDataValues();\r\n\r\n this.resetGrowthValues();\r\n\r\n this.dataDisabled = true;\r\n this.growthDisabled = true;\r\n this.highlightYears = false;\r\n\t}\r\n\r\n cancel(){\r\n let params = {\r\n locId: this.locId,\r\n airportName: this.airportName\r\n }\r\n\r\n this.router.navigate([`/operations-list/${this.operation.tableName}`, params]);\r\n }\r\n\r\n isValid(): boolean{\r\n\r\n if(!this.forecastOperation){\r\n\t\t this.errorMessage = \"Please choose an operation to perform!\";\r\n return false;\r\n }\r\n\r\n\r\n\t if (!(this.forecastOperation.substr(0,6) == \"supply\")) {\r\n\t\t switch (this.forecastOperation) {\r\n \t\t\tcase \"interpolate\":\r\n {\r\n\t\t \t\tif(this.interpolationValue == null){\r\n\t\t\t \t\tthis.errorMessage = \"No value set for INTERPOLATE.\\nPlease set a value for the selected method!\";\r\n\t\t\t\t \treturn false;\r\n\t\t\t\t }\r\n\r\n Math.floor(this.interpolationValue);\r\n\t\t\t\t break;\r\n }\r\n case \"fillinyears\":\r\n {\r\n if(this.fillInValue == null){\r\n this.errorMessage = \"No value set for FILLINYEARS.\\nPlease set a value for the selected method!\";\r\n return false;\r\n }\r\n \r\n Math.floor(this.fillInValue);\r\n break;\r\n }\r\n case \"growthrate\":{\r\n if(this.growthRateValue == null){\r\n this.errorMessage = \"No value set for GROWTH RATE.\\nPlease set a value for the selected method!\";\r\n return false;\r\n }\r\n break;\r\n }\r\n case \"growandsmooth\":\r\n if(this.growAndSmoothValue == null){\r\n this.errorMessage = \"No value set for GROW AND SMOOTH.\\nPlease set a value for the selected method!\";\r\n return false;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (this.selectedStartYear > this.selectedEndYear) {\r\n this.errorMessage = \"Start Year cannot be greater than End Year!\";\r\n return false;\r\n }\r\n\t }\r\n return true;\r\n }\r\n \r\n save(){\r\n //console.log(\"save this.isValid()\" + this.isValid());\r\n this.errorMessage = null;\r\n this.successMessage = null;\r\n\r\n if(this.isValid()){\r\n this.displaySpinner = true;\r\n if(this.forecastOperation === \"supplydata\" || this.forecastOperation === \"supplygrowth\"){\r\n\r\n //so need to send the years and the data list\r\n let params = {\r\n tableName: this.operation.tableName,\r\n locId: this.locId,\r\n fieldName: this.fieldName,\r\n ffcYear: this.selectedStartYear,\r\n lfcYear: this.selectedEndYear,\r\n values: this.reforecastData\r\n }\r\n this._airportService.reforecastSupplyData(params)\r\n .subscribe(\r\n response => {\r\n if(response.responseStatus == \"success\"){\r\n this.msgs=[];\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: 'Changes applied.' });\r\n this.displaySpinner = false;\r\n this.getYears();\r\n //this.successMessage = \"Changes saved!\"\r\n }\r\n else if(response.responseStatus == \"error\"){\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error occured while trying to save changes.' });\r\n //this.errorMessage = \"An error occured while trying to save changes.\";\r\n console.error(response.responseMessage);\r\n this.displaySpinner = false;\r\n }\r\n },\r\n error => {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error occured while trying to save changes.' });\r\n //this.errorMessage = \"An error occured while trying to save changes.\";\r\n console.error(error);\r\n this.displaySpinner = false;\r\n }\r\n );\r\n }\r\n else if(this.forecastOperation === \"interpolate\"){\r\n this.callOperationService(this.interpolationValue);\r\n\t }\r\n else if(this.forecastOperation === \"fillinyears\"){\r\n this.callOperationService(this.fillInValue);\r\n }\r\n else if(this.forecastOperation === \"growthrate\"){\r\n this.callOperationService(this.growthRateValue/100);\r\n }\r\n else if(this.forecastOperation === \"growandsmooth\"){\r\n this.callOperationService(this.growAndSmoothValue/100);\r\n }\r\n else{\r\n this.callOperationService();\r\n \r\n }\r\n }\r\n }\r\n\r\n private callOperationService(value?: number){\r\n this.displaySpinner = true;\r\n \r\n let params = {\r\n type: this.forecastOperation,\r\n startYear: this.selectedStartYear,\r\n endYear: this.selectedEndYear,\r\n value: value, \r\n locId: this.locId,\r\n fieldName: this.fieldName,\r\n tableName: this.operation.tableName,\r\n scenario: this.User.getSession().scenarioId\r\n }\r\n this._airportService.reforecastOperation(params)\r\n .subscribe(\r\n response => {\r\n if(response.responseStatus == \"success\"){\r\n this.msgs=[];\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: 'Changes applied.' });\r\n this.displaySpinner = false;\r\n this.getYears();\r\n //this.successMessage = \r\n }\r\n else if(response.responseStatus == \"error\"){\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error occured while trying to save changes.' });\r\n //this.errorMessage = \"\";\r\n this.displaySpinner = false;\r\n console.error(response.responseMessage);\r\n }\r\n },\r\n error => {\r\n this.errorMessage = \"An error occured while trying to save changes.\";\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error occured while trying to save changes.' });\r\n console.error(error);\r\n this.displaySpinner = false;\r\n }\r\n );\r\n }\r\n\r\n quickGraph(){\r\n let confirmAnswer = confirm(\"Warning:\\n Please save your changes by clicking Apply Options before viewing the graph, or all changes will be lost and previous values will be graphed. \");\r\n\r\n if(confirmAnswer == true){\r\n //for some reason have to mask this\r\n let field = this.fieldName;\r\n let selectedColumns = _.filter(this.columns, function(column) { return column.fieldName === field; });\r\n \r\n sessionStorage.setItem('operations-graph-columns', JSON.stringify(selectedColumns));\r\n\r\n let params = {\r\n displayName: this.operation.displayName,\r\n locId: this.locId,\r\n airportName: this.airportName,\r\n graphType: 'line',\r\n startYear: this.selectedStartYear,\r\n endYear: this.selectedEndYear,\r\n quickGraph: \"true\"\r\n };\r\n\r\n this.router.navigate([`/operations-graph-display/${this.operation.tableName}`, params]);\r\n }\r\n }\r\n \r\n}\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/operations-lists/operations-reforecasts/operations-reforecast.component.ts\n **/","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
{{errorMessage}}
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the 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
TAF Forecast Tools:
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Interpolate from prior year to value of\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Carry forward prior year's value (based on starting year)\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Fill in years with a value of\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Use national annual growth rates\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Copy from National Scenario\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Forecast IFR based on AOPS\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Use growth rate of \\r\\n \\r\\n %\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Grow and smooth using rate of \\r\\n \\r\\n %\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Grow and smooth using existing rate\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Grow using stored rates\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

No data available to display

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
YearDataGrowth Rate
\\r\\n {{data.aYear}}\\r\\n \\r\\n
\\r\\n {{data.value }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{data.growth | number: '1.2-2'}}%
\\r\\n
\\r\\n
\\r\\n %\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
YearDataGrowth Rate
=2025\\\" style=\\\"padding-left:15px!important;\\\" \\r\\n class=\\\"customtd-reforecast-year\\\">\\r\\n {{data.aYear}}\\r\\n =2025\\\">\\r\\n
\\r\\n {{data.value }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
=2025\\\" >\\r\\n
\\r\\n
{{data.growth | number: '1.2-2'}}%
\\r\\n
\\r\\n
\\r\\n
\\r\\n %\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Avg. rate of\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n from {{systemControlElem.fyYear}} to {{systemControlElem.lfcYear}}\\r\\n
\\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 enter the years to apply these changes:\\r\\n
\\r\\n
\\r\\n
\\r\\n
Starting Year:\\r\\n \\r\\n
\\r\\n
to Ending Year:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Supply individual growth rates for each year\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Supply individual data points for each year\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/airports/operations-lists/operations-reforecasts/operations-reforecast.component.html\n ** module id = 790\n ** module chunks = 0\n **/","module.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n {{'Facility: ' + locId + ' - ' + airportName }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/airports/operations-lists/operations-reforecasts/operations-reforecast-container.component.html\n ** module id = 791\n ** module chunks = 0\n **/","import { RouterConfig } from '@angular/router';\r\nimport { SystemManagementComponent } from './system-management.component';\r\nimport { TAFBookComponent} from './tafbooks/taf-book.component';\r\nimport { StaffingStandardsComponent} from './staffing-standards/staffing-standards.component';\r\nimport { GrowthRatesComponent } from './growth-rates/growth-rates.component';\r\nimport { TAFBookRoutes } from './tafbooks/taf-book.routes';\r\nimport { StaffingStandardsRoutes } from './staffing-standards/staffing-standards.routes';\r\nimport { GrowthRatesRoutes } from './growth-rates/growth-rates.routes';\r\nimport {TowersTraconsImportStepsRoutes} from './towers-tracons-import/towers-tracons-import-steps/towers-tracons-import-steps.routes';\r\nimport {NewYearRolloverRoutes} from './new-year-rollover/new-year-rollover.routes';\r\nimport {NewYearRolloverComponent} from './new-year-rollover/new-year-rollover.component';\r\nimport {TraconModelRoutes} from './tracon-models/tracon-model.routes';\r\nimport {RegionalReviewComponent} from './regional-review/regional-review.component';\r\n\r\nimport { AuthGuard } from '../authentication/auth-guard.service';\r\n\r\nexport const SystemManagementRoutes: RouterConfig = [\r\n { path: 'system-management', component: SystemManagementComponent , canActivate: [AuthGuard]},\r\n { path: 'tafbooks', component: TAFBookComponent, canActivate: [AuthGuard]},\r\n { path: 'staffing-standards', component: StaffingStandardsComponent, canActivate: [AuthGuard]},\r\n { path: 'growth-rates', component:GrowthRatesComponent, canActivate: [AuthGuard]},\r\n { path: 'new-year-rollover', component:NewYearRolloverComponent, canActivate: [AuthGuard]},\r\n { path: 'regional-review', component:RegionalReviewComponent, canActivate: [AuthGuard]},\r\n //{ path: 'tafbook-s1', component: TAFBookS1Component},\r\n ...TAFBookRoutes,\r\n ...StaffingStandardsRoutes,\r\n ...GrowthRatesRoutes,\r\n ...TowersTraconsImportStepsRoutes,\r\n ...NewYearRolloverRoutes,\r\n ...TraconModelRoutes\r\n\r\n];\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/system-management.routes.ts\n **/","import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { UserSession } from '../shared/user-session';\r\nimport { UserInfoService } from '../shared/user-info.service';\r\nimport { IScenario, ScenarioService } from '../scenario-activities/scenario.service';\r\n\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/system-management.component.html',\r\n template: require('./system-management.component.html'),\r\n styles: [require('../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES ],\r\n})\r\n\r\nexport class SystemManagementComponent implements OnInit{\r\n pageTitle: string = 'System Management';\r\n errorMessage: string;\r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n scenarioHeaderDiv: HTMLDivElement;\r\n isScenarioOwner: boolean = false;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _scenarioService: ScenarioService,\r\n private User: UserSession,\r\n private _userInfoService: UserInfoService ) {\r\n }\r\n @ViewChild('scenarioHeader') scenarioHeader: ElementRef;\r\n\r\n ngOnInit(): void{\r\n\r\n this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this.User.getSession().scenarioId);\r\n }\r\n );\r\n \r\n //this probably needs to be somewhere more central\r\n this.User.updateSessionState();\r\n \r\n this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(\r\n success => this.isScenarioOwner = success.isOwner,\r\n error => this.errorMessage = error\r\n );\r\n\r\n }\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n this.scenarioHeaderDiv.innerHTML = `Current Scenario: ${this.currentScenario.scenarioName} (${this.currentScenario.id})`;\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/system-management.component.ts\n **/","module.exports = \"
\\r\\n\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/system-management.component.html\n ** module id = 794\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { ITAFBookResponse, ITAFBookRequest,ITAFBookListComponent } from './taf-book'\r\nimport { TAFBookService } from './taf-book.service';\r\n\r\nimport {Messages} from 'primeng/primeng';\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/tafbooks/taf-book.component.html',\r\n template: require('./taf-book.component.html'),\r\n directives: [ROUTER_DIRECTIVES]\r\n \r\n})\r\n\r\nexport class TAFBookComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'TAF BOOK';\r\n errorMessage: string;\r\n options:Array;\r\n selectedOption: ITAFBookListComponent;\r\n facReportListResponse : ITAFBookResponse[];\r\n msgs: Messages[]=[];\r\n cols: any[];\r\n request : ITAFBookRequest ;\r\n displaySpinner :boolean=false;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _tafBookService: TAFBookService\r\n \r\n ) {\r\n \r\n }\r\n\r\n ngOnInit(): void{\r\n this.selectedOption= new ITAFBookListComponent(1, 'TABLE S-1: Enplanements at Large Hub Airports');\r\n this.options = [\r\n new ITAFBookListComponent(1, 'TABLE S-1: Enplanements at Large Hub Airports'),\r\n new ITAFBookListComponent(2, 'GRAPH S-1: Enplanements Growth Rates for the Core Airports'),\r\n new ITAFBookListComponent(3, 'TABLE S-2: Airport Operations at the Large Hub Airports '),\r\n new ITAFBookListComponent(4, 'GRAPH S-2: Airport Operations Growth Rates for the Core Airports'),\r\n new ITAFBookListComponent(5, 'TABLE S-3: Air Traffic Control Towers and Contract Towers by Region and State'),\r\n new ITAFBookListComponent(6, 'TABLE S-4: Ranking of Top 100 FAA Towers by Total Enplanements, FY 2016 '),\r\n new ITAFBookListComponent(7, 'TABLE S-5: Summary of Enplanements and Airport Operations at FAA Towers and Contract Towers '),\r\n new ITAFBookListComponent(8, 'TABLE S-6:Commercial Airport Operations Summary by Region '),\r\n new ITAFBookListComponent(9, 'TABLE S-7: Itinerant Airport Operations Summary by Region '),\r\n new ITAFBookListComponent(10, 'TABLE S-8:Total Airport Operations Summary by Region '),\r\n new ITAFBookListComponent(11, 'TABLE S-9:Tracon Operations Summary by Region '),\r\n new ITAFBookListComponent(12, 'TABLE S-10: Enplanements Summary by Region '),\r\n new ITAFBookListComponent(13, 'TABLE S-11: Based Aircraft Summary by Region '),\r\n new ITAFBookListComponent(14, 'TABLE B-1: List of Large Hub Towers'),\r\n new ITAFBookListComponent(15, 'TABLE B-2: List of Medium Hub Towers'),\r\n new ITAFBookListComponent(16, 'TABLE B-3: List of Small Hub Towers'),\r\n new ITAFBookListComponent(17, 'TABLE B-4: List of Non-Hub Towers'),\r\n new ITAFBookListComponent(18, 'TABLE B-5: List of FAA Contract Towers')\r\n ];\r\n this.request = new ITAFBookRequest(1);\r\n }\r\n getValue(optionid:number) {\r\n this.selectedOption = this.options.filter((item)=> item.id == optionid)[0];\r\n //console.log(\"get value\" + this.selectedOption.id);\r\n }\r\n generateReport(){\r\n this.msgs=[];\r\n this.displaySpinner = true;\r\n this.request.tafBookId = this.selectedOption.id;\r\n this._tafBookService.generateTafBook(this.request)\r\n .subscribe(\r\n response => {\r\n this.displaySpinner = false;\r\n this.facReportListResponse = response;\r\n if (this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error has occurred executing your request'\r\n +this.facReportListResponse[0].responseMessage});\r\n }\r\n else if (this.facReportListResponse[0].responseMessage === 'No Data') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Info Message', detail: 'No Data returned.'\r\n +this.facReportListResponse[0].responseMessage});\r\n this.facReportListResponse[0].pdfFileUrl=\"\";\r\n this.facReportListResponse[0].htmlFileUrl=\"\";\r\n }\r\n else{\r\n this.msgs=[];\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n this.cols = [\r\n {field: \"htmlFileUrl\", header: 'Html'},\r\n {field: \"pdfFileUrl\", header: 'Pdf'},\r\n ]\r\n }\r\n //console.log (\"response facility report \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n openPDFFile(responsepdf:any){\r\n window.open(responsepdf, '_blank');\r\n }\r\n openHTMLFile(responseHtml:any){\r\n window.open(responseHtml, '_blank');\r\n }\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book.component.ts\n **/","export interface ITAFBookResponse{\r\n htmlFileUrl :string;\r\n pdfFileUrl : string;\r\n responseStatus :string;\r\n responseMessage :string;\r\n responseDisplay: string;\r\n}\r\nexport class ITAFBookRequest{\r\n tafBookId:number;\r\n constructor(tafBookId: number) {\r\n this.tafBookId=tafBookId;\r\n }\r\n}\r\nexport class ITAFBookListComponent{\r\n id:number;\r\n name:string;\r\n constructor(id: number, name: string) {\r\n this.id=id;\r\n this.name=name;\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n HTML: \\r\\n
\\r\\n
\\r\\n PDF: \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/tafbooks/taf-book.component.html\n ** module id = 797\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { UserSession } from '../../shared/user-session';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/staffing-standards/staffing-standards.component.html',\r\n template: require('./staffing-standards.component.html'),\r\n directives: [ROUTER_DIRECTIVES],\r\n})\r\n\r\nexport class StaffingStandardsComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'Staffing Standards';\r\n errorMessage: string;\r\n scenario: number;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private User: UserSession) {\r\n \r\n }\r\n\r\n ngOnInit(): void{\r\n this.scenario = this.User.getSession().scenarioId;\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/staffing-standards/staffing-standards.component.ts\n **/","module.exports = \" \\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/staffing-standards/staffing-standards.component.html\n ** module id = 799\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport {GrowthRatesSaveService} from './growth-rates-save/growth-rates-save.service';\r\nimport {SetHubSizesService} from './set-hub-sizes/set-hub-sizes.service';\r\nimport { UserSession } from '../../shared/user-session';\r\nimport { UserInfoService } from '../../shared/user-info.service';\r\nimport { IScenario, ScenarioService } from '../../scenario-activities/scenario.service';\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/growth-rates/growth-rates.component.html',\r\n template: require('./growth-rates.component.html'),\r\n styles: [require('../../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES],\r\n providers: [GrowthRatesSaveService, SetHubSizesService]\r\n \r\n})\r\n\r\nexport class GrowthRatesComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'Growth Rate';\r\n errorMessage: string;\r\n allScenarios: IScenario[];\r\n scenarioHeaderDiv: HTMLDivElement;\r\n isScenarioOwner: boolean = false;\r\n currentScenario: IScenario;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router, \r\n private _scenarioService: ScenarioService,\r\n private User: UserSession,\r\n private _userInfoService: UserInfoService) {\r\n \r\n }\r\n @ViewChild('scenarioHeader') scenarioHeader: ElementRef;\r\n\r\n ngOnInit(): void{\r\n this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this.User.getSession().scenarioId);\r\n }\r\n );\r\n \r\n //this probably needs to be somewhere more central\r\n this.User.updateSessionState();\r\n \r\n this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(\r\n success => this.isScenarioOwner = success.isOwner,\r\n error => this.errorMessage = error\r\n );\r\n }\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n this.scenarioHeaderDiv.innerHTML = `Current Scenario: ${this.currentScenario.scenarioName} (${this.currentScenario.id})`;\r\n }\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/growth-rates/growth-rates.component.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { IGrowthRatesSave } from './growth-rates-save';\r\n\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class GrowthRatesSaveService {\r\n\r\n //need to have this somewhere besides hardcoded in here\r\n //private _growthRatesSaveUrl = `http://localhost:55706/api/systemmanagement/GrowthRatesSave`;\r\n private _growthRatesSaveUrl = `api/systemmanagement/GrowthRatesSave`;\r\n \r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getSavedRatesResponse(scenId: number): Observable {\r\n return this.httpHelper.get(`${this._growthRatesSaveUrl}/${scenId}`)\r\n // .map((response: Response) => response.json())\r\n // .do(httpHelper => console.log('Growth rates save service: ' + JSON.stringify(data)))\r\n // .catch(this.handleError);\r\n }\r\n\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/growth-rates/growth-rates-save/growth-rates-save.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ISetHubSizes } from './set-hub-sizes';\r\n\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class SetHubSizesService {\r\n\r\n //need to have this somewhere besides hardcoded in here\r\n //private _setHubSizesSaveUrl = `http://localhost:55706/api/systemmanagement/SetHubSizes`;\r\n private _setHubSizesSaveUrl = `api/systemmanagement/SetHubSizes`;\r\n \r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getSetHubSizesResponse(): Observable {\r\n return this.httpHelper.get(`${this._setHubSizesSaveUrl}`)\r\n // .map((response: Response) => response.json())\r\n // .do(data => console.log('Set Hub Sizes service: ' + JSON.stringify(data)))\r\n // .catch(this.handleError);\r\n }\r\n\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/growth-rates/set-hub-sizes/set-hub-sizes.service.ts\n **/","module.exports = \"
\\r\\n \\r\\n\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/growth-rates/growth-rates.component.html\n ** module id = 803\n ** module chunks = 0\n **/","import { RouterConfig } from '@angular/router';\r\nimport { TAFBookComponent } from './taf-book.component';\r\nimport { TAFBookS1Component } from './taf-book-s1/taf-book-s1.component';\r\nimport { TAFBookGraphS1Component } from './taf-book-graph-s1/taf-book-graph-s1.component';\r\nimport { TAFBookS2Component } from './taf-book-s2/taf-book-s2.component';\r\nimport { TAFBookS3Component } from './taf-book-s3/taf-book-s3.component';\r\nimport { TAFBookB1Component } from './taf-book-b1/taf-book-b1.component';\r\nimport { TAFBookB2Component } from './taf-book-b2/taf-book-b2.component';\r\nimport { TAFBookB3Component } from './taf-book-b3/taf-book-b3.component';\r\nimport { TAFBookB4Component } from './taf-book-b4/taf-book-b4.component';\r\nimport { TAFBookB5Component } from './taf-book-b5/taf-book-b5.component';\r\nimport { AuthGuard } from '../../authentication/auth-guard.service';\r\n\r\nexport const TAFBookRoutes: RouterConfig = [\r\n { path: 'taf-book', component: TAFBookComponent, canActivate: [AuthGuard] },\r\n { path: 'taf-book-s1', component: TAFBookS1Component},\r\n { path: 'taf-book-graph-s1', component: TAFBookGraphS1Component},\r\n { path: 'taf-book-s2', component: TAFBookS2Component},\r\n { path: 'taf-book-s3', component: TAFBookS3Component},\r\n { path: 'taf-book-b1', component: TAFBookB1Component},\r\n { path: 'taf-book-b2', component: TAFBookB2Component},\r\n { path: 'taf-book-b3', component: TAFBookB3Component},\r\n { path: 'taf-book-b4', component: TAFBookB4Component},\r\n { path: 'taf-book-b5', component: TAFBookB5Component},\r\n //all tafbook routes here\r\n];\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book.routes.ts\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { ITAFBookS1 } from './taf-book-s1-list';\r\n\r\n\r\nimport { TAFBookS1Service } from './taf-book-s1.service';\r\n\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\nimport {Button} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/tafbooks/taf-book-s1/taf-book-s1.component.html',\r\n template: require('./taf-book-s1.component.html'),\r\n directives: [ROUTER_DIRECTIVES,DataTable,Column, Header],\r\n})\r\n\r\nexport class TAFBookS1Component implements OnInit, OnDestroy{\r\n pageTitle: string = 'TAF BOOK S1';\r\n errorMessage: string;\r\n tafBookS1Arr: ITAFBookS1;\r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _tafBookS1Service: TAFBookS1Service) {\r\n \r\n }\r\n\r\n ngOnInit(): void{\r\n this._tafBookS1Service.getTAFBookS1()\r\n .subscribe(\r\n tafBookS1Arr => this.tafBookS1Arr = tafBookS1Arr,\r\n error => this.errorMessage = error);\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-s1/taf-book-s1.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Table S-1 Enplanements at Core Airports (in thousands)
    {{tafBookElem.ffcYear-1}}   Rate**Airportrating
Loc IdRegionAirport Name{{tafBookElem.ffcYear-1}}Percent*{{tafBookElem.ffcYear}}{{tafBookElem.ffcYear+4}}{{tafBookElem.lfcYear}}{{tafBookElem.ffcYear-1}}-2045{{tafBookElem.ffcYear-1}}{{tafBookElem.lfcYear}}
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aport_name}}{{tafBookElem.totalEnplanementsFfcMinusOneTotEnpl}}{{tafBookElem.percentageFfcMinOneOverTotal}} {{tafBookElem.totalEnplanementsFfcYearTotEnpl}}{{tafBookElem.totalEnplanementsFfcPlusFourTotEnpl}}{{tafBookElem.totalEnplanementsLfcTotEnpl}}{{tafBookElem.rateFyLfc}}{{tafBookElem.rankFFCMinusOneYear}}{{tafBookElem.rankLFCYear}}
Totals:{{tafBookElem.sumFfcMinusOneTotEnpl}}{{tafBookElem.sumPercentageFfcMinOneOverTotal}}{{tafBookElem.sumFfcYearTotEnpl}}{{tafBookElem.sumFfcPlusFourTotEnpl}}{{tafBookElem.sumsLfcTotEnpl}}{{tafBookElem.sumRateFyLfc}} 
*Percent of total US enplanements.
**Annual compound growth rate.
\\r\\n\\r\\n \\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/tafbooks/taf-book-s1/taf-book-s1.component.html\n ** module id = 806\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { TAFBookGraphS1Service } from './taf-book-graph-s1.service';\r\nimport { ITafBookElemGraphS1 } from './taf-book-graph-s1';\r\n\r\nimport { UIChart} from 'primeng/primeng';\r\nimport * as _ from 'lodash';\r\n\r\n/*steps to install lodash:\r\nnpm install typings --global\r\nWith older versions of typings things mess up and you'll get a bunch of \"Duplicate identifier\" issues. Also you don't need to use --ambient anymore as far as I could tell.\r\n\r\nSo once typings is up to date, this should work (using the Angular 2 quickstart).\r\n\r\nRun:\r\n\r\nnpm install lodash --save \r\ntypings install lodash --save\r\nFirst, add this to systemjs.config.js:\r\n\r\n'lodash': 'node_modules/lodash/lodash.js'\r\n */\r\n@Component({\r\n //templateUrl: 'app/system-management/tafbooks/taf-book-graph-s1/taf-book-graph-s1.component.html',\r\n template: require('./taf-book-graph-s1.component.html'),\r\n directives: [ROUTER_DIRECTIVES, UIChart]\r\n \r\n})\r\n\r\nexport class TAFBookGraphS1Component implements OnInit, OnDestroy{\r\n \r\n pageTitle: string = 'TAF BOOK Graph S1';\r\n errorMessage: string;\r\n tafBookGraphS1Arr: any;\r\n tafBookGraphS1ArrLocid: any[];\r\n tafBookGraphS1ArrRate : any[];\r\n data : any;\r\n options: any;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _tafBookGraphS1Service: TAFBookGraphS1Service) {\r\n }\r\n ngOnInit(): void{\r\n this._tafBookGraphS1Service.getTAFGraphS1BookSplit()\r\n .subscribe(\r\n tafBookGraphS1Arr => this.tafBookGraphS1Arr = tafBookGraphS1Arr,\r\n error=>console.log(\"Error\", error),\r\n ()=>{ \r\n this.tafBookGraphS1ArrLocid = _.map(JSON.parse(JSON.stringify(this.tafBookGraphS1Arr)),'locid');\r\n this.tafBookGraphS1ArrRate = _.map(JSON.parse(JSON.stringify(this.tafBookGraphS1Arr)),'rateFyLfc');\r\n //console.log(\"mapxAxis Component: \" +this.tafBookGraphS1ArrLocid);// _.map(JSON.parse(JSON.stringify(this.tafBookGraphS1Arr)),'locid')\r\n //console.log(\"mapyAxis Component: \" + _.map(JSON.parse(JSON.stringify(this.tafBookGraphS1Arr)),'rateFyLfc'));\r\n this.data = {\r\n labels: this.tafBookGraphS1ArrLocid,\r\n datasets: [\r\n {\r\n label: 'Growth Rate',\r\n data: this.tafBookGraphS1ArrRate\r\n }\r\n ]\r\n }\r\n this.options = {\r\n legend: {\r\n display: false,\r\n position: 'bottom'\r\n },\r\n scales: {\r\n xAxes: [{\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Airport'\r\n }\r\n }],\r\n yAxes: [{\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Annual Growth Rate'\r\n }\r\n }]\r\n }\r\n };\r\n\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-graph-s1/taf-book-graph-s1.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Graph S-1. Enplanements Growth Rates for the Core Airports - 2015 to 2045
\\r\\n \\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/tafbooks/taf-book-graph-s1/taf-book-graph-s1.component.html\n ** module id = 808\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { TAFBookS2Service } from './taf-book-s2.service';\r\nimport {ITAFBookS2} from './taf-book-s2-list';\r\n\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\nimport {Button} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/tafbooks/taf-book-s2/taf-book-s2.component.html',\r\n template: require('./taf-book-s2.component.html'),\r\n directives: [ROUTER_DIRECTIVES,DataTable,Column, Header],\r\n \r\n})\r\n\r\nexport class TAFBookS2Component implements OnInit, OnDestroy{\r\n pageTitle: string = 'TAF BOOK s2';\r\n errorMessage: string;\r\n tafBookS2Arr: ITAFBookS2;\r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _tafBooks2Service: TAFBookS2Service) {\r\n \r\n }\r\n\r\n ngOnInit(): void{\r\n this._tafBooks2Service.getTAFBookS2()\r\n .subscribe(\r\n tafBookS2Arr => this.tafBookS2Arr = tafBookS2Arr,\r\n error => this.errorMessage = error);\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-s2/taf-book-s2.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Table S-2 Airport Operations at Core Airports (in thousands)
    {{tafBookElem.ffcYear-1}}   Rate**Airportrating
Loc IdRegionAirport Name{{tafBookElem.ffcYear-1}}Percent*{{tafBookElem.ffcYear}}{{tafBookElem.ffcYear+4}}{{tafBookElem.lfcYear}}{{tafBookElem.ffcYear-1}}-2045{{tafBookElem.ffcYear-1}}{{tafBookElem.lfcYear}}
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aport_name}}{{tafBookElem.totalOpsFfcMinusOneTotOps}}{{tafBookElem.percentageFfcMinOneOverTotal}} {{tafBookElem.totalOpsFfcYearTotOps}}{{tafBookElem.totalOpsFfcPlusFourTotOps}}{{tafBookElem.totalOpsLfcTotOps}}{{tafBookElem.rateFyLfc}}{{tafBookElem.rankFFCMinusOneYear}}{{tafBookElem.rankLFCYear}}
Totals:{{tafBookElem.sumFfcMinusOneTotOps}}{{tafBookElem.sumPercentageFfcMinOneOverTotal}}{{tafBookElem.sumFfcYearTotOps}}{{tafBookElem.sumFfcPlusFourTotOps}}{{tafBookElem.sumsLfcTotOps}}{{tafBookElem.sumRateFyLfc}} 
*Percent of total US operations.
**Annual compound growth rate.
\\r\\n\\r\\n \\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/tafbooks/taf-book-s2/taf-book-s2.component.html\n ** module id = 810\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { TAFBookS3Service } from './taf-book-s3.service';\r\nimport { ITAFBookS3 } from './taf-book-s3-list';\r\n\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\nimport {Button} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/tafbooks/taf-book-s3/taf-book-s3.component.html',\r\n template: require('./taf-book-s3.component.html'),\r\n directives: [ROUTER_DIRECTIVES,DataTable,Column, Header],\r\n \r\n})\r\n\r\nexport class TAFBookS3Component implements OnInit, OnDestroy{\r\n pageTitle: string = 'TAF BOOK s3';\r\n errorMessage: string;\r\n tafBookS3Arr: ITAFBookS3;\r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _tafBooks3Service: TAFBookS3Service) {\r\n \r\n }\r\n\r\n ngOnInit(): void{\r\n this._tafBooks3Service.getTAFBookS3()\r\n .subscribe(\r\n tafBookS3Arr => this.tafBookS3Arr = tafBookS3Arr,\r\n error => this.errorMessage = error);\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-s3/taf-book-s3.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Table S-3. Air Traffic Control Towers and Contract Towers
 FAAContract
Region/StateTowersTowers
 
{{tafBookElem.region}}/{{tafBookElem.stateName}}{{tafBookElem.faaTowerCntsState}}{{tafBookElem.contractTowersCntsState}}
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/tafbooks/taf-book-s3/taf-book-s3.component.html\n ** module id = 812\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { TAFBookB1Service } from './taf-book-b1.service';\r\nimport { ITAFBookB1 } from './taf-book-b1-list';\r\n\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\nimport {Button} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/tafbooks/taf-book-b1/taf-book-b1.component.html',\r\n template: require('./taf-book-b1.component.html'),\r\n directives: [ROUTER_DIRECTIVES,DataTable,Column, Header],\r\n \r\n})\r\n\r\nexport class TAFBookB1Component implements OnInit, OnDestroy{\r\n pageTitle: string = 'TAF BOOK b1';\r\n errorMessage: string;\r\n tafBookB1Arr: ITAFBookB1;\r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _tafBookB1Service: TAFBookB1Service) {\r\n \r\n }\r\n\r\n ngOnInit(): void{\r\n this._tafBookB1Service.getTAFBookB1()\r\n .subscribe(\r\n tafBookB1Arr => this.tafBookB1Arr = tafBookB1Arr,\r\n error => this.errorMessage = error);\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-b1/taf-book-b1.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Table B-1 List of Large Hub Towers
Location   
IdentifierRegionAirport NameCity, State
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aportName}}{{tafBookElem.city}},{{tafBookElem.state}}
 
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/tafbooks/taf-book-b1/taf-book-b1.component.html\n ** module id = 814\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { TAFBookB2Service } from './taf-book-b2.service';\r\nimport { ITAFBookB2 } from './taf-book-b2-list';\r\n\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\nimport {Button} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/tafbooks/taf-book-b2/taf-book-b2.component.html',\r\n template: require('./taf-book-b2.component.html'),\r\n directives: [ROUTER_DIRECTIVES,DataTable,Column, Header],\r\n \r\n})\r\n\r\nexport class TAFBookB2Component implements OnInit, OnDestroy{\r\n pageTitle: string = 'TAF BOOK b2';\r\n errorMessage: string;\r\n tafBookB2Arr: ITAFBookB2;\r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _tafBookB2Service: TAFBookB2Service) {\r\n \r\n }\r\n\r\n ngOnInit(): void{\r\n this._tafBookB2Service.getTAFBookB2()\r\n .subscribe(\r\n tafBookB2Arr => this.tafBookB2Arr = tafBookB2Arr,\r\n error => this.errorMessage = error);\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-b2/taf-book-b2.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Table B-2 List of Medium Hub Towers
Location   
IdentifierRegionAirport NameCity, State
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aportName}}{{tafBookElem.city}},{{tafBookElem.state}}
 
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/tafbooks/taf-book-b2/taf-book-b2.component.html\n ** module id = 816\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { TAFBookB3Service } from './taf-book-b3.service';\r\nimport { ITAFBookB3 } from './taf-book-b3-list';\r\n\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\nimport {Button} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/tafbooks/taf-book-b3/taf-book-b3.component.html',\r\n template: require('./taf-book-b3.component.html'),\r\n directives: [ROUTER_DIRECTIVES,DataTable,Column, Header],\r\n \r\n})\r\n\r\nexport class TAFBookB3Component implements OnInit, OnDestroy{\r\n pageTitle: string = 'TAF BOOK b3';\r\n errorMessage: string;\r\n tafBookB3Arr: ITAFBookB3;\r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _tafBookB3Service: TAFBookB3Service) {\r\n \r\n }\r\n\r\n ngOnInit(): void{\r\n this._tafBookB3Service.getTAFBookB3()\r\n .subscribe(\r\n tafBookB3Arr => this.tafBookB3Arr = tafBookB3Arr,\r\n error => this.errorMessage = error);\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-b3/taf-book-b3.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Table B-3 List of Small Hub Towers \\r\\n
Location   
IdentifierRegionAirport NameCity, State
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aportName}}{{tafBookElem.city}},{{tafBookElem.state}}
 
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/tafbooks/taf-book-b3/taf-book-b3.component.html\n ** module id = 818\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { TAFBookB4Service } from './taf-book-b4.service';\r\nimport { ITAFBookB4 } from './taf-book-b4-list';\r\n\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\nimport {Button} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/tafbooks/taf-book-b4/taf-book-b4.component.html',\r\n template: require('./taf-book-b4.component.html'),\r\n directives: [ROUTER_DIRECTIVES,DataTable,Column, Header],\r\n \r\n})\r\n\r\nexport class TAFBookB4Component implements OnInit, OnDestroy{\r\n pageTitle: string = 'TAF BOOK b4';\r\n errorMessage: string;\r\n tafBookB4Arr: ITAFBookB4;\r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _tafBookB4Service: TAFBookB4Service) {\r\n \r\n }\r\n\r\n ngOnInit(): void{\r\n this._tafBookB4Service.getTAFBookB4()\r\n .subscribe(\r\n tafBookB4Arr => this.tafBookB4Arr = tafBookB4Arr,\r\n error => this.errorMessage = error);\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-b4/taf-book-b4.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Table B-3 List of Small Hub Towers \\r\\n
Location   
IdentifierRegionAirport NameCity, State
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aportName}}{{tafBookElem.city}},{{tafBookElem.state}}
 
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/tafbooks/taf-book-b4/taf-book-b4.component.html\n ** module id = 820\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { TAFBookB5Service } from './taf-book-b5.service';\r\nimport { ITAFBookB5 } from './taf-book-b5-list';\r\n\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\nimport {Button} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/tafbooks/taf-book-b5/taf-book-b5.component.html',\r\n template: require('./taf-book-b5.component.html'),\r\n directives: [ROUTER_DIRECTIVES,DataTable,Column, Header],\r\n \r\n})\r\n\r\nexport class TAFBookB5Component implements OnInit, OnDestroy{\r\n pageTitle: string = 'TAF BOOK b5';\r\n errorMessage: string;\r\n tafBookB5Arr: ITAFBookB5;\r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _tafBookB5Service: TAFBookB5Service) {\r\n \r\n }\r\n\r\n ngOnInit(): void{\r\n this._tafBookB5Service.getTAFBookB5()\r\n .subscribe(\r\n tafBookB5Arr => this.tafBookB5Arr = tafBookB5Arr,\r\n error => this.errorMessage = error);\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tafbooks/taf-book-b5/taf-book-b5.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/\\r\\n TAF Book/{{pageTitle}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Table B-3 List of Small Hub Towers \\r\\n
Location   
IdentifierRegionAirport NameCity, State
{{tafBookElem.locid}}{{tafBookElem.region}}{{tafBookElem.aportName}}{{tafBookElem.city}},{{tafBookElem.state}}
 
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/tafbooks/taf-book-b5/taf-book-b5.component.html\n ** module id = 822\n ** module chunks = 0\n **/","import { RouterConfig } from '@angular/router';\r\nimport { StaffingStandardsComponent } from './staffing-standards.component';\r\nimport { StaffingStandardsTraconComponent } from './staffing-standards-tracon/staffing-standards-tracon.component'\r\nimport { StaffingStandardsTowerComponent } from './staffing-standards-tower/staffing-standards-tower.component'\r\nimport {TowersTraconsImportComponent} from '../towers-tracons-import/towers-tracons-import.component';\r\n\r\nexport const StaffingStandardsRoutes: RouterConfig = [\r\n //all staffingstandardsroutes routes here\r\n {path: 'staffing-standards-tracon', component: StaffingStandardsTraconComponent},\r\n {path: 'staffing-standards-tower', component: StaffingStandardsTowerComponent},\r\n {path: 'towers-tracons-import', component: TowersTraconsImportComponent},\r\n];\r\n\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/staffing-standards/staffing-standards.routes.ts\n **/","import { Component, OnInit, OnDestroy, Injectable } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport {CORE_DIRECTIVES, FORM_DIRECTIVES, NgClass, NgIf} from '@angular/common';\r\nimport { IStaffingStandardsTracon } from './staffing-standards-tracon-list';\r\nimport { StaffingStandardsTraconService } from './staffing-standards-tracon.service';\r\nimport { UserSession } from '../../../shared/user-session';\r\n\r\n\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\nimport {Button} from 'primeng/primeng';\r\nimport {Paginator} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/staffing-standards/staffing-standards-tracon/staffing-standards-tracon.component.html',\r\n template: require('./staffing-standards-tracon.component.html'),\r\n directives: [ROUTER_DIRECTIVES,DataTable,Column, Header, Paginator],\r\n providers: [StaffingStandardsTraconService]\r\n})\r\n\r\nexport class StaffingStandardsTraconComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'Staffing Standards Tracon';\r\n errorMessage: string;\r\n staffingStandardsTraconArr: IStaffingStandardsTracon;\r\n private sub: any;\r\n cols: any[];\r\n scenario: number;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _staffingStandardsTraconService: StaffingStandardsTraconService,\r\n private User: UserSession){\r\n \r\n }\r\n\r\n ngOnInit(): void{\r\n this.scenario = this.User.getSession().scenarioId;\r\n this._staffingStandardsTraconService.getSSTracon(this.scenario)\r\n .subscribe(\r\n staffingStandardsTraconArr => this.staffingStandardsTraconArr = staffingStandardsTraconArr,\r\n error => this.errorMessage = error);\r\n this.cols = [\r\n {field: \"locid\", header: 'Locid'},\r\n {field: \"year\", header: 'Year'},\r\n {field: \"ac\", header: 'Air Carrier'},\r\n {field: \"at\", header: 'Air Taxi'},\r\n {field: \"ga\", header: 'General Aviation'},\r\n {field: \"mil\", header: 'Military'},\r\n {field: \"totOvers\", header: 'Total Overflights'},\r\n {field: \"totOps\", header: 'Total Operations'},\r\n ]\r\n // console.log('Staffing Standards Tracon Component: ' + JSON.stringify(this.cols));\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/staffing-standards/staffing-standards-tracon/staffing-standards-tracon.component.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { IStaffingStandardsTracon } from './staffing-standards-tracon-list';\r\n\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class StaffingStandardsTraconService {\r\n\r\n //need to have this somewhere besides hardcoded in here\r\n //private _staffingStandardsTraconUrl = `http://localhost:55706/api/systemmanagement/SSTracon`;\r\n private _staffingStandardsTraconUrl = `api/systemmanagement/SSTracon`;\r\n \r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getSSTracon(scenarioId: number): Observable {\r\n return this.httpHelper.get(`${this._staffingStandardsTraconUrl}/${scenarioId}`)\r\n //.map((response: Response) => response.json())\r\n //.do(data => console.log('IStaffingStandardsTracon: ' + JSON.stringify(data)))\r\n //.catch(this.handleError);\r\n }\r\n\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/staffing-standards/staffing-standards-tracon/staffing-standards-tracon.service.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n
Staffing Standards Tracon export:
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/staffing-standards/staffing-standards-tracon/staffing-standards-tracon.component.html\n ** module id = 826\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy, Injectable } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport {CORE_DIRECTIVES, FORM_DIRECTIVES, NgClass, NgIf} from '@angular/common';\r\nimport { IStaffingStandardsTower } from './staffing-standards-tower-list';\r\nimport { StaffingStandardsTowerService } from './staffing-standards-tower.service';\r\n\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\nimport {Button} from 'primeng/primeng';\r\nimport {Paginator} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/staffing-standards/staffing-standards-tower/staffing-standards-tower.component.html',\r\n template: require('./staffing-standards-tower.component.html'),\r\n directives: [ROUTER_DIRECTIVES,DataTable,Column, Header, Paginator],\r\n providers:[StaffingStandardsTowerService]\r\n \r\n})\r\n\r\nexport class StaffingStandardsTowerComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'Staffing Standards Tower';\r\n errorMessage: string;\r\n staffingStandardsTowerArr: IStaffingStandardsTower;\r\n private sub: any;\r\n cols: any[];\r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _staffingStandardsTowerService: StaffingStandardsTowerService){\r\n \r\n }\r\n\r\n ngOnInit(): void{\r\n this._staffingStandardsTowerService.getSSTower()\r\n .subscribe(\r\n staffingStandardsTowerArr => this.staffingStandardsTowerArr = staffingStandardsTowerArr,\r\n error => this.errorMessage = error);\r\n this.cols = [\r\n {field: \"locid\", header: 'Locid'},\r\n {field: \"year\", header: 'Year'},\r\n {field: \"itnAc\", header: 'Air Carrier'},\r\n {field: \"itnAt\", header: 'Air Taxi'},\r\n {field: \"itnGa\", header: 'General Aviation'},\r\n {field: \"itnMil\", header: 'Military'},\r\n {field: \"locGa\", header: 'Civil'},\r\n {field: \"locMil\", header: 'Local Military'},\r\n {field: \"totOvers\", header: 'Total Overflights'},\r\n {field: \"totOps\", header: 'Total Operations'},\r\n ]\r\n //console.log('Staffing Standards Tower Component: ' + JSON.stringify(this.cols));\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/staffing-standards/staffing-standards-tower/staffing-standards-tower.component.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { IStaffingStandardsTower } from './staffing-standards-Tower-list';\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class StaffingStandardsTowerService {\r\n\r\n //need to have this somewhere besides hardcoded in here\r\n //private _staffingStandardsTowerUrl = `http://localhost:55706/api/systemmanagement/SSTower`;\r\n private _staffingStandardsTowerUrl = `api/systemmanagement/SSTower`;\r\n \r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getSSTower(): Observable {\r\n return this.httpHelper.get(`${this._staffingStandardsTowerUrl}`)\r\n //.map((response: Response) => response.json())\r\n //.do(httpHelper => console.log('IStaffingStandardsTower: ' + JSON.stringify(data)))\r\n //.catch(this.handleError);\r\n }\r\n\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/staffing-standards/staffing-standards-tower/staffing-standards-tower.service.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n
Staffing Standards Tracon export:
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/staffing-standards/staffing-standards-tower/staffing-standards-tower.component.html\n ** module id = 829\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport {ITowersTraconsImport} from './towers-tracons-import';\r\nimport {TowersTraconsImportService} from './towers-tracons-import.service';\r\nimport {towersTraconsImportPipe} from './towers-tracons-import.pipe';\r\n\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/towers-tracons-import/towers-tracons-import.component.html',\r\n template: require('./towers-tracons-import.component.html'),\r\n directives: [ROUTER_DIRECTIVES,DataTable,Column, Header],\r\n providers: [TowersTraconsImportService]\r\n})\r\nexport class TowersTraconsImportComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'Towers Tracons OPSNET Import Check ';\r\n errorMessage: string;\r\n private sub: any;\r\n cols: any[];\r\n cols1: any[];\r\n cols2: any[];\r\n towersImportResult:ITowersTraconsImport;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _towerstraconsImportService: TowersTraconsImportService){\r\n }\r\n\r\n ngOnInit(): void{\r\n this._towerstraconsImportService.getTowersImport()\r\n .subscribe(\r\n towersImportResult => this.towersImportResult = towersImportResult,\r\n error => this.errorMessage = error);\r\n this.cols = [\r\n {field: \"opsAc\", header: 'OPSNET Air Carrier'},\r\n {field: \"opsAt\", header: 'OPSNET Air Taxi'},\r\n {field: \"opsGa\", header: 'OPSNET General Aviation'},\r\n {field: \"opsMil\", header: 'OPSNET Military'},\r\n {field: \"opsLocGa\", header: 'OPSNET Civil'},\r\n {field: \"opsLocMil\", header: 'OPSNET Local Military'},\r\n {field: \"opsTotOvers\", header: 'OPSNET Total Overflights'},\r\n ]\r\n this.cols1 = [\r\n {field: \"tafAc\", header: 'TAF Air Carrier'},\r\n {field: \"tafAt\", header: 'TAF Air Taxi'},\r\n {field: \"tafGa\", header: 'TAF General Aviation'},\r\n {field: \"tafMil\", header: 'TAF Military'},\r\n {field: \"tafLocGa\", header: 'TAF Civil'},\r\n {field: \"tafLocMil\", header: 'TAF Local Military'},\r\n {field: \"tafTotOvers\", header: 'TAF Total Overflights'},\r\n ]\r\n this.cols2 = [\r\n {field: \"diffAc\", header: 'DIFF Air Carrier'},\r\n {field: \"diffAt\", header: 'DIFF Air Taxi'},\r\n {field: \"diffGa\", header: 'DIFF General Aviation'},\r\n {field: \"diffMil\", header: 'DIFF Military'},\r\n {field: \"diffLocGa\", header: 'DIFF Civil'},\r\n {field: \"diffLocMil\", header: 'DIFF Local Military'},\r\n {field: \"diffTotOvers\", header: 'DIFF Total Overflights'},\r\n ]\r\n }\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/towers-tracons-import/towers-tracons-import.component.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ITowersTraconsImport } from './towers-tracons-import';\r\n\r\n\r\nimport { HttpHelper } from '../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class TowersTraconsImportService {\r\n\r\n //need to have this somewhere besides hardcoded in here\r\n //private _towersImportUrl = `http://localhost:55706/api/systemmanagement/TowersImport`;\r\n private _towersImportUrl = `api/systemmanagement/TowersImport`;\r\n \r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n getTowersImport(): Observable {\r\n return this.httpHelper.get(`${this._towersImportUrl}`)\r\n //.map((response: Response) => response.json())\r\n //.do(data => console.log('Towers Import service: ' + JSON.stringify(data)))\r\n //.catch(this.handleError);\r\n }\r\n\r\n \r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/towers-tracons-import/towers-tracons-import.service.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n\\r\\n

Tower Comparison OPSNET -TAF

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

TRACONS Comparison OPSNET -TAF

\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/towers-tracons-import/towers-tracons-import.component.html\n ** module id = 832\n ** module chunks = 0\n **/","import { RouterConfig } from '@angular/router';\r\nimport { GrowthRatesComponent } from './growth-rates.component';\r\nimport { GrowthRatesSaveComponent } from './growth-rates-save/growth-rates-save.component';\r\nimport {SetHubSizesComponent} from './set-hub-sizes/set-hub-sizes.component';\r\n\r\nexport const GrowthRatesRoutes: RouterConfig = [\r\n //all Growthrates routes here\r\n {path: 'growth-rates', component: GrowthRatesComponent},\r\n {path: 'growth-rates-save', component: GrowthRatesSaveComponent},\r\n {path: 'set-hub-sizes', component: SetHubSizesComponent},\r\n];\r\n\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/growth-rates/growth-rates.routes.ts\n **/","import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport {IGrowthRatesSave} from './growth-rates-save';\r\nimport {GrowthRatesSaveService} from './growth-rates-save.service';\r\nimport { UserSession } from '../../../shared/user-session';\r\nimport { UserInfoService } from '../../../shared/user-info.service';\r\nimport { IScenario, ScenarioService } from '../../../scenario-activities/scenario.service';\r\n\r\nimport { Dialog } from 'primeng/primeng';\r\nimport {Messages} from 'primeng/primeng';\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/growth-rates/growth-rates-save/growth-rates-save.component.html',\r\n template: require('./growth-rates-save.component.html'),\r\n styles: [require('../../../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES, Dialog, Messages],\r\n providers:[GrowthRatesSaveService]\r\n \r\n})\r\n\r\nexport class GrowthRatesSaveComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'Growth Rates Save ';\r\n errorMessage: string;\r\n private sub: any;\r\n growthRatesSaveResult: IGrowthRatesSave;\r\n displaySpinner :boolean=false;\r\n msgs: Messages[]=[];\r\n allScenarios: IScenario[];\r\n isScenarioOwner: boolean = false;\r\n scenarioHeaderDiv: HTMLDivElement;\r\n currentScenario: IScenario;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _growthRatesService:GrowthRatesSaveService, \r\n private _scenarioService: ScenarioService,\r\n private User: UserSession,\r\n private _userInfoService: UserInfoService) {\r\n this.growthRatesSaveResult = new IGrowthRatesSave(\"\"); \r\n }\r\n \r\n @ViewChild('scenarioHeader') scenarioHeader: ElementRef;\r\n ngOnInit(): void{\r\n this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this.User.getSession().scenarioId);\r\n }\r\n );\r\n \r\n //this probably needs to be somewhere more central\r\n this.User.updateSessionState();\r\n \r\n this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(\r\n success => this.isScenarioOwner = success.isOwner,\r\n error => this.errorMessage = error\r\n );\r\n\r\n\r\n this.displaySpinner = true;\r\n this._growthRatesService.getSavedRatesResponse(this.User.getSession().scenarioId)\r\n .subscribe( growthRatesSaveResult => {\r\n this.growthRatesSaveResult = growthRatesSaveResult;\r\n if( this.growthRatesSaveResult.message.indexOf(\"Error\")>=0){\r\n this.displaySpinner = false;\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: this.growthRatesSaveResult.message});\r\n console.error( this.growthRatesSaveResult.message);\r\n }\r\n else{\r\n this.displaySpinner = false;\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: this.growthRatesSaveResult.message});\r\n }\r\n },\r\n error => {\r\n this.displaySpinner = false;\r\n this.errorMessage = \"An error occured while trying to update the facility.\";\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: this.errorMessage});\r\n console.error(error);\r\n });\r\n }\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n this.scenarioHeaderDiv.innerHTML = `Current Scenario: ${this.currentScenario.scenarioName} (${this.currentScenario.id})`;\r\n }\r\n \r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/growth-rates/growth-rates-save/growth-rates-save.component.ts\n **/","export class IGrowthRatesSave{\r\n message: string;\r\n constructor ( message: string){\r\n this.message = message;\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/growth-rates/growth-rates-save/growth-rates-save.ts\n **/","module.exports = \"
\\r\\n
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Message: {{ growthRatesSaveResult?.message }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/growth-rates/growth-rates-save/growth-rates-save.component.html\n ** module id = 836\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport {ISetHubSizes} from './set-hub-sizes';\r\nimport {SetHubSizesService} from './set-hub-sizes.service';\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/growth-rates/set-hub-sizes/set-hub-sizes.component.html',\r\n template: require('./set-hub-sizes.component.html'),\r\n directives: [ROUTER_DIRECTIVES],\r\n providers:[SetHubSizesService]\r\n})\r\n\r\nexport class SetHubSizesComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'Set Hub Sizes';\r\n errorMessage: string;\r\n private sub: any;\r\n setHubSizesResult: ISetHubSizes;\r\n \r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _setHubSizesService:SetHubSizesService) {\r\n this.setHubSizesResult = new ISetHubSizes(\"Completed set hub sizes stored procedure\"); \r\n }\r\n\r\n ngOnInit(): void{\r\n this._setHubSizesService.getSetHubSizesResponse()\r\n .subscribe(\r\n setHubSizesResult => this.setHubSizesResult = setHubSizesResult,\r\n error => this.errorMessage = error);\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/growth-rates/set-hub-sizes/set-hub-sizes.component.ts\n **/","export class ISetHubSizes{\r\n message: string;\r\n constructor ( message: string){\r\n this.message = message;\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/growth-rates/set-hub-sizes/set-hub-sizes.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
\\r\\n
\\r\\n Message: {{ setHubSizesResult?.message }}\\r\\n
\\r\\n
\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/growth-rates/set-hub-sizes/set-hub-sizes.component.html\n ** module id = 839\n ** module chunks = 0\n **/","import { RouterConfig } from '@angular/router';\r\nimport { TowersTraconsImportStepsComponent } from './towers-tracons-import-steps.component';\r\n\r\n\r\nexport const TowersTraconsImportStepsRoutes: RouterConfig = [\r\n //all Growthrates routes here\r\n {path: 'towers-tracons-import-steps', component: TowersTraconsImportStepsComponent},\r\n\r\n];\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/towers-tracons-import/towers-tracons-import-steps/towers-tracons-import-steps.routes.ts\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport {ITowersLess12} from './towers-less-12';\r\nimport {ITowersTraconsImportstepsMsg} from './towers-tracons-import-steps-msg';\r\nimport {TowersTraconsImportStepsService} from './towers-tracons-import-steps.service';\r\nimport {SystemControlElem} from '../../../shared/system-control-elem';\r\nimport {SystemControlService} from '../../../shared/system-control.service';\r\nimport {SystemControl} from '../../../shared/system-control';\r\n\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\nimport {Button} from 'primeng/primeng';\r\nimport {Paginator} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/towers-tracons-import/towers-tracons-import.component.html',\r\n template: require('./towers-tracons-import-steps.component.html'),\r\n directives: [ROUTER_DIRECTIVES,DataTable,Column, Header, Paginator],\r\n providers:[TowersTraconsImportStepsService,SystemControl]\r\n})\r\nexport class TowersTraconsImportStepsComponent implements OnInit{\r\n pageTitle: string = 'Towers Tracons Import Steps ';\r\n errorMessage: string;\r\n private sub: any;\r\n cols: any[];\r\n towersLessThan12: ITowersLess12;\r\n towersImportMsg:ITowersTraconsImportstepsMsg;\r\n towersReforecastMsg:ITowersTraconsImportstepsMsg;\r\n showSpinner:boolean;\r\n showDataTable: boolean;\r\n showOpsnetImportMsg:boolean;\r\n showAOPSReforecastMsg: boolean;\r\n systemControl:SystemControl;\r\n systemControlElem:SystemControlElem;\r\n private fyYear:number;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _towerstraconsImportService: TowersTraconsImportStepsService,\r\n private _systemControl:SystemControl,\r\n private _systemControlService:SystemControlService){\r\n this.showSpinner = false;\r\n this.showDataTable =false;\r\n this.showOpsnetImportMsg= false;\r\n this.showAOPSReforecastMsg =false;\r\n this.systemControl = _systemControl;\r\n }\r\n\r\n ngOnInit (): void{\r\n // this.fyYear=this.systemControl.getFyYear();\r\n // alert(\" ngOnInit this.fyYear \" + this.fyYear);\r\n this._systemControlService.getSystemControl()\r\n .subscribe(\r\n systemControlElem => this.systemControlElem = systemControlElem,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.fyYear = this.systemControlElem.fyYear;\r\n console.log(\"fyYear and ffcYear in SystemControl:\" + this.fyYear );\r\n }\r\n );\r\n }\r\n getTowersImportStepsLess12(): void{\r\n this.showSpinner = true;\r\n this._towerstraconsImportService.getTowersImportStepsLess12()\r\n .subscribe(\r\n towersLessThan12 => this.towersLessThan12 = towersLessThan12,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.showDataTable =true;\r\n this.showSpinner = false;\r\n });\r\n this.cols = [\r\n {field: \"locid\", header: 'Locid'},\r\n {field: \"sumAc\", header: ' Air Carrier'},\r\n {field: \"sumAt\", header: ' Air Taxi'},\r\n {field: \"sumGa\", header: ' General Aviation'},\r\n {field: \"sumMil\", header: ' Military'},\r\n {field: \"sumLocGa\", header: ' Civil'},\r\n {field: \"sumLocMil\", header: ' Local Military'},\r\n {field: \"sumTotOvers\", header: ' Total Overflights'},\r\n ]\r\n }\r\n startOpsnetTowersImport(): void{\r\n this.showSpinner = true;\r\n this._towerstraconsImportService.startOpsnetTowersImport()\r\n .subscribe(\r\n towersImportMsg => this.towersImportMsg = towersImportMsg,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.showOpsnetImportMsg =true;\r\n this.showSpinner = false;\r\n });\r\n }\r\n reforecastAOPS(): void{\r\n this.showSpinner = true;\r\n this._towerstraconsImportService.reforecastAOPS()\r\n .subscribe(\r\n towersReforecastMsg => this.towersReforecastMsg = towersReforecastMsg,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.showAOPSReforecastMsg =true;\r\n this.showSpinner = false;\r\n });\r\n }\r\n\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/towers-tracons-import/towers-tracons-import-steps/towers-tracons-import-steps.component.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ITowersLess12 } from './towers-less-12';\r\nimport { ITowersTraconsImportstepsMsg } from './towers-tracons-import-steps-msg';\r\n\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class TowersTraconsImportStepsService {\r\n\r\n private _towersImporStepsLess12tUrl = `api/systemmanagement`;\r\n \r\n constructor(private httpHelper: HttpHelper) { }\r\n\r\n public getTowersImportStepsLess12(): Observable {\r\n return this.httpHelper.get(`${this._towersImporStepsLess12tUrl}/TowersImportStepsLess12`)\r\n }\r\n public startOpsnetTowersImport():Observable{\r\n return this.httpHelper.get(`${this._towersImporStepsLess12tUrl}/TowersOpsnetImport`)\r\n }\r\n public reforecastAOPS():Observable{\r\n return this.httpHelper.get(`${this._towersImporStepsLess12tUrl}/TowersReforecastAops`)\r\n }\r\n\r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/towers-tracons-import/towers-tracons-import-steps/towers-tracons-import-steps.service.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { SystemControlService} from './system-control.service';\r\nimport {SystemControlElem} from './system-control-elem';\r\n\r\n/*@Component({\r\n //templateUrl: 'app/system-management/growth-rates/growth-rates-save/growth-rates-save.component.html',\r\n template:`
`,\r\n directives: [ROUTER_DIRECTIVES],\r\n providers:[SystemControlService]\r\n \r\n})*/\r\n@Injectable()\r\nexport class SystemControl {\r\n public fyYear: number;\r\n public ffcYear: number;\r\n public lfcYear:number;\r\n public mangrLock:number;\r\n public importStage:number;\r\n errorMessage: string;\r\n systemControlElem:SystemControlElem\r\n \r\n \r\n constructor(private _systemControlService:SystemControlService){\r\n this.callService();\r\n }\r\n private callService(){\r\n this._systemControlService.getSystemControl()\r\n .subscribe(\r\n systemControlElem => this.systemControlElem = systemControlElem,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n\r\n this.fyYear = this.systemControlElem.fyYear;\r\n this.ffcYear = this.systemControlElem.ffcYear;\r\n this.importStage = this.systemControlElem.importStage;\r\n this.lfcYear = this.systemControlElem.lfcYear;\r\n this.mangrLock = this.systemControlElem.mangrLock;\r\n }\r\n );\r\n }\r\n /*public getFyYear():number{\r\n //alert(\"getFyYear \"+ typeof(this.fyYear) == undefined );\r\n // if(this.fyYear == null){\r\n this.callService();\r\n // }\r\n return this.fyYear;\r\n }*/\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/shared/system-control.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • Save rates for each year (2014-2015,etc) National Scenario (1). \\r\\n (Start process)\\r\\n
  • \\r\\n
  • Import actual {{fyYear}} operations from OPSNET to a temporary table in TAF.\\r\\n This process is manual export from aspm OPSNET to VM then import into sql. \\r\\n
  • \\r\\n
  • Review OPSNET facilities with less/more than 12 month of operations\\r\\n
  • \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
  • Import actual 2015 operations from temporary table into airport operations \\r\\n
  • \\r\\n
    Data Import Message: {{towersImportMsg?.message}}
    \\r\\n
  • Apply Growth Rate to new base.\\r\\n
  • \\r\\n
    Data Import Message: {{towersReforecastMsg?.message}}
    \\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/towers-tracons-import/towers-tracons-import-steps/towers-tracons-import-steps.component.html\n ** module id = 844\n ** module chunks = 0\n **/","import { RouterConfig } from '@angular/router';\r\nimport {NewYearRolloverComponent} from './new-year-rollover.component';\r\nimport {NewYearStepsComponent} from './new-year-rollover-steps/new-year-rollover-steps.component';\r\nimport {NewYearReportsComponent} from './new-year-rollover-reports/new-year-rollover-reports.component';\r\n\r\nexport const NewYearRolloverRoutes: RouterConfig = [\r\n {path:'new-year-rollover', component:NewYearRolloverComponent},\r\n {path: 'new-year-rollover-steps', component: NewYearStepsComponent},\r\n {path: 'new-year-rollover-reports', component: NewYearReportsComponent},\r\n];\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/new-year-rollover/new-year-rollover.routes.ts\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/new-year-rollover/new-year-rollover.component.html',\r\n template: require('./new-year-rollover.component.html'),\r\n directives: [ROUTER_DIRECTIVES],\r\n providers:[]\r\n \r\n})\r\n\r\nexport class NewYearRolloverComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'New Year Rollover';\r\n errorMessage: string;\r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router) {\r\n \r\n }\r\n\r\n ngOnInit(): void{\r\n \r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/new-year-rollover/new-year-rollover.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/new-year-rollover/new-year-rollover.component.html\n ** module id = 847\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy, Output, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport {INewYearRolloverSteps, INewYearRollOverRequest, INewYearRollOverResponse, INewYearRollOverDisplayList, INewYearRollOverDisplayElem} from './new-year-rollover-steps';\r\nimport {NewYearRolloverStepsService} from './new-year-rollover-steps.service';\r\n\r\nimport {SystemControl} from '../../../shared/system-control';\r\nimport {SystemControlElem} from '../../../shared/system-control-elem';\r\nimport { SystemControlService} from '../../../shared/system-control.service';\r\n\r\nimport { Dialog } from 'primeng/primeng';\r\nimport {Messages} from 'primeng/primeng';\r\n@Component({\r\n //templateUrl: 'app/system-management/new-year-rollover/new-year-rollover-steps/new-year-rollover-steps.component.html',\r\n template: require('./new-year-rollover-steps.component.html'),\r\n //styleUrls: [\"../../../../node_modules/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css\"],\r\n styles: [require('../../../styles/awesome-bootstrap-checkbox.css')],\r\n directives: [ROUTER_DIRECTIVES, Dialog, Messages],\r\n providers:[NewYearRolloverStepsService,SystemControlService]\r\n})\r\n\r\n\r\nexport class NewYearStepsComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'New Year Steps';\r\n errorMessage: string;\r\n private sub: any;\r\n newYearSteps: INewYearRolloverSteps;\r\n newYearResponse: INewYearRollOverResponse;\r\n newYearRequest: INewYearRollOverRequest; \r\n fyYear:number;\r\n lfyYearInput: HTMLInputElement;\r\n newYearRolloverList:any;\r\n displaySpinner :boolean=false;\r\n msgs: Messages[]=[];\r\n\r\n @Output() systemControl:SystemControl;\r\n @ViewChild('newForecastYearField') newForecastYearField: ElementRef;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _newYearRolloverService:NewYearRolloverStepsService,\r\n private _systemControlService:SystemControlService) {\r\n this.systemControl = new SystemControl(_systemControlService);\r\n this.newYearRequest = new INewYearRollOverRequest(this.systemControl.importStage);\r\n }\r\n\r\n \r\n ngOnInit(): void{\r\n this.newYearRolloverList=[new INewYearRollOverDisplayElem ({stepNumber:1, stepName: 'ManagerLock', stepDescription:''}),\r\n new INewYearRollOverDisplayElem ({stepNumber:2, stepName: 'Set up New Year Rollover', \r\n stepDescription:'The following tasks will be completed: Delete all scenario with id >1 Populate SAVED RATES Set Regional Input to false if regional input end year is less than first forecast year'}),\r\n new INewYearRollOverDisplayElem ({stepNumber:3, stepName: 'EMDF/NPIAS Facility Data Preparation', stepDescription:' Before running step 3 make sure EMDF/NPIAS tables are populated in database. The following steps must be completed before import is permitted:Comparison list between TAF and EMDF/NPIAS prepared FAA revisions to the list made FAA revisions incorporated into import'}),\r\n new INewYearRollOverDisplayElem ({stepNumber:4, stepName: 'Import EMDF/NPIAS Facility Data', stepDescription:' Check New Year Rollover Reports before running step 4.'}),\r\n new INewYearRollOverDisplayElem ({stepNumber:5, stepName: ' for OPSNet facilities', stepDescription:'Bring in OPSNet tower data before running step 5.'}),\r\n new INewYearRollOverDisplayElem ({stepNumber:6, stepName: 'Tracon Ops Import for OPSNet facilities ', stepDescription:'Bring in OPSNet TRACON data before running step 6.'}),\r\n new INewYearRollOverDisplayElem ({stepNumber:7, stepName: 'NFDC Data Preparation - Facilities, Facility Detail', stepDescription:'The following steps must be completed before import is permitted: Comparison list between TAF and NFDC prepared APO revisions to the list made APO revisions incorporated into import'}),\r\n new INewYearRollOverDisplayElem ({stepNumber:8, stepName: 'Import NFDC Data - AOPS, Based Aircraft ', stepDescription:'The following tasks will be completed: Import facilities Import facility details for all facilities Import AOPS for non-OPSNet facilities Import Based Aircraft for all facilities'}),\r\n new INewYearRollOverDisplayElem ({stepNumber:9, stepName: 'Enplanements Preparation', stepDescription:'The following tasks will be completed: Mark enplanment forecasts for this fiscal year as history'}),\r\n new INewYearRollOverDisplayElem ({stepNumber:10, stepName: 'System Release', stepDescription:'The following steps must be completed before import is permitted: Find all facilities that have operations records that were not updated from forecast to history for the current fiscal year. Report to APO all facilities that still have forecasts for the current fiscal year. Get determination from APO on how to proceed. Based on APO feedback, set forecast years to history for the current fiscal year. '}),\r\n new INewYearRollOverDisplayElem ({stepNumber:11, stepName: 'Reforecast National Scenario based on stored rates ', stepDescription:''}),\r\n ]\r\n }\r\n \r\n setLfcYear():void{\r\n this.newYearRequest.lfcYear = this.newForecastYearField.nativeElement.value;\r\n }\r\n runSteps():void{\r\n\r\n if( this.systemControl.importStage != 2) this.newYearRequest.lfcYear = this.systemControl.lfcYear;\r\n this.newYearRequest.fyYear = this.systemControl.fyYear;\r\n this.newYearRequest.stepNumber = this.systemControl.importStage;\r\n // alert(\"lfcYear \" + this.systemControl.lfcYear +\"/\"+ this.newYearRequest.lfcYear);\r\n // alert(\"stepNumber\" + this.systemControl.importStage +\"/\"+ this.newYearRequest.stepNumber);\r\n this.displaySpinner = true;\r\n this._newYearRolloverService.newYearRollOverRunSteps(this.newYearRequest)\r\n .subscribe(\r\n newYearResponse => this.newYearResponse = newYearResponse,\r\n error =>{ this.errorMessage = error;\r\n this.msgs.push({severity:'error', summary:'Error Message', detail:this.newYearResponse.message +\" \"+ this.errorMessage });\r\n },\r\n ()=>{\r\n if( this.newYearResponse.message.indexOf(\"Error\")>=0){\r\n this.msgs.push({severity:'error', summary:'Error Message', detail:this.newYearResponse.message});\r\n }\r\n else{\r\n this.msgs.push({severity:'info', summary:'Info Message', detail:this.newYearResponse.message});\r\n }\r\n this.systemControl = new SystemControl(this._systemControlService);\r\n this.displaySpinner = false;\r\n //console.log(\"newYear Response Message: \" + this.newYearResponse.message);\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/new-year-rollover/new-year-rollover-steps/new-year-rollover-steps.component.ts\n **/","export class INewYearRolloverSteps{\r\n \r\n}\r\n\r\nexport class INewYearRollOverRequest{\r\n stepNumber:number;\r\n lfcYear:number;\r\n fyYear:number;\r\n constructor(stepNumber:number){\r\n stepNumber = stepNumber;\r\n }\r\n\r\n}\r\nexport class INewYearRollOverResponse{\r\n message:string;\r\n}\r\n\r\nexport class INewYearRollOverDisplayList{\r\n newYearRollOverList:Array;\r\n\r\n}\r\nexport class INewYearRollOverDisplayElem{\r\n stepNumber:number;\r\n stepName:string;\r\n stepDescription:string;\r\n constructor (options?: {stepNumber: number; stepName: string;stepDescription:string }) {\r\n if (options) {\r\n this.stepNumber = options.stepNumber;\r\n this.stepName = options.stepName;\r\n this.stepDescription = options.stepDescription;\r\n }\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/new-year-rollover/new-year-rollover-steps/new-year-rollover-steps.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\nimport {INewYearRolloverSteps,INewYearRollOverRequest,INewYearRollOverResponse } from './new-year-rollover-steps';\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class NewYearRolloverStepsService {\r\n \r\n private _newYearRolloverUrl = `api/systemmanagement`;\r\n \r\n constructor(private _httpHelper: HttpHelper) { }\r\n\r\n /* getNewYearRolloverStep(): Observable {\r\n return this._httpHelper.get(`${this._newYearRolloverUrl}`)\r\n }*/\r\n\r\n public setManagerLockService(newYearRollOverRequest: INewYearRollOverRequest):Observable {\r\n return this._httpHelper.post(`${this._newYearRolloverUrl}/SetManagerLock`, newYearRollOverRequest)\r\n }\r\n public newYearRollOverRunSteps(newYearRollOverRequest: INewYearRollOverRequest):Observable {\r\n return this._httpHelper.post(`${this._newYearRolloverUrl}/NewYearRollOverRunSteps`, newYearRollOverRequest)\r\n }\r\n\r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/new-year-rollover/new-year-rollover-steps/new-year-rollover-steps.service.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
systemControl.importStage\\\">\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the 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
Current TAF Fiscal Year: {{systemControl?.fyYear}}
Current TAF First Forecast Year: {{systemControl?.ffcYear}}
Please provide NEW Parameters:
NEW TAF Fiscal Year: {{systemControl?.fyYear+1}}
NEW TAF Last Forecast Year (Press [enter] when done):
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/new-year-rollover/new-year-rollover-steps/new-year-rollover-steps.component.html\n ** module id = 851\n ** module chunks = 0\n **/","module.exports = \"@charset \\\"UTF-8\\\";\\r\\n.abc-checkbox {\\r\\n padding-left: 20px; }\\r\\n.abc-checkbox label {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n position: relative;\\r\\n padding-left: 5px; }\\r\\n.abc-checkbox label::before {\\r\\n cursor: pointer;\\r\\n content: \\\"\\\";\\r\\n display: inline-block;\\r\\n position: absolute;\\r\\n width: 17px;\\r\\n height: 17px;\\r\\n left: 0;\\r\\n margin-left: -20px;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 3px;\\r\\n background-color: #fff; }\\r\\n.abc-checkbox label::after {\\r\\n cursor: pointer;\\r\\n display: inline-block;\\r\\n position: absolute;\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n left: 0;\\r\\n top: 0;\\r\\n margin-left: -20px;\\r\\n padding-left: 3px;\\r\\n padding-top: 1px;\\r\\n font-size: 11px;\\r\\n color: #55595c; }\\r\\n.abc-checkbox input[type=\\\"checkbox\\\"],\\r\\n.abc-checkbox input[type=\\\"radio\\\"] {\\r\\n cursor: pointer;\\r\\n opacity: 0;\\r\\n z-index: 1; }\\r\\n.abc-checkbox input[type=\\\"checkbox\\\"]:focus + label::before,\\r\\n.abc-checkbox input[type=\\\"radio\\\"]:focus + label::before {\\r\\n outline: thin dotted;\\r\\n outline: 5px auto -webkit-focus-ring-color;\\r\\n outline-offset: -2px; }\\r\\n.abc-checkbox input[type=\\\"checkbox\\\"]:checked + label::after,\\r\\n.abc-checkbox input[type=\\\"radio\\\"]:checked + label::after {\\r\\n font-family: \\\"FontAwesome\\\";\\r\\n content: \\\"\\\"; }\\r\\n.abc-checkbox input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\r\\n.abc-checkbox input[type=\\\"radio\\\"]:indeterminate + label::after {\\r\\n display: block;\\r\\n content: \\\"\\\";\\r\\n width: 10px;\\r\\n height: 3px;\\r\\n background-color: #555555;\\r\\n border-radius: 2px;\\r\\n margin-left: -16.5px;\\r\\n margin-top: 7px; }\\r\\n.abc-checkbox input[type=\\\"checkbox\\\"]:disabled + label,\\r\\n.abc-checkbox input[type=\\\"radio\\\"]:disabled + label {\\r\\n opacity: 0.65; }\\r\\n.abc-checkbox input[type=\\\"checkbox\\\"]:disabled + label::before,\\r\\n.abc-checkbox input[type=\\\"radio\\\"]:disabled + label::before {\\r\\n background-color: #eceeef;\\r\\n cursor: not-allowed; }\\r\\n.abc-checkbox.abc-checkbox-circle label::before {\\r\\n border-radius: 50%; }\\r\\n.abc-checkbox.checkbox-inline {\\r\\n margin-top: 0; }\\r\\n\\r\\n.abc-checkbox-primary input[type=\\\"checkbox\\\"]:checked + label::before,\\r\\n.abc-checkbox-primary input[type=\\\"radio\\\"]:checked + label::before {\\r\\n background-color: #0275d8;\\r\\n border-color: #0275d8; }\\r\\n\\r\\n.abc-checkbox-primary input[type=\\\"checkbox\\\"]:checked + label::after,\\r\\n.abc-checkbox-primary input[type=\\\"radio\\\"]:checked + label::after {\\r\\n color: #fff; }\\r\\n\\r\\n.abc-checkbox-danger input[type=\\\"checkbox\\\"]:checked + label::before,\\r\\n.abc-checkbox-danger input[type=\\\"radio\\\"]:checked + label::before {\\r\\n background-color: #d9534f;\\r\\n border-color: #d9534f; }\\r\\n\\r\\n.abc-checkbox-danger input[type=\\\"checkbox\\\"]:checked + label::after,\\r\\n.abc-checkbox-danger input[type=\\\"radio\\\"]:checked + label::after {\\r\\n color: #fff; }\\r\\n\\r\\n.abc-checkbox-info input[type=\\\"checkbox\\\"]:checked + label::before,\\r\\n.abc-checkbox-info input[type=\\\"radio\\\"]:checked + label::before {\\r\\n background-color: #5bc0de;\\r\\n border-color: #5bc0de; }\\r\\n\\r\\n.abc-checkbox-info input[type=\\\"checkbox\\\"]:checked + label::after,\\r\\n.abc-checkbox-info input[type=\\\"radio\\\"]:checked + label::after {\\r\\n color: #fff; }\\r\\n\\r\\n.abc-checkbox-warning input[type=\\\"checkbox\\\"]:checked + label::before,\\r\\n.abc-checkbox-warning input[type=\\\"radio\\\"]:checked + label::before {\\r\\n background-color: #f0ad4e;\\r\\n border-color: #f0ad4e; }\\r\\n\\r\\n.abc-checkbox-warning input[type=\\\"checkbox\\\"]:checked + label::after,\\r\\n.abc-checkbox-warning input[type=\\\"radio\\\"]:checked + label::after {\\r\\n color: #fff; }\\r\\n\\r\\n.abc-checkbox-success input[type=\\\"checkbox\\\"]:checked + label::before,\\r\\n.abc-checkbox-success input[type=\\\"radio\\\"]:checked + label::before {\\r\\n background-color: #5cb85c;\\r\\n border-color: #5cb85c; }\\r\\n\\r\\n.abc-checkbox-success input[type=\\\"checkbox\\\"]:checked + label::after,\\r\\n.abc-checkbox-success input[type=\\\"radio\\\"]:checked + label::after {\\r\\n color: #fff; }\\r\\n\\r\\n.abc-checkbox-primary input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\r\\n.abc-checkbox-primary input[type=\\\"radio\\\"]:indeterminate + label::before {\\r\\n background-color: #0275d8;\\r\\n border-color: #0275d8; }\\r\\n\\r\\n.abc-checkbox-primary input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\r\\n.abc-checkbox-primary input[type=\\\"radio\\\"]:indeterminate + label::after {\\r\\n background-color: #fff; }\\r\\n\\r\\n.abc-checkbox-danger input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\r\\n.abc-checkbox-danger input[type=\\\"radio\\\"]:indeterminate + label::before {\\r\\n background-color: #d9534f;\\r\\n border-color: #d9534f; }\\r\\n\\r\\n.abc-checkbox-danger input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\r\\n.abc-checkbox-danger input[type=\\\"radio\\\"]:indeterminate + label::after {\\r\\n background-color: #fff; }\\r\\n\\r\\n.abc-checkbox-info input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\r\\n.abc-checkbox-info input[type=\\\"radio\\\"]:indeterminate + label::before {\\r\\n background-color: #5bc0de;\\r\\n border-color: #5bc0de; }\\r\\n\\r\\n.abc-checkbox-info input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\r\\n.abc-checkbox-info input[type=\\\"radio\\\"]:indeterminate + label::after {\\r\\n background-color: #fff; }\\r\\n\\r\\n.abc-checkbox-warning input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\r\\n.abc-checkbox-warning input[type=\\\"radio\\\"]:indeterminate + label::before {\\r\\n background-color: #f0ad4e;\\r\\n border-color: #f0ad4e; }\\r\\n\\r\\n.abc-checkbox-warning input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\r\\n.abc-checkbox-warning input[type=\\\"radio\\\"]:indeterminate + label::after {\\r\\n background-color: #fff; }\\r\\n\\r\\n.abc-checkbox-success input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\r\\n.abc-checkbox-success input[type=\\\"radio\\\"]:indeterminate + label::before {\\r\\n background-color: #5cb85c;\\r\\n border-color: #5cb85c; }\\r\\n\\r\\n.abc-checkbox-success input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\r\\n.abc-checkbox-success input[type=\\\"radio\\\"]:indeterminate + label::after {\\r\\n background-color: #fff; }\\r\\n\\r\\n.abc-radio {\\r\\n padding-left: 20px; }\\r\\n.abc-radio label {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n position: relative;\\r\\n padding-left: 5px; }\\r\\n.abc-radio label::before {\\r\\n content: \\\"\\\";\\r\\n cursor: pointer;\\r\\n display: inline-block;\\r\\n position: absolute;\\r\\n width: 17px;\\r\\n height: 17px;\\r\\n left: 0;\\r\\n margin-left: -20px;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 50%;\\r\\n background-color: #fff; }\\r\\n.abc-radio label::after {\\r\\n cursor: pointer;\\r\\n display: inline-block;\\r\\n position: absolute;\\r\\n content: \\\" \\\";\\r\\n width: 11px;\\r\\n height: 11px;\\r\\n left: 3px;\\r\\n top: 3px;\\r\\n margin-left: -20px;\\r\\n border-radius: 50%;\\r\\n background-color: #55595c;\\r\\n transform: scale(0, 0);\\r\\n transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); }\\r\\n.abc-radio input[type=\\\"radio\\\"] {\\r\\n cursor: pointer;\\r\\n opacity: 0;\\r\\n z-index: 1; }\\r\\n.abc-radio input[type=\\\"radio\\\"]:focus + label::before {\\r\\n outline: thin dotted;\\r\\n outline: 5px auto -webkit-focus-ring-color;\\r\\n outline-offset: -2px; }\\r\\n.abc-radio input[type=\\\"radio\\\"]:checked + label::after {\\r\\n transform: scale(1, 1); }\\r\\n.abc-radio input[type=\\\"radio\\\"]:disabled + label {\\r\\n opacity: 0.65; }\\r\\n.abc-radio input[type=\\\"radio\\\"]:disabled + label::before {\\r\\n cursor: not-allowed; }\\r\\n.abc-radio.radio-inline {\\r\\n margin-top: 0; }\\r\\n\\r\\n.abc-radio-primary input[type=\\\"radio\\\"] + label::after {\\r\\n background-color: #0275d8; }\\r\\n\\r\\n.abc-radio-primary input[type=\\\"radio\\\"]:checked + label::before {\\r\\n border-color: #0275d8; }\\r\\n\\r\\n.abc-radio-primary input[type=\\\"radio\\\"]:checked + label::after {\\r\\n background-color: #0275d8; }\\r\\n\\r\\n.abc-radio-danger input[type=\\\"radio\\\"] + label::after {\\r\\n background-color: #d9534f; }\\r\\n\\r\\n.abc-radio-danger input[type=\\\"radio\\\"]:checked + label::before {\\r\\n border-color: #d9534f; }\\r\\n\\r\\n.abc-radio-danger input[type=\\\"radio\\\"]:checked + label::after {\\r\\n background-color: #d9534f; }\\r\\n\\r\\n.abc-radio-info input[type=\\\"radio\\\"] + label::after {\\r\\n background-color: #5bc0de; }\\r\\n\\r\\n.abc-radio-info input[type=\\\"radio\\\"]:checked + label::before {\\r\\n border-color: #5bc0de; }\\r\\n\\r\\n.abc-radio-info input[type=\\\"radio\\\"]:checked + label::after {\\r\\n background-color: #5bc0de; }\\r\\n\\r\\n.abc-radio-warning input[type=\\\"radio\\\"] + label::after {\\r\\n background-color: #f0ad4e; }\\r\\n\\r\\n.abc-radio-warning input[type=\\\"radio\\\"]:checked + label::before {\\r\\n border-color: #f0ad4e; }\\r\\n\\r\\n.abc-radio-warning input[type=\\\"radio\\\"]:checked + label::after {\\r\\n background-color: #f0ad4e; }\\r\\n\\r\\n.abc-radio-success input[type=\\\"radio\\\"] + label::after {\\r\\n background-color: #5cb85c; }\\r\\n\\r\\n.abc-radio-success input[type=\\\"radio\\\"]:checked + label::before {\\r\\n border-color: #5cb85c; }\\r\\n\\r\\n.abc-radio-success input[type=\\\"radio\\\"]:checked + label::after {\\r\\n background-color: #5cb85c; }\\r\\n\\r\\ninput[type=\\\"checkbox\\\"].styled:checked + label:after,\\r\\ninput[type=\\\"radio\\\"].styled:checked + label:after {\\r\\n font-family: \\\"FontAwesome\\\";\\r\\n content: \\\"\\\"; }\\r\\n\\r\\ninput[type=\\\"checkbox\\\"] .styled:checked + label::before,\\r\\ninput[type=\\\"radio\\\"] .styled:checked + label::before {\\r\\n color: #fff; }\\r\\n\\r\\ninput[type=\\\"checkbox\\\"] .styled:checked + label::after,\\r\\ninput[type=\\\"radio\\\"] .styled:checked + label::after {\\r\\n color: #fff; }\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/styles/awesome-bootstrap-checkbox.css\n ** module id = 852\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy, Output, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport {INewYearReports, INpiasToBeDeleted, INewYearReportsResponse, INPIASMissingFields, INpiasSameSiteDiffLocid} from './new-year-rollover-reports';\r\nimport {NewYearReportsService} from './new-year-rollover-reports.service';\r\n\r\nimport {SystemControl} from '../../../shared/system-control';\r\nimport {SystemControlElem} from '../../../shared/system-control-elem';\r\nimport {SystemControlService} from '../../../shared/system-control.service';\r\n\r\nimport { Dialog } from 'primeng/primeng';\r\nimport {Messages} from 'primeng/primeng';\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\nimport {Button} from 'primeng/primeng';\r\nimport {Paginator} from 'primeng/primeng';\r\n\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/new-year-rollover/new-year-rollover-steps/new-year-rollover-steps.component.html',\r\n template: require('./new-year-rollover-reports.component.html'),\r\n //styleUrls: [\"../../../../node_modules/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css\"],\r\n styles: [require('../../../styles/awesome-bootstrap-checkbox.css')],\r\n directives: [ROUTER_DIRECTIVES, Dialog, Messages,DataTable,Column, Header, Paginator],\r\n providers:[ NewYearReportsService]\r\n})\r\n\r\n\r\nexport class NewYearReportsComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'New Year Reports';\r\n errorMessage: string;\r\n private sub: any;\r\n newYearRolloverList:any;\r\n displaySpinner :boolean=false;\r\n displayDialog:boolean=false;\r\n npiasToBeDeleted:any;\r\n npiasToBeInserted:any;\r\n npiasSameSite:INpiasSameSiteDiffLocid;\r\n npiasDiffSite:any;\r\n npiasMissingFields:INPIASMissingFields;\r\n msgs: Messages[]=[];\r\n cols: any[];\r\n locid: string;\r\n response:INewYearReportsResponse;\r\n\r\n @Output() systemControl:SystemControl;\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _newYearReportsService:NewYearReportsService,\r\n private _systemControlService:SystemControlService) {\r\n this.systemControl = new SystemControl(_systemControlService);\r\n }\r\n\r\n \r\n ngOnInit(): void{\r\n }\r\n getFacToBeInserted(): void {\r\n this.displaySpinner = true;\r\n //console.log(\"getFacToBeInserted\");\r\n this._newYearReportsService.getNpiasToBeInserted()\r\n .subscribe(\r\n npiasToBeInserted => this.npiasToBeInserted = npiasToBeInserted,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.displaySpinner = false;\r\n document.getElementById('facToBeInserted').style.display = 'block';\r\n //this.years = _.map(this.traconLocid,'value');\r\n //console.log(\"npiasToBeInserted \" + this.npiasToBeInserted);\r\n }\r\n );\r\n this.cols = [\r\n {field: \"locid\", header: 'Locid'},\r\n {field: \"state\", header: 'State'},\r\n {field: \"region\", header: 'Region'},\r\n {field: \"facType\", header: 'Facility Class'},\r\n {field: \"hubSize\", header: 'Hub Size'},\r\n {field: \"iopsNoAdd\", header: 'Iops NoAdd'},\r\n {field: \"facLevel\", header: 'Facility Level'},\r\n {field: \"centerId\", header: 'Center Id'},\r\n {field: \"iopsId\", header: 'Iops Id'},\r\n ]\r\n \r\n }\r\n \r\n getFacToBedeleted(): void {\r\n this.displaySpinner = true;\r\n console.log(\"getFacToBedeleted\");\r\n this._newYearReportsService.getNpiasToBeDeleted()\r\n .subscribe(\r\n npiasToBeDeleted => this.npiasToBeDeleted = npiasToBeDeleted,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.displaySpinner = false;\r\n document.getElementById('facToBedeleted').style.display = 'block';\r\n //this.years = _.map(this.traconLocid,'value');\r\n //console.log(\"npiasToBeDeleted \" + this.npiasToBeDeleted);\r\n }\r\n );\r\n this.cols = [\r\n {field: \"locid\", header: 'Locid'},\r\n {field: \"state\", header: 'State'},\r\n {field: \"region\", header: 'Region'},\r\n {field: \"facType\", header: 'Facility Class'},\r\n {field: \"hubSize\", header: 'Hub Size'},\r\n {field: \"iopsNoAdd\", header: 'Iops NoAdd'},\r\n {field: \"facLevel\", header: 'Facility Level'},\r\n {field: \"centerId\", header: 'Center Id'},\r\n {field: \"iopsId\", header: 'Iops Id'},\r\n ]\r\n \r\n }\r\n getFacSameSite(): void {\r\n this.displaySpinner = true;\r\n //console.log(\"facSameSite\");\r\n this._newYearReportsService.getNpiasSameSite()\r\n .subscribe(\r\n npiasSameSite => this.npiasSameSite = npiasSameSite,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.displaySpinner = false;\r\n document.getElementById('facSameSite').style.display = 'block';\r\n //this.years = _.map(this.traconLocid,'value');\r\n //console.log(\"facSameSite \" + this.npiasSameSite);\r\n }\r\n );\r\n this.cols = [\r\n {field: \"locidTaf\", header: 'TAF Locid'},\r\n {field: \"locidNpias\", header: 'NPIAS Locid'},\r\n {field: \"siteTaf\", header: 'TAF Site'},\r\n {field: \"siteNpias\", header: 'NPIAS Site'},\r\n {field: \"regionTaf\", header: 'TAF Region'},\r\n {field: \"regionNpias\", header: 'NPIAS Region'},\r\n {field: \"AportNameTaf\", header: 'TAF Airport Name'},\r\n {field: \"AportNameNpias\", header: 'NPIAS Airport Name'},\r\n ]\r\n \r\n }\r\n getFacDiffSite(): void {\r\n this.displaySpinner = true;\r\n //console.log(\"npiasDiffSite\");\r\n this._newYearReportsService.getNpiasDiffSite()\r\n .subscribe(\r\n npiasDiffSite => this.npiasDiffSite = npiasDiffSite,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.displaySpinner = false;\r\n document.getElementById('npiasDiffSite').style.display = 'block';\r\n //this.years = _.map(this.traconLocid,'value');\r\n //console.log(\"npiasDiffSite \" + this.npiasDiffSite);\r\n }\r\n );\r\n this.cols = [\r\n {field: \"locidTaf\", header: 'TAF Locid'},\r\n {field: \"locidNpias\", header: 'NPIAS Locid'},\r\n {field: \"siteTaf\", header: 'TAF Site'},\r\n {field: \"siteNpias\", header: 'NPIAS Site'},\r\n {field: \"regionTaf\", header: 'TAF Region'},\r\n {field: \"regionNpias\", header: 'NPIAS Region'},\r\n {field: \"AportNameTaf\", header: 'TAF Airport Name'},\r\n {field: \"AportNameNpias\", header: 'NPIAS Airport Name'},\r\n ]\r\n \r\n }\r\n getNpiasMissingFields(): void {\r\n this.displaySpinner = true;\r\n //console.log(\"facMissingFields\");\r\n this._newYearReportsService.getNpiasMissingFields()\r\n .subscribe(\r\n npiasMissingFields => this.npiasMissingFields = npiasMissingFields,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.displaySpinner = false;\r\n document.getElementById('facMissingFields').style.display = 'block';\r\n //this.years = _.map(this.traconLocid,'value');\r\n //console.log(\"facMissingFields \" + this.npiasMissingFields);\r\n }\r\n );\r\n this.cols = [\r\n {field: \"locid\", header: 'Locid'},\r\n {field: \"region\", header: 'Region'},\r\n {field: \"aportName\", header: 'Airport Name'},\r\n {field: \"city\", header: 'City'},\r\n {field: \"state\", header: 'State'},\r\n {field: \"site\", header: 'Site'},\r\n {field: \"naspno\", header: 'Naspno'},\r\n {field: \"latitude\", header: 'Latitude'},\r\n {field: \"longitude\", header: 'Longitude'},\r\n ]\r\n \r\n }\r\n setHistory(): void {\r\n this.displaySpinner = true;\r\n //console.log(\"setDataSetHistory\");\r\n this._newYearReportsService.setLocidHistory()\r\n .subscribe(\r\n npiasMissingFields => this.npiasMissingFields = npiasMissingFields,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.displaySpinner = false;\r\n document.getElementById('setDataSetHistory').style.display = 'block';\r\n //this.years = _.map(this.traconLocid,'value');\r\n //console.log(\"setDataSetHistory \" + this.npiasMissingFields);\r\n }\r\n );\r\n this.cols = [\r\n {field: \"locid\", header: 'Locid'},\r\n ]\r\n \r\n }\r\n onRowSelect(event) {\r\n this.locid = event.data.locid;\r\n this.displayDialog = true;\r\n }\r\n delete(){\r\n let params = {\r\n locId: this.locid\r\n\r\n }\r\n this._newYearReportsService.deleteNpiasLocid(params) \r\n .subscribe(\r\n response => {\r\n this.response = response;\r\n // console.log(\"response: \"+ this.response.message + \" Error string index:\"+ this.response.message.indexOf(\"Error\") );\r\n if( this.response.message.indexOf(\"Error\")>=0){\r\n this.displayDialog = false;\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: this.response.message});\r\n console.error( this.response.message);\r\n }\r\n else{\r\n this.displayDialog = false;\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: this.response.message});\r\n }\r\n },\r\n error => {\r\n this.displayDialog = false;\r\n this.errorMessage = \"An error occured while trying to update the facility.\";\r\n console.error(error);\r\n }\r\n );\r\n }\r\n hideNpiasLocidToBeDeleted(){\r\n document.getElementById('facToBedeleted').style.display = 'none';\r\n }\r\n hideNpiasLocidToBeInserted(){\r\n document.getElementById('facToBeInserted').style.display = 'none';\r\n }\r\n hideNpiasLocidSameSite(){\r\n document.getElementById('facSameSite').style.display = 'none';\r\n }\r\n hideNpiasLocidDiffSite(){\r\n document.getElementById('facDiffSite').style.display = 'none';\r\n }\r\n hideNpiasMissingFields(){\r\n document.getElementById('facMissingFields').style.display = 'none';\r\n }\r\n hideSetHistory(){\r\n document.getElementById('setDataSetHistory').style.display = 'none';\r\n }\r\n insert(){\r\n let params = {\r\n locId: this.locid\r\n }\r\n this._newYearReportsService.insertNpiasLocid(params) \r\n .subscribe(\r\n response => {\r\n this.response = response;\r\n //console.log(\"response: \"+ this.response.message + \" Error string index:\"+ this.response.message.indexOf(\"Error\") );\r\n if( this.response.message.indexOf(\"Error\")>=0){\r\n this.displayDialog = false;\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: this.response.message});\r\n this.getFacToBedeleted();\r\n console.error( this.response.message);\r\n }\r\n else{\r\n this.displayDialog = false;\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: this.response.message});\r\n }\r\n },\r\n error => {\r\n this.displayDialog = false;\r\n this.errorMessage = \"An error occured while trying to update the facility.\";\r\n console.error(error);\r\n }\r\n );\r\n }\r\n ngOnDestroy() {\r\n //alert(\"onDestroy\");\r\n //this.sub.unsubscribe();\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/new-year-rollover/new-year-rollover-reports/new-year-rollover-reports.component.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\nimport {INewYearReports, INewYearReportsResponse, INewYearReportsRequest,INPIASMissingFields, INpiasSameSiteDiffLocid } from './new-year-rollover-reports';\r\nimport { HttpHelper } from '../../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class NewYearReportsService {\r\n \r\n private _newYearRolloverUrl = `api/systemmanagement`;\r\n \r\n constructor(private _httpHelper: HttpHelper) { }\r\n\r\n /* getNewYearRolloverStep(): Observable {\r\n return this._httpHelper.get(`${this._newYearRolloverUrl}`)\r\n }*/\r\n public setLocidHistory():Observable {\r\n return this._httpHelper.get(`${this._newYearRolloverUrl}/SetHistoryList`)\r\n }\r\n public getNpiasMissingFields():Observable {\r\n return this._httpHelper.get(`${this._newYearRolloverUrl}/NpiasMissingFieldsLocidList`)\r\n }\r\n public getNpiasDiffSite():Observable {\r\n return this._httpHelper.get(`${this._newYearRolloverUrl}/NpiasDiffSiteSameLocidList`)\r\n }\r\n public getNpiasSameSite():Observable {\r\n return this._httpHelper.get(`${this._newYearRolloverUrl}/NpiasSameSiteDiffLocidList`)\r\n }\r\n\r\n public getNpiasToBeInserted():Observable {\r\n return this._httpHelper.get(`${this._newYearRolloverUrl}/NpiasToBeInsertedLocidList`)\r\n }\r\n public getNpiasToBeDeleted():Observable {\r\n return this._httpHelper.get(`${this._newYearRolloverUrl}/NpiasToBeDeletedLocidList`)\r\n }\r\n public deleteNpiasLocid(request:any):Observable {\r\n return this._httpHelper.post(`${this._newYearRolloverUrl}/NpiasDeleteLocid`, request)\r\n }\r\n public insertNpiasLocid(request:any):Observable {\r\n return this._httpHelper.post(`${this._newYearRolloverUrl}/NpiasInsertLocid`, request)\r\n }\r\n\r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n \r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/new-year-rollover/new-year-rollover-reports/new-year-rollover-reports.service.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n NPIAS Check\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n To be deleted (In TAF not in NPIAS)\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n To be inserted (In NPIAS not in TAF)\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Same site number different Locid \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Different site number different Locid \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Missing one or more fields (city,aportname, region) \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n EMDF Check\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n AOPS Import\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n TRACON Import\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Fiscal Year ({{systemControl.fyYear}}) not set to history \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Set AOPS/Enpl/BA/Tracons to history\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/new-year-rollover/new-year-rollover-reports/new-year-rollover-reports.component.html\n ** module id = 855\n ** module chunks = 0\n **/","import { RouterConfig } from '@angular/router';\r\nimport { TraconModelComponent } from './tracon-model.component';\r\n\r\nimport { AuthGuard } from '../../authentication/auth-guard.service';\r\n\r\nexport const TraconModelRoutes: RouterConfig = [\r\n {path: 'tracon-model', component: TraconModelComponent, canActivate: [AuthGuard]},\r\n];\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tracon-models/tracon-model.routes.ts\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { UserSession } from '../../shared/user-session';\r\n\r\nimport {TraconModelService} from './tracon-model.service';\r\nimport {ITraconLocid, ITraconModelResponse, ITraconModelRequest,ITraconModelSummaryResponse,ITraconModelReforecastAOPSIFR} from './tracon-model';\r\n\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/towers-tracons-import/towers-tracons-import.component.html',\r\n template: require('./tracon-model.component.html'),\r\n styles: [require('./tracon-model.css')],\r\n directives: [ROUTER_DIRECTIVES],\r\n providers:[TraconModelService]\r\n})\r\nexport class TraconModelComponent implements OnInit {\r\n pageTitle: string = 'Tracon Model';\r\n errorMessage: string;\r\n private sub: any;\r\n traconLocid:any;\r\n locid:any;\r\n years:any;\r\n traconRequest:ITraconModelRequest;\r\n traconResponse: any;\r\n traconSummaryResponse:ITraconModelSummaryResponse;\r\n traconReforecastAopsIfr:ITraconModelResponse;\r\n traconReforecast:ITraconModelResponse;\r\n event:any;\r\n showTableSummary:boolean\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _traconModelService:TraconModelService,\r\n private _user:UserSession){ \r\n this.traconRequest =new ITraconModelRequest(\"A11\", 2012, _user.getSession().scenarioId, 2012, 2045);\r\n this.showTableSummary=false;\r\n }\r\n\r\n ngOnInit():void{\r\n this._traconModelService.getTraconList()\r\n .subscribe(\r\n traconLocid=>this.traconLocid = traconLocid,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.locid = _.map(this.traconLocid,'value');\r\n // function(o){console.log(\"func:\" +o.key);return o.key;});\r\n //_.map(JSON.parse(JSON.stringify(_.fromPairs(this.traconLocid))),'key');\r\n /*_.forOwn((this.traconLocid), function(value, key) {\r\n console.log(value.value);\r\n return value.value;\r\n });*/\r\n }\r\n );\r\n this._traconModelService.getYearsList()\r\n .subscribe(\r\n traconLocid=>this.traconLocid = traconLocid,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.years = _.map(this.traconLocid,'value');\r\n }\r\n );\r\n \r\n }\r\n onTraconLocidChange(event: Event):void {\r\n let select: HTMLSelectElement = event.target as HTMLSelectElement;\r\n this.traconRequest.traconId = select.value;\r\n } \r\n onYearsChange(event: Event):void {\r\n let select: HTMLSelectElement = event.target as HTMLSelectElement;\r\n //alert(typeof(select.value));\r\n this.traconRequest.ayear = +select.value;\r\n //alert(this.traconRequest.ayear);\r\n }\r\n generateReport(): void {\r\n this._traconModelService.getTraconResult(this.traconRequest)\r\n .subscribe(\r\n traconResponse => this.traconResponse = traconResponse,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.showTableSummary=false;\r\n //this.years = _.map(this.traconLocid,'value');\r\n //console.log(\"traconResponseLocid \" + this.traconResponse);\r\n }\r\n );\r\n }\r\n generateSummaryReport(): void {\r\n //console.log(\"cancel\");\r\n this._traconModelService.getTraconSummaryResult(this.traconRequest)\r\n .subscribe(\r\n traconSummaryResponse => this.traconSummaryResponse = traconSummaryResponse,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.showTableSummary =true;\r\n //this.years = _.map(this.traconLocid,'value');\r\n console.log(\"traconSummaryResponse \" + this.traconSummaryResponse);\r\n }\r\n );\r\n }\r\n reforecastAopsIfr(): void {\r\n //console.log(\"cancel\");\r\n this._traconModelService.reforecastAopsIfr(this.traconRequest)\r\n .subscribe(\r\n traconReforecastAopsIfr => this.traconReforecastAopsIfr = traconReforecastAopsIfr,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n //console.log(\"traconSummaryResponse \" + this.traconReforecastAopsIfr);\r\n }\r\n );\r\n }\r\n reforecastTracon(): void {\r\n //console.log(\"cancel\");\r\n this._traconModelService.reforecastAopsIfr(this.traconRequest)\r\n .subscribe(\r\n traconReforecast => this.traconReforecast = traconReforecast,\r\n error => this.errorMessage = error,\r\n ()=>{\r\n //console.log(\"traconSummaryResponse \" + this.traconReforecast);\r\n }\r\n );\r\n }\r\n \r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tracon-models/tracon-model.component.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\nimport {ITraconLocid,ITraconModelResponse, ITraconModelRequest,ITraconModelSummaryResponse} from './tracon-model';\r\nimport { HttpHelper } from '../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class TraconModelService {\r\n\r\n private _genericUrl = `api/data/`;\r\n private _traconReportUrl=`api/systemmanagement`; \r\n\r\n constructor(private _httpHelper: HttpHelper) { }\r\n\r\n public getTraconList(): Observable {\r\n return this._httpHelper.get(`${this._genericUrl}/tracon`);\r\n }\r\n public getYearsList(): Observable {\r\n return this._httpHelper.get(`${this._genericUrl}/years`)\r\n }\r\n public getTraconResult(traconRequest: ITraconModelRequest):Observable {\r\n return this._httpHelper.post(`${this._traconReportUrl}/GetTraconResult`, traconRequest)\r\n }\r\n public getTraconSummaryResult(traconRequest: ITraconModelRequest):Observable {\r\n return this._httpHelper.post(`${this._traconReportUrl}/GetTraconSummaryResult`, traconRequest)\r\n }\r\n public reforecastAopsIfr(traconRequest: ITraconModelRequest):Observable {\r\n return this._httpHelper.post(`${this._traconReportUrl}/ReforecastAopsIfr`, traconRequest)\r\n }\r\n public reforecastTracon(traconRequest: ITraconModelRequest):Observable {\r\n return this._httpHelper.post(`${this._traconReportUrl}/ReforecastTracon`, traconRequest)\r\n }\r\n private handleError(error: Response) {\r\n // in a real world app, we may send the server to some remote logging infrastructure\r\n // instead of just logging it to the console\r\n console.error(error);\r\n return Observable.throw(error.json().error || 'Server error');\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tracon-models/tracon-model.service.ts\n **/","export class ITraconLocid{\r\n locid:string;\r\n}\r\n\r\nexport class ITraconModelRequest{\r\n traconId: string;\r\n ayear: number;\r\n scenarioId: number;\r\n sYear:number;\r\n eYear:number;\r\n constructor ( traconId: string,ayear:number, scenarioId:number, sYear:number, eYear:number){\r\n this.traconId = traconId;\r\n this.ayear = ayear\r\n this.scenarioId = scenarioId;\r\n this.sYear = sYear;\r\n this.eYear = eYear;\r\n }\r\n}\r\nexport class IYears{\r\n years:string;\r\n}\r\n\r\nexport class ITraconModelResponse{\r\n traconId :string;\r\n locid:string;\r\n aYear:string;\r\n ifrItnAc:string;\r\n ifrItnAt:string;\r\n ifrItnGa :string;\r\n ifrItnMi :string;\r\n totOvers : string;\r\n message:string;\r\n constructor(){\r\n let message = 'a';\r\n }\r\n}\r\nexport class ITraconModelSummaryResponse{\r\n lYear: number;\r\n fYear : number;\r\n sumFYear :number;\r\n traconYearlyRate :number;\r\n}\r\nexport class ITraconModelReforecastAOPSIFR{\r\n msg: string;\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tracon-models/tracon-model.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Select a Tracon:\\r\\n \\r\\n
\\r\\n
\\r\\n Select base year:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

\\r\\n
\\r\\n Next three steps run for selected scenario!\\r\\n

\\r\\n

\\r\\n

\\r\\n

\\r\\n

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

\\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
\\r\\n
\\r\\n Message: {{ traconReforecastAopsIfr?.message }}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
\\r\\n
\\r\\n Message: {{ traconReforecast?.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

TRACON Operations Forecast Report

\\r\\n
YEAR LOCID Air CarrierAir TaxiGAMilitaryOverflights
{{trResp.aYear}}{{trResp.locid}}{{trResp.ifrItnAc}}{{trResp.ifrItnAt}}{{trResp.ifrItnGa}}{{trResp.ifrItnMi}}{{trResp.totOvers}}
\\r\\n \\r\\n \\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 Tracon Level
{{trResp.fYear}}{{trResp.sumFYear}}
\\r\\n \\r\\n \\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 Tracon GrowthRate
{{trResp.lYear}}-{{trResp.fYear}}{{trResp.traconYearlyRate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/tracon-models/tracon-model.component.html\n ** module id = 860\n ** module chunks = 0\n **/","module.exports = \".P {page-break-after: always}\\r\\n.THEAD{ display: table-header-group; }\\r\\n\\r\\n#traconContent THEAD TR {\\r\\n\\t BACKGROUND: #fff;\\r\\n\\t\\tCOLOR: #000;\\r\\n\\t }\\r\\n#traconContent THEAD TR TH{\\r\\n\\t\\t FONT-WEIGHT: bold;\\r\\n\\t\\t FONT-SIZE:20px;\\r\\n\\t\\t COLOR: #fff;\\r\\n\\t\\tTEXT-ALIGN: center;\\r\\n\\t }\\r\\n#traconContent THEAD TR TD{\\r\\n\\t\\t FONT-SIZE: 12px;\\r\\n\\t\\t BACKGROUND: #e93f3f;\\r\\n\\t\\t COLOR: #fff;\\r\\n\\t }\\r\\n#traconContent TBODY TD{\\r\\n\\t\\t BACKGROUND: #fff;\\r\\n\\t\\t FONT-SIZE: 9px;\\r\\n\\t }\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/tracon-models/tracon-model.css\n ** module id = 861\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { UserSession } from '../../shared/user-session';\r\n\r\nimport {RegionalReviewService} from './regional-review.service';\r\n\r\n\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n //templateUrl: 'app/system-management/towers-tracons-import/towers-tracons-import.component.html',\r\n template: require('./regional-review.component.html'),\r\n //styles: [require('./tracon-model.css')],\r\n directives: [ROUTER_DIRECTIVES],\r\n providers:[RegionalReviewService]\r\n})\r\nexport class RegionalReviewComponent implements OnInit {\r\n pageTitle: string = 'Regional Review';\r\n errorMessage: string;\r\n private sub: any;\r\n constructor(private route: ActivatedRoute,\r\n private router: Router){}\r\n ngOnInit():void{}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/regional-review/regional-review.component.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\nimport { HttpHelper } from '../../shared/http-helper';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class RegionalReviewService {}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/regional-review/regional-review.service.ts\n **/","module.exports = \"
\\r\\n
\\r\\n System Management/{{pageTitle}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/system-management/regional-review/regional-review.component.html\n ** module id = 864\n ** module chunks = 0\n **/","import { RouterConfig } from '@angular/router';\r\n\r\nimport { ScenarioActivitiesComponent } from './scenario-activities.component';\r\nimport { ScenarioCreateComponent } from './scenario-create.component';\r\nimport { ScenarioCreateResultsComponent } from './scenario-create-results.component';\r\nimport { ScenarioSelectFacilitiesComponent } from './scenario-select-facilities.component';\r\nimport { ScenarioDeleteListComponent } from './scenario-delete-list.component';\r\nimport { ScenarioUpdateComponent } from './scenario-update.component';\r\nimport { ScenarioModifyFacilitiesComponent } from './scenario-modify-facilities.component';\r\nimport { ScenarioReforecastComponent } from './scenario-reforecast.component';\r\nimport { ScenarioReforecastCompleteComponent } from './scenario-reforecast-complete.component';\r\nimport { AuthGuard } from '../authentication/auth-guard.service';\r\n\r\nexport const ScenarioActivitiesRoutes: RouterConfig = [\r\n { path: 'scenario-activities', component: ScenarioActivitiesComponent, canActivate: [AuthGuard] },\r\n { path: 'scenario-create', component: ScenarioCreateComponent, canActivate: [AuthGuard] },\r\n { path: 'scenario-create-results', component: ScenarioCreateResultsComponent, canActivate: [AuthGuard]},\r\n { path: 'scenario-select-facilities', component: ScenarioSelectFacilitiesComponent, canActivate: [AuthGuard]},\r\n { path: 'scenario-delete', component: ScenarioDeleteListComponent, canActivate: [AuthGuard] },\r\n { path: 'scenario-update', component: ScenarioUpdateComponent, canActivate: [AuthGuard] },\r\n { path: 'scenario-modify-facilities', component: ScenarioModifyFacilitiesComponent, canActivate: [AuthGuard] },\r\n { path: 'scenario-reforecast', component: ScenarioReforecastComponent, canActivate: [AuthGuard] },\r\n { path: 'scenario-reforecast-complete', component: ScenarioReforecastCompleteComponent, canActivate: [AuthGuard]}\r\n];\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/scenario-activities.routes.ts\n **/","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IScenario, ScenarioService } from './scenario.service';\r\nimport { UserSession } from '../shared/user-session';\r\nimport { AuthService } from '../authentication/auth.service';\r\nimport { UserInfoService } from '../shared/user-info.service';\r\n\r\n@Component({\r\n template: require('./scenario-activities.component.html'),\r\n styles: [require('../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES],\r\n})\r\n\r\nexport class ScenarioActivitiesComponent implements OnInit{\r\n pageTitle: string = 'Scenario Activities';\r\n errorMessage: string;\r\n allScenarios: IScenario[];\r\n currentScenario: IScenario;\r\n scenarioHeaderDiv: HTMLDivElement;\r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _scenarioService: ScenarioService,\r\n private _User: UserSession,\r\n private authService: AuthService,\r\n private _userInfoService: UserInfoService) {\r\n }\r\n @ViewChild('scenarioHeader') scenarioHeader: ElementRef;\r\n\r\n ngOnInit(): void{\r\n\r\n this._scenarioService.getScenarios(this._User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n if (this._User.hasValidSession()){\r\n console.log(\"this._User \" + this._User.getSession().scenarioId);\r\n this.setScenarioHeader(this._User.getSession().scenarioId);\r\n }\r\n else {\r\n this.setScenarioHeader(this._User.scenarioId);\r\n this._User.updateSessionState();\r\n }\r\n }\r\n );\r\n this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n \r\n if(typeof(this._User.scenarioId) === 'undefined')\r\n this.router.navigate(['./scenario-activities']);\r\n\r\n }\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n this.scenarioHeaderDiv.innerHTML = `Current Scenario: ${this.currentScenario.scenarioName} (${this.currentScenario.id})`;\r\n }\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/scenario-activities.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n
\\r\\n {{pageTitle}}\\r\\n
\\r\\n
\\r\\n

Your Options:

\\r\\n
\\r\\n
\\r\\n
\\r\\n Create a Scenario\\r\\n
\\r\\n
\\r\\n
Create a New Scenario
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Move and Copy Facilities between Scenarios, Delete Facilities
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Delete a Scenario\\r\\n
\\r\\n
\\r\\n
Delete a Scenario and all Associated Forecast Data
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Update a Scenario\\r\\n
\\r\\n
\\r\\n
Merge scenarios
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Reforecast selected scenario based on previously saved rates
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/scenario-activities/scenario-activities.component.html\n ** module id = 867\n ** module chunks = 0\n **/","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IScenario, ScenarioService, CreateScenarioRequest, CreateScenarioResponse } from './scenario.service';\r\nimport { UserSession } from '../shared/user-session';\r\nimport { Dialog } from 'primeng/primeng';\r\nimport {Messages} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n template: require('./scenario-create.component.html'),\r\n styles: [require('../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES, Dialog],\r\n})\r\n\r\nexport class ScenarioCreateComponent implements OnInit {\r\n pageTitle: string = 'Create a Scenario';\r\n errorMessage: string;\r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n nameTextInput: HTMLInputElement;\r\n displaySpinner :boolean=false;\r\n msgs: Messages[]=[];\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private request: CreateScenarioRequest,\r\n private _scenarioService: ScenarioService,\r\n private _User: UserSession\r\n ) { }\r\n\r\n @ViewChild('scenarioName') scenarioName: ElementRef;\r\n\r\n ngOnInit(): void {\r\n this.displaySpinner = false;\r\n\r\n if(typeof(this._User.scenarioId) === 'undefined')\r\n this.router.navigate(['./scenario-activities']);\r\n\r\n this.nameTextInput = this.scenarioName.nativeElement;\r\n\r\n // Make a single call to get all scenarios to populate the dropdown and also \r\n // filter out the current scenario to display in the header\r\n this._scenarioService.getScenarios(this._User.getSession()['id'])\r\n .subscribe(\r\n allScenarios => this.allScenarios = allScenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.currentScenario = this.allScenarios.filter(function (el: IScenario) {\r\n return el.id === this._User.getSession().scenarioId;\r\n }.bind(this))[0];\r\n this.request.baseScenarioId = this.allScenarios[0].id; \r\n });\r\n this.request.userId = this._User.userId;\r\n this.request.public = false;\r\n \r\n }\r\n\r\n onNameChange(): void {\r\n // Verify that the name doesn't already exist\r\n if(this.scenarioNameExists(this.nameTextInput.value))\r\n return;\r\n\r\n this.request.scenarioName = this.nameTextInput.value;\r\n }\r\n\r\n onSelectChange(event: Event): void {\r\n let select: HTMLSelectElement = event.target as HTMLSelectElement;\r\n this.request.baseScenarioId = +select.value\r\n }\r\n\r\n onCheckboxChange(event: Event): void {\r\n let checkbox: HTMLInputElement = event.target as HTMLInputElement;\r\n this.request.public = checkbox.checked;\r\n }\r\n\r\n selectFacilities(): void {\r\n if(this.scenarioNameExists(this.nameTextInput.value))\r\n return;\r\n \r\n this.request.source = \"filtered\";\r\n this.request.facilities = [];\r\n \r\n // Set request in session storage to prevent data loss on browser refresh\r\n //sessionStorage.setItem('create-scenario-request', JSON.stringify(this.request));\r\n this.request.updateSessionState();\r\n\r\n this.router.navigate(['./scenario-select-facilities']); \r\n }\r\n\r\n createWithAllFacilities(): void {\r\n \r\n if(this.scenarioNameExists(this.nameTextInput.value))\r\n return;\r\n\r\n this.request.source = \"all\";\r\n this.displaySpinner = true; \r\n this._scenarioService.createScenario(this.request)\r\n .subscribe(\r\n (response:CreateScenarioResponse) =>{\r\n if(response.responseStatus === 'ERROR'){\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: response.responseMessage}); \r\n this.displaySpinner = false;\r\n return;\r\n }\r\n this.displaySpinner = false;\r\n this.router.navigate(['./scenario-create-results']);\r\n },\r\n error => this.errorMessage = error \r\n );\r\n }\r\n\r\n cancel(): void {\r\n this.router.navigate(['./scenario-activities']);\r\n }\r\n\r\n private scenarioNameExists(name: string): boolean {\r\n if(!name){\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Please fix the following error: Scenario Name exists or is empty'});\r\n return true;\r\n }\r\n var found = this.allScenarios.filter(function (el: IScenario) {\r\n return el.scenarioName === name;\r\n }.bind(this));\r\n\r\n if (found.length > 0) {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Please fix the following error: Scenario Name exists or is empty'});\r\n //alert('A scenario with that name has already been created. Please enter another name.')\r\n this.nameTextInput.value = '';\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/scenario-create.component.ts\n **/","module.exports = \"
Current Scenario: {{currentScenario.scenarioName}} ({{currentScenario.id}})
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Create TAF Scenario
\\r\\n

\\r\\n
\\r\\n
\\r\\n
Scenario Name:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Scenario Based on:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
Fill in the scenario name and select a source scenario.
\\r\\n\\r\\n
You may select facilities for your scenario by clicking the 'Continue and Select Facilities' button. \\r\\n Or, you may simply copy all the facilities from the base scenario by clicking the 'Create Scenario with All Facilities in Base' button.
\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/scenario-activities/scenario-create.component.html\n ** module id = 869\n ** module chunks = 0\n **/","import { Component, OnDestroy } from '@angular/core';\r\nimport { ROUTER_DIRECTIVES } from '@angular/router';\r\nimport { IScenario, CreateScenarioRequest } from './scenario.service';\r\n\r\n@Component({\r\n template: require('./scenario-create-results.component.html'),\r\n styles: [require('../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES]\r\n})\r\n\r\nexport class ScenarioCreateResultsComponent implements OnDestroy {\r\n pageTitle:string = 'Create Scenario';\r\n currentScenario:IScenario;\r\n \r\n constructor(private request:CreateScenarioRequest){}\r\n\r\n ngOnDestroy(){\r\n this.request.destroySession();\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/scenario-create-results.component.ts\n **/","module.exports = \"
Current Scenario: {{currentScenario.scenarioName}} ({{currentScenario.id}})
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Create Scenario Results
\\r\\n\\r\\n
Scenario {{request.scenarioName}} Created Successfully
\\r\\n\\r\\n
 
\\r\\n\\r\\n
    \\r\\n
  • All facilities copied from source scenario
  • \\r\\n
  • {{request.facilities.length}} facilities copied from source scenario
  • \\r\\n
  • This scenario is public
  • \\r\\n
\\r\\n\\r\\n
 
\\r\\n\\r\\n
Please go back to scenario activities
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/scenario-activities/scenario-create-results.component.html\n ** module id = 871\n ** module chunks = 0\n **/","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IScenario, ScenarioService, CreateScenarioRequest, CreateScenarioResponse } from './scenario.service';\r\nimport { AirportService } from '../airports/airport.service';\r\nimport { QueryReportService } from '../query-reports/query-report.service';\r\nimport { IQueryReportResponse, IQueryReportsFacilityRequest } from '../query-reports/query-report'\r\nimport { FacilitySearchRequest } from '../airports/facility-search-request';\r\nimport { CommonDataService, KeyValuePair, VariableInfo } from '../common-data/commondata.service';\r\nimport { UserSession } from '../shared/user-session';\r\nimport { Dialog } from 'primeng/primeng';\r\nimport {Messages} from 'primeng/primeng';\r\n\r\n@Component({\r\n template: require('./scenario-select-facilities.component.html'),\r\n styles: [require('../styles/faa_styles.css'),require('./scenario-select-facilities.component.css') ],\r\n providers: [FacilitySearchRequest, KeyValuePair],\r\n directives: [ROUTER_DIRECTIVES],\r\n})\r\n\r\nexport class ScenarioSelectFacilitiesComponent implements OnInit {\r\n pageTitle: string = 'Select Scenario Facilities';\r\n errorMessage: string;\r\n msgs: Messages[]=[];\r\n currentScenario: IScenario;\r\n sourceScenario: IScenario;\r\n sourceLocIds: string[];\r\n regions: KeyValuePair[];\r\n states: KeyValuePair[];\r\n hubSizes: KeyValuePair[];\r\n facLevels: KeyValuePair[];\r\n emdfCodes: KeyValuePair[];\r\n centerids: string[];\r\n autoCompleteQuery: string = '';\r\n autoCompleteFilteredList: string[] = [];\r\n relieverLocIds: string[];\r\n approachControlIds: string[];\r\n variables: VariableInfo[];\r\n enplanementYears: number[];\r\n moreSearchOptionsVisible: boolean = false;\r\n moreSearchOptionsControlCssClass: string = 'glyphicon glyphicon-chevron-right';\r\n moreSearchOptionsItemsCssClass: string = 'hidden';\r\n thisYear: number;\r\n showLocids:boolean=false;\r\n selectedLocids:string;\r\n requestLocid: IQueryReportsFacilityRequest;\r\n displaySpinner :boolean=false;\r\n\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private request: CreateScenarioRequest,\r\n private searchRequest: FacilitySearchRequest,\r\n private _scenarioService: ScenarioService,\r\n private _queryReportService: QueryReportService, \r\n private _airportService: AirportService,\r\n private _commonDataService: CommonDataService,\r\n private _User: UserSession\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.thisYear = new Date().getFullYear();\r\n\r\n if (typeof (this._User.scenarioId) === 'undefined')\r\n this.router.navigate(['./scenario-activities']);\r\n\r\n this.request = this.request.getSession();\r\n\r\n // Retrieve current scenario to set the current selected scenario name\r\n this._scenarioService.getScenario(this._User.scenarioId)\r\n .subscribe(\r\n scenario => this.currentScenario = scenario,\r\n error => this.errorMessage = error\r\n );\r\n\r\n // Retrieve locids from the source scenario for autocomplete\r\n this._airportService.getAirportLocIds(this.request.baseScenarioId)\r\n .subscribe(\r\n locIds => this.sourceLocIds = locIds,\r\n error => this.errorMessage = error\r\n );\r\n\r\n // Retrieve source scenario so we can set the name\r\n this._scenarioService.getScenario(this.request.baseScenarioId)\r\n .subscribe(\r\n scenario => this.sourceScenario = scenario,\r\n error => this.errorMessage = error\r\n );\r\n\r\n // Retrieve data for center ids\r\n this._airportService.getAirportCenterIds(this.request.baseScenarioId)\r\n .subscribe(\r\n centerIds => this.centerids = centerIds,\r\n error => this.errorMessage = error\r\n );\r\n\r\n // Retrieve data for Reliever locIds\r\n this._airportService.getRelieverLocIds(this.request.baseScenarioId)\r\n .subscribe(\r\n locIds => this.relieverLocIds = locIds,\r\n error => this.errorMessage = error\r\n );\r\n\r\n // Retrieve data for Approach Control ids\r\n this._airportService.getApproachControlIds(this.request.baseScenarioId)\r\n .subscribe(\r\n ids => this.approachControlIds = ids,\r\n error => this.errorMessage = error\r\n );\r\n\r\n // Retrieve the Variable Info\r\n this._commonDataService.getVariableInfo()\r\n .subscribe(\r\n info => this.variables = info,\r\n error => this.errorMessage = error\r\n );\r\n\r\n // Retrieve Enplanement Years\r\n this._commonDataService.getEnplanementYears()\r\n .subscribe(\r\n years => this.enplanementYears = years,\r\n error => this.errorMessage = error\r\n );\r\n\r\n var dropDownItems: string[] = ['region', 'state', 'hubsize', 'faclevel', 'emdfcode'];\r\n for (let x: number = 0; x < dropDownItems.length; x++) {\r\n this.populateDropdownData(dropDownItems[x]);\r\n }\r\n\r\n // Init the search \r\n this.searchRequest.baseScenarioId = this.request.baseScenarioId;\r\n this.requestLocid=new IQueryReportsFacilityRequest([''],1);\r\n }\r\n loadLocids(){\r\n this.showLocids=true;\r\n }\r\n saveLocids(){\r\n \r\n var charExp = /[^a-zA-Z0-9]+/;\r\n let nonAlpha = ( this.selectedLocids.replace (/[\\t\\n\\s\\r]{1,}/g,\"\")).match(charExp);\r\n if(nonAlpha != null){\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Please check the list of LOCID.\\nIt can only contain digits[0-9] and alphabets[a-z].' });\r\n return;\r\n }\r\n let selectedLocidsArr = this.selectedLocids.replace (/[\\t\\n\\s\\r]{1,}/g,\",\").split(\",\");\r\n let bError = false;\r\n for(var i=0; i<=selectedLocidsArr.length-1; i++){\r\n \r\n if((selectedLocidsArr[i])!=null){\r\n if((selectedLocidsArr[i].length>4) || (selectedLocidsArr[i].length <3)){\r\n bError=true;\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'The LOCID length can be only 3 or 4 characters.' });\r\n return;\r\n }\r\n }\r\n }\r\n this.requestLocid.locid=selectedLocidsArr;\r\n this.requestLocid.scenarioId = this.currentScenario.id;\r\n this._queryReportService.saveLocids(this.requestLocid)\r\n .subscribe(\r\n response => {\r\n if(response.responseMessage ===\"No Match\"){\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Following Locid list is not part of your selected scenario '\r\n + response.locidNoMatch + '. Please remove from list before continuing.'});\r\n }\r\n if(response.savedLocidList != null)\r\n {\r\n this.request.facilities = response.savedLocidList;\r\n this.showLocids = false;\r\n this.selectedLocids='';\r\n this.msgs=[];\r\n //console.log(\"locidResponse.savedLocidList: \"+response.savedLocidList.length);\r\n //console.log(\"locidResponse.responseStatus: \"+response.responseStatus);\r\n }\r\n },\r\n error => {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error occured while processing your request.' });\r\n this.showLocids = false;\r\n },\r\n () => {}\r\n );\r\n }\r\n cancelLocids(){\r\n this.showLocids = false;\r\n this.selectedLocids='';\r\n }\r\n search(): void {\r\n this._airportService.getAirportLocIdsByCriteria(this.searchRequest)\r\n .subscribe(\r\n (results: string[]) => {\r\n\r\n if (results.length === 0) {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'No facility found matching your criteria.' });\r\n return;\r\n }\r\n\r\n // Don't add to list if already there\r\n for (let x = 0; x < results.length; x++) {\r\n if (this.request.facilities.indexOf(results[x]) === -1) {\r\n this.request.facilities.push(results[x]);\r\n }\r\n }\r\n\r\n this.request.updateSessionState();\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n\r\n moreSearchOptionsClick(): void {\r\n if (!this.moreSearchOptionsVisible) {\r\n this.moreSearchOptionsVisible = true;\r\n this.moreSearchOptionsItemsCssClass = 'more-search-options';\r\n this.moreSearchOptionsControlCssClass = this.moreSearchOptionsControlCssClass.replace('right', 'down');\r\n\r\n // Set the defaults for the request\r\n this.searchRequest.searchOption = \"growth\";\r\n if (typeof (this.searchRequest.selectVariable) === 'undefined') \r\n this.searchRequest.selectVariable = this.variables[0].searchVariable;\r\n if (typeof (this.searchRequest.growthStartYear) === 'undefined')\r\n this.searchRequest.growthStartYear = new Date().getFullYear();\r\n if (typeof (this.searchRequest.growthEndYear) === 'undefined')\r\n this.searchRequest.growthEndYear = new Date().getFullYear();\r\n if (typeof (this.searchRequest.growthOperator) === 'undefined')\r\n this.searchRequest.growthOperator = \"less\";\r\n if (typeof (this.searchRequest.growthPercentage) === 'undefined')\r\n this.searchRequest.growthPercentage = 0.00;\r\n if (typeof (this.searchRequest.growthExcludeChanges) === 'undefined')\r\n this.searchRequest.growthExcludeChanges = false;\r\n\r\n } else {\r\n this.moreSearchOptionsVisible = false;\r\n this.moreSearchOptionsItemsCssClass = 'hidden';\r\n this.moreSearchOptionsControlCssClass = this.moreSearchOptionsControlCssClass.replace('down', 'right');\r\n\r\n // Reset the request searchOptioin\r\n this.searchRequest.searchOption = null;\r\n }\r\n\r\n console.log(this.searchRequest);\r\n }\r\n\r\n createScenario(): void {\r\n this.displaySpinner = true;\r\n if (this.request.facilities.length === 0) {\r\n let msg: string = `Please select a list of Facilities before creating the scenario.\r\nSelect your search criteria and then click the 'Search' button to populate the scenario facilities list.`;\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: msg });\r\n\r\n //alert(msg);\r\n return;\r\n }\r\n\r\n this._scenarioService.createScenario(this.request)\r\n .subscribe(\r\n (response: CreateScenarioResponse) => {\r\n if (response.responseStatus === 'ERROR') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: response.responseMessage });\r\n //alert(response.responseMessage);\r\n return;\r\n }\r\n this.router.navigate(['./scenario-create-results']);\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n\r\n removeFacilityFromList(locid: string): void {\r\n let index: number = this.request.facilities.indexOf(locid);\r\n this.request.facilities.splice(index, 1);\r\n this.request.updateSessionState();\r\n }\r\n\r\n clearAllFacilities(): void {\r\n this.request.facilities = [];\r\n this.request.updateSessionState();\r\n }\r\n\r\n cancel(): void {\r\n this.request.destroySession();\r\n this.router.navigate(['./scenario-activities']);\r\n }\r\n\r\n onSelect(event: Event, element: string) {\r\n let select: HTMLSelectElement = event.target as HTMLSelectElement;\r\n switch (element) {\r\n case 'region':\r\n this.searchRequest.region = select.value !== 'All' ? select.value : '';\r\n break;\r\n case 'state':\r\n this.searchRequest.state = select.value !== 'All' ? select.value : '';\r\n break;\r\n case 'hubSize':\r\n this.searchRequest.hubSize = select.value !== 'All' ? +select.value : -1;\r\n break;\r\n case 'level':\r\n this.searchRequest.level = select.value !== 'All' ? +select.value : -1;\r\n break;\r\n case 'emdfCode':\r\n this.searchRequest.type = select.value !== 'All' ? +select.value : -1;\r\n break;\r\n case 'centerAreaId':\r\n this.searchRequest.centerId = select.value !== 'All' ? +select.value : -1;\r\n break;\r\n case 'selectVarible':\r\n this.searchRequest.selectVariable = select.value;\r\n break;\r\n case 'growthStartYear':\r\n this.searchRequest.growthStartYear = +select.value;\r\n break;\r\n case 'growthEndYear':\r\n this.searchRequest.growthEndYear = +select.value;\r\n break;\r\n case 'valueYear':\r\n this.searchRequest.varValueYear = +select.value;\r\n break;\r\n }\r\n }\r\n\r\n onInput(event: Event, element: string){\r\n let input:HTMLInputElement = event.target as HTMLInputElement;\r\n \"test this\";\r\n if(isNaN(+input.value)){\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail:'Please enter a decimal value for the growth rate' });\r\n // alert('Please enter a decimal value for the growth rate');\r\n input.value = '';\r\n return;\r\n }\r\n if(element === 'growth')\r\n this.searchRequest.growthPercentage = +input.value;\r\n if(element === 'varvalue')\r\n this.searchRequest.varValue = +input.value;\r\n }\r\n\r\n onMoreSelectOption(event: Event, element: string) {\r\n if (element === 'growth') {\r\n this.searchRequest.searchOption = 'growth';\r\n }\r\n if (element === 'varvalue') {\r\n this.searchRequest.searchOption = 'varvalue';\r\n if (typeof (this.searchRequest.varValueYear) === 'undefined')\r\n this.searchRequest.varValueYear = new Date().getFullYear();\r\n if (typeof (this.searchRequest.varValueOperator) === 'undefined')\r\n this.searchRequest.varValueOperator = 'less';\r\n if (typeof (this.searchRequest.varValue) === 'undefined')\r\n this.searchRequest.varValue = 0;\r\n }\r\n }\r\n\r\n onOperatorSelectOption(event: Event, element: string, value: string){\r\n if(element === 'growth'){\r\n this.searchRequest.growthOperator = value;\r\n }\r\n if(element === 'varvalue'){\r\n this.searchRequest.varValueOperator = value;\r\n }\r\n }\r\n\r\n onCheck(event: Event, element: string) {\r\n let checkbox: HTMLInputElement = event.target as HTMLInputElement;\r\n switch (element) {\r\n case 'allFaaTowers':\r\n this.searchRequest.allFaaTowers = checkbox.checked;\r\n break;\r\n case 'allFaaAndContractTowers':\r\n this.searchRequest.allFaaContractTowers = checkbox.checked;\r\n break;\r\n case 'oeps35':\r\n this.searchRequest.oep35 = checkbox.checked;\r\n break;\r\n case 'growthExcludeChanges':\r\n this.searchRequest.growthExcludeChanges = checkbox.checked;\r\n break;\r\n }\r\n }\r\n\r\n autoCompleteFilter(): void {\r\n this.searchRequest.locId = this.autoCompleteQuery.trim();\r\n if (this.autoCompleteQuery.trim().length > 0) {\r\n this.autoCompleteFilteredList = this.sourceLocIds.filter(function (el: any) {\r\n return el.toUpperCase().indexOf(this.autoCompleteQuery.toUpperCase()) > -1;\r\n }.bind(this));\r\n }\r\n }\r\n\r\n autoCompleteSelect(item: string) {\r\n this.autoCompleteQuery = item;\r\n this.autoCompleteFilteredList = [];\r\n this.searchRequest.locId = item;\r\n }\r\n\r\n private populateDropdownData(source: string): void {\r\n this._commonDataService.getData(source)\r\n .subscribe(\r\n (list: KeyValuePair[]) => {\r\n switch (source) {\r\n case 'region':\r\n this.regions = list;\r\n break;\r\n case 'state':\r\n this.states = list;\r\n break;\r\n case 'hubsize':\r\n this.hubSizes = list;\r\n break;\r\n case 'faclevel':\r\n this.facLevels = list;\r\n break;\r\n case 'emdfcode':\r\n this.emdfCodes = list;\r\n break;\r\n }\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/scenario-select-facilities.component.ts\n **/","export class FacilitySearchRequest {\r\n baseScenarioId: number = -1;\r\n locId: string = '';\r\n region: string = '';\r\n state: string = '';\r\n hubSize: number = -1;\r\n level: number = -1;\r\n type: number = -1;\r\n allFaaTowers: boolean = false;\r\n allFaaContractTowers: boolean = false;\r\n oep35: boolean = false;\r\n centerId: number = -1;\r\n\r\n relieverFacility: number;\r\n relieverLocId: number;\r\n approachControlId: number;\r\n\r\n selectVariable: string;\r\n searchOption: string;\r\n growthStartYear: number;\r\n growthEndYear: number;\r\n growthOperator: string;\r\n growthPercentage: number;\r\n growthExcludeChanges: boolean;\r\n varValueYear: number;\r\n varValueOperator: string;\r\n varValue: number;\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/airports/facility-search-request.ts\n **/","module.exports = \"
Current Scenario: {{currentScenario.scenarioName}} ({{currentScenario.id}})
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Scenario Facility Selection
\\r\\n \\r\\n
Scenario: {{request.scenarioName}}
\\r\\n\\r\\n
Using source scenario: {{sourceScenario.scenarioName}} ({{sourceScenario.id}})
\\r\\n\\r\\n
\\r\\n

Search Criteria

\\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
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Selected Facilities
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
0\\\">Currently Facilities Selected: {{request.facilities.length}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Display More Search Options\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
 
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n to \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n is   \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n is   \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n You may paste a list of LOCIDs into the box below. \\r\\n This list will override any previous LOCID entries.\\r\\n To keep your current list of LOCIDs, please click the \\\"Cancel\\\" button. \\r\\n Enter data here, one LOCID per line (no commas):\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n\\r\\n
 
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/scenario-activities/scenario-select-facilities.component.html\n ** module id = 874\n ** module chunks = 0\n **/","module.exports = \".search {\\r\\n border: 1px solid #e5e5e5;\\r\\n border-radius: 5px;\\r\\n margin: 10px 0 20px 0;\\r\\n padding: 0 10px 10px 10px;\\r\\n}\\r\\n.search h3 {\\r\\n text-align: center;\\r\\n}\\r\\n.locids {\\r\\n border: 1px solid #e5e5e5;\\r\\n border-radius: 5px;\\r\\n margin: 10px 0 0 5px;\\r\\n height: 400px;\\r\\n background-color: #f6f6f6;\\r\\n overflow: scroll;\\r\\n}\\r\\n.locids .header {\\r\\n text-align: center;\\r\\n}\\r\\n.locids ul {\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n.locids ul li a {\\r\\n float: right;\\r\\n cursor: pointer;\\r\\n}\\r\\n.checkbox-group {\\r\\n clear: both;\\r\\n height: 25px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.checkbox-group .checkbox {\\r\\n margin-top: 5px;\\r\\n}\\r\\n.hidden {\\r\\n display: none;\\r\\n}\\r\\n.more-search-options-panel {\\r\\n margin-top: -20px;\\r\\n}\\r\\n.more-search-options-panel .glyphicon {\\r\\n cursor: pointer;\\r\\n}\\r\\n.more-search-options {\\r\\n display: block;\\r\\n}\\r\\n.totals {\\r\\n margin-left: 5px;\\r\\n}\\r\\n.search-option-container {\\r\\n border: 1px solid #d5d5d5;\\r\\n border-radius: 5px;\\r\\n clear: both;\\r\\n padding: 10px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.search-option-container .radio {\\r\\n margin-left: 20px;\\r\\n}\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/scenario-activities/scenario-select-facilities.component.css\n ** module id = 875\n ** module chunks = 0\n **/","import { Component, OnInit , ViewChild, ElementRef} from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IScenario, ScenarioService } from './scenario.service';\r\nimport { UserSession } from '../shared/user-session';\r\nimport { AuthService } from '../authentication/auth.service';\r\nimport {Messages} from 'primeng/primeng';\r\nimport { UserInfoService } from '../shared/user-info.service';\r\n\r\n@Component({\r\n template: require('./scenario-delete-list.component.html'),\r\n styles: [require('../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES]\r\n})\r\n\r\nexport class ScenarioDeleteListComponent implements OnInit {\r\n pageTitle: string = 'Scenario Delete';\r\n errorMessage: string;\r\n currentScenario: IScenario;\r\n scenarios: IScenario[];\r\n selectedOptionValues: number[];\r\n allScenarios: IScenario[];\r\n scenarioHeaderDiv: HTMLDivElement;\r\n msgs: Messages[]=[];\r\n msgResponse: any;\r\n displayPage:string =\"false\"\r\n isScenarioOwner: boolean = false;\r\n ownScenarios:string =\"true\";\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _scenarioService: ScenarioService,\r\n private _User: UserSession, \r\n private _userInfoService: UserInfoService,\r\n private authService: AuthService\r\n ) { }\r\n @ViewChild('scenarioHeader') scenarioHeader: ElementRef;\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n this._scenarioService.getScenarios(this._User.getSession()['id'])\r\n .subscribe(\r\n scenarios => {this.allScenarios = scenarios; console.log(\"scenarios:\" + this.allScenarios[0].scenarioName)},\r\n error => this.errorMessage = error,\r\n () => {\r\n if (this._User.hasValidSession()){\r\n this.setScenarioHeader(this._User.getSession().scenarioId);\r\n \r\n }\r\n else {\r\n this.setScenarioHeader(this._User.scenarioId);\r\n this._User.updateSessionState();\r\n }\r\n }\r\n );\r\n this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n if(typeof(this._User.scenarioId) === 'undefined')\r\n this.router.navigate(['./scenario-activities']);\r\n\r\n this._userInfoService.isScenarioOwner(this._User.getSession()['id'], this._User.getSession().scenarioId).subscribe(\r\n success =>{ this.isScenarioOwner = success.isOwner; \r\n if(this.isScenarioOwner == false && this._User.isAdmin == false){\r\n this.ownScenarios=\"false\";\r\n this.msgs = [];\r\n this.msgs.push({severity:'warn', summary:'Warn Message', detail:'We\\'re sorry, your access level does not permit you to view this page. Contact the TAF administrator to change your access privileges.'});\r\n }\r\n },\r\n error => this.errorMessage = error\r\n );\r\n\r\n this._scenarioService.getDeleteListScenarios(this._User.userId)\r\n .subscribe(\r\n scenarios => this.scenarios = scenarios,\r\n error => this.errorMessage = error\r\n );\r\n this.displayPage=\"true\";\r\n this.selectedOptionValues = [];\r\n }\r\n private setScenarioHeader(scenarioId: number): void {\r\n let foundScenarios: IScenario[] = this.allScenarios.filter(function (scenario) {\r\n return scenario.id === scenarioId;\r\n });\r\n if (foundScenarios.length > 0) {\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n this.scenarioHeaderDiv.innerHTML = `Current Scenario: ${this.currentScenario.scenarioName} (${this.currentScenario.id})`;\r\n }\r\n deleteScenarios(): void {\r\n this._scenarioService.deleteScenarios(this.selectedOptionValues)\r\n .subscribe(\r\n msgResponse=>this.msgResponse = msgResponse,\r\n error => this.errorMessage = error,\r\n () => {\r\n //console.log(\"delete response\" + this.msgResponse.length);\r\n if (this.errorMessage) {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Delete scenario error\"' + this.errorMessage });\r\n return;\r\n }\r\n else{ this.displayPage =\"true\";\r\n }\r\n window.location.reload();\r\n // this.router.navigate(['./scenario-activities']);\r\n }\r\n );\r\n }\r\n\r\n updateOptionsList(optionInt: number): void {\r\n this.selectedOptionValues.push(optionInt);\r\n }\r\n\r\n cancelDelete(): void {\r\n this.router.navigate(['./scenario-activities']);\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/scenario-delete-list.component.ts\n **/","module.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Delete a Scenario
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Scenario NameOwnerDate Created or Updated
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{scenario.owner}}{{scenario.lastUpdated | date: 'yMd'}} {{scenario.lastUpdated | date: 'jms'}}
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/scenario-activities/scenario-delete-list.component.html\n ** module id = 877\n ** module chunks = 0\n **/","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IScenario, ScenarioService, UpdateCommitScenarioRequest, UpdateCommitScenarioResponse } from './scenario.service';\r\nimport { UserSession } from '../shared/user-session';\r\nimport {Messages} from 'primeng/primeng';\r\nimport { Dialog } from 'primeng/primeng';\r\nimport { UserInfoService } from '../shared/user-info.service';\r\nimport { AuthService } from '../authentication/auth.service';\r\n\r\n@Component({\r\n template: require('./scenario-update.component.html'),\r\n styles: [require('../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES,Dialog],\r\n providers: [UpdateCommitScenarioRequest, UpdateCommitScenarioResponse]\r\n})\r\n\r\n export class ScenarioUpdateComponent implements OnInit {\r\n pageTitle: string = 'Scenario Merge';\r\n serviceResponse: UpdateCommitScenarioResponse;\r\n errorMessage: string;\r\n currentScenario: IScenario;\r\n sourceScenarios: IScenario[];\r\n targetScenarios: IScenario[];\r\n allCheckbox: HTMLInputElement;\r\n towerWithoutRadarCheckbox: HTMLInputElement;\r\n traconCheckbox: HTMLInputElement;\r\n combinedTraconTowerCheckbox: HTMLInputElement;\r\n combinedNonRadarTowerCheckbox: HTMLInputElement;\r\n towerWithDisplayCheckbox: HTMLInputElement;\r\n combinedControlFacilityCheckbox: HTMLInputElement;\r\n towerWithRadarCheckbox: HTMLInputElement;\r\n enrouteCenterCheckbox: HTMLInputElement;\r\n combinedTraconCheckbox: HTMLInputElement;\r\n faaContractTowerCheckbox: HTMLInputElement;\r\n nonFaaFacilityCheckbox: HTMLInputElement;\r\n msgs: Messages[]=[];\r\n ownScenarios:string =\"false\";\r\n displaySpinner :boolean=false;\r\n allScenarios: IScenario[];\r\n scenarioHeaderDiv: HTMLDivElement;\r\n isScenarioOwner: boolean = false;\r\n\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private request: UpdateCommitScenarioRequest,\r\n private _scenarioService: ScenarioService,\r\n private _userInfoService: UserInfoService,\r\n private _User: UserSession,\r\n private authService: AuthService\r\n ) { }\r\n\r\n /*@ViewChild('all') all: ElementRef;\r\n @ViewChild('towerWithoutRadar') towerWithoutRadar: ElementRef;\r\n @ViewChild('tracon') tracon: ElementRef;\r\n @ViewChild('combinedTraconTower') combinedTraconTower: ElementRef;\r\n @ViewChild('combinedNonRadarTower') combinedNonRadarTower: ElementRef;\r\n @ViewChild('towerWithDisplay') towerWithDisplay: ElementRef;\r\n @ViewChild('combinedControlFacility') combinedControlFacility: ElementRef;\r\n @ViewChild('towerWithRadar') towerWithRadar: ElementRef;\r\n @ViewChild('enrouteCenter') enrouteCenter: ElementRef;\r\n @ViewChild('combinedTracon') combinedTracon: ElementRef;\r\n @ViewChild('faaContractTower') faaContractTower: ElementRef;\r\n @ViewChild('nonFaaFacility') nonFaaFacility: ElementRef;*/\r\n @ViewChild('scenarioHeader') scenarioHeader: ElementRef;\r\n\r\n ngOnInit() {\r\n\r\n // Setup default request object\r\n this.request.userId = this._User.userId;\r\n this.request.all = 1;\r\n this.request.towerWithoutRadar =1;\r\n this.request.tracon = 1;\r\n this.request.combinedTraconTower = 1;\r\n this.request.combinedNonRadarTower = 1;\r\n this.request.towerWithDisplay = 1;\r\n this.request.combinedControlFacility = 1;\r\n this.request.towerWithRadar = 1;\r\n this.request.enrouteCenter = 1;\r\n this.request.combinedTracon = 1;\r\n this.request.faaContractTower = 1;\r\n this.request.nonFaaFacility = 1;\r\n\r\n this.request.aopsFlag = 1;\r\n this.request.trFlag = 1;\r\n this.request.baFlag = 1;\r\n this.request.enplFlag = 1;\r\n this.request.preserveFlag = 1;\r\n\r\n this._scenarioService.getScenarios(this._User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n if (this._User.hasValidSession()){\r\n this.setScenarioHeader(this._User.getSession().scenarioId);\r\n \r\n }\r\n else {\r\n this.setScenarioHeader(this._User.scenarioId);\r\n this._User.updateSessionState();\r\n }\r\n }\r\n );\r\n this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\r\n if(typeof(this._User.scenarioId) === 'undefined')\r\n this.router.navigate(['./scenario-activities']);\r\n\r\n console.log (\"isScenarioOwner = \" + this.isScenarioOwner + \" ... isAdmin = \" + this._User.isAdmin);\r\n\r\n this._userInfoService.isScenarioOwner(this._User.getSession()['id'], this._User.getSession().scenarioId).subscribe(\r\n success =>{ this.isScenarioOwner = success.isOwner; \r\n if(this.isScenarioOwner == false && this._User.isAdmin == false){\r\n this.ownScenarios=\"false\";\r\n this.msgs = [];\r\n this.msgs.push({severity:'warn', summary:'Warn Message', detail:'We\\'re sorry, your access level does not permit you to view this page. Contact the TAF administrator to change your access privileges.'});\r\n }\r\n },\r\n error => this.errorMessage = error\r\n );\r\n\r\n //this probably needs to be somewhere more central\r\n this._User.updateSessionState();\r\n \r\n\r\n // Set list for Source scenarios\r\n this._scenarioService.getMergeListScenarios(\"source\", this._User.userId)\r\n .subscribe(\r\n sourceScenarios => {\r\n this.sourceScenarios = sourceScenarios;\r\n if(this.sourceScenarios.length>0){\r\n this.request.scenarioSourceId = this.sourceScenarios[0].id;\r\n this.request.scenarioSourceName = this.sourceScenarios[0].scenarioName;\r\n this.ownScenarios=\"true\";\r\n \r\n // Bind HTML elements\r\n //this.allCheckbox = this.all.nativeElement;\r\n\r\n /*this.towerWithoutRadarCheckbox = this.towerWithoutRadar.nativeElement;\r\n this.traconCheckbox = this.tracon.nativeElement;\r\n this.combinedTraconTowerCheckbox = this.combinedTraconTower.nativeElement;\r\n this.combinedNonRadarTowerCheckbox = this.combinedNonRadarTower.nativeElement;\r\n this.towerWithDisplayCheckbox = this.towerWithDisplay.nativeElement;\r\n this.combinedControlFacilityCheckbox = this.combinedControlFacility.nativeElement;\r\n this.towerWithRadarCheckbox = this.towerWithRadar.nativeElement;\r\n this.enrouteCenterCheckbox = this.enrouteCenter.nativeElement;\r\n this.combinedTraconCheckbox = this.combinedTracon.nativeElement;\r\n this.faaContractTowerCheckbox = this.faaContractTower.nativeElement;\r\n this.nonFaaFacilityCheckbox = this.nonFaaFacility.nativeElement;*/\r\n }\r\n else{\r\n this.ownScenarios=\"false\";\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', \r\n detail: 'Sorry, you do not own any scenario.Please create one scenario if you would like to use this menu.' });\r\n } \r\n },\r\n error => this.errorMessage = error\r\n );\r\n\r\n // Set list for Target Scenarios\r\n this._scenarioService.getMergeListScenarios(\"target\", this._User.userId)\r\n .subscribe(\r\n targetScenarios => this.targetScenarios = targetScenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.request.scenarioTargetId = this.targetScenarios[0].id;\r\n this.request.scenarioTargetName = this.targetScenarios[0].scenarioName;\r\n }\r\n );\r\n }\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n this.scenarioHeaderDiv.innerHTML = `Current Scenario: ${this.currentScenario.scenarioName} (${this.currentScenario.id})`;\r\n }\r\n\r\n\r\n onSelectChange(event: Event, type: string) {\r\n let select: HTMLSelectElement = event.target as HTMLSelectElement;\r\n if (type == 'source') {\r\n this.request.scenarioSourceId = +select.value;\r\n this.request.scenarioSourceName = select.options[select.selectedIndex].innerHTML;\r\n }\r\n if (type == 'target') {\r\n this.request.scenarioTargetId = +select.value;\r\n this.request.scenarioTargetName = select.options[select.selectedIndex].innerHTML;\r\n }\r\n }\r\n onCheckboxChangeParam(event: Event) {\r\n let checkbox: HTMLInputElement = event.target as HTMLInputElement;\r\n switch (checkbox.id) {\r\n case 'aopsFlag':\r\n this.request.aopsFlag = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'trFlag':\r\n this.request.trFlag = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'baFlag':\r\n this.request.baFlag = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'enplFlag':\r\n this.request.enplFlag = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'preserveFlag':\r\n this.request.preserveFlag = checkbox.checked ? 1 : 0;\r\n break;\r\n }\r\n }\r\n onCheckboxChange(event: Event) {\r\n let checkbox: HTMLInputElement = event.target as HTMLInputElement;\r\n // If unchecking any checkbox other than all, unmark all checkbox\r\n if(checkbox.id !== 'all' && !checkbox.checked){\r\n // this.allCheckbox.checked = false;\r\n this.request.all =0;\r\n }\r\n // If checking all, check all other checkboxes \r\n if(checkbox.id === 'all' && checkbox.checked){\r\n /* let checkboxes:HTMLInputElement[] = [\r\n this.towerWithoutRadarCheckbox,\r\n this.traconCheckbox,\r\n this.combinedTraconTowerCheckbox,\r\n this.combinedNonRadarTowerCheckbox,\r\n this.towerWithDisplayCheckbox,\r\n this.combinedControlFacilityCheckbox,\r\n this.towerWithRadarCheckbox,\r\n this.enrouteCenterCheckbox,\r\n this.combinedTraconCheckbox,\r\n this.faaContractTowerCheckbox,\r\n this.nonFaaFacilityCheckbox\r\n ];\r\n checkboxes.forEach(box => {\r\n box.checked = true;\r\n });*/\r\n this.request.all =1;\r\n this.request.towerWithoutRadar =1;\r\n this.request.tracon =1;\r\n this.request.combinedTraconTower =1;\r\n this.request.combinedNonRadarTower =1;\r\n this.request.towerWithDisplay =1;\r\n this.request.combinedControlFacility =1;\r\n this.request.towerWithRadar =1;\r\n this.request.enrouteCenter =1;\r\n this.request.combinedTracon =1;\r\n this.request.faaContractTower =1;\r\n this.request.nonFaaFacility =1;\r\n \r\n }\r\n\r\n // Set values for post\r\n /* switch (checkbox.id) {\r\n case 'all':\r\n this.request.all = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'towerWithoutRadar':\r\n this.request.towerWithoutRadar = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'tracon':\r\n this.request.tracon = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'combinedTraconTower':\r\n this.request.combinedTraconTower = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'combinedNonRadarTower':\r\n this.request.combinedNonRadarTower = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'towerWithDisplay':\r\n this.request.towerWithDisplay = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'combinedControlFacility':\r\n this.request.combinedControlFacility = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'towerWithRadar':\r\n this.request.towerWithRadar = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'enrouteCenter':\r\n this.request.enrouteCenter = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'combinedTracon':\r\n this.request.combinedTracon = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'faaContractTower':\r\n this.request.faaContractTower = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'nonFaaFacility':\r\n this.request.nonFaaFacility = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'aopsFlag':\r\n this.request.aopsFlag = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'trFlag':\r\n this.request.trFlag = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'baFlag':\r\n this.request.baFlag = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'enplFlag':\r\n this.request.enplFlag = checkbox.checked ? 1 : 0;\r\n break;\r\n case 'preserveFlag':\r\n this.request.preserveFlag = checkbox.checked ? 1 : 0;\r\n break;\r\n }*/\r\n }\r\n\r\n applyChanges(): void {\r\n this.displaySpinner = true;\r\n //console.log(\"Update Scenario Apply Changes\");\r\n //console.log(this.request);\r\n this._scenarioService.updateCommitScenario(this.request)\r\n .subscribe(\r\n response => this.serviceResponse = response,\r\n error => this.errorMessage = error,\r\n () => {\r\n if (this.errorMessage) {\r\n alert(this.errorMessage);\r\n return;\r\n }\r\n if (this.serviceResponse.responseStatus === \"ERROR\") {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: this.serviceResponse.responseMessage });\r\n this.displaySpinner = false;\r\n return;\r\n }\r\n this.router.navigate(['./scenario-activities']);\r\n }\r\n );\r\n }\r\n\r\n cancel(): void {\r\n this.router.navigate(['./scenario-activities']);\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/scenario-update.component.ts\n **/","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Merge Scenarios\\r\\n
\\r\\n
Merge
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Choose Source Scenario for Merge
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Choose Target Scenario for Merge
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
 
\\r\\n
\\r\\n
Choose Facility Class(es)
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
 
\\r\\n
\\r\\n
Choose parameter(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
\\r\\n\\r\\n
 
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
 
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/scenario-activities/scenario-update.component.html\n ** module id = 879\n ** module chunks = 0\n **/","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IScenario, ScenarioService, ModifyScenarioFacilitiesRequest, ModifyScenarioFacilitiesResponse } from './scenario.service';\r\nimport { AirportService } from '../airports/airport.service';\r\nimport { UserSession } from '../shared/user-session';\r\nimport {Messages} from 'primeng/primeng';\r\nimport { UserInfoService } from '../shared/user-info.service';\r\nimport { Dialog } from 'primeng/primeng';\r\nimport { AuthService } from '../authentication/auth.service';\r\n\r\n@Component({\r\n template: require('./scenario-modify-facilities.component.html'),\r\n styles: [require('../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES],\r\n providers: [ModifyScenarioFacilitiesRequest, ModifyScenarioFacilitiesResponse]\r\n})\r\n\r\nexport class ScenarioModifyFacilitiesComponent implements OnInit {\r\n pageTitle: string = 'Scenario Modify Facilities';\r\n errorMessage: string;\r\n currentScenario: IScenario;\r\n sourceScenarios: IScenario[];\r\n targetScenarios: IScenario[];\r\n moveCopyLocIdsInput: HTMLInputElement = null;\r\n moveCopyAirportLocIds: string[];\r\n deleteLocIdsInput: HTMLInputElement;\r\n deleteAirportLocIds: string[];\r\n autoCompleteMoveCopyQuery: string = '';\r\n autoCompleteMoveCopyFilteredList: string[] = [];\r\n autoCompleteDeleteQuery: string = '';\r\n autoCompleteDeleteFilteredList: string[] = [];\r\n autoCompleteTargetField: string = '';\r\n scenarioHeaderDiv: HTMLDivElement;\r\n allScenarios: IScenario[];\r\n ownScenarios:string =\"true\";\r\n msgs: Messages[]=[];\r\n isScenarioOwner: boolean = false;\r\n \r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private request: ModifyScenarioFacilitiesRequest,\r\n private _scenarioService: ScenarioService,\r\n private _airportService: AirportService,\r\n private _userInfoService: UserInfoService,\r\n private _User: UserSession,\r\n private authService: AuthService\r\n ) { }\r\n\r\n @ViewChild('moveCopyLocIds') moveCopyLocIds: ElementRef;\r\n @ViewChild('deleteLocIds') deleteLocIds: ElementRef;\r\n @ViewChild('scenarioHeader') scenarioHeader: ElementRef;\r\n \r\n ngAfterViewInit() {\r\n // Bind element references\r\n this.moveCopyLocIdsInput = this.moveCopyLocIds.nativeElement;\r\n this.deleteLocIdsInput = this.deleteLocIds.nativeElement;\r\n }\r\n ngOnInit() {\r\n // Retrieve current scenario to set the current selected scenario name\r\n this._scenarioService.getScenarios(this._User.getSession()['id'])\r\n .subscribe(\r\n scenarios =>this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n if (this._User.hasValidSession()){\r\n this.setScenarioHeader(this._User.getSession().scenarioId);\r\n }\r\n else {\r\n this.setScenarioHeader(this._User.scenarioId);\r\n this._User.updateSessionState();\r\n }\r\n }\r\n );\r\n\r\n this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n\r\n if (typeof (this._User.scenarioId) === 'undefined'){\r\n this.router.navigate(['./scenario-activities']);\r\n }\r\n\r\n this._userInfoService.isScenarioOwner(this._User.getSession()['id'], this._User.getSession().scenarioId).subscribe(\r\n success =>{\r\n this.isScenarioOwner = success.isOwner; \r\n if(this.isScenarioOwner == false && this._User.isAdmin == false){\r\n this.msgs = [];\r\n this.ownScenarios=\"false\";\r\n this.msgs.push({severity:'warn', summary:'Warn Message', detail:'We\\'re sorry, your access level does not permit you to view this page. Contact the TAF administrator to change your access privileges.'});\r\n }\r\n },\r\n error => this.errorMessage = error\r\n );\r\n\r\n // Request defaults\r\n this.request.Overwrite = false;\r\n this.request.operation = 'move';\r\n this.request.currentScenarioId = this._User.getSession().scenarioId;\r\n this.request.targetScenarioId = this._User.getSession().scenarioId;\r\n this.request.deleteScenarioId = this._User.getSession().scenarioId;\r\n \r\n /*this._scenarioService.getScenario(this._User.getSession().scenarioId)\r\n .subscribe(\r\n scenario => this.currentScenario = scenario,\r\n error => this.errorMessage = error\r\n );*/\r\n // Set list for Source scenarios\r\n this._scenarioService.getMergeListScenarios(\"source\", this._User.userId)\r\n .subscribe(\r\n sourceScenarios => {this.sourceScenarios = sourceScenarios;\r\n if(this.sourceScenarios.length == 0){\r\n this.ownScenarios=\"false\";\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', \r\n detail: 'Sorry, you do not own any scenario.Please create one scenario if you would like to use this menu.' });\r\n }\r\n },\r\n error => this.errorMessage = error,\r\n () => {\r\n this.request.sourceScenarioId = this.sourceScenarios[0].id;\r\n\r\n // Set Airport LocIds for autocomplete text field for Move/Copy\r\n this._airportService.getAirportLocIds(this.sourceScenarios[0].id)\r\n .subscribe(\r\n locIds => this.moveCopyAirportLocIds = locIds,\r\n error => this.errorMessage = error\r\n );\r\n });\r\n\r\n // Set list for Target Scenarios\r\n this._scenarioService.getMergeListScenarios(\"target\", this._User.userId)\r\n .subscribe(\r\n targetScenarios => this.targetScenarios = targetScenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n //this.targetScenarios[0].id - this does not work when switching scenarios\r\n this.request.targetScenarioId = this._User.getSession().scenarioId;\r\n this.request.deleteScenarioId = this._User.getSession().scenarioId ;\r\n\r\n // Set Airport LocIds for autocomplete text field for Delete\r\n this._airportService.getAirportLocIds(this._User.getSession().scenarioId)\r\n .subscribe(\r\n locIds => this.deleteAirportLocIds = locIds,\r\n error => this.errorMessage = error\r\n );\r\n }); \r\n }\r\n private setScenarioHeader(scenarioId: number): void {\r\n let foundScenarios: IScenario[] = this.allScenarios.filter(function (scenario) {\r\n return scenario.id === scenarioId;\r\n });\r\n if (foundScenarios.length > 0) {\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n this.scenarioHeaderDiv.innerHTML = `Current Scenario: ${this.currentScenario.scenarioName} (${this.currentScenario.id})`;\r\n }\r\n onSelectChange(event: Event, type: string, targetSource?: string) {\r\n let select: HTMLInputElement = event.target as HTMLInputElement;\r\n if (type === 'source') {\r\n this.request.sourceScenarioId = +select.value;\r\n this._airportService.getAirportLocIds(this.request.sourceScenarioId)\r\n .subscribe(\r\n locIds => this.moveCopyAirportLocIds = locIds,\r\n error => this.errorMessage = error\r\n )\r\n }\r\n\r\n if (type === 'target' && targetSource === 'movecopy') {\r\n this.request.targetScenarioId = +select.value;\r\n this._airportService.getAirportLocIds(this.request.targetScenarioId)\r\n .subscribe(\r\n locIds => {this.moveCopyAirportLocIds = locIds;\r\n },\r\n error => this.errorMessage = error\r\n )\r\n }\r\n if (type === 'target' && targetSource === 'delete') {\r\n this.request.deleteScenarioId = +select.value;\r\n this._airportService.getAirportLocIds(this.request.deleteScenarioId)\r\n .subscribe(\r\n locIds => this.deleteAirportLocIds = locIds,\r\n error => this.errorMessage = error\r\n )\r\n }\r\n }\r\n\r\n onChooseActionRadioChange(event: Event, action: string) {\r\n this.request.operation = action;\r\n }\r\n\r\n onOverwriteCheckboxChange(event: Event) {\r\n let checkbox: HTMLInputElement = event.target as HTMLInputElement;\r\n this.request.Overwrite = checkbox.checked;\r\n }\r\n\r\n onMoveCopyApply() {\r\n this.msgs=[];\r\n if(this.request.operation == \"delete\"){\r\n this.request.operation = \"move\";\r\n\r\n }\r\n // VALIDATION\r\n if (this.request.sourceScenarioId === 1 && this.request.operation === 'move') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'You cannot move facilities from the National Scenario. Choose Copy or select another source scenario.'});\r\n return;\r\n }\r\n if (this.request.sourceScenarioId === this.request.targetScenarioId) {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'You must choose two different scenarios for Move/Copy'});\r\n return;\r\n }\r\n if(this.moveCopyLocIdsInput === null){\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Please choose at least one facility for this operation.'});\r\n return;\r\n }\r\n else{\r\n let locIds = this.moveCopyLocIdsInput.value.replace(/\\s*/g, \"\").replace(/\\'/g, \"\").toUpperCase();\r\n //console.log(\"onMoveCopyApply \" +(locIds));\r\n this.request.locIds = locIds.split(',');\r\n // Sanitize LocIDs list\r\n if (this.request.locIds.length === 1 && this.request.locIds[0].length === 0)\r\n this.request.locIds.pop();\r\n }\r\n this._scenarioService.modifyScenarioFacilities(this.request)\r\n .subscribe(\r\n (response: ModifyScenarioFacilitiesResponse) => {\r\n let responseMessage: string = '';\r\n // Facilities not in Source Scenario\r\n if (response.notFoundLocIds.length > 0) {\r\n responseMessage += 'The following facilities were not found in the source scenario:\\r\\n';\r\n for (let x: number = 0; x < response.notFoundLocIds.length; x++) {\r\n responseMessage += `- ${response.notFoundLocIds[x]}\\r\\n`;\r\n }\r\n responseMessage += '\\r\\n';\r\n }\r\n // Facilities that have been overwritten\r\n if (response.overwrittenLocIds.length > 0) {\r\n responseMessage += 'The following facilities have been overwritten in the destination scenario:\\r\\n';\r\n for (let x: number = 0; x < response.overwrittenLocIds.length; x++) {\r\n responseMessage += `- ${response.overwrittenLocIds[x]}\\r\\n`;\r\n }\r\n responseMessage += '\\r\\n';\r\n }\r\n // Facilities that already exist in the destination (not set for overwrite)\r\n if (response.existingLocIds.length > 0) {\r\n responseMessage += `The following facilities already exist in the destination scenario and will not be ${this.request.operation === 'move' ? 'moved' : 'copied'} from the source scenario:\\r\\n`;\r\n for (let x: number = 0; x < response.existingLocIds.length; x++) {\r\n responseMessage += `- ${response.existingLocIds[x]}\\r\\n`;\r\n }\r\n }\r\n\r\n // Facilities that were processed in the move/Copy\r\n if (response.processedLocIds.length > 0) {\r\n responseMessage += `The following facilities where successfully ${this.request.operation === 'move' ? 'moved' : 'copied'}:\\r\\n`;\r\n for (let x: number = 0; x < response.processedLocIds.length; x++) {\r\n responseMessage += `- ${response.processedLocIds[x]}\\r\\n`;\r\n }\r\n }\r\n\r\n this.msgs=[];\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: responseMessage});\r\n //this.router.navigate(['./scenario-activities']);\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n\r\n onDeleteApply() {\r\n this.request.operation = \"delete\";\r\n let locIds = this.deleteLocIdsInput.value.replace(/\\s*/g, \"\").replace(/\\'/g, \"\").toUpperCase();\r\n this.request.locIds = locIds.split(',');\r\n if (locIds.length === 0) {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Please choose at least one facility for this operation!'});\r\n return;\r\n }\r\n this._scenarioService.modifyScenarioFacilities(this.request)\r\n .subscribe(\r\n (response: ModifyScenarioFacilitiesResponse) => {\r\n let responseMessage: string = '';\r\n // Facilities not in target scenario\r\n if (response.invalidDeletedLocIds.length > 0) {\r\n responseMessage += 'The following facilities were not in the designated scenario and therefore could not be deleted:';\r\n for (let x: number = 0; x < response.invalidDeletedLocIds.length; x++) {\r\n responseMessage += `- ${response.invalidDeletedLocIds[x]}`;\r\n }\r\n //responseMessage += \"\\r\\n\";\r\n }\r\n // Facilities that were deleted\r\n if (response.deletedLocIds.length > 0) {\r\n responseMessage += \"Deleted Facilities:\";\r\n for (let x: number = 0; x < response.deletedLocIds.length; x++) {\r\n responseMessage += `- ${response.deletedLocIds[x]}`;\r\n }\r\n }\r\n this.msgs=[];\r\n this.msgs.push({severity:'Info', summary:'Info Message', detail: responseMessage});\r\n //this.router.navigate(['./scenario-activities']);\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n\r\n cancel():void {\r\n this.router.navigate(['./scenario-activities']);\r\n }\r\n\r\n autoCompleteFilter(targetField: string): void {\r\n this.autoCompleteTargetField = targetField;\r\n if (this.autoCompleteMoveCopyQuery.trim().length === 0 && this.autoCompleteDeleteQuery.trim().length === 0) {\r\n this.autoCompleteMoveCopyFilteredList = [];\r\n this.autoCompleteDeleteFilteredList = [];\r\n return;\r\n }\r\n\r\n if (this.autoCompleteMoveCopyQuery.trim().length > 0) {\r\n this.autoCompleteMoveCopyFilteredList = this.moveCopyAirportLocIds.filter(function (el: any) {\r\n return el.toUpperCase().indexOf(this.autoCompleteMoveCopyQuery.split(',')[this.autoCompleteMoveCopyQuery.split(',').length - 1].trim().toUpperCase()) > -1;\r\n }.bind(this));\r\n }\r\n\r\n if (this.autoCompleteDeleteQuery.trim().length > 0) {\r\n this.autoCompleteDeleteFilteredList = this.deleteAirportLocIds.filter(function (el: any) {\r\n return el.toUpperCase().indexOf(this.autoCompleteDeleteQuery.split(',')[this.autoCompleteDeleteQuery.split(',').length - 1].trim().toUpperCase()) > -1;\r\n }.bind(this));\r\n }\r\n }\r\n\r\n autoCompleteSelect(fieldTarget: string, item: string) {\r\n let inputValue: string = '';\r\n if (fieldTarget !== 'movecopy' && fieldTarget !== 'delete')\r\n return;\r\n\r\n if (fieldTarget === 'movecopy') {\r\n for (let x: number = 0; x < this.moveCopyLocIdsInput.value.split(',').length - 1; x++) {\r\n inputValue += this.moveCopyLocIdsInput.value.split(',')[x] + ',';\r\n }\r\n this.autoCompleteMoveCopyQuery = inputValue + item;\r\n }\r\n\r\n if (fieldTarget === 'delete') {\r\n for (let x: number = 0; x < this.deleteLocIdsInput.value.split(',').length - 1; x++) {\r\n inputValue += this.deleteLocIdsInput.value.split(',')[x] + ',';\r\n }\r\n this.autoCompleteDeleteQuery = inputValue + item;\r\n }\r\n this.autoCompleteMoveCopyFilteredList = [];\r\n this.autoCompleteDeleteFilteredList = [];\r\n }\r\n\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/scenario-modify-facilities.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n

Move, Copy or Delete Scenario Facilities

\\r\\n
\\r\\n
\\r\\n
Move/Copy
\\r\\n
\\r\\n
\\r\\n
Choose Source Scenario for Merge
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
Choose Target Scenario for Merge
\\r\\n \\r\\n
\\r\\n\\r\\n
 
\\r\\n\\r\\n
\\r\\n
Choose an action
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
 
\\r\\n\\r\\n
\\r\\n
Facilities from Source Scenario
\\r\\n
\\r\\n Enter facilities as a comma-separated list of LOCIDs, in any order.
\\r\\n For example: BOS, ATL, LAX, PDX, IAD\\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
Delete
\\r\\n
\\r\\n Enter facilities as a comma-separated list of LOCIDs, in any order.
\\r\\n For example: BOS, ATL, LAX, PDX, IAD\\r\\n\\r\\n
 
\\r\\n\\r\\n
\\r\\n
Choose Destination Scenario
\\r\\n \\r\\n
\\r\\n\\r\\n
 
\\r\\n\\r\\n
Delete facilities from Destination Scenario
\\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\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/scenario-activities/scenario-modify-facilities.component.html\n ** module id = 881\n ** module chunks = 0\n **/","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES } from '@angular/router';\r\nimport { IScenario, ScenarioService, ScenarioForecastRequest, ScenarioForecastResponse } from './scenario.service';\r\nimport { CommonDataService, SystemControl } from '../common-data/commondata.service';\r\nimport { UserSession } from '../shared/user-session';\r\nimport {Messages} from 'primeng/primeng';\r\nimport { Dialog } from 'primeng/primeng';\r\nimport { AirportOperations } from './airport-operations';\r\nimport { BasedAircraft } from './based-aircraft';\r\nimport { Enplanements } from './enplanements';\r\nimport { TraconOperations } from '../system-management/tracon-models/tracon-operations';\r\n\r\n@Component({\r\n template: require('./scenario-reforecast.component.html'),\r\n styles: [require('../styles/faa_styles.css')],\r\n providers: [ScenarioForecastRequest, AirportOperations, BasedAircraft, Enplanements, TraconOperations],\r\n directives: [ROUTER_DIRECTIVES],\r\n})\r\n\r\nexport class ScenarioReforecastComponent implements OnInit {\r\n pageTitle: string = 'Reforecast Using Stored Rates';\r\n errorMessage: string;\r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n startYears: number[] = [];\r\n endYears: number[] = [];\r\n aopsEnabled: boolean = false;\r\n basedAircraftEnabled: boolean = false;\r\n enplanementsEnabled: boolean = false;\r\n traconsEnabled: boolean = false;\r\n aopsCssClass: string = 'glyphicon glyphicon-chevron-right';\r\n basedAircraftCssClass: string = 'glyphicon glyphicon-chevron-right';\r\n enplanementsCssClass: string = 'glyphicon glyphicon-chevron-right';\r\n traconsCssClass: string = 'glyphicon glyphicon-chevron-right';\r\n aopsMenuCssClass: string = 'menu-items';\r\n baMenuCssClass: string = 'menu-items';\r\n enplMenuCssClass: string = 'menu-items';\r\n traconMenuCssClass: string = 'menu-items';\r\n reforecastButtonCssClass: string = 'btn btn-primary';\r\n reforecastButtonSpinnerCssClass: string = 'hidden';\r\n reforecastButtonText: string = 'Reforecast';\r\n processingCssClass: string = 'processing';\r\n displaySpinner :boolean=false;\r\n msgs: Messages[]=[];\r\n bProcess:boolean=false;\r\n scenarioHeaderDiv: HTMLDivElement;\r\n\r\n constructor(private _router: Router,\r\n private _commonDataService: CommonDataService,\r\n private _scenarioService: ScenarioService,\r\n private _user: UserSession,\r\n private _request: ScenarioForecastRequest) { }\r\n\r\n @ViewChild('scenarioHeader') scenarioHeader: ElementRef;\r\n\r\n ngOnInit() {\r\n this.displaySpinner = false;\r\n if (typeof (this._user.scenarioId) === 'undefined')\r\n this._router.navigate(['./scenario-activities']);\r\n\r\n this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n this._scenarioService.getScenarios(this._user.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this._user.getSession().scenarioId);\r\n }\r\n );\r\n\r\n // Retrieve SystemControl so we can populate years for the date ranges\r\n this._commonDataService.getSystemControlData()\r\n .subscribe(\r\n (record: SystemControl) => {\r\n let minYear: number = record.fyYear - 3;\r\n let maxYear: number = record.lfcYear;\r\n\r\n for (let x: number = minYear; x <= maxYear; x++) {\r\n this.startYears.push(x);\r\n }\r\n for (let x: number = maxYear; x >= minYear; x--) {\r\n this.endYears.push(x);\r\n }\r\n this._request.startYear = this.startYears[0];\r\n this._request.endYear = this.endYears[0];\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n onScenarioChange(event: Event): void {\r\n let selectedScenarioId: number = +(event.target as HTMLSelectElement).value;\r\n this._user.scenarioId = selectedScenarioId;\r\n this.setScenarioHeader(selectedScenarioId);\r\n this._user.updateSessionState();\r\n }\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n this.scenarioHeaderDiv.innerHTML = `Current Scenario: ${this.currentScenario.scenarioName} (${this.currentScenario.id})`;\r\n }\r\n menuClick(event: Event, menu: string): void {\r\n switch (menu) {\r\n case 'aops':\r\n if (!this.aopsEnabled) {\r\n this.aopsEnabled = true;\r\n this.aopsCssClass = this.aopsCssClass.replace('right', 'down');\r\n this.aopsMenuCssClass = this.aopsMenuCssClass.concat('-visible');\r\n this._request.airportOperations = new AirportOperations();\r\n this._request.airportOperations.ifrItnAt = false;\r\n this._request.airportOperations.ifrItnAc = false;\r\n this._request.airportOperations.ifrItnGa = false;\r\n this._request.airportOperations.ifrItnMi = false;\r\n this._request.airportOperations.itnAirCarrier = false;\r\n this._request.airportOperations.itnAirTaxi = false;\r\n this._request.airportOperations.itnGa = false;\r\n this._request.airportOperations.itnMil = false;\r\n this._request.airportOperations.localGa = false;\r\n this._request.airportOperations.localMil = false;\r\n this._request.airportOperations.totalOverflights = false;\r\n } else {\r\n this.aopsEnabled = false;\r\n this.aopsCssClass = this.aopsCssClass.replace('down', 'right');\r\n this.aopsMenuCssClass = this.aopsMenuCssClass.replace('-visible', '');\r\n this._request.airportOperations = undefined;\r\n }\r\n break;\r\n case 'ba':\r\n if (!this.basedAircraftEnabled) {\r\n this.basedAircraftEnabled = true;\r\n this.basedAircraftCssClass = this.basedAircraftCssClass.replace('right', 'down');\r\n this.baMenuCssClass = this.baMenuCssClass.concat('-visible');\r\n this._request.basedAircraft = new BasedAircraft();\r\n this._request.basedAircraft.helicopter = false;\r\n this._request.basedAircraft.jet = false;\r\n this._request.basedAircraft.multi = false;\r\n this._request.basedAircraft.other = false;\r\n this._request.basedAircraft.single = false;\r\n } else {\r\n this.basedAircraftEnabled = false;\r\n this.basedAircraftCssClass = this.basedAircraftCssClass.replace('down', 'right');\r\n this.baMenuCssClass = this.baMenuCssClass.replace('-visible', '');\r\n this._request.basedAircraft = undefined;\r\n }\r\n break;\r\n case 'enpl':\r\n if (!this.enplanementsEnabled) {\r\n this.enplanementsEnabled = true;\r\n this.enplanementsCssClass = this.enplanementsCssClass.replace('right', 'down');\r\n this.enplMenuCssClass = this.enplMenuCssClass.concat('-visible');\r\n this._request.enplanements = new Enplanements();\r\n this._request.enplanements.airCarrier = false;\r\n this._request.enplanements.airTaxi = false;\r\n this._request.enplanements.commuter = false;\r\n this._request.enplanements.foreignFlag = false;\r\n this._request.enplanements.usFlag = false;\r\n } else {\r\n this.enplanementsEnabled = false;\r\n this.enplanementsCssClass = this.enplanementsCssClass.replace('down', 'right');\r\n this.enplMenuCssClass = this.enplMenuCssClass.replace('-visible', '');\r\n this._request.enplanements = undefined;\r\n }\r\n break;\r\n case 'tracon':\r\n if (!this.traconsEnabled) {\r\n this.traconsEnabled = true;\r\n this.traconsCssClass = this.traconsCssClass.replace('right', 'down');\r\n this.traconMenuCssClass = this.traconMenuCssClass.concat('-visible');\r\n this._request.traconOperations = new TraconOperations();\r\n this._request.traconOperations.airCarrier = false;\r\n this._request.traconOperations.airTaxi = false;\r\n this._request.traconOperations.generalAviation = false;\r\n this._request.traconOperations.military = false;\r\n this._request.traconOperations.totalOverflights = false;\r\n } else {\r\n //alert(\" traconenable=false\");\r\n this.traconsEnabled = false;\r\n this.traconsCssClass = this.traconsCssClass.replace('down', 'right');\r\n this.traconMenuCssClass = this.traconMenuCssClass.replace('-visible', '');\r\n this._request.traconOperations = undefined;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n onSelectChange(event: Event, source: string) {\r\n let select: HTMLSelectElement = event.target as HTMLSelectElement;\r\n switch (source) {\r\n case 'scenario':\r\n this._request.scenarioId = +select.value;\r\n let scenarioId = this._request.scenarioId;\r\n let match: IScenario = this.allScenarios.filter(function (s: IScenario) {\r\n return s.id === scenarioId;\r\n })[0];\r\n\r\n this._request.setNameInSession(match.scenarioName);\r\n break;\r\n case 'startYears':\r\n this._request.startYear = +select.value;\r\n break;\r\n case 'endYears':\r\n this._request.endYear = +select.value;\r\n break;\r\n }\r\n }\r\n\r\n onCheckboxChange(event: Event, section: string, option: string): void {\r\n let checkbox: HTMLInputElement = event.target as HTMLInputElement;\r\n switch (section) {\r\n case 'aops':\r\n switch (option) {\r\n case 'itnAirCarrier':\r\n this._request.airportOperations.itnAirCarrier = checkbox.checked;\r\n break;\r\n case 'itnAirTaxi':\r\n this._request.airportOperations.itnAirTaxi = checkbox.checked;\r\n break;\r\n case 'itnGa':\r\n this._request.airportOperations.itnGa = checkbox.checked;\r\n break;\r\n case 'itnMil':\r\n this._request.airportOperations.itnMil = checkbox.checked;\r\n break;\r\n case 'localGa':\r\n this._request.airportOperations.localGa = checkbox.checked;\r\n break;\r\n case 'localMil':\r\n this._request.airportOperations.localMil = checkbox.checked;\r\n break;\r\n case 'totalOverflights':\r\n this._request.airportOperations.totalOverflights = checkbox.checked;\r\n break;\r\n case 'ifrItnAc':\r\n this._request.airportOperations.ifrItnAc = checkbox.checked;\r\n break;\r\n case 'ifrItnAt':\r\n this._request.airportOperations.ifrItnAt = checkbox.checked;\r\n break;\r\n case 'ifrItnGa':\r\n this._request.airportOperations.ifrItnGa = checkbox.checked;\r\n break;\r\n case 'ifrItnMi':\r\n this._request.airportOperations.ifrItnMi = checkbox.checked;\r\n break;\r\n }\r\n break;\r\n case 'ba':\r\n switch (option) {\r\n case 'single':\r\n this._request.basedAircraft.single = checkbox.checked;\r\n break;\r\n case 'jet':\r\n this._request.basedAircraft.jet = checkbox.checked;\r\n break;\r\n case 'multi':\r\n this._request.basedAircraft.multi = checkbox.checked;\r\n break;\r\n case 'helicopter':\r\n this._request.basedAircraft.helicopter = checkbox.checked;\r\n break;\r\n case 'other':\r\n this._request.basedAircraft.other = checkbox.checked;\r\n break;\r\n }\r\n break;\r\n case 'enpl':\r\n switch (option) {\r\n case 'airCarrier':\r\n this._request.enplanements.airCarrier = checkbox.checked;\r\n break;\r\n case 'airTaxi':\r\n this._request.enplanements.airTaxi = checkbox.checked;\r\n break;\r\n case 'commuter':\r\n this._request.enplanements.commuter = checkbox.checked;\r\n break;\r\n case 'usFlag':\r\n this._request.enplanements.usFlag = checkbox.checked;\r\n break;\r\n case 'foreignFlag':\r\n this._request.enplanements.foreignFlag = checkbox.checked;\r\n break;\r\n }\r\n break;\r\n case 'tracon':\r\n switch (option) {\r\n case 'airCarrier':\r\n this._request.traconOperations.airCarrier = checkbox.checked;\r\n break;\r\n case 'airTaxi':\r\n this._request.traconOperations.airTaxi = checkbox.checked;\r\n break;\r\n case 'generalAviation':\r\n this._request.traconOperations.generalAviation = checkbox.checked;\r\n break;\r\n case 'military':\r\n this._request.traconOperations.military = checkbox.checked;\r\n break;\r\n case 'totalOverflights':\r\n this._request.traconOperations.totalOverflights = checkbox.checked;\r\n break;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n reforecast(): void {\r\n\r\n if (this._request.startYear >= this._request.endYear) {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Start year must be less than End year'});\r\n this.bProcess = true;\r\n }\r\n\r\n // Check if all datasets is set to null\r\n if ((typeof(this._request.airportOperations) === 'undefined') &&\r\n typeof(this._request.basedAircraft) === 'undefined' &&\r\n typeof(this._request.enplanements) === 'undefined' &&\r\n typeof(this._request.traconOperations) === 'undefined') { \r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Please select a dataset'});\r\n this.bProcess = true;\r\n }\r\n \r\n \r\n // Check Airport Operations dataset options\r\n if (typeof(this._request.airportOperations) != 'undefined' &&\r\n (this._request.airportOperations.ifrItnAc ===false) &&\r\n (this._request.airportOperations.ifrItnAt ===false) &&\r\n (this._request.airportOperations.ifrItnGa ===false) &&\r\n (this._request.airportOperations.ifrItnMi ===false) &&\r\n (this._request.airportOperations.itnAirCarrier ===false) &&\r\n (this._request.airportOperations.itnAirTaxi ===false) &&\r\n (this._request.airportOperations.itnGa ===false) &&\r\n (this._request.airportOperations.itnMil ===false) &&\r\n (this._request.airportOperations.localGa ===false) &&\r\n (this._request.airportOperations.localMil ===false) &&\r\n (this._request.airportOperations.totalOverflights ===false)) {\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Please select a dataset option from Airport Operations'});\r\n this.bProcess = true;\r\n }\r\n // Check Based Aircraft dataset options\r\n if (typeof(this._request.basedAircraft) != 'undefined' &&\r\n (this._request.basedAircraft.helicopter ===false) &&\r\n (this._request.basedAircraft.jet ===false) &&\r\n (this._request.basedAircraft.multi === false) &&\r\n (this._request.basedAircraft.other === false) &&\r\n (this._request.basedAircraft.single === false)) {\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Please select a dataset option from Based Aircraft'});\r\n this.bProcess = true;\r\n }\r\n\r\n // Check Enplanements dataset options\r\n if (typeof(this._request.enplanements) != 'undefined' &&\r\n (this._request.enplanements.airCarrier === false) &&\r\n (this._request.enplanements.airTaxi ===false) &&\r\n (this._request.enplanements.commuter === false) &&\r\n (this._request.enplanements.foreignFlag ===false) &&\r\n (this._request.enplanements.usFlag ===false)) {\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Please select a dataset option from Enplanements'});\r\n this.bProcess = true;\r\n }\r\n\r\n // Check Tracon Operations dataset options\r\n if (typeof(this._request.traconOperations) != 'undefined' &&\r\n (this._request.traconOperations.airCarrier === false) &&\r\n (this._request.traconOperations.airTaxi === false) &&\r\n (this._request.traconOperations.generalAviation === false) &&\r\n (this._request.traconOperations.military === false) &&\r\n (this._request.traconOperations.totalOverflights === false)) {\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Please select a dataset option from Tracon Operations'});\r\n this.bProcess = true;\r\n }\r\n if(!this.bProcess ){\r\n this.msgs=[];\r\n this.displaySpinner = true;\r\n this.processingCssClass = this.processingCssClass.concat('-visible');\r\n this.reforecastButtonCssClass = this.reforecastButtonCssClass.replace('btn-primary','btn-processing');\r\n this.reforecastButtonText = ' Processing...';\r\n\r\n this._scenarioService.executeReforecast(this._request)\r\n .subscribe(\r\n (response: ScenarioForecastResponse) => {\r\n this.displaySpinner = false;\r\n if (response.responseStatus === 'ERROR') {\r\n this.processingCssClass = this.processingCssClass.replace('-visible', '');\r\n this.reforecastButtonCssClass = this.reforecastButtonCssClass.replace('btn-processing','btn-primary');\r\n this.reforecastButtonSpinnerCssClass = 'hidden';\r\n this.reforecastButtonText = 'Reforecast';\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error has occurred executing your request'});\r\n return;\r\n }\r\n this._router.navigate(['./scenario-reforecast-complete']);\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n else{\r\n this.bProcess =false;\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this._router.navigate(['./scenario-activities']);\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/scenario-reforecast.component.ts\n **/","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AirportOperations {\r\n itnAirCarrier: boolean;\r\n itnAirTaxi: boolean;\r\n itnGa: boolean;\r\n itnMil: boolean;\r\n localGa: boolean;\r\n localMil: boolean;\r\n totalOverflights: boolean;\r\n ifrItnAc: boolean;\r\n ifrItnAt: boolean;\r\n ifrItnGa: boolean;\r\n ifrItnMi: boolean;\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/airport-operations.ts\n **/","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class BasedAircraft {\r\n single: boolean;\r\n jet: boolean;\r\n multi: boolean;\r\n helicopter: boolean;\r\n other: boolean;\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/based-aircraft.ts\n **/","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class Enplanements {\r\n airCarrier: boolean;\r\n airTaxi: boolean;\r\n commuter: boolean;\r\n usFlag: boolean;\r\n foreignFlag: boolean;\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/enplanements.ts\n **/","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class TraconOperations {\r\n airCarrier: boolean;\r\n airTaxi: boolean;\r\n generalAviation: boolean;\r\n military: boolean;\r\n totalOverflights: boolean;\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/system-management/tracon-models/tracon-operations.ts\n **/","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Reforecast Using Stored Rates
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Scenario:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Start year:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
to End Year:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Select Data Sets
\\r\\n\\r\\n
\\r\\n Airport Operations\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Based Aircraft\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Enplanements\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Tracon Operations\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/scenario-activities/scenario-reforecast.component.html\n ** module id = 887\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES } from '@angular/router';\r\nimport { IScenario, ScenarioService, ScenarioForecastRequest } from '../scenario-activities/scenario.service';\r\nimport { UserSession } from '../shared/user-session';\r\n\r\n@Component({\r\n template: require('./scenario-reforecast-complete.component.html'),\r\n styles: [require('./scenario.css')],\r\n providers: [ScenarioForecastRequest],\r\n directives: [ROUTER_DIRECTIVES],\r\n})\r\n\r\nexport class ScenarioReforecastCompleteComponent implements OnInit, OnDestroy {\r\n pageTitle: string = 'Scenario Reforecast Complete';\r\n currentScenario: IScenario;\r\n reforecastScenarioName: string;\r\n errorMessage: string;\r\n\r\n constructor(private _scenarioService: ScenarioService,\r\n private _user: UserSession,\r\n private _router: Router,\r\n private _request: ScenarioForecastRequest) { }\r\n\r\n ngOnInit() {\r\n if (typeof (this._user.scenarioId) === 'undefined')\r\n this._router.navigate(['./scenario-activities']);\r\n\r\n this._scenarioService.getScenario(this._user.getSession().scenarioId)\r\n .subscribe(\r\n scenario => this.currentScenario = scenario,\r\n error => this.errorMessage = error\r\n );\r\n \r\n this.reforecastScenarioName = this._request.getNameInSession();\r\n }\r\n\r\n ngOnDestroy(){\r\n this._request.destroySessionValues();\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/scenario-activities/scenario-reforecast-complete.component.ts\n **/","module.exports = \"
Current Scenario: {{currentScenario.scenarioName}} ({{currentScenario.id}})
\\r\\n\\r\\n
\\r\\n

Reforecast done for scenario {{reforecastScenarioName}}

\\r\\n\\r\\n
 
\\r\\n\\r\\n
Please go back to Reforecast
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/scenario-activities/scenario-reforecast-complete.component.html\n ** module id = 889\n ** module chunks = 0\n **/","module.exports = \".current-scenario{\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.divider-space {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.merge-column {\\r\\n float: left;\\r\\n margin-right: 100px;\\r\\n}\\r\\n.section-title {\\r\\n font-weight: bold;\\r\\n}\\r\\n.btn-right {\\r\\n float: right;\\r\\n margin-left: 15px;\\r\\n}\\r\\n\\r\\n.suggestions {\\r\\n position: absolute;\\r\\n z-index: 100;\\r\\n border: 1px solid #aeaeae;\\r\\n width: 100px;\\r\\n background-color: #fff;\\r\\n}\\r\\n.suggestions ul {\\r\\n padding: 0;\\r\\n list-style-type: none;\\r\\n}\\r\\n.suggestions ul li {\\r\\n cursor: pointer;\\r\\n padding-left: 10px;\\r\\n}\\r\\n.suggestions ul li:hover {\\r\\n background-color: #f1f1f1;\\r\\n}\\r\\n.suggestions ul li a {\\r\\n text-decoration: none;\\r\\n color: #767676;\\r\\n}\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/scenario-activities/scenario.css\n ** module id = 890\n ** module chunks = 0\n **/","import { RouterConfig } from '@angular/router';\r\nimport { QueryReportComponent } from './query-report.component';\r\nimport { QueryReportGraphSelectionsComponent } from './query-reports-graph-selections.component';\r\nimport { QueryReportGraphDisplayComponent} from './query-reports-graph-display.component';\r\nimport { AuthGuard } from '../authentication/auth-guard.service';\r\n\r\nexport const QueryReportRoutes: RouterConfig = [\r\n { path: 'query-reports', component: QueryReportComponent, canActivate: [AuthGuard] },\r\n { path: 'query-reports-graph-selections', component: QueryReportGraphSelectionsComponent, canActivate: [AuthGuard] },\r\n { path: 'query-reports-graph-display', component: QueryReportGraphDisplayComponent, canActivate: [AuthGuard]}\r\n];\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/query-reports/query-report.routes.ts\n **/","import { Component, OnInit, OnDestroy, ViewChild, ElementRef} from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IQueryReportResponse, IQueryReportRequest, IQueryReportListComponent, IQueryReportsFacilityRequest } from './query-report'\r\nimport { QueryReportService } from './query-report.service';\r\nimport { IScenario, ScenarioService } from '../scenario-activities/scenario.service';\r\nimport { UserSession } from '../shared/user-session';\r\nimport { UserInfoService } from '../shared/user-info.service';\r\nimport {SystemControl} from '../shared/system-control';\r\nimport {SystemControlElem} from '../shared/system-control-elem';\r\nimport { SystemControlService} from '../shared/system-control.service';\r\n\r\n\r\nimport { Dialog } from 'primeng/primeng';\r\nimport {Messages} from 'primeng/primeng';\r\nimport {DataTable} from 'primeng/primeng';\r\nimport {Column} from 'primeng/primeng';\r\nimport {Header} from 'primeng/primeng';\r\nimport {Button} from 'primeng/primeng';\r\nimport {Paginator} from 'primeng/primeng';\r\n\r\n\r\n@Component({\r\n template: require('./query-report.component.html'),\r\n styles: [require('../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES,Dialog]\r\n})\r\n\r\nexport class QueryReportComponent implements OnInit, OnDestroy{\r\n pageTitle: string = 'Query Reports';\r\n errorMessage: string;\r\n private sub: any;\r\n msgs: Messages[]=[];\r\n cols: any[];\r\n systemControlElem: SystemControlElem;\r\n\r\n facReportListResponse : IQueryReportResponse[];\r\n request : IQueryReportRequest ;\r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n scenarioHeaderDiv: HTMLDivElement;\r\n isScenarioOwner: boolean = false;\r\n \r\n\r\n options:Array;\r\n facOptions:Array;\r\n selectedOption: IQueryReportListComponent;\r\n selectedFacOption: IQueryReportListComponent;\r\n hideElement:boolean =false;\r\n showLocids:boolean=false;\r\n showGraphs: boolean =false;\r\n displaySpinner :boolean=false;\r\n\r\n selectedLocids:string;\r\n requestLocid: IQueryReportsFacilityRequest;\r\n locidResponse :IQueryReportResponse;\r\n \r\n graphOptions : any[];\r\n locidCnt :number =0;\r\n graphTableSelected:string;\r\n graphIdSelected:number=0;\r\n allYears :Array;\r\n yearIdSelected :number=0;\r\n scenarioDDL:HTMLSelectElement;\r\n selYear :number;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _queryReportService: QueryReportService, \r\n private _scenarioService: ScenarioService, \r\n private User: UserSession, \r\n private _userInfoService: UserInfoService,\r\n private _systemControlService:SystemControlService) {\r\n\r\n this.selectedOption= new IQueryReportListComponent(1, 'Scenario Quick Data Summary Report ');\r\n this.selectedFacOption= new IQueryReportListComponent(9, 'Select all LOCIDs ');\r\n this.options = [\r\n new IQueryReportListComponent(1, 'Scenario Quick Data Summary Report '),\r\n new IQueryReportListComponent(2, 'Scenario Quick Growth Rate Summary Report '),\r\n new IQueryReportListComponent(3, 'Scenario Operations and Enplanement Data Summary  (Date range is always last history year through last forecast year) '),\r\n new IQueryReportListComponent(4, 'Scenario Operations and Enplanement Growth Rates Summary  (Date range is always last history year through last forecast year) '),\r\n new IQueryReportListComponent(5, 'Scenario Facility List   (Date range does not affect this report) '),\r\n new IQueryReportListComponent(6, 'Facility Quick Data Summary Report '),\r\n new IQueryReportListComponent(7, 'Facility Quick Growth Rate Summary Report '),\r\n new IQueryReportListComponent(8, 'Produce Graphs (for the entire scenario) ')\r\n\r\n ];\r\n this.facOptions=[\r\n new IQueryReportListComponent(9, 'Select all LOCIDs '),\r\n new IQueryReportListComponent(10, 'Select a subset of LOCIDs '),\r\n ];\r\n this.graphOptions=[\r\n {display: 'Airport Operations', value: 0, dbName:'AirportOperations'},\r\n {display: 'Based Aircraft', value: 1,dbName:'Basedaircraft'},\r\n {display: 'Enplanements', value: 2, dbName:'Enplanements'},\r\n {display: 'Tracon Operations', value: 3,dbName:'TraconOPS'}\r\n ];\r\n this.allYears = [new IQueryReportListComponent(0,'')];\r\n }\r\n\r\n @ViewChild('scenarioHeader') scenarioHeader: ElementRef;\r\n \r\n ngOnInit(): void{\r\n \r\n this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this.User.getSession().scenarioId);\r\n }\r\n );\r\n \r\n //this probably needs to be somewhere more central\r\n this.User.updateSessionState();\r\n \r\n this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(\r\n success => this.isScenarioOwner = success.isOwner,\r\n error => this.errorMessage = error\r\n );\r\n this.getSystemControlValues();\r\n //this.locidResponse = new IQueryReportResponse('','','','','',[],[]);\r\n }\r\n \r\n getSystemControlValues(){\r\n this._systemControlService.getSystemControl()\r\n .subscribe(\r\n systemControlElem => {\r\n this.systemControlElem = systemControlElem;\r\n },\r\n error => this.errorMessage = error,\r\n ()=>{\r\n this.selYear = this.systemControlElem.fyYear -3;\r\n this.request = new IQueryReportRequest(this.systemControlElem.fyYear -3,1,1,9,[]);\r\n this.requestLocid=new IQueryReportsFacilityRequest([''],1);\r\n\r\n //set first year of report dropdown; rather than going to the database for this dropdown, we will create the data array here\r\n // using sysControl Fyear-3 as end point and 1980 as first year of report.\r\n \r\n for(let year = 1976; year <=this.systemControlElem.fyYear-3; year++){\r\n this.allYears.push( new IQueryReportListComponent(year, year+\"\"));\r\n }\r\n this.yearIdSelected = this.systemControlElem.fyYear-3;\r\n });\r\n }\r\n getValueFacOpt(optionid:number){\r\n this.selectedFacOption = this.facOptions.filter((item)=> item.id == optionid)[0];\r\n if(this.selectedFacOption.id==10){\r\n this.showLocids=true;\r\n }\r\n else{\r\n this.showLocids =false;\r\n }\r\n }\r\n onYearChange(event: Event): void {\r\n let yearOptionSelected: number = +(event.target as HTMLSelectElement).value;\r\n this.yearIdSelected = yearOptionSelected;\r\n }\r\n\r\n onGraphSelectionChange(event: Event): void {\r\n let graphOptionSelected: number = +(event.target as HTMLSelectElement).value;\r\n this.graphIdSelected = graphOptionSelected;\r\n }\r\n\r\n onScenarioChange(event: Event): void {\r\n let selectedScenarioId: number = +(event.target as HTMLSelectElement).value;\r\n this.User.scenarioId = selectedScenarioId;\r\n this.setScenarioHeader(selectedScenarioId);\r\n this.User.updateSessionState();\r\n }\r\n getValue(optionid:number) {\r\n this.selectedOption = this.options.filter((item)=> item.id == optionid)[0];\r\n \r\n if(this.selectedOption.id ===7 || this.selectedOption.id ===6 ){\r\n this.hideElement = true;\r\n }\r\n else\r\n {\r\n this.hideElement = false;\r\n }\r\n if(this.selectedOption.id ===8){\r\n this.showGraphs = true;\r\n }\r\n else{\r\n this.showGraphs =false;\r\n }\r\n }\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n this.scenarioHeaderDiv.innerHTML = `Current Scenario: ${this.currentScenario.scenarioName} (${this.currentScenario.id})`;\r\n }\r\n\r\n generateReport(){\r\n \r\n this.msgs=[];\r\n this.displaySpinner = true;\r\n this.request.scenario = this.currentScenario.id;\r\n this.request.startYear = this.yearIdSelected;\r\n this.request.reportId = this.selectedOption.id;\r\n this.request.facOption = this.selectedFacOption.id;\r\n this.request.locidList=[];\r\n \r\n if(this.request.startYear==0){\r\n this.msgs=[];\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: 'Please select start year.' });\r\n this.displaySpinner = false;\r\n return;\r\n }\r\n if(this.locidResponse == null \r\n && this.selectedFacOption.id === 10\r\n && (this.request.reportId ===6 || this.request.reportId === 7))\r\n {\r\n this.msgs=[];\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: 'Please select at least one locid for Facility level reports.' });\r\n this.displaySpinner = false;\r\n return;\r\n }\r\n else if( this.locidResponse != null &&\r\n this.selectedFacOption.id === 10){\r\n this.request.locidList = this.locidResponse.savedLocidList;\r\n }\r\n if(this.request.reportId === 8){\r\n let params = {\r\n startYear:this.yearIdSelected,\r\n endYear:this.systemControlElem.lfcYear,\r\n scenario:this.request.scenario,\r\n tableId:this.graphIdSelected,\r\n reportId: this.request.reportId\r\n }\r\n this.router.navigate([`/query-reports-graph-selections`, params]);\r\n return;\r\n }\r\n this._queryReportService.getFacilityListReport(this.request)\r\n .subscribe(\r\n response => {\r\n this.displaySpinner = false;\r\n this.facReportListResponse = response;\r\n if (this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error has occurred executing your request'\r\n +this.facReportListResponse[0].responseMessage});\r\n }\r\n else if (this.facReportListResponse[0].responseMessage === 'No Data') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Info Message', detail: 'No Data returned.'\r\n +this.facReportListResponse[0].responseMessage});\r\n this.facReportListResponse[0].pdfFileUrl=\"\";\r\n this.facReportListResponse[0].htmlFileUrl=\"\";\r\n }\r\n else{\r\n this.msgs=[];\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n this.cols = [\r\n {field: \"htmlFileUrl\", header: 'Html'},\r\n {field: \"pdfFileUrl\", header: 'Pdf'},\r\n ]\r\n if(this.request.reportId ===6 || this.request.reportId === 7){\r\n this.locidResponse.savedLocidList=null;\r\n this.locidCnt =0;\r\n }\r\n }\r\n //console.log (\"response facility report \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n /* removeFacilityFromList(locid: string): void {\r\n let index: number = this.request.facilities.indexOf(locid);\r\n this.request.facilities.splice(index, 1);\r\n }\r\n\r\n clearAllFacilities(): void {\r\n this.request.facilities = [];\r\n }*/\r\n cancelLocids(){\r\n this.showLocids = false;\r\n this.selectedLocids='';\r\n \r\n }\r\n removeFacilityFromList(locid: string): void {\r\n let index: number = this.locidResponse.savedLocidList.indexOf(locid);\r\n this.locidResponse.savedLocidList.splice(index, 1);\r\n this.locidCnt =this.locidResponse.savedLocidList.length;\r\n }\r\n cancel(){\r\n this.router.navigate(['/welcome']);\r\n }\r\n saveLocids() { \r\n\r\n var charExp = /[^a-zA-Z0-9]+/;\r\n let nonAlpha = ( this.selectedLocids.replace (/[\\t\\n\\s\\r]{1,}/g,\"\")).match(charExp);\r\n if(nonAlpha != null){\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Please check the list of LOCID.\\nIt can only contain digits[0-9] and alphabets[a-z].' });\r\n return;\r\n }\r\n let selectedLocidsArr = this.selectedLocids.replace (/[\\t\\n\\s\\r]{1,}/g,\",\").split(\",\");\r\n let bError = false;\r\n for(var i=0; i<=selectedLocidsArr.length-1; i++){\r\n if((selectedLocidsArr[i])!=null){\r\n if((selectedLocidsArr[i].length>4) || (selectedLocidsArr[i].length <3)){\r\n bError=true;\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'The LOCID length can be only 3 or 4 characters.' });\r\n return;\r\n }\r\n }\r\n }\r\n this.requestLocid.locid=selectedLocidsArr;\r\n this.requestLocid.scenarioId = this.currentScenario.id;\r\n this._queryReportService.saveLocids(this.requestLocid)\r\n .subscribe(\r\n response => {\r\n this.locidResponse = response;\r\n \r\n if(this.locidResponse.responseMessage ===\"No Match\"){\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'Following Locid list is not part of your selected scenario '\r\n + this.locidResponse.locidNoMatch + '. Please correct the errors before continuing.'});\r\n this.locidCnt = 0;\r\n }\r\n this.showLocids = false;\r\n if(this.locidResponse.savedLocidList != null)\r\n {\r\n this.locidCnt = this.locidResponse.savedLocidList.length;\r\n //console.log(\"locidResponse.savedLocidList: \"+this.locidResponse.savedLocidList.length);\r\n // console.log(\"locidResponse.responseStatus: \"+this.locidResponse.responseStatus);\r\n }\r\n },\r\n error => {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error occured while processing your request.' });\r\n this.showLocids = false;\r\n this.locidCnt = 0;\r\n },\r\n () => {}\r\n );\r\n this.selectedLocids='';\r\n }\r\n openPDFFile(responsepdf:any){\r\n window.open(responsepdf, '_blank');\r\n }\r\n openHTMLFile(responseHtml:any){\r\n window.open(responseHtml, '_blank');\r\n }\r\n ngOnDestroy() {\r\n // this.sub.unsubscribe();\r\n }\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/query-reports/query-report.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n
\\r\\n {{pageTitle}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n HTML: \\r\\n
\\r\\n
\\r\\n PDF: \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n
Query Reports
\\r\\n

\\r\\n
\\r\\n
\\r\\n
Scenario Name:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
First year used in report:
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n
Scenario-Level Reports
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

\\r\\n
Facility-Level Reports
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n For Facility-Level Reports, you may select all LOCIDs or a subset:
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n
Graph Reports
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Choose data set:
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
Selected Facilities
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Currently Facilities Selected:
\\r\\n
{{locidCnt}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n You may paste a list of LOCIDs into the box below. \\r\\n This list will override any previous LOCID entries.\\r\\n To keep your current list of LOCIDs, please click the \\\"Cancel\\\" button. \\r\\n Enter data here, one LOCID per line (no commas):\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/query-reports/query-report.component.html\n ** module id = 893\n ** module chunks = 0\n **/","import { Component, Input, Output, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { AirportService } from '../airports/airport.service';\r\nimport { QueryReportListRequest, IQueryReportListColumnResponse, IOperation} from './query-report';\r\nimport { IScenario, ScenarioService } from '../scenario-activities/scenario.service';\r\nimport { IQueryReportResponse, IQueryReportRequest, IQueryReportListComponent, IQueryReportsFacilityRequest } from './query-report'\r\nimport { UserInfoService } from '../shared/user-info.service';\r\nimport { QueryReportService } from './query-report.service';\r\nimport { UserSession } from '../shared/user-session';\r\nimport { Button } from 'primeng/primeng';\r\nimport { Checkbox } from 'primeng/primeng';\r\nimport * as _ from 'lodash';\r\n\r\nimport { Dialog } from 'primeng/primeng';\r\nimport {Messages} from 'primeng/primeng';\r\nimport {SystemControl} from '../shared/system-control';\r\nimport {SystemControlElem} from '../shared/system-control-elem';\r\nimport { SystemControlService} from '../shared/system-control.service';\r\n\r\n@Component({\r\n selector: 'query-reports-graph-selections',\r\n template: require('./query-reports-graph-selections.component.html'),\r\n styles: [require('../styles/faa_styles.css')],\r\n directives: [Button, Checkbox]\r\n})\r\n\r\nexport class QueryReportGraphSelectionsComponent implements OnInit, OnDestroy{\r\n //@Input() operation: IOperation;\r\n @Input() selected: boolean;\r\n @Input() locId: string;\r\n @Input() airportName: string;\r\n @Input() displayAll: boolean;\r\n\r\n \r\n //columns: IOperationListColumnResponse[];\r\n msgs: Messages[]=[];\r\n errorMessage: string;\r\n systemControlElem: SystemControlElem;\r\n \r\n startYears:number[] = [];\r\n endYears:number[] = [];\r\n\r\n selectedStartYear: number;\r\n selectedEndYear: number;\r\n graphType: string = \"Line\";\r\n yearsToPreview: number = 4;\r\n hasData: boolean;\r\n dataCheckDone: boolean = false;\r\n columns: IQueryReportListColumnResponse[];\r\n private sub: any; \r\n tableId: string;\r\n endYear:number;\r\n startYear:number;\r\n scenario:number;\r\n tableName:string;\r\n tableDisplayName: string;\r\n allOperations: IOperation[];\r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n scenarioHeaderDiv: HTMLDivElement;\r\n isScenarioOwner: boolean = false;\r\n facReportListResponse : IQueryReportResponse[];\r\n displaySpinner :boolean=false;\r\n cols: any[];\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _airportService: AirportService,\r\n private _queryReportService: QueryReportService, \r\n private _scenarioService: ScenarioService,\r\n private _userInfoService: UserInfoService, \r\n private User: UserSession,\r\n private request: QueryReportListRequest,\r\n private _systemControlService:SystemControlService) \r\n {}\r\n @ViewChild('scenarioHeader') scenarioHeader: ElementRef;\r\n\r\n ngOnInit(): void{\r\n this.scenarioHeaderDiv = this.scenarioHeader.nativeElement;\r\n this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this.User.getSession().scenarioId);\r\n }\r\n );\r\n \r\n //this probably needs to be somewhere more central\r\n this.User.updateSessionState();\r\n \r\n this._userInfoService.isScenarioOwner(this.User.getSession()['id'], this.User.getSession().scenarioId).subscribe(\r\n success => this.isScenarioOwner = success.isOwner,\r\n error => this.errorMessage = error\r\n );\r\n\r\n this.sub = this.route.params.subscribe(\r\n params => {\r\n this.tableId = params['tableId'];\r\n this.startYear = params['startYear'];\r\n this.endYear = params['endYear'];\r\n this.scenario = params['scenario'];\r\n switch (this.tableId) {\r\n case \"0\":\r\n {\r\n this.tableName='AirportOperations';\r\n this.tableDisplayName='Airport Operations';\r\n break;\r\n }\r\n case \"1\":\r\n {\r\n this.tableName='Basedaircraft';\r\n this.tableDisplayName='Based Aircraft';\r\n break;\r\n }\r\n case \"2\":\r\n {\r\n this.tableName='Enplanements';\r\n this.tableDisplayName='Enplanements';\r\n break;\r\n }\r\n case \"3\":\r\n {\r\n this.tableName='traconops';\r\n this.tableDisplayName='Tracon Operations';\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n this.getColumns();\r\n \r\n });\r\n }\r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n this.scenarioHeaderDiv.innerHTML = `Current Scenario: ${this.currentScenario.scenarioName} (${this.currentScenario.id})`;\r\n }\r\n\r\n \r\n getColumns(){\r\n //reusing airports code\r\n this.request.tableName = this.tableName;\r\n this.request.scenario = this.User.getSession().scenarioId;\r\n this.request.isAdmin = this.User.getSession().isAdmin ? 1 : 0;\r\n this._airportService.getOperationsColumns(this.request)\r\n .subscribe(\r\n columns => this.columns = columns,\r\n error => this.errorMessage = error);\r\n }\r\n\r\n getSystemControlValues(){\r\n this._systemControlService.getSystemControl()\r\n .subscribe(\r\n systemControlElem => {\r\n this.systemControlElem = systemControlElem;\r\n },\r\n error => this.errorMessage = error);\r\n }\r\n cancel(){\r\n this.router.navigate([`/query-reports`]);\r\n }\r\n ngOnDestroy(){}\r\n\r\n generateGraph(){\r\n this.displaySpinner =true;\r\n let selectedColumns = this.columns.filter(function(column){\r\n return column.graphR == 1;\r\n });\r\n if(selectedColumns.length === 0){\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'At least one data column must be selected.' });\r\n return;\r\n }\r\n \r\n sessionStorage.setItem('operations-graph-columns', JSON.stringify(selectedColumns));\r\n\r\n /* let params = {\r\n displayName: this.tableDisplayName,\r\n tableName:this.tableName,\r\n locId: 0, //pass sin 0 to run graphs for entire scenario\r\n airportName: '',\r\n graphType: this.graphType,\r\n startYear: this.startYear,\r\n endYear: this.endYear,\r\n quickGraph: \"false\",\r\n reportId: this.request\r\n };*/\r\n this.request.graphType = this.graphType;\r\n this.request.scenarioId = this.scenario;\r\n this.request.startYear = this.startYear;\r\n this.request.reportId = 8; //produce graphs\r\n this.request.columns = JSON.parse(sessionStorage.getItem('operations-graph-columns'));\r\n \r\n \r\n this._queryReportService.getFacilityListReport(this.request)\r\n .subscribe(\r\n response => {\r\n this.displaySpinner = false;\r\n this.facReportListResponse = response;\r\n if (this.facReportListResponse[0].responseStatus === 'ERROR') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Error Message', detail: 'An error has occurred executing your request'\r\n +this.facReportListResponse[0].responseMessage});\r\n }\r\n else if (this.facReportListResponse[0].responseMessage === 'No Data') {\r\n this.msgs=[];\r\n this.msgs.push({severity:'error', summary:'Info Message', detail: 'No Data returned.'\r\n +this.facReportListResponse[0].responseMessage});\r\n this.facReportListResponse[0].pdfFileUrl=\"\";\r\n this.facReportListResponse[0].htmlFileUrl=\"\";\r\n }\r\n else{\r\n this.msgs=[];\r\n this.msgs.push({severity:'info', summary:'Info Message', detail: 'PDF & HTML file generated; please click links below' });\r\n this.cols = [\r\n {field: \"htmlFileUrl\", header: 'Html'},\r\n {field: \"pdfFileUrl\", header: 'Pdf'},\r\n ]\r\n }\r\n //console.log (\"response facility report \" + this.facReportListResponse[0].htmlFileUrl + \" \" \r\n // + this.facReportListResponse[0].pdfFileUrl +\" \" + this.facReportListResponse[0].responseMessage +\" \"\r\n // + this.facReportListResponse[0].responseStatus +\" \" + this.facReportListResponse[0].responseDisplay)\r\n },\r\n error => this.errorMessage = error\r\n );\r\n //this.router.navigate([`/query-reports-graph-display`, params]);\r\n }\r\n openPDFFile(responsepdf:any){\r\n window.open(responsepdf, '_blank');\r\n }\r\n openHTMLFile(responseHtml:any){\r\n window.open(responseHtml, '_blank');\r\n }\r\n}\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/query-reports/query-reports-graph-selections.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n PDF: \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Data: {{tableDisplayName}} \\r\\n
\\r\\n
\\r\\n \\r\\n
Loading please wait ....
\\r\\n
Do Not click back or Refresh the page
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Graph Types:
\\r\\n
\\r\\n
\\r\\n Bar
\\r\\n Line\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/query-reports/query-reports-graph-selections.component.html\n ** module id = 895\n ** module chunks = 0\n **/","import { Component, OnInit, OnDestroy} from '@angular/core';\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\nimport { IQueryReportListColumnResponse } from './query-report';\r\nimport { TabViewModule } from 'primeng/primeng';\r\nimport { TabView } from 'primeng/primeng';\r\nimport { TabPanel } from 'primeng/primeng';\r\n\r\nimport { QueryReportService } from '../query-reports/query-report.service';\r\nimport { IScenario, ScenarioService } from '../scenario-activities/scenario.service';\r\n\r\nimport { UserSession } from '../shared/user-session';\r\nimport { UserInfoService } from '../shared/user-info.service';\r\n\r\nimport { Dialog } from 'primeng/primeng';\r\nimport {Messages} from 'primeng/primeng';\r\nimport { UIChart} from 'primeng/primeng';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n template: require('./query-reports-graph-display.component.html'),\r\n styles: [require('../styles/faa_styles.css')],\r\n directives: [ROUTER_DIRECTIVES, UIChart]\r\n})\r\n\r\nexport class QueryReportGraphDisplayComponent implements OnInit, OnDestroy{\r\n pageTitle: string;\r\n errorMessage: string;\r\n private sub: any; \r\n msgs: Messages[]=[];\r\n\r\n currentScenario: IScenario;\r\n allScenarios: IScenario[];\r\n\r\n tableName: string;\r\n displayName: string;\r\n locId: string;\r\n airportName: string;\r\n graphType: string = \"bar\";\r\n\r\n startYear: number;\r\n endYear: number;\r\n\r\n columns: IQueryReportListColumnResponse[];\r\n\r\n result: any;\r\n data: any;\r\n quickGraph: string;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private _queryReportService: QueryReportService,\r\n private _scenarioService: ScenarioService, \r\n private User: UserSession, \r\n private _userInfoService: UserInfoService) {\r\n }\r\n\r\n ngOnInit(): void{\r\n this.sub = this.route.params.subscribe(\r\n params => {\r\n this.tableName = params['tableName'];\r\n this.displayName = params['displayName'];\r\n this.locId = params['locId'];\r\n this.airportName = params['airportName'];\r\n this.graphType = params['graphType'];\r\n this.startYear = params['startYear'];\r\n this.endYear = params['endYear'];\r\n this.quickGraph = params['quickGraph'];\r\n \r\n this.columns = JSON.parse(sessionStorage.getItem('operations-graph-columns'));\r\n\r\n this.getGraphData();\r\n }\r\n );\r\n\r\n this._scenarioService.getScenarios(this.User.getSession()['id'])\r\n .subscribe(\r\n scenarios => this.allScenarios = scenarios,\r\n error => this.errorMessage = error,\r\n () => {\r\n this.setScenarioHeader(this.User.getSession().scenarioId);\r\n }\r\n );\r\n }\r\n\r\n\r\n getGraphData(){\r\n\r\n let params = {\r\n tableName: this.tableName,\r\n locId: 0,\r\n scenarioId: this.User.getSession().scenarioId,\r\n startYear: this.startYear,\r\n endYear: this.endYear,\r\n columns: this.columns\r\n }\r\n\r\n this._queryReportService.getFacilityListReport(params)\r\n .subscribe(\r\n result => {\r\n this.result = result;\r\n\r\n this.createGraphDataSet();\r\n }\r\n );\r\n }\r\n\r\n createGraphDataSet(){\r\n\r\n let labels = _.map(this.result,'AYEAR');\r\n let datasets: any[] = [];\r\n\r\n for(let index in this.columns)\r\n {\r\n let dataset = {\r\n label: this.columns[index].graphName,\r\n data: _.map(this.result, this.columns[index].graphName),\r\n fill: false,\r\n \r\n backgroundColor: this.getRandomColor(),\r\n borderColor: this.getRandomColor()\r\n }\r\n\r\n datasets[index] = dataset;\r\n }\r\n \r\n this.data = {\r\n labels: labels,\r\n datasets: datasets\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n \r\n private setScenarioHeader(scenarioId: number):void {\r\n let foundScenarios:IScenario[] = this.allScenarios.filter(function(scenario){\r\n return scenario.id === scenarioId;\r\n });\r\n if(foundScenarios.length > 0){\r\n this.currentScenario = foundScenarios[0];\r\n }\r\n }\r\n\r\n getRandomColor() {\r\n let letters = '0123456789ABCDEF';\r\n let color = '#';\r\n \r\n for (let i = 0; i < 6; i++ ) {\r\n color += letters[Math.floor(Math.random() * 16)];\r\n }\r\n\r\n return color;\r\n }\r\n\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/query-reports/query-reports-graph-display.component.ts\n **/","module.exports = \"
Current Scenario: {{currentScenario.scenarioName}}
\\r\\n
\\r\\n
\\r\\n {{'Facility: ' + locId + ' - ' + airportName }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{displayName}}\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/query-reports/query-reports-graph-display.component.html\n ** module id = 897\n ** module chunks = 0\n **/","import { Routes } from '@angular/router';\r\n\r\nimport { LoginComponent } from './login.component';\r\nimport { ForgotPasswordComponent } from './forgot-password.component';\r\nimport { ResetPasswordComponent } from './reset-password.component';\r\nimport { ResetPasswordSuccessComponent } from './reset-password-success.component';\r\n\r\nexport const AuthRoutes: Routes = [\r\n { path: 'login', component: LoginComponent },\r\n { path: 'login-help', component: ForgotPasswordComponent },\r\n { path: 'reset-password', component: ResetPasswordComponent },\r\n { path: 'reset-password-success', component: ResetPasswordSuccessComponent }\r\n];\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/authentication/auth.routes.ts\n **/","import { Component, ElementRef, OnInit } from '@angular/core';\r\nimport { AuthService } from './auth.service'\r\nimport { Router, ActivatedRoute} from '@angular/router';\r\nimport {LoadingIndicator} from '../shared/loading-indicator';\r\nimport { UserSession } from '../shared/user-session';\r\nimport { UserInfoService } from '../shared/user-info.service';\r\nimport { Http, Response, RequestOptionsArgs, Headers } from '@angular/http';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n //providers: [AuthService],\r\n directives: [LoadingIndicator],\r\n //templateUrl: 'app/authentication/login.component.html'\r\n template: require('./login.component.html'),\r\n})\r\n\r\n\r\n\r\nexport class LoginComponent implements OnInit {\r\n\r\n public alerts: any[];\r\n public loggingIn: boolean;\r\n public userName: string;\r\n public userPassword: string;\r\n \r\n public userNameFocus = true;\r\n private sub: any;\r\n private suboidc: any;\r\n public requestedUrl: string ='';\r\n public oidcCode: string ='';\r\n\r\n\r\n constructor(private router: Router,\r\n private authService: AuthService, \r\n private route: ActivatedRoute, \r\n private User: UserSession, \r\n private _userInfoService: UserInfoService) {} \r\n \r\n ngOnInit() : void{\r\n console.log(this.route.queryParams);\r\n \r\n\r\n this.sub = this.route.params.subscribe(\r\n params => {\r\n this.requestedUrl = params['requestedUrl'];\r\n });\r\n\r\n this.suboidc = this.route.queryParams.subscribe(\r\n params => {\r\n let oidcCode = params['code'];\r\n if(!_.isEmpty(oidcCode)){\r\n this.login(oidcCode)\r\n }\r\n\r\n });\r\n\r\n if(this.authService.isLoggedIn()){\r\n this.router.navigate(['/welcome']);\r\n }\r\n }\r\n\r\n loginoidc(){\r\n this.authService.oidclogin();\r\n }\r\n\r\n login(oidcCode: string) {\r\n this.loggingIn = true;\r\n\r\n this.authService.login(oidcCode)\r\n .subscribe(\r\n success => {\r\n this.User.updateSessionState();\r\n this.ngOnInit();\r\n if(this.requestedUrl){\r\n this.router.navigate([this.requestedUrl]);\r\n }\r\n else{\r\n this.router.navigate(['/welcome']);\r\n }\r\n window.location.reload();\r\n \r\n },\r\n error => {\r\n console.log(\"ERROR\" + error)\r\n this.alerts = [];\t\t\r\n\t\t\t\t\tthis.alerts.push({type: 'danger', msg: error.error_description || 'Error Connecting to Server' });\r\n this.loggingIn = false\r\n }\r\n );\r\n }\r\n\r\n closeAlert(index: number) {\r\n this.alerts.splice(index, 1);\r\n \t}\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/authentication/login.component.ts\n **/","import {Component} from '@angular/core';\r\n\r\nexport class LoadingPage {\r\n public loading: boolean;\r\n constructor(val: boolean) {\r\n this.loading = val;\r\n }\r\n standby() {\r\n this.loading = true;\r\n }\r\n ready() {\r\n this.loading = false;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'loading-indicator',\r\n template: `
`\r\n})\r\nexport class LoadingIndicator {}\n\n\n/** WEBPACK FOOTER **\n ** ./app/shared/loading-indicator.ts\n **/","module.exports = \"\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Sign In\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
{{alert.msg}}
\\r\\n
\\r\\n
\\r\\n Users are accessing a U.S. Government information system.
\\r\\n System usage may be monitored, recorded, and subject to audit.
\\r\\n Unauthorized use of the system is prohibited and\\r\\n subject to civil and criminal penalties.
\\r\\n Use of the system indicates consent to monitoring and recording.

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/authentication/login.component.html\n ** module id = 901\n ** module chunks = 0\n **/","import { Component, ElementRef, OnInit } from '@angular/core';\r\nimport { AccountService } from '../accounts/account.service';\r\nimport { Router, ActivatedRoute} from '@angular/router';\r\n\r\n\r\n@Component({\r\n providers: [AccountService],\r\n //templateUrl: 'app/authentication/forgot-password.component.html'\r\n template: require('./forgot-password.component.html'),\r\n})\r\n \r\nexport class ForgotPasswordComponent implements OnInit {\r\n\r\n public alerts: any[];\r\n public forgot = 'username';\r\n public question: any;\r\n public code: any;\r\n public email: string;\r\n public answer: string;\r\n public newPassword: string;\r\n private sub: any;\r\n public sendingEmail: boolean;\r\n\r\n\r\n constructor(private router: Router,\r\n private accountService: AccountService, \r\n private route: ActivatedRoute) {} \r\n\r\n ngOnInit() : void{\r\n\r\n //So for this don't think I need the below currently because we are not doing security questions\r\n\r\n // this.sub = this.route.params.subscribe(\r\n // params => {\r\n // this.email = params['email'];\r\n // this.code = params['code'];\r\n // });\r\n\r\n // if(this.email){\r\n\t\t// \tthis.accountService.getSecurityQuestionForEmail(this.email)\r\n // .subscribe(\r\n // data => this.question = data.question,\r\n // error => {\r\n // this.alerts = [];\r\n\t\t// \t\t\t\tthis.alerts.push({type: 'danger', \r\n\t\t// \t\t\t\t\tmsg: 'An unexpected error occurred while retrieving your security question.'});\r\n // this.timeoutAlert(); \r\n // }\r\n // );\r\n\t\t// }\r\n }\r\n\r\n\r\n timeoutAlert(){\r\n setTimeout(() => {\r\n this.alerts = [];\r\n //supposedly not needed in angular2\r\n //$scope.$apply();\r\n }, 1000);\r\n }\r\n\r\n\r\n \r\n forgotSomething(){\r\n\r\n\r\n \r\n this.sendingEmail = true;\r\n\r\n let baseUrl = window.location.href.substring(0, window.location.href.lastIndexOf('/'));\r\n\r\n // if(this.forgot === 'username'){\r\n \r\n // this.accountService.retrieveUsername({email: this.email, baseUrl: baseUrl})\r\n // .subscribe(\r\n // success => {\r\n // this.alerts = [];\r\n // this.alerts.push({type: 'success', msg: 'Your e-mail has been sent.'}); \r\n // },\r\n // error => {\r\n // this.alerts = [];\r\n // this.alerts.push({type: 'danger', msg: error});\r\n // this.timeoutAlert();\r\n // }\r\n // );\r\n // }\r\n // else{\r\n this.accountService.forgotPwd({email: this.email, baseUrl: baseUrl})\r\n .finally(() => this.sendingEmail = false)\r\n .subscribe(\r\n success => {\r\n this.alerts = [];\r\n this.alerts.push({type: 'success', msg: 'Your e-mail has been sent.'}); \r\n },\r\n error => {\r\n this.alerts = [];\r\n this.alerts.push({type: 'danger', msg: error});\r\n this.timeoutAlert();\r\n }\r\n );\r\n //}\r\n\t}\r\n\r\n closeAlert(index: number) {\r\n \tthis.alerts.splice(index, 1);\r\n \t}\r\n\r\n verifySecurityQuestion(){\r\n this.accountService.verifySecurityQuestion(this.email, this.answer)\r\n .subscribe(\r\n data => {\r\n if(data === 'true'){\r\n this.router.navigate(['/reset-password']);\r\n }else{\r\n this.alerts = [];\r\n\t\t\t\t\t\tthis.alerts.push({type: 'danger', msg: \"The answer doesn't match our records. Please try again.\"});\r\n\t\t\t\t\t}\r\n },\r\n error => {\r\n this.alerts = [];\r\n this.alerts.push({type: 'danger', msg: 'An unexpected error occurred while verifying your answer.'}); \r\n },\r\n () => this.timeoutAlert()\r\n );\t\t\t\t\t\t\r\n\t}\r\n\r\n\tresetPassword(){\r\n\t let pwdData = {\r\n\t\t email: this.email,\r\n\t\t\tresetToken: this.code,\r\n\t\t\tnewPassword: this.newPassword\r\n\t\t};\r\n\r\n\t\tthis.accountService.resetPwd(pwdData)\r\n .subscribe(\r\n data => {\r\n if(data.succeeded){\r\n this.router.navigate(['/reset-password-success']);\r\n }else{\r\n this.alerts = [];\r\n\t\t\t\t\t\tthis.alerts.push({type: 'danger', msg: data.errors[0]});\r\n\t\t\t\t\t}\r\n },\r\n error => {\r\n this.alerts = [];\r\n this.alerts.push({type: 'danger', msg: 'An error occurred resetting your password. Please try again'}); \r\n },\r\n () => this.timeoutAlert()\r\n\r\n );\r\n \t}\r\n}\r\n\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/authentication/forgot-password.component.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Headers } from '@angular/http';\r\nimport { HttpHelper } from '../shared/http-helper';\r\nimport { Observable } from 'rxjs/Rx';\r\n\r\n@Injectable()\r\nexport class AccountService {\r\n\r\n constructor(private httpHelper: HttpHelper) {}\r\n\r\n changePwd(pwdData: any): Observable{\r\n return this.httpHelper.post(\r\n 'auth/api/account/changepwd', \r\n JSON.stringify(pwdData));\r\n\t}\r\n\r\n\tforgotPwd(pwdData: any): Observable{\r\n return this.httpHelper.post(\r\n 'auth/api/account/forgotpwd', \r\n JSON.stringify(pwdData));\r\n\t}\r\n\r\n verifySecurityQuestion(email: string, answer: string): Observable{\r\n\t\t\t\r\n let data = {\r\n\t\t email: email,\r\n\t\t\tanswer: answer\r\n };\r\n\r\n return this.httpHelper.post(\r\n 'auth/api/account/validatesecurityquestion', \r\n JSON.stringify(data));\r\n\t}\r\n\r\n\tgetSecurityQuestionForEmail(email: string): Observable{\t\t\t\r\n\t\tlet secQuestionData = {\r\n\t\t\temail: email\r\n\t\t};\r\n\r\n return this.httpHelper.post(\r\n 'auth/api/account/securityquestion', \r\n JSON.stringify(secQuestionData));\r\n }\r\n\r\n\tresetPwd(pwdData: any): Observable{\r\n\t\t\t\r\n return this.httpHelper.post(\r\n 'auth/api/account/resetpwd', \r\n JSON.stringify(pwdData));\r\n\t}\r\n\r\n\tgetSecurityQuestions(): Observable{\r\n return this.httpHelper.get('auth/api/account/questions');\r\n\t}\r\n\r\n\tgetAccountInfo(username: string): Observable{\r\n\r\n var data = {\r\n \t\t\tusername: username\r\n\t\t};\r\n \r\n return this.httpHelper.post(\r\n 'auth/api/account/info', \r\n JSON.stringify(data));\r\n //JSON.stringify('username':username}));\r\n\t}\r\n\r\n\tsaveSecurityQuestionAnswers(securityQuestionData: any): Observable{\r\n\r\n return this.httpHelper.post(\r\n 'auth/api/account/savesecurityanswer', \r\n JSON.stringify(securityQuestionData));\r\n }\r\n\r\n\tretrieveUsername(usernameData: any): Observable{\r\n\r\n return this.httpHelper.post(\r\n 'auth/api/account/forgotusername', \r\n JSON.stringify(usernameData));\r\n\t}\r\n\r\n\tconfirmEmail(confirmationData: any): Observable{\r\n\r\n return this.httpHelper.post(\r\n 'auth/api/account/confirmemail', \r\n JSON.stringify(confirmationData));\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/accounts/account.service.ts\n **/","module.exports = \"
\\r\\n\\r\\n
\\r\\n Forgot Password\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
{{alert.msg}}
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Vaid email address required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/authentication/forgot-password.component.html\n ** module id = 904\n ** module chunks = 0\n **/","import { Component, ElementRef, OnInit } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AccountService } from '../accounts/account.service';\r\nimport { Router, ActivatedRoute} from '@angular/router';\r\nimport { EqualValidator } from './confirm-validator.directive';\r\n\r\n\r\n@Component({\r\n providers: [AccountService],\r\n //templateUrl: 'app/authentication/reset-password.component.html',\r\n template: require('./reset-password.component.html'),\r\n directives: [EqualValidator] \r\n})\r\n \r\nexport class ResetPasswordComponent implements OnInit {\r\n\r\n public alerts: any[];\r\n public code: any;\r\n public email: string;\r\n public answer: string;\r\n public newPassword: string;\r\n private sub: any;\r\n\r\n\r\n constructor(private router: Router,\r\n private accountService: AccountService, \r\n private route: ActivatedRoute) {} \r\n \r\n ngOnInit() : void{\r\n\r\n this.sub = this.route.queryParams.subscribe(\r\n params => {\r\n this.email = params['email'];\r\n this.code = params['code'];\r\n });\r\n }\r\n\r\n\r\n timeoutAlert(){\r\n setTimeout(() => {\r\n this.alerts = [];\r\n //supposedly not needed in angular2\r\n //$scope.$apply();\r\n }, 1000);\r\n }\r\n\r\n\r\n closeAlert(index: number) {\r\n \tthis.alerts.splice(index, 1);\r\n \t}\r\n\r\n\tresetPassword(){\r\n this.alerts = [];\r\n\r\n\t let pwdData = {\r\n\t\t email: this.email,\r\n\t\t\tresetToken: this.code,\r\n\t\t\tnewPassword: this.newPassword\r\n\t\t};\r\n\r\n\t\tthis.accountService.resetPwd(pwdData)\r\n .subscribe(\r\n data => {\r\n if(data.succeeded){\r\n this.router.navigate(['/reset-password-success']);\r\n }else{\r\n\t\t\t\t\t\tthis.alerts.push({type: 'danger', msg: data.errors[0]});\r\n\t\t\t\t\t}\r\n },\r\n error => {\r\n this.alerts.push({type: 'danger', msg: 'An error occurred resetting your password. Please try again'}); \r\n },\r\n () => this.timeoutAlert()\r\n\r\n );\r\n \t}\r\n}\r\n\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/authentication/reset-password.component.ts\n **/","import { Directive, forwardRef, provide, Attribute } from '@angular/core';\r\nimport { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',\r\n providers: [\r\n provide(NG_VALIDATORS, { useExisting: forwardRef(() => EqualValidator), multi: true })\r\n ]\r\n})\r\nexport class EqualValidator implements Validator {\r\n constructor( @Attribute('validateEqual') public validateEqual: string,\r\n @Attribute('reverse') public reverse: string) {\r\n\r\n }\r\n\r\n private get isReverse() {\r\n if (!this.reverse) return false;\r\n return this.reverse === 'true' ? true: false;\r\n }\r\n\r\n validate(c: AbstractControl): { [key: string]: any } {\r\n // self value\r\n let v = c.value;\r\n\r\n // control vlaue\r\n let e = c.root.find(this.validateEqual);\r\n\r\n // value not equal\r\n if (e && v !== e.value && !this.isReverse) {\r\n return {\r\n validateEqual: false\r\n }\r\n }\r\n\r\n // value equal and reverse\r\n if (e && v === e.value && this.isReverse) {\r\n delete e.errors['validateEqual'];\r\n if (!Object.keys(e.errors).length) e.setErrors(null);\r\n }\r\n\r\n // value not equal and reverse\r\n if (e && v !== e.value && this.isReverse) {\r\n e.setErrors({\r\n validateEqual: false\r\n })\r\n }\r\n\r\n return null;\r\n }\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/authentication/confirm-validator.directive.ts\n **/","module.exports = \"\\r\\n
\\r\\n
\\r\\n Reset Password\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{alert.msg}}
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Password must be at least 6 characters long, and contain at least one upper case letter, one lower case letter, and one number.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Password's must match\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/authentication/reset-password.component.html\n ** module id = 907\n ** module chunks = 0\n **/","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { Router, ActivatedRoute} from '@angular/router';\r\n\r\n\r\n@Component({\r\n //templateUrl: 'app/authentication/reset-password-success.component.html'\r\n template: require('./reset-password-success.component.html'),\r\n})\r\n \r\nexport class ResetPasswordSuccessComponent {\r\n //doesn't do anything'\r\n}\r\n \n\n\n/** WEBPACK FOOTER **\n ** ./app/authentication/reset-password-success.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n Password Reset Success\\r\\n
\\r\\n
\\r\\n
\\r\\n Click here to login. \\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/authentication/reset-password-success.component.html\n ** module id = 909\n ** module chunks = 0\n **/","import { RouterConfig } from '@angular/router';\r\nimport { AdminComponent } from './admin.component';\r\nimport { UserComponent } from './user.component';\r\nimport { AuthGuard } from '../authentication/auth-guard.service';\r\n\r\nexport const AdminRoutes: RouterConfig = [\r\n { path: 'admin', component: AdminComponent, canActivate: [AuthGuard] },\r\n { path: 'user-admin', component: UserComponent, canActivate: [AuthGuard] },\r\n { path: 'user-admin/:id', component: UserComponent, canActivate: [AuthGuard] }\r\n];\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/administration/admin.routes.ts\n **/","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { AdminService } from './admin.service'\r\n\r\nimport { Router, ActivatedRoute} from '@angular/router';\r\n\r\n\r\n\r\nimport { DataTableModule,SharedModule, ContextMenu} from 'primeng/primeng';\r\n\r\nimport { DataTable } from 'primeng/primeng';\r\nimport { Column } from 'primeng/primeng';\r\nimport { Header } from 'primeng/primeng';\r\nimport { Button } from 'primeng/primeng';\r\nimport { MenuItem } from 'primeng/primeng';\r\nimport { Menu } from 'primeng/primeng';\r\nimport { ContextMenuModule } from 'primeng/primeng';\r\nimport { ContextMenuSub } from 'primeng/primeng';\r\n\r\n@Component({\r\n providers: [AdminService],\r\n //templateUrl: 'app/administration/admin.component.html',\r\n template: require('./admin.component.html'),\r\n directives: [DataTable, Column, Header, Button, Menu, ContextMenu, ContextMenuSub]\r\n})\r\n \r\nexport class AdminComponent implements OnInit {\r\n retrievingUsers = false;\r\n users: any[]; \r\n alerts: any[]; \r\n items: MenuItem[];\r\n selectedUser: any;\r\n\r\n constructor(private router: Router,\r\n private adminService: AdminService, \r\n private route: ActivatedRoute) {} \r\n\r\n ngOnInit() : void{\r\n this.users = [];\r\n \r\n this.getUsers();\r\n this.items = [\r\n {label: 'Edit', icon: 'fa-edit', command: (event) => this.editUser(this.selectedUser)},\r\n {label: 'Delete', icon: 'fa-trash', command: (event) => this.deleteUser(this.selectedUser)}\r\n ];\r\n\r\n \r\n }\r\n\r\n\tgetUsers(){\r\n\t this.retrievingUsers = true;\r\n\r\n this.adminService.getUsers()\r\n .subscribe(\r\n users => {\r\n this.users = users;\r\n this.users.map(user => {\r\n user.roles = user.roles.map((role: any) => role.name).join(', ');\r\n })\r\n },\r\n error => {\r\n\t\t\t\t this.alerts = [];\r\n\t\t\t\t this.alerts.push({type: 'danger', msg: 'There was an error retrieving users.'});},\r\n () => this.retrievingUsers = false);\r\n }\r\n\r\n addUser(){\t\t\t\r\n this.router.navigate(['/user-admin']);\r\n\t}\r\n\t\t\r\n editUser(user: any){\r\n this.router.navigate(['/user-admin', { id: user.id}]);\r\n }\r\n\r\n deleteUser(user: any){\r\n let confirmAnswer = confirm(\"Are you sure you want to delete user \" + user.userName);\r\n\r\n if(confirmAnswer == true){\r\n\t\tthis.adminService.deleteUser(user.id)\r\n .subscribe(\r\n users => {\r\n this.retrievingUsers = true;\r\n this.alerts = [];\r\n\t\t\t\t this.alerts.push({type: 'success', msg: 'Successfully removed user'});\r\n\t\t\t\t this.getUsers();},\r\n error => {\r\n\t\t\t\t this.alerts = [];\r\n\t\t\t\t this.alerts.push({type: 'danger', msg: 'Failed to remove user'});\r\n },\r\n () => this.retrievingUsers = false);\r\n } \r\n\t}\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/administration/admin.component.ts\n **/","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Headers } from '@angular/http';\r\nimport { HttpHelper } from '../shared/http-helper';\r\nimport {Observable} from 'rxjs/Rx';\r\n\r\n@Injectable()\r\nexport class AdminService {\r\n users: any\r\n roles: any\r\n \r\n\r\n constructor(private httpHelper: HttpHelper) {}\r\n\r\n\r\n //Do we need a user types?????\r\n getUsers() : Observable {\r\n //wasn't able to get cacheing to work but found a couple of examples\r\n //this really isn't pulling back that much data so just going to run the call again\r\n return this.httpHelper.get('api/users');\r\n }\r\n\r\n getRoles() : Observable {\r\n return this.httpHelper.get('auth/api/account/roles');\t\t\r\n\t}\r\n\r\n //This seems to be never used\r\n getCachedUsers(){\r\n\t return this.users;\r\n\t}\r\n\r\n\r\n //so will have an user interface but not sure if I will need it here\r\n createUser(user: any): Observable{\r\n return this.httpHelper.post(\r\n //'auth/api/users/',\r\n 'api/users/', \r\n JSON.stringify(user));\r\n //TODO: test error handling here\r\n }\r\n\r\n emailExists(email: string): Observable{\r\n return this.httpHelper.post(\r\n 'auth/api/account/emailexists', \r\n //this might not be right\r\n JSON.stringify({email: email}));\r\n\t}\r\n\r\n usernameExists(username: string): Observable{\r\n return this.httpHelper.post(\r\n 'auth/api/account/usernameexists', \r\n //this might not be right\r\n JSON.stringify({username: username}));\r\n\t}\r\n\r\n updateUser(user: any): Observable{\r\n return this.httpHelper.put(\r\n 'api/users/' + user.id, \r\n JSON.stringify(user));\r\n\t}\r\n\r\n deleteUser(userid: string): Observable{\r\n return this.httpHelper.delete('api/users/' + userid);\r\n\t}\r\n\t\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./app/administration/admin.service.ts\n **/","module.exports = \"
\\r\\n
\\r\\n Admin\\r\\n
\\r\\n
\\r\\n
\\r\\n Users\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Loading Users \\r\\n
\\r\\n
\\r\\n
\\r\\n

No users found.

\\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 \"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/administration/admin.component.html\n ** module id = 913\n ** module chunks = 0\n **/","import { Component, OnInit } from '@angular/core';\r\nimport { AdminService } from './admin.service';\r\nimport { Router, ActivatedRoute} from '@angular/router';\r\nimport { CommonDataService, KeyValuePair } from '../common-data/commondata.service';\r\nimport * as _ from 'lodash';\r\n\r\n\r\n@Component({\r\n providers: [AdminService],\r\n //templateUrl: 'app/administration/user.component.html'\r\n template: require('./user.component.html'),\r\n})\r\n \r\nexport class UserComponent implements OnInit {\r\n \r\n alerts: any[]; \r\n public origUser: any;\r\n private sub: any;\r\n private idParam: number;\r\n //this may actually need to be public\r\n private newUser: boolean; \r\n pageTitle: string;\r\n user: any;\r\n roles: any;\r\n regions: KeyValuePair[]; \r\n \r\n constructor(private router: Router,\r\n private adminService: AdminService, \r\n private _commonDataService: CommonDataService,\r\n private route: ActivatedRoute) {} \r\n \r\n ngOnInit() : void{\r\n\r\n this.sub = this.route.params.subscribe(\r\n params => {\r\n let id = params['id'];\r\n\r\n if(id === undefined){\r\n this.newUser = true;\r\n this.pageTitle = 'Create User';\r\n\t\t\t this.user = {};\r\n this.getRoles(); \r\n }\r\n else{\r\n this.newUser = false;\r\n this.pageTitle = 'Edit User';\r\n\r\n this.idParam = id;\r\n\r\n //console.log(this.idParam);\r\n\r\n this.adminService.getUsers().subscribe(\r\n data => {\r\n let users = data;\r\n this.user = _.find(users, function(user: any){\t\t\t\t\r\n\t \t\t\t return user.id === Number(id);\r\n\t\t \t });\r\n this.origUser = _.cloneDeep(this.user);\r\n this.getRoles(); \r\n });\r\n }\r\n });\r\n\r\n \r\n this.getKeyValues('region');\r\n }\r\n\r\n private getKeyValues(id: string)\r\n {\r\n this._commonDataService.getData(id)\r\n .subscribe(\r\n (list: KeyValuePair[]) => {\r\n if(id == \"region\"){\r\n this.regions = list;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getRoles(){\r\n this.adminService.getRoles()\r\n .subscribe(\r\n roles => {\r\n this.roles = roles;\r\n this.selectRole(); \r\n });\r\n }\r\n\r\n selectRole(){\r\n\t if(this.user && this.user.roles){\r\n let roleId = this.user.roles[0].id;\r\n this.user.selectedRole = _.find(this.roles, function(role: any){\r\n\t\t\t return role.id === roleId;\r\n });\t\r\n\t\t}else{\t \r\n\t\t\tthis.user.selectedRole = this.roles[1];\r\n\t\t}\t\t\t\r\n\t}\r\n\r\n\r\n submitUser(){\r\n\r\n this.alerts = [];\r\n\r\n\t\tif(this.newUser){\r\n this.adminService.usernameExists(this.user.userName)\r\n .subscribe(\r\n success => {\r\n if(success == true){\r\n this.alerts.push({type: 'danger', msg: 'User Name is Already in Use'});\r\n }\r\n else{\r\n this.adminService.emailExists(this.user.email)\r\n .subscribe(\r\n success => {\r\n if(success == true){\r\n this.alerts.push({type: 'danger', msg: 'Email is Already in Use'});\r\n }\r\n else{\r\n this.saveUser();\r\n }\r\n },\r\n error => {\r\n this.alerts.push({type: 'danger', msg: 'Error Occured Connecting to Server'});\r\n })\r\n }\r\n },\r\n error => {\r\n\t\t\t\t\t this.alerts.push({type: 'danger', msg: 'Error Occured Connecting to Server'});\r\n });\r\n }\r\n else{\r\n this.saveUser();\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\tsaveUser(){\r\n this.alerts = [];\r\n\r\n\t\tthis.user.role = this.user.selectedRole.name;\r\n \r\n\t\tif(this.newUser){\r\n\t\t\t//TODO: not sure I need this\r\n this.user.baseUrl = window.location.href.substring(0, window.location.href.lastIndexOf('/'));\r\n\r\n this.adminService.createUser(this.user)\r\n .subscribe(\r\n success => this.router.navigate(['/admin']),\r\n error => {\r\n\t\t\t\t\t this.alerts.push({type: 'danger', msg: 'Creation failed.'});\r\n });\r\n\t\t}else{\r\n this.adminService.updateUser(this.user)\r\n .subscribe(\r\n success => this.router.navigate(['/admin']),\r\n error => {\r\n\t\t\t\t\t this.alerts.push({type: 'danger', msg: 'Update failed.'});\r\n });\r\n\t\t}\r\n\t}\r\n\r\n\tresetForm(){\t\t\t\r\n\t\tthis.user = this.origUser;\r\n\t\tthis.selectRole();\r\n //https://github.com/angular/angular/pull/9974\r\n\t\t//this.form.markAsPristine();\r\n\t}\r\n\r\n\tcloseAlert(index: any) {\r\n this.alerts.splice(index, 1);\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n \n\n\n/** WEBPACK FOOTER **\n ** ./app/administration/user.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n {{ pageTitle }}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
{{alert.msg}}
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n User Name is required\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Vaid email address required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n First Name is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Last Name is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/administration/user.component.html\n ** module id = 915\n ** module chunks = 0\n **/","import { RouterConfig } from '@angular/router';\r\nimport { AccountComponent } from './account.component';\r\nimport { EmailConfirmationComponent } from './email-confirmation.component';\r\nimport { AuthGuard } from '../authentication/auth-guard.service';\r\n\r\n\r\nexport const AccountRoutes: RouterConfig = [\r\n { path: 'account', component: AccountComponent, canActivate: [AuthGuard] },\r\n { path: 'email-confirmation', component: EmailConfirmationComponent },\r\n //{ path: 'email-confirmation/:email/:code', component: EmailConfirmationComponent }\r\n];\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/accounts/account.routes.ts\n **/","import { Component, OnInit } from '@angular/core';\r\nimport { AccountService } from './account.service'\r\nimport { AuthService } from '../authentication/auth.service'\r\nimport { Router, ActivatedRoute} from '@angular/router';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n providers: [AccountService, AuthService],\r\n //templateUrl: 'app/accounts/account.component.html'\r\n template: require('./account.component.html'), \r\n \r\n})\r\n \r\nexport class AccountComponent implements OnInit {\r\n errorAlerts: any[];\r\n private sub: any; \r\n message: string;\r\n public questions: any[];\r\n alerts: any[]; \r\n public question: any;\r\n public answer: string;\r\n public currentPassword: string;\r\n public newPassword: string;\r\n\r\n \r\n constructor(private router: Router,\r\n private accountService: AccountService,\r\n private authService: AuthService, \r\n private route: ActivatedRoute) {} \r\n\r\n //TODO: may not need this \r\n ngOnInit() : void{\r\n }\r\n\r\n\ttimeoutAlert(){\r\n \t setTimeout(function(){\r\n\t\t this.errorAlerts = [];\t\t\t\t\r\n \t\t},10000);\r\n \t}\r\n\r\n\tchangePassword(){\r\n\r\n\t\tthis.alerts = [];\r\n\r\n\t\tvar pwdData = {\r\n\t\t\tusername: this.authService.getLoggedInUser(),\r\n\t\t\tcurrentPassword: this.currentPassword,\r\n\t\t\tnewPassword: this.newPassword\r\n\t\t};\r\n\r\n this.accountService.changePwd(pwdData)\r\n .subscribe(\r\n data => {\r\n if(data.succeeded) {\r\n\t\t\t\t this.alerts.push({type: 'success', msg: 'Password successfully changed'});\r\n }\r\n else{\r\n\t\t\t\t this.alerts.push({type: 'danger', msg: data.errors[0]});\r\n }\r\n },\r\n error => {\r\n this.alerts.push({type: 'danger', msg: error}); \r\n },\r\n () => this.timeoutAlert()\r\n\t\t\t);\r\n\t}\r\n\r\n //not used for now\r\n \t// getSecurityQuestions(){\r\n \t// \tthis.accountService.getSecurityQuestions().\r\n // subscribe(\r\n // data => {\r\n // this.questions = data;\r\n \t// \t\t\t this.getUserAccountInfo();\r\n // },\r\n // error => {\r\n \t// \t\t\t this.alerts = [];\r\n \t// \t\t\t this.alerts.push({type: 'danger', \r\n // \t\t\t msg: 'An unexpected error occurred while retrieving the list of security questions'});\r\n // });\r\n \t// }\r\n\r\n // getUserAccountInfo(){\r\n \t// \tthis.accountService.getAccountInfo(this.authService.getLoggedInUser()).\r\n // subscribe(\r\n // data => {\r\n // this.question = _.find(this.questions, function(q: any){\r\n \t// \t\t\t\t return q.id === data.questionId;});\r\n \t// \t\t\t this.answer = data.answer;\r\n \t// \t\t });\r\n \t// }\r\n\r\n // saveSecurityQuestionAnswer(){\r\n // var securityQuestionData = {\r\n\t// \t username: this.authService.getLoggedInUser(),\r\n\t// \t\tquestionid: this.question.id,\r\n\t// \t\tanswer: this.answer\r\n\t// \t};\r\n\r\n\t// \tthis.accountService.saveSecurityQuestionAnswers(securityQuestionData)\r\n // .subscribe(\r\n // success => {\r\n // this.alerts = [];\r\n\t// \t\t\t\tthis.alerts.push({type: 'success', msg: 'Security Question saved.'});\r\n // },\r\n // error => {\r\n\t// \t\t\t this.alerts = [];\r\n\t// \t\t\t\tthis.alerts.push({type: 'danger', msg: 'Unexpected error saving security question'});\r\n // },\r\n // () => this.timeoutAlert()\r\n // );\t\r\n\t// }\r\n\r\n\tcloseAlert(index: number) {\r\n this.alerts.splice(index, 1);\r\n \t}\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/accounts/account.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n Account Management\\r\\n
\\r\\n
\\r\\n

Change Password

\\r\\n
\\r\\n
\\r\\n
{{alert.msg}}
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Password is required\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Password must be at least 6 characters long, and contain at least one upper case letter, one lower case letter, and one number.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Password's must match\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/accounts/account.component.html\n ** module id = 918\n ** module chunks = 0\n **/","import { Component, OnInit } from '@angular/core';\r\nimport { AccountService } from './account.service'\r\nimport { Router, ROUTER_DIRECTIVES, ActivatedRoute } from '@angular/router';\r\n\r\n\r\n@Component({\r\n //selector: 'login-form',\r\n providers: [AccountService],\r\n //templateUrl: 'app/accounts/email-confirmation.component.html',\r\n template: require('./email-confirmation.component.html'), \r\n directives: [ROUTER_DIRECTIVES]\r\n})\r\n \r\nexport class EmailConfirmationComponent implements OnInit {\r\n message: string;\r\n private sub: any;\r\n \r\n constructor(private router: Router,\r\n private accountService: AccountService,\r\n private route: ActivatedRoute) {} \r\n \r\n ngOnInit() : void{\r\n \r\n let email: string;\r\n let token: any;\r\n\r\n this.sub = this.route.queryParams.subscribe(\r\n params => {\r\n email = params['email'];\r\n token = params['token'];\r\n });\r\n\r\n let data = {\r\n\t email: email,\r\n\t\t token: token\r\n };\r\n\r\n this.accountService.confirmEmail(data).\r\n subscribe(\r\n success => {\r\n this.message = \"Confirmation of e-mail address complete.\";\r\n //seems no way to do this right now, not sure if needed\r\n \t\t\t\t\t//$location.search('email', undefined);\r\n \t\t\t\t\t//$location.search('token', undefined);\r\n },\r\n error => this.message = \"Failed to confirm e-mail. \" + error);\r\n }\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/accounts/email-confirmation.component.ts\n **/","module.exports = \"
\\r\\n
\\r\\n Email confirmation\\r\\n
\\r\\n
{{message}}\\r\\n
\\r\\n
\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./app/accounts/email-confirmation.component.html\n ** module id = 920\n ** module chunks = 0\n **/"],"sourceRoot":""}