{"version":3,"sources":["services/Config.js","assets/Waywize-Spin.png","views/common/manual.pdf","assets/Waywize-logoSpin.png","assets/scss/common.module.scss","assets/images/about-logo.png","context/FuelSaveGlobalContext.js","constant/colors.js","views/common/NavBar.js","utils/action.js","views/common/Icons/Edit.js","views/common/Icons/Trash.js","views/common/Icons/User.js","views/common/Icons/index.js","constant/index.js","actions/global.js","constant/norway-dummy.js","utils/aiRequestBodyUtils.js","reducers/global.js","utils/project.js","actions/project.js","reducers/project.js","utils/alignment.js","utils/maputils.js","utils/presumption.js","actions/presumption.js","actions/alignment.js","reducers/alignment.js","reducers/presumption.js","utils/setting.js","actions/setting.js","reducers/setting.js","reducers/root_reducer.jsx","store/index.js","constant/helpers.js","views/common/navbarLogin.js","views/content/Login/Login.js","assets/Waywize-logotype-white-green.png","views/common/SpinLoader/index.js","views/common/TablePagination/index.js","views/content/summary/AlignmentPageWidget/index.js","views/content/comparison/dailysums/DailySums.js","views/content/comparison/bothdirection/BothDirectionTable.js","views/content/comparison/maps/ComparisonMap.js","views/content/comparison/maps/common.js","views/content/comparison/maps/ChartMixedEnergyConsumptionAlongRoad.js","utils/chartutils.js","views/content/comparison/maps/ChartMixedGroundLevelAlongRoad.js","views/content/comparison/maps/ChartMixedAverageCurvatureAndSpeed.js","views/content/comparison/maps/Maps.js","views/content/comparison/maps/InitiationMap.js","views/content/comparison/DailyComparisons.js","views/content/sectionalanalysis/SectionalAnalysisMap.js","views/content/sectionalanalysis/ChartMixedGroundLevelAlongRoad.js","utils/numberFormat.js","views/content/sectionalanalysis/SectionalAnalysisIndividual.js","views/content/sectionalanalysis/SectionalAnalysis.js","views/content/forecasts/ChartMixed.js","views/content/forecasts/ForecastsIndividual.js","views/content/forecasts/Forecasts.js","views/content/settings/traffic/InputMap.js","utils/apolloutils.js","views/content/settings/traffic/EditPopUp.js","views/common/ConfirmAlertPopup/index.js","views/content/settings/traffic/AddEditSegmentForm.js","views/content/settings/traffic/TrafficInputFormIndividual.js","views/content/settings/SettingsIndividual.js","views/content/summary/Popup.js","views/content/summary/CostCircle/index.js","views/content/summary/CSVImporter/index.js","views/content/summary/LandXMLInput/index.js","views/content/summary/LandXMLSelect/index.js","views/content/summary/LandXMLImporter/index.js","views/content/summary/XMLCSVTab/index.js","views/content/summary/AddAlignment/index.js","views/common/LabelSelectBox/index.js","views/content/summary/CopyTraffic/index.js","views/content/summary/Summary.js","views/content/projects/AddProjectPopup.js","assets/add_project.svg","views/content/projects/Projects.js","utils/reducer.js","views/content/license/License.js","views/common/TermsPopUp/index.js","views/common/AuthPopup/index.js","views/common/ExpirationMsg/index.js","views/content/projects/EditProject/FuelDistribution.js","views/content/projects/EditProject/PresumptionsForm.js","views/content/projects/EditProject/EditForm.js","views/content/projects/EditProject/CDRSettings.js","views/content/projects/EditProject/index.js","views/content/About/index.js","views/common/SpinLoader2/index.js","views/content/CDR/GraphSection/index.js","views/content/CDR/FormModal/index.js","views/content/CDR/ResponseTable/index.js","views/content/CDR/index.js","App.js","utils/licenseUtils.js","reportWebVitals.js","index.js"],"names":["authorityDomain","process","tenantId","module","exports","appId","graphScopes","apiScopes","b2cPolicies","names","signUpSignIn","forgotPassword","editProfile","authorities","authority","FuelSaveGlobalContext","createContext","colorCodes","WHITE_1","color","white1","WHITE_2","white2","BLACK_1","black1","RICH_BLACK","richBlack","TEAL","teal","BLUE_1","blue1","BLUE_2","blue2","BLUE_3","blue3","BLUE_4","blue4","BLUE_5","blue5","BLUE_6","blue6","GREEN_1","green1","GREEN_2","green2","GREEN_3","green3","GREEN_4","green4","GREEN_5","green5","LIGHT_GREEN","lightGreen","LIGHT_CYAN","lightCyan","RED_1","red1","RED_2","red2","GREY_1","grey1","GREY_2","grey2","GREY_3","grey3","GREY_4","grey4","YELLOW_1","yellow1","AQUA","aqua","WATER_SPOUT","waterSpout","menuList","title","hoverText","href","to","icon","FolderOutlined","BarChartOutlined","MergeCellsOutlined","LineChartOutlined","PieChartOutlined","CalculatorOutlined","NavBar","props","Sider","Layout","useContext","navSideBarOpen","setNavSideBarOpen","history","useHistory","collapsible","collapsed","prefixCls","onCollapse","width","className","style","marginTop","cursor","onClick","push","src","LogoWaywizeSmall","alt","selectedKeys","defaultKeys","mode","theme","background","margin","map","i","Item","Nav","Link","ACTIONS","PREDICTION","PROJECT_NAME_CHANGE","PROJECT_NUMBER_CHANGE","PROJECT_GET_ALL","Edit","fill","height","viewBox","transform","d","Trash","User","cx","cy","r","Icon","name","rest","DEFAULT_EPSG_CODE","DEFAULT_EPSG","CSV_NAME_REGEX","chartCommonConfig","responsive","maintainAspectRatio","MIN_YEAR","MAX_YEAR","CURRENCY","SET_GLOBAL_IS_PROCESS","SET_IS_LICENSE","SET_AUTO_OUT","SET_WIN_WIDTH","SET_LICENSE_DATE","SET_COUNTRIES_LIST","SET_CURRENCY","SET_COUNTRY","SET_FORECAST_CAR_CONFIG","SET_FORECAST_TRUCK_CONFIG","setGlobalIsProcess","isProcess","type","payload","setIsLicense","isLicense","setAutoOut","autoOut","setLicenseDate","licenseValid","setCurrency","currency","setCountry","country","norwayTruckChargeHydro","yearArr","start","end","list","rangeArr","fuelDistributionCarsNorway","fuelDistributionTrucksNorway","requestBody4","requestBody3","requestBody2","requestBody","defaultState","winWidth","window","innerWidth","countries","carConfig","truckConfig","Global","state","action","Object","assign","getAllProjects","handleRequest","query","getProjectById","id","addNewProject","data","variables","editProjectById","SET_ALL_PROJECTS","SET_PROJECT_INFO","SET_IS_PROCESSING","setProjectIsProcessing","isProcessing","setAllProjects","projects","setProjectInfo","project","fetchAllProjects","setInStorage","dispatch","a","allProj","length","resp","filter","p","project_id","selectedProject","localStorage","getItem","setItem","JSON","stringify","console","log","getProjectInfoById","projectInfo","updateProjectInfoById","updateProject","Projects","alternativeQueryParentBlock","pageNo","keys","fetchAll","getAllAlignments","projectId","getAllCapInputs","polygonStyles","Style","image","CircleStyle","radius","Fill","stroke","Stroke","SectionalComparePoint","SectionalPoint","Point","Point2","MultiPolygonDark","lineDash","MultiPolygonWhite","compareChainage","b","chainage","styleFunction","feature","resolution","values","values_","fuelconsumption_trucks","value","perc25","perc75","perc50","getCentreCoord","directions","segments_data","first_geom","Math","floor","geom","parse","replaceCordiStr","filteredSegments","origSegments","zoom","maxVal","count","arr","delta","createPointDataLayer","orig_segments_data","segments","pointFeatures","segment","orderNo","segment_order_no","geomOrderId","geom_order_id","coord","pointFeature","Feature","geometry","proj","coordinates","set","curvature","fuelconsumption_car","hilliness","speedprofile_car","speedprofile_trucks","zlevel","pointsVectorSource","VectorSource","features","wrapX","pointsLayer","VectorLayer","source","createPointDataLayerComparitive","createPointLayer","slength","featureArrays","vectorSouces","featureArray","layers","odds","vectorSource","pStyle","createSectionalPointLayer","correctAlternativeForMap","dataAlternative","newDataAlternatives","index","dirLength","indexDIR","toCompareStartIndex","oldStartIndex","listStartIndex","segLength","indexSEG","startIndex","start_index","orderNumber","segDataLength","indexSEGDATA","includes","getAllPresumptions","SET_ALL_PRESUMPTIONS","SET_PRESUMPTION_PROCESSING","setPresumptionIsProcessing","setAllPresumptions","presumptions","SET_ALL_ALIGNMENTS","SET_ALIGNMENT_INFO","SET_CDR_ALL_ALIGNMENTS","SET_ALIGNMENT_ACTIVE_PAGE","SET_ALIGNMENT_PROCESSING","SET_CDR_ALIGNMENT_PROCESSING","SET_CDR_ALL_ALIGNMENTS_INPUT","setAlignmentIsProcessing","setCDRAlignmentIsProcessing","isCDRProcessing","setAllAlignments","alignments","total","setAlignmentInfo","alignmentInfo","setAllCDRAlignments","cdrAlignments","setAlignmentActivePage","activePage","fetchAllAlignments","alignmentResp","alternatives","node","filteredAlignments","totalAmount","fetchAllCapInputs","CDRValuesByProjectId","Promise","all","result","find","parseInt","alternative_id","newResp","investment_emssn","is_active","maintainance_emssn","toString","cdrAlignmentsInput","Alignments","Presumptions","fetchProjSettings","updateProjSettings","SET_SETTING_PROCESSING","SET_CDR_SETTINGS","setSettingIsProcessing","isLoading","setCDRSettings","cdrSettings","updateProjectSettingById","settingInfo","updateSetting","base_comp_thrshld","Settings","rootReducer","combineReducers","global","settings","composedEnhancers","compose","applyMiddleware","thunk","__REDUX_DEVTOOLS_EXTENSION__","f","store","createStore","undefined","floatWithDeci","val","parseFloat","toFixed","oppositeDir","dir","isCordValid","isValid","startsWith","substr","test","handleCSVArr","arrResp","row","easting","northing","coordinate_system","direction","direction_nr","alternative_name","segment_id","intersection","method","serverUrl","contentType","acceptType","apiAccessTokenObj","resolve","reject","axios","url","headers","accessToken","then","catch","e","response","status","code","chartSizeAccToWidth","drawVerticalLine","getLinePosition","chart","getDatasetMeta","chartData","config","labels","lineIndex","lineAtIndex","lineIndexVal","indexOf","_model","x","renderVerticalLine","chartInstance","pointIndex","lineLeftOffset","this","scale","scales","context","ctx","beginPath","strokeStyle","moveTo","top","lineTo","bottom","afterDatasetsDraw","forEach","projectInfoToStorage","storageProj","retrievedData","sleep","ms","setTimeout","presumptionObj","fullObj","Speed_car","speed_car","Speed_truck","speed_truck","cost_increase","gasoline_fuelfactor","gasoline_co2","gasoline_kwh","gasoline_efficiency","gasoline_cost","diesel_fuelfactor","diesel_co2","diesel_kwh","diesel_efficiency","diesel_cost","battery_fuelfactor","battery_co2","battery_kwh","battery_efficiency","battery_cost","inchargeable_hybrid_fuelfactor","inchargeable_hybrid_co2","inchargeable_hybrid_kwh","inchargeable_hybrid_efficiency","inchargeable_hybrid_cost","chargeable_hybrid_fuelfactor","chargeable_hybrid_co2","chargable_hybrid_co2","chargeable_hybrid_kwh","chargeable_hybrid_efficiency","chargeable_hybrid_cost","hydrogen_fuelfactor","hydrogen_co2","hydrogen_kwh","hydrogen_efficiency","hydrogen_cost","iri","mpd","iri_increase","mpd_increase","iri_limit","scaleLabelConfig","labelString","display","fontColor","fontSize","scaleYCommonConfig","scaleLabel","ticks","beginAtZero","getColorForMultiChart","remainderIndex","colorList","replaceAll","getStartDistanceToSegment","idx","getStepValue","flashErrMsg","message","toast","error","NavBarLogin","logoutCallback","user","useSelector","useDispatch","projectNumberDispatch","globalProjectName","projectNameDispatch","globalBrandCrumb","t","useTranslation","project_name","Container","fluid","position","zIndex","float","fontWeight","marginRight","DropdownButton","onSelect","size","Dropdown","eventKey","NavDropdown","open","require","default","Welcome","authButtonMethod","minHeight","Button","target","SpinLoader","TablePagination","handlePageChange","perPage","numberOfPages","ceil","disabled","pageNumberSet","doPaging","page","generatePages","AlignmentPageWidget","useState","setIsLoading","globalProjectNumber","fetchPaginatedRecords","DailySums","alternativeDailySums","dataQuerySearch","searchDefaultValue","searchDefaultVal","initialList","altDailySum","randomList","item","toLowerCase","convertToLowerCase","React","sortConfig","setSortConfig","sortedDailySums","setSortedDailySums","useEffect","requestSort","key","newlist","sort","Table","hover","daily_fuel","daily_CO2","daily_energy","daily_cost","BothDirectionTable","bothDirectionsDailys","bothDirDailys","sortedBothSums","setSortedBothSums","localCombinedBothDirectin","setLocalCombinedBothDirectin","combinedBothDirectin","element","direction_name1","daily_fuel1","daily_CO21","daily_energy1","daily_cost1","direction_name2","daily_fuel2","daily_CO22","daily_energy2","daily_cost2","direction_name","ComparisonMap","baseAlternative","comparitiveDirection","compareAlternative","setChainage","setFcCar","setFcTrucks","setHilliness","setSpeedProfileCars","setSpeedProfileTrucks","setZlevel","setCurvature","setSegment","apiAccessToken","fc_data","asc","_","normalDistribution","centreCoord","posCentre","overlayRef","useRef","setMap","setZoom","mapElement","customLoader","tile","getImage","accordinOpen","urlVal","replace","XYZSource","XYZ","setTileLoadFunction","bgLayer","TileLayer","initialMap","Map","current","view","View","center","pixelRatio","select","selectSingleClick","Select","overlay","Overlay","positioning","stopEvent","on","evt","coordinate","setPosition","removeInteraction","addInteraction","selected","handleStateChange","setLineAtIndex","getView","getZoom","layersToRemove","getLayers","layer","get","len","removeLayer","mapLayer","addLayer","setCenter","localMapCentreIdData","newCentreCoord","updateSize","ref","max","dividend","arraySlab","multi","newSlabDiff","defaults","defaultFontFamily","barChartOptions","tooltips","titleFontSize","bodyFontSize","lineTension","scaleOverride","scaleShowLabels","xAxes","scaleFontSize","maxTicksLimit","stepSize","min","stacked","yAxes","suggestedMin","suggestedMax","datasets","label","borderColor","borderWidth","backgroundColor","datasetKeyProvider","btoa","random","substring","ChartMixedEnergyConsumptionAlongRoad","setChartData","chartOptions","setChartOptions","baseChainageLabels","baseFCTrucksData","baseFCCarsData","compareFCTrucksData","compareFCCarsData","baseSegmentsData","mapPointData","n","compareSegmentsData","labelColor","pointRadius","pointHoverRadius","objectCompareFCTrucksData","objectCompareFCCarsData","animation","duration","legend","events","tooltipEvents","onHover","_index","gridLines","afterBuildTicks","mychart","options","indexCollection","ins","callback","createChart","compareYear","year","getGroundLevelAlongRoadLayers","baseLevelDarkBlueData","baseLevelBlueData","baseLevelGreyBlueData","baseLevelGreyData","baseLevelGreyRedData","baseLevelRedData","baseLevelDarkRedData","baseLevelData","getGroundLevelAlongRoadDataSets","compareChainageLabels","compareLevelData","compareLevelDarkBlueData","compareLevelBlueData","compareLevelGreyBlueData","compareLevelGreyData","compareLevelGreyRedData","compareLevelRedData","compareLevelDarkRedData","compareDir","ChartMixedGroundLevelAlongRoad","ChartMixedAverageCurvatureAndSpeed","baseCurvatureData","baseSpeedCarsData","compareCurvatureData","compareSpeedCarsData","Chart","plugins","register","MapsDir1","setBaseAlternative","baseAlternativeId","setBaseAlternativeId","baseAlternativeDirName","setBaseAlternativeDirName","setCompareAlternative","compareAlternativeId","setCompareAlternativeId","compareAlternativeDirName","setCompareAlternativeDirName","lengthSliderRange","setLengthSliderRange","fcHeavySliderRange","setFcHeavySliderRange","filteredBaseAlternative","setFilteredBaseAlternative","filteredCompareAlternative","setFilteredCompareAlternative","setLocalMapCentreIdData","localMapCoordinateId","setLocalMapCoordinateId","alternativeSelect","setAlternativeSelect","setOpen","setAccordinOpen","localAllMapAlternatives","setLocalAllMapAlternatives","localBothDirectionsDailys","setLocalBothDirectionsDailys","stateType","settingState","mapAlternatives","allBothDirectionsDailys","filterByBoth","alternative","filteredSegmentsData","directions_id","handleMinAndMax","alternative1","alternative2","attribute","asc2","min1","min2","max1","max2","newMin","newMax","classes","makeStyles","formControl","spacing","minWidth","selectEmpty","fontSelection","useStyles","lengthMin","setLengthMin","lengthMax","setLengthMax","fcMin","setFcMin","fcMax","setFcMax","allMapAlternatives","filtered","selected_direction","Accordion","expanded","AccordionSummary","aria-controls","Row","Col","xs","offset","span","labelId","onClose","onOpen","onChange","event","input","placeholder","MenuItem","FormHelperText","variant","colSpan","align","dailyResults","alternative1Results","alternative2Results","handleFunctionOutput","insertCompareAlternativeTable","IconButton","aria-label","component","AccordionDetails","Card","CardContent","InitiateMaps","actualList","Maps","mapA","dummyData","DailyComparison","setGlobalBrandCrumb","setAlternativeDailySums","setBothDirectionsDailys","setMapAlternatives","setDataQuerySearch","setSearchDefaultValue","setKey","localLoading","setlocalLoading","useForm","watch","getDailyData","direction1Name","direction2Name","startYearData","endYearData","segmentsDir1","segmentsDir2","segmentsDataDir1","segmentsDataDir2","presumptionsData","requestBodyDir1","startYear","endYear","requestBodyDir2","requestBodyDir1Option1","requestBodyDir2Option2","urlToken","post","responseDir1","responseDir2","responseDir1Option2","responseDir2Option2","sumDailyFuel","round","sumDailyCO2","sumDailyEnergy","sumDailyCost","segment_results","start_year","end_year","dailyData","segments_data_dir1","fc_data1","segment_results_dir1","segmentId","segment_data_id","object","elem","a_intersection","segments_data_dir2","fc_data2","segment_results_dir2","setData","InputGroup","FormControl","searchdata","DateSearch","innerText","Chip","onDelete","deletedItem","newList","handleClear","Tabs","transition","activeKey","k","Tab","SectionalAnalysisMap","settingCoordinate","localPreviousMapCentreIdData","mapCompareLayer","mapCentreIdData","previousMapCentreIdData","prev","curr","minChainage","maxChainage","createSectionalComparePointLayer","prevMapData","setPrevMapData","currentMapData","setCurrentMapData","compareLine","drawSlope","Y","newData","numberFormat","Intl","NumberFormat","format","SectionalAnalysisIndividual","setStartYear","setEndYear","dailySavings","setDailySavings","forecastSavings","setForecastSavings","gradientPercent","setGradientPercent","averagePositiveGradientDecreasePercent","setAveragePositiveGradientDecreasePercent","maxGradientDecreasePercent","setMaxGradientDecreasePercent","setLocalPreviousMapCentreIdData","localEditSectionalAnalysisChart","setLocalEditSectionalAnalysisChart","startSection","endSection","return_option","sectional_start","sectional_end","fuel_distribution_cars","fuel_distribution_trucks","sensitivity_param_factors","speed","fuelprice","emission","AADTheavy","Accept","dummy","savingsData","daily","forecast","gradient_percent","average_positive_gradient_decrease_percent","max_gradient_decrease_percent","expandIcon","X","striped","bordered","fuel","co2","energy","cost","Children","toArray","SectionalAnalysis","setMapCentreIdData","setPreviousMapCentreIdData","setLocalLoading","LableDic","ChartMixed","chartInfo","callbacks","tooltipItem","datasetIndex","yLabel","toLocaleString","scaleSteps","scaleStepWidth","yLabels","getBarChartOptions","ForecastsIndividual","selectedAlternative","handleChangeSelector","checked","c","chartInfoData","baseYearLabels","dataSets","firstDataset","forecast_data","annual_co2","annual_cost","annual_energy","annual_fuel","colorIndex","dataset","savingsAlternativetables","FormGroup","FormControlLabel","control","Checkbox","flexDirection","baseData","compareData","datasetLength","lastIndex","tableData","fuelSavings","co2Savings","energySavings","costSavings","fuelSavingsL","co2SavingsL","energySavingsL","costSavingsL","compareMin","compareMax","sliceYears","localSavingsAlternativetables","minYears","maxYears","forecastData","commonMin","commonMax","slicedAlternativeTables","continueLoop","minIndex","maxIndex","fd","slicedAlternativeForecast","slice","Forecasts","setSavingsAlternativetables","globalProjInfo","yr","altIndex","InputMap","isNewSegEnable","setSegmentModalShow","editMap","mapCoordinateId","setMapCoordinateId","lyr","addOverlay","setTarget","UPDATE_SEGMENT","gql","UPDATE_ALTERNATIVE","POST_SEGMENT","DELETE_SEGMENT","GET_VALUES","EditPopUp","show","onHide","alternateId","aName","setAName","useQuery","useMutation","onCompleted","newAlt","updatedRec","refreshAlternatives","updateAlternative","mutationLoading","loading","validateInput","handleUpdateAlternative","oldName","preventDefault","refetchQueries","Modal","aria-labelledby","centered","Header","closeButton","Title","Body","Form","onSubmit","Group","controlId","Label","Control","handleInputChange","isInvalid","Feedback","fields","isFormValid","Footer","ConfirmAlertPopup","onConfirm","wrapperRef","handleClickOutside","contains","handleKeyDown","keyCode","document","addEventListener","removeEventListener","AddEditSegmentForm","stepValue","isEdit","segIdx","handleSubmit","alternativeData","segData","startDis","setStartDis","setIsValid","newMapCord","findIndex","readOnly","aadt_cars","aadt_trucks","aadt_trucks_with_trailer","step","handleStartDis","annual_increase_cars","annual_increase_heavy","bsPrefix","TrafficInputForm","setEditMap","setDirection","altId","GET_ALTERNATIVE_BY_ID","fetchPolicy","fetchLoading","refreshSegments","newSeg","alignmentInfoObj","allAlignments","updateSegment","updateSegmentMutationLoading","updateSegmentMutationError","addSegment","postMutationLoading","postMutationError","deleteSegment","postDeleteMutationLoading","postDeleteMutationError","modalShow","setModalShow","segmentModalShow","segmentIndex","setSegmentIndex","defaultSegmentAadt","cars","setCars","trucks","setTrucks","trucksWt","setTrucksWt","annualIncCars","setAnnualIncCars","annualIncHeavy","setAnnualIncHeavy","segmentToEdit","setSegmentToEdit","handleDeleteSegment","padding","info","new_segment","ButtonGroup","ToggleButton","calculatedVal","isNaN","toggleSegmentEdit","confirmAlert","customUI","match","TrafficInputFormIndividual","params","Popup","children","CostCircle","CSVImporter","inputRef","Text","LandXMLInput","errMsg","handleOnFocus","handleOnBlur","handleOnChange","htmlFor","onFocus","onBlur","LandXMLSelect","parentClassName","op","directionArr","LandXMLImporter","handleBlurNFocus","alignmentOpts","selectedOpts","xmlData","setActiveXMLAlign","xmlLoader","errResp","handleXmlChoose","setXMLData","updateXmlData","dataList","epsgCode","alignItems","al","inputHtml","v","entries","useSame","filteredList","alignmentListArr","oppositeIns","handleSelect","XMLCSVTab","isCsvActive","setActiveTab","AddAlignment","validateForm","otherError","LabelSelectBox","nameKey","valueKey","CopyTraffic","trafficModal","copyProcess","setCopyProcess","refAlignmentId","setRefAlignmentId","submitCopyTraffic","success","Summary","file1","setFile1","file2","setFile2","setloading","adjsutedListCO2_new","setAdjsutedListCO2_new","adjsutedListCost_new","setAdjsutedListCost_new","adjsutedListEnergy_new","setAdjsutedListEnergy_new","setTrafficModal","querySearch","setQuerySearch","errorMessage","setErrorMessage","setErrResp","activeTab","setXmlLoader","activeXMLAlign","xmlDefaultState","numberOfAlignments","xml","useCallback","setPresumptionData","alternativeArr","presempArr","indx","listCO2","listCost","listEnergy","makingRelative","eleList","deletAlternative","mutationAlternativeDeleteAlternativeFunction","mutationAlternativeGQL","mutationAlternativeDELETEGQL","mutationAlternativeFunction","csvCheck","csvError","chainage_new","BreakException","fileDirectionCheck","fileName","directionOnName","split","reader","FileReader","reader2","fileName1","dir1","fileName2","dir2","nameError","directionOnName1","directionOnName2","startingName1","startingName2","format1","format2","dict","nameCheck","readAsBinaryString","dir1Data","onload","csv","err","csvError2","dir2Data","xmlSubmit","alignReq","singleRec","stop","reqData","coordinateSystem","errRes","ModelState","Message","jsonArrayDir1","jsonArrayDir2","validateInputs","nameVal","handleReaderEvent","files","addReaderListeners","xmlDoc","DOMParser","parseFromString","getElementsByTagName","coordinateSys","alignmentNumb","getAttribute","alignmentList","alignList","dataListOpts","selectedListOpts","j","alignmentElem","isDataFound","paddingTop","TextField","serachdata","Search","marginBottom","alignContent","Tooltip","AddProjectPopup","newProjectName","currentDate","Date","pName","setPName","getFullYear","addProject","_extends","arguments","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","y2","x2","SvgAddProject","_ref","svgRef","titleId","xmlns","ForwardRef","newProjectPopup","setNewProjectPopup","projectName","projectid","deletProject","callAllProject","reducerPrediction","prediction","reducerProject","License","licenseKey","setLicenseKey","inputInvalid","setInputInvalid","license_key","reponse","alert","location","Number","isInteger","TermsPopUp","sessionStorage","termAgreed","setTermAgreed","userId","uniqueId","termAccepted","termAcceptedVal","handleClick","AuthPopup","reload","ExpirationMsg","isHide","setIsHide","licenseDate","moment","todayDate","diff","FuelDistribution","setCurrencyState","setCountryId","ItemText","as","country_id","country_name","setCountryNCurrency","PresumptionsForm","handleChange","currentTarget","presumptions_copy","presumption_titles","col_vals","pattern","required","col_val","defaultValue","EditForm","projectResp","projName","CDRSettings","threshold","setThresholdVal","setting","getProjectSettingsById","settingResp","GET_ALTERNATIVES_AND_PRES","UPDATE_PRESUMPTIONS","EditProject","currencyState","countryId","onSuccess","presumptionResp","currencyVal","countryVal","countryIdVal","updatePresumptions","mutationError","formPresumptions","setFormPresumptions","project_ids","chargable_hybrid_fuelfactor","chargable_hybrid_kwh","chargable_hybrid_efficiency","chargable_hybrid_cost","handleUpdatePresumptions","About","SpinLoader2","getElementById","setInterval","clearInterval","maxWidth","innerHTML","GraphSection","formData","baseId","setFormData","co2Fetched","setCo2Fetched","labelList","setLabelList","co2List","setCo2List","investData","setInvestData","maintainData","setMaintainData","getForecastData","checkCo2Condition","co2Data","newArr","annualCo2","firstPart","secondPart","investments","maintainance","newCo2List","stack","FormModal","ResponseTable","alignmentState","refTotal","refCase","isCalculating","co2Sum","calculation","UPDATE_CAP_INPUTS","CDR","alignmentLoading","cdrData","setCdrData","showModal","setShowModal","fetchAllCDRAlignments","g","addUpdateCDRInvestmentMaintainance","updateCapInputs","updateLoading","handleUpdateCapInputs","formDataVal","dataArr","year_value","isInValid","setEndYearVal","Content","App","redirectUrl","useLocation","useReducer","globalForcastList","forcastDispatch","globalForcastListNew","setGlobalForcastListNew","setAddSegment","username","setUserName","setApiAccessToken","apolloClient","setApolloClient","refreshProject","setRefreshProject","navDefaultKey","setCavDefaultKey","fcCar","fcTrucks","speedProfileCars","speedProfileTrucks","editSectionalAnalysisChart","setEditSectionalAnalysisChart","handleResize","userAgentApplication","PublicClientApplication","auth","clientId","knownAuthorities","redirectUri","postLogoutRedirectUri","cache","cacheLocation","storeAuthStateInCookie","settingNewClient","httpLink","createHttpLink","uri","loginDetailSessionUniqueID","accounts","getAllAccounts","clear","acquireTokenSilent","scopes","account","localAccountId","accessTokenObj","authLink","setContext","authorization","client","ApolloClient","link","concat","InMemoryCache","getApiToken","userAccountId","forceRefresh","login","loginPopup","logindetails","alignmentAndPresumptions","setGlobalProjectInfo","projInfo","logout","userNameFetchSession","watingforclient","retrivedData","localStorageSearchProject","pageDic","pathname","scrollTo","user_oid","userResp","license_exp_date","Countries","ForecastData","car","truck","fetchForecastConfig","Provider","defaultSelectedKeys","exact","path","DailyComparisons","SettingsIndividual","Login","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","autoClose","querySelector"],"mappings":"+FAAA,IAAMA,EAAkBC,iBAClBC,EAAWD,uCAEjBE,EAAOC,QAAU,CACbC,MAAOJ,uCACPK,YAAa,CAAE,yCACfC,UAAW,CAAEN,4CACbO,YAAa,CACTC,MAAO,CACHC,aAAc,+BACdC,eAAgB,gCAChBC,YAAa,+BAEjBC,YAAa,CACTH,aAAc,CACVI,UAAU,WAAD,OAAad,EAAb,YAAgCE,EAAhC,kCAEbU,YAAa,CACTE,UAAU,WAAD,OAAad,EAAb,YAAgCE,EAAhC,iCAEbS,eAAgB,CACZG,UAAU,WAAD,OAAad,EAAb,YAAgCE,EAAhC,oCAGjBF,qB,iCCxBR,OAAe,o/G,mRCAf,OAAe,cAA0B,oC,6ECAzC,OAAe,owI,+DCCfG,EAAOC,QAAU,CAAC,OAAS,OAAO,UAAY,UAAU,KAAO,OAAO,OAAS,OAAO,OAAS,UAAU,MAAQ,UAAU,MAAQ,UAAU,MAAQ,UAAU,MAAQ,UAAU,MAAQ,UAAU,MAAQ,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,WAAa,UAAU,UAAY,OAAO,KAAO,UAAU,KAAO,UAAU,MAAQ,YAAY,MAAQ,UAAU,MAAQ,UAAU,MAAQ,YAAY,QAAU,OAAO,KAAO,OAAO,WAAa,UAAU,OAAS,SAAS,OAAS,SAAS,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,OAAO,qBAAqB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ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oBC6gBAC,GAAyB,CAClC,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WClnBEC,GATW,SAACC,EAAOC,GAEvB,IADA,IAAIC,EAAO,GACF5D,EAAI0D,EAAO1D,GAAK2D,EAAK3D,IAC5B4D,EAAKvE,KAAKW,GAEZ,OAAO4D,EAIOC,CAAS,KAAM,MAmwBlBC,GAA6B,CACxC,KAAQL,GAUR,aDzxB+B,CAC7B,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WC6tBF,WD1tB6B,CAC3B,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WC8pBF,wBD3pBqC,CACnC,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WC+lBF,sBD5lBsC,CACpC,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WCgiBF,YD7hB8B,CAC5B,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WCieF,aD9d4B,CAC1B,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YCoaSM,GAA+B,CAC1C,KAAQN,GAUR,aD5a4B,CAC1B,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WCgXF,WD7W+B,CAC7B,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WCiTF,wBD9SkC,CAChC,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WCkPF,sBAAyBD,GACzB,YAAeA,GACf,aDjL8B,CAC5B,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YCsKSQ,GAAe,CAC1B,cAAiB,EACjB,gBAAmB,KACnB,cAAiB,IACjB,uBAA0B,CACxB,KAAQ,CACN,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAEF,aAAgB,CACd,sBACA,cACA,sBACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,cACA,aACA,cACA,aACA,sBACA,sBACA,cACA,cACA,aACA,sBACA,aACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,WAAc,CACZ,sBACA,cACA,sBACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,cACA,aACA,cACA,aACA,sBACA,sBACA,cACA,cACA,aACA,sBACA,aACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,wBAA2B,CACzB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,sBAAyB,CACvB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,YAAe,CACb,cACA,uBACA,cACA,cACA,cACA,sBACA,sBACA,cACA,cACA,sBACA,OACA,MACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,cACA,sBACA,cACA,aACA,cACA,aACA,qBACA,cACA,cACA,qBACA,aACA,cACA,aACA,cACA,cACA,cACA,qBACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,aAAgB,CACd,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MAGJ,yBAA4B,CAC1B,KAAQ,CACN,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAEF,aAAgB,CACd,cACA,cACA,cACA,sBACA,sBACA,cACA,cACA,cACA,sBACA,sBACA,QACA,SACA,QACA,SACA,QACA,SACA,sBACA,SACA,QACA,SACA,OACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,aACA,cACA,cACA,sBACA,cACA,sBACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,WAAc,CACZ,cACA,cACA,cACA,sBACA,sBACA,cACA,cACA,cACA,sBACA,sBACA,QACA,SACA,QACA,SACA,QACA,SACA,sBACA,SACA,QACA,SACA,OACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,aACA,cACA,cACA,sBACA,cACA,sBACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,wBAA2B,CACzB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,sBAAyB,CACvB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,YAAe,CACb,cACA,cACA,cACA,cACA,cACA,cACA,uBACA,cACA,cACA,cACA,OACA,uBACA,uBACA,QACA,uBACA,QACA,sBACA,QACA,QACA,sBACA,MACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,sBACA,aACA,cACA,sBACA,sBACA,qBACA,cACA,aACA,cACA,cACA,qBACA,cACA,qBACA,cACA,aACA,cACA,qBACA,cACA,qBACA,aACA,qBACA,cACA,qBACA,eAEF,aAAgB,CACd,sBACA,cACA,cACA,cACA,sBACA,sBACA,sBACA,cACA,sBACA,cACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,wBAGJ,aAAgB,CACd,UAAa,GACb,YAAe,GACf,cAAiB,IACjB,oBAAuB,EACvB,aAAgB,KAChB,aAAgB,IAChB,oBAAuB,IACvB,cAAiB,GACjB,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,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,KAKXC,GAAe,CAC1B,cAAiB,EACjB,WAAc,KACd,SAAY,KACZ,uBAA0B,CACxB,KAAQ,CACN,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAEF,aAAgB,CACd,sBACA,cACA,sBACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,cACA,aACA,cACA,aACA,sBACA,sBACA,cACA,cACA,aACA,sBACA,aACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,WAAc,CACZ,sBACA,cACA,sBACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,cACA,aACA,cACA,aACA,sBACA,sBACA,cACA,cACA,aACA,sBACA,aACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,wBAA2B,CACzB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,sBAAyB,CACvB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,YAAe,CACb,cACA,uBACA,cACA,cACA,cACA,sBACA,sBACA,cACA,cACA,sBACA,OACA,MACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,cACA,sBACA,cACA,aACA,cACA,aACA,qBACA,cACA,cACA,qBACA,aACA,cACA,aACA,cACA,cACA,cACA,qBACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,aAAgB,CACd,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MAGJ,yBAA4B,CAC1B,KAAQ,CACN,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAEF,aAAgB,CACd,cACA,cACA,cACA,sBACA,sBACA,cACA,cACA,cACA,sBACA,sBACA,QACA,SACA,QACA,SACA,QACA,SACA,sBACA,SACA,QACA,SACA,OACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,aACA,cACA,cACA,sBACA,cACA,sBACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,WAAc,CACZ,cACA,cACA,cACA,sBACA,sBACA,cACA,cACA,cACA,sBACA,sBACA,QACA,SACA,QACA,SACA,QACA,SACA,sBACA,SACA,QACA,SACA,OACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,aACA,cACA,cACA,sBACA,cACA,sBACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,wBAA2B,CACzB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,sBAAyB,CACvB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,YAAe,CACb,cACA,cACA,cACA,cACA,cACA,cACA,uBACA,cACA,cACA,cACA,OACA,uBACA,uBACA,QACA,uBACA,QACA,sBACA,QACA,QACA,sBACA,MACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,sBACA,aACA,cACA,sBACA,sBACA,qBACA,cACA,aACA,cACA,cACA,qBACA,cACA,qBACA,cACA,aACA,cACA,qBACA,cACA,qBACA,aACA,qBACA,cACA,qBACA,eAEF,aAAgB,CACd,sBACA,cACA,cACA,cACA,sBACA,sBACA,sBACA,cACA,sBACA,cACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,wBAGJ,0BAA6B,CAC3B,MAAS,EACT,UAAa,EACb,SAAY,EACZ,UAAa,GAEf,aAAgB,CACd,UAAa,GACb,YAAe,GACf,cAAiB,IACjB,oBAAuB,EACvB,aAAgB,KAChB,aAAgB,IAChB,oBAAuB,IACvB,cAAiB,GACjB,kBAAqB,EACrB,WAAc,KACd,WAAc,IACd,kBAAqB,IACrB,YAAe,GACf,mBAAsB,EACtB,YAAe,EACf,YAAe,IACf,mBAAsB,EACtB,aAAgB,EAChB,+BAAkC,EAClC,wBAA2B,KAC3B,wBAA2B,IAC3B,+BAAkC,IAClC,yBAA4B,GAC5B,6BAAgC,EAChC,sBAAyB,KACzB,sBAAyB,IACzB,6BAAgC,IAChC,uBAA0B,GAC1B,oBAAuB,EACvB,aAAgB,EAChB,aAAgB,IAChB,oBAAuB,EACvB,cAAiB,EACjB,IAAO,EACP,IAAO,GAET,SAAY,CACV,CACE,WAAc,EACd,cAAiB,IACjB,KAAQ,KACR,KAAQ,IACR,UAAa,GACb,UAAa,KACb,YAAe,KACf,yBAA4B,IAC5B,qBAAwB,EACxB,sBAAyB,IACzB,iBAAoB,IAGxB,cAAiB,CACf,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,MACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,MACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,MACV,OAAU,OACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,MACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,KACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,UACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,OACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,OACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,EACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,OACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,GACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,GACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,GACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,KACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,UACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,MACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,MACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,IACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,QACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,SACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,KACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,KACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,KACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,IACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,KAMXC,GAAe,CAC1B,cAAiB,EACjB,WAAc,KACd,SAAY,KACZ,uBAA0B,CACxB,KAAQ,CACN,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAEF,aAAgB,CACd,sBACA,cACA,sBACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,cACA,aACA,cACA,aACA,sBACA,sBACA,cACA,cACA,aACA,sBACA,aACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,WAAc,CACZ,sBACA,cACA,sBACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,cACA,aACA,cACA,aACA,sBACA,sBACA,cACA,cACA,aACA,sBACA,aACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,wBAA2B,CACzB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,sBAAyB,CACvB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,YAAe,CACb,cACA,uBACA,cACA,cACA,cACA,sBACA,sBACA,cACA,cACA,sBACA,OACA,MACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,cACA,sBACA,cACA,aACA,cACA,aACA,qBACA,cACA,cACA,qBACA,aACA,cACA,aACA,cACA,cACA,cACA,qBACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,aAAgB,CACd,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MAGJ,yBAA4B,CAC1B,KAAQ,CACN,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAEF,aAAgB,CACd,cACA,cACA,cACA,sBACA,sBACA,cACA,cACA,cACA,sBACA,sBACA,QACA,SACA,QACA,SACA,QACA,SACA,sBACA,SACA,QACA,SACA,OACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,aACA,cACA,cACA,sBACA,cACA,sBACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,WAAc,CACZ,cACA,cACA,cACA,sBACA,sBACA,cACA,cACA,cACA,sBACA,sBACA,QACA,SACA,QACA,SACA,QACA,SACA,sBACA,SACA,QACA,SACA,OACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,aACA,cACA,cACA,sBACA,cACA,sBACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,wBAA2B,CACzB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,sBAAyB,CACvB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,YAAe,CACb,cACA,cACA,cACA,cACA,cACA,cACA,uBACA,cACA,cACA,cACA,OACA,uBACA,uBACA,QACA,uBACA,QACA,sBACA,QACA,QACA,sBACA,MACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,sBACA,aACA,cACA,sBACA,sBACA,qBACA,cACA,aACA,cACA,cACA,qBACA,cACA,qBACA,cACA,aACA,cACA,qBACA,cACA,qBACA,aACA,qBACA,cACA,qBACA,eAEF,aAAgB,CACd,sBACA,cACA,cACA,cACA,sBACA,sBACA,sBACA,cACA,sBACA,cACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,wBAGJ,0BAA6B,CAC3B,MAAS,EACT,UAAa,EACb,SAAY,EACZ,UAAa,GAEf,aAAgB,C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GAEpB,CACE,gBAAmB,KACnB,SAAY,KACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,OACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,GAEpB,CACE,gBAAmB,IACnB,SAAY,IACZ,OAAU,MACV,OAAU,KACV,iBAAoB,EACpB,eAAkB,KAKXC,GAAc,CACzB,cAAiB,EACjB,WAAc,KACd,SAAY,KACZ,uBAA0B,CACxB,KAAQ,CACN,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAEF,aAAgB,CACd,sBACA,cACA,sBACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,cACA,aACA,cACA,aACA,sBACA,sBACA,cACA,cACA,aACA,sBACA,aACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,WAAc,CACZ,sBACA,cACA,sBACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,cACA,aACA,cACA,aACA,sBACA,sBACA,cACA,cACA,aACA,sBACA,aACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,wBAA2B,CACzB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,sBAAyB,CACvB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,YAAe,CACb,cACA,uBACA,cACA,cACA,cACA,sBACA,sBACA,cACA,cACA,sBACA,OACA,MACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,cACA,sBACA,cACA,aACA,cACA,aACA,qBACA,cACA,cACA,qBACA,aACA,cACA,aACA,cACA,cACA,cACA,qBACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,aAAgB,CACd,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MAGJ,yBAA4B,CAC1B,KAAQ,CACN,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAEF,aAAgB,CACd,cACA,cACA,cACA,sBACA,sBACA,cACA,cACA,cACA,sBACA,sBACA,QACA,SACA,QACA,SACA,QACA,SACA,sBACA,SACA,QACA,SACA,OACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,aACA,cACA,cACA,sBACA,cACA,sBACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,WAAc,CACZ,cACA,cACA,cACA,sBACA,sBACA,cACA,cACA,cACA,sBACA,sBACA,QACA,SACA,QACA,SACA,QACA,SACA,sBACA,SACA,QACA,SACA,OACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,aACA,cACA,cACA,sBACA,cACA,sBACA,cACA,cACA,cACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEF,wBAA2B,CACzB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,sBAAyB,CACvB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF,YAAe,CACb,cACA,cACA,cACA,cACA,cACA,cACA,uBACA,cACA,cACA,cACA,OACA,uBACA,uBACA,QACA,uBACA,QACA,sBACA,QACA,QACA,sBACA,MACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,sBACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,sBACA,aACA,cACA,sBACA,sBACA,qBACA,cACA,aACA,cACA,cACA,qBACA,cACA,qBACA,cACA,aACA,cACA,qBACA,cACA,qBACA,aACA,qBACA,cACA,qBACA,eAEF,aAAgB,CACd,sBACA,cACA,cACA,cACA,sBACA,sBACA,sBACA,cACA,sBACA,cACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,wBAGJ,0BAA6B,CAC3B,MAAS,EAC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","file":"static/js/main.daa1938d.chunk.js","sourcesContent":["const authorityDomain = process.env.REACT_APP_B2C_AUTHORITY_DOMAIN;\r\nconst tenantId = process.env.REACT_APP_B2C_TENANT_ID;\r\n\r\nmodule.exports = {\r\n appId: process.env.REACT_APP_B2C_APP_ID,\r\n graphScopes: [ \"https://graph.microsoft.com/User.Read\" ],\r\n apiScopes: [ process.env.REACT_APP_B2C_API_SCOPE ],\r\n b2cPolicies: {\r\n names: {\r\n signUpSignIn: \"B2C_1A_FUELSAVE_SIGNUPSIGNIN\",\r\n forgotPassword: \"B2C_1A_FUELSAVE_PASSWORDRESET\",\r\n editProfile: \"B2C_1A_FUELSAVE_PROFILEEDIT\"\r\n },\r\n authorities: {\r\n signUpSignIn: {\r\n authority: `https://${authorityDomain}/${tenantId}/B2C_1A_FUELSAVE_SIGNUPSIGNIN`,\r\n },\r\n editProfile: {\r\n authority: `https://${authorityDomain}/${tenantId}/B2C_1A_FUELSAVE_PROFILEEDIT`\r\n },\r\n forgotPassword: {\r\n authority: `https://${authorityDomain}/${tenantId}/B2C_1A_FUELSAVE_PASSWORDRESET`\r\n }\r\n },\r\n authorityDomain\r\n }\r\n};","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/manual.89106007.pdf\";","export default \"data:image/png;base64,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\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"black1\":\"#000\",\"richBlack\":\"#004040\",\"teal\":\"teal\",\"white1\":\"#fff\",\"white2\":\"#fbfbff\",\"blue1\":\"#8087eb\",\"blue2\":\"#f1f3ff\",\"blue3\":\"#172678\",\"blue4\":\"#2438a8\",\"blue5\":\"#2e4af2\",\"blue6\":\"#9eabed\",\"green1\":\"#05f29c\",\"green2\":\"#03784f\",\"green3\":\"#69f7c2\",\"green4\":\"#05b573\",\"green5\":\"#9cfad6\",\"lightGreen\":\"#05f2c6\",\"lightCyan\":\"#6ff\",\"red1\":\"#ff313a\",\"red2\":\"#ffebec\",\"grey1\":\"#C6C6CE3B\",\"grey2\":\"#a7acbf\",\"grey3\":\"#5a5a5a\",\"grey4\":\"#c6c6ce33\",\"yellow1\":\"#ff0\",\"aqua\":\"aqua\",\"waterSpout\":\"#96ffff\",\"mobile\":\"37.5em\",\"tablet\":\"69.5em\",\"mt-0\":\"common_mt-0__3a1NJ\",\"pt-0\":\"common_pt-0__1pBpn\",\"mb-0\":\"common_mb-0__3lDWi\",\"pb-0\":\"common_pb-0__5RbHP\",\"ml-0\":\"common_ml-0__3pS7L\",\"pl-0\":\"common_pl-0__3A6PY\",\"mr-0\":\"common_mr-0__Gq9CW\",\"pr-0\":\"common_pr-0__17_mx\",\"mt-1\":\"common_mt-1__212Nx\",\"pt-1\":\"common_pt-1__3VTfb\",\"mb-1\":\"common_mb-1__JrBPr\",\"pb-1\":\"common_pb-1__1y1g-\",\"ml-1\":\"common_ml-1__3q4IE\",\"pl-1\":\"common_pl-1__X5nIL\",\"mr-1\":\"common_mr-1__sr1ga\",\"pr-1\":\"common_pr-1__1qkbM\",\"mt-2\":\"common_mt-2__33gbb\",\"pt-2\":\"common_pt-2__2P9YH\",\"mb-2\":\"common_mb-2__VzicB\",\"pb-2\":\"common_pb-2__rVCOb\",\"ml-2\":\"common_ml-2__1PQcU\",\"pl-2\":\"common_pl-2__2xGlq\",\"mr-2\":\"common_mr-2__2Jhni\",\"pr-2\":\"common_pr-2__TAbBp\",\"mt-3\":\"common_mt-3__1lhYh\",\"pt-3\":\"common_pt-3__1P5hg\",\"mb-3\":\"common_mb-3__2MO6Q\",\"pb-3\":\"common_pb-3__2HYc8\",\"ml-3\":\"common_ml-3__zbHlo\",\"pl-3\":\"common_pl-3__2rD1S\",\"mr-3\":\"common_mr-3__1H91s\",\"pr-3\":\"common_pr-3__yO4Ik\",\"mt-4\":\"common_mt-4__2m2oX\",\"pt-4\":\"common_pt-4__3ex2y\",\"mb-4\":\"common_mb-4__136Ub\",\"pb-4\":\"common_pb-4__1z1E0\",\"ml-4\":\"common_ml-4__2KUIx\",\"pl-4\":\"common_pl-4__2WwsD\",\"mr-4\":\"common_mr-4__U5DoU\",\"pr-4\":\"common_pr-4__2zZ7W\",\"mt-5\":\"common_mt-5__2zegF\",\"pt-5\":\"common_pt-5__1ZVG4\",\"mb-5\":\"common_mb-5__3rAb1\",\"pb-5\":\"common_pb-5__3anrk\",\"ml-5\":\"common_ml-5__3rfvB\",\"pl-5\":\"common_pl-5__3dRS1\",\"mr-5\":\"common_mr-5___tNvh\",\"pr-5\":\"common_pr-5__3TYw3\",\"mt-6\":\"common_mt-6__3hxda\",\"pt-6\":\"common_pt-6__u0Frj\",\"mb-6\":\"common_mb-6__1g73m\",\"pb-6\":\"common_pb-6__1Dib9\",\"ml-6\":\"common_ml-6__3XwCV\",\"pl-6\":\"common_pl-6__2yprZ\",\"mr-6\":\"common_mr-6__3GZSA\",\"pr-6\":\"common_pr-6__1RsVB\",\"mt-7\":\"common_mt-7__2D0zA\",\"pt-7\":\"common_pt-7__2BMCC\",\"mb-7\":\"common_mb-7__3xMM4\",\"pb-7\":\"common_pb-7__3NgwB\",\"ml-7\":\"common_ml-7__2rJN5\",\"pl-7\":\"common_pl-7__3JwXX\",\"mr-7\":\"common_mr-7__1P8Jj\",\"pr-7\":\"common_pr-7__16sJ5\",\"mt-8\":\"common_mt-8__6lcZD\",\"pt-8\":\"common_pt-8__2Djtk\",\"mb-8\":\"common_mb-8__DTovq\",\"pb-8\":\"common_pb-8__1E6ax\",\"ml-8\":\"common_ml-8__Fn4ll\",\"pl-8\":\"common_pl-8__3_kXS\",\"mr-8\":\"common_mr-8__35T6I\",\"pr-8\":\"common_pr-8__3_Hex\",\"mt-9\":\"common_mt-9__3WHn0\",\"pt-9\":\"common_pt-9__13ih6\",\"mb-9\":\"common_mb-9__9k1Qj\",\"pb-9\":\"common_pb-9__1VJ4j\",\"ml-9\":\"common_ml-9__A08bc\",\"pl-9\":\"common_pl-9__3POLd\",\"mr-9\":\"common_mr-9__UVuwd\",\"pr-9\":\"common_pr-9__2ytT-\",\"mt-10\":\"common_mt-10__1DYbm\",\"pt-10\":\"common_pt-10__3NnYC\",\"mb-10\":\"common_mb-10__3ux0v\",\"pb-10\":\"common_pb-10__3eZXK\",\"ml-10\":\"common_ml-10__3jxf1\",\"pl-10\":\"common_pl-10__1VlKY\",\"mr-10\":\"common_mr-10__2tJph\",\"pr-10\":\"common_pr-10__3pSTN\",\"mt-11\":\"common_mt-11__3KQYM\",\"pt-11\":\"common_pt-11__29ezc\",\"mb-11\":\"common_mb-11__3G233\",\"pb-11\":\"common_pb-11__3rUgc\",\"ml-11\":\"common_ml-11__27-NQ\",\"pl-11\":\"common_pl-11__bgYiz\",\"mr-11\":\"common_mr-11__1mY3s\",\"pr-11\":\"common_pr-11__2-7jK\",\"mt-12\":\"common_mt-12__Nuuyl\",\"pt-12\":\"common_pt-12__1u3_Z\",\"mb-12\":\"common_mb-12__1-SUg\",\"pb-12\":\"common_pb-12__Bpcok\",\"ml-12\":\"common_ml-12__eYCJZ\",\"pl-12\":\"common_pl-12__3D1X5\",\"mr-12\":\"common_mr-12__pWLUb\",\"pr-12\":\"common_pr-12__3_IRZ\",\"mt-13\":\"common_mt-13__2looa\",\"pt-13\":\"common_pt-13__22FCN\",\"mb-13\":\"common_mb-13__2xcEj\",\"pb-13\":\"common_pb-13__2WpKr\",\"ml-13\":\"common_ml-13__1SANZ\",\"pl-13\":\"common_pl-13__2phnK\",\"mr-13\":\"common_mr-13__2wwOn\",\"pr-13\":\"common_pr-13__1OS-m\",\"mt-14\":\"common_mt-14__1N_94\",\"pt-14\":\"common_pt-14__1-W9r\",\"mb-14\":\"common_mb-14__1Qtrg\",\"pb-14\":\"common_pb-14__2uryY\",\"ml-14\":\"common_ml-14__1F22t\",\"pl-14\":\"common_pl-14__2NcCr\",\"mr-14\":\"common_mr-14__BhziR\",\"pr-14\":\"common_pr-14__2PH1B\",\"mt-15\":\"common_mt-15___veuE\",\"pt-15\":\"common_pt-15__2Acdq\",\"mb-15\":\"common_mb-15__3l0O8\",\"pb-15\":\"common_pb-15__1CjXP\",\"ml-15\":\"common_ml-15__2qgRv\",\"pl-15\":\"common_pl-15__FcreP\",\"mr-15\":\"common_mr-15__2FsAJ\",\"pr-15\":\"common_pr-15__23SWX\",\"mt-16\":\"common_mt-16__1vzWH\",\"pt-16\":\"common_pt-16__3uXoY\",\"mb-16\":\"common_mb-16__2P3aO\",\"pb-16\":\"common_pb-16__1BgGz\",\"ml-16\":\"common_ml-16__2cEue\",\"pl-16\":\"common_pl-16__2axLg\",\"mr-16\":\"common_mr-16__30eH8\",\"pr-16\":\"common_pr-16__1q_IT\",\"mt-17\":\"common_mt-17__2XYEW\",\"pt-17\":\"common_pt-17__2W-Zu\",\"mb-17\":\"common_mb-17__1TxQb\",\"pb-17\":\"common_pb-17__RC1zZ\",\"ml-17\":\"common_ml-17__3Aw8Y\",\"pl-17\":\"common_pl-17__10AW1\",\"mr-17\":\"common_mr-17__2I6_8\",\"pr-17\":\"common_pr-17__1VYIo\",\"mt-18\":\"common_mt-18__3s-yh\",\"pt-18\":\"common_pt-18__Ni01r\",\"mb-18\":\"common_mb-18__2SNRa\",\"pb-18\":\"common_pb-18__3M0-C\",\"ml-18\":\"common_ml-18__27cdF\",\"pl-18\":\"common_pl-18__24tsB\",\"mr-18\":\"common_mr-18__2dphn\",\"pr-18\":\"common_pr-18__26tdr\",\"mt-19\":\"common_mt-19__3mRWI\",\"pt-19\":\"common_pt-19__1nJQ4\",\"mb-19\":\"common_mb-19__2k2LE\",\"pb-19\":\"common_pb-19__14U2n\",\"ml-19\":\"common_ml-19__3ovO0\",\"pl-19\":\"common_pl-19__13stC\",\"mr-19\":\"common_mr-19__2sc_m\",\"pr-19\":\"common_pr-19__e38pO\",\"mt-20\":\"common_mt-20__3da_Y\",\"pt-20\":\"common_pt-20__1ncGI\",\"mb-20\":\"common_mb-20__2m6OF\",\"pb-20\":\"common_pb-20__2i_sd\",\"ml-20\":\"common_ml-20__3h031\",\"pl-20\":\"common_pl-20__2oAJh\",\"mr-20\":\"common_mr-20__1iDia\",\"pr-20\":\"common_pr-20__3N0r7\",\"mt-21\":\"common_mt-21__3gWiq\",\"pt-21\":\"common_pt-21__1jqjy\",\"mb-21\":\"common_mb-21__2TtQc\",\"pb-21\":\"common_pb-21__Ih5EI\",\"ml-21\":\"common_ml-21__3fY4T\",\"pl-21\":\"common_pl-21__2EirE\",\"mr-21\":\"common_mr-21__1TrFQ\",\"pr-21\":\"common_pr-21__3fT1m\",\"mt-22\":\"common_mt-22__SAW_e\",\"pt-22\":\"common_pt-22__10k4a\",\"mb-22\":\"common_mb-22__35Bcf\",\"pb-22\":\"common_pb-22__3XpOX\",\"ml-22\":\"common_ml-22__1ZRSh\",\"pl-22\":\"common_pl-22__B-kIL\",\"mr-22\":\"common_mr-22__1OgoX\",\"pr-22\":\"common_pr-22__1uHMj\",\"mt-23\":\"common_mt-23__2svSM\",\"pt-23\":\"common_pt-23__3OaVx\",\"mb-23\":\"common_mb-23__3S8nU\",\"pb-23\":\"common_pb-23__1eOv1\",\"ml-23\":\"common_ml-23__FE2GL\",\"pl-23\":\"common_pl-23__2NHBL\",\"mr-23\":\"common_mr-23__WN1P4\",\"pr-23\":\"common_pr-23__1vddv\",\"mt-24\":\"common_mt-24__otV0I\",\"pt-24\":\"common_pt-24__1wI6k\",\"mb-24\":\"common_mb-24__1yvid\",\"pb-24\":\"common_pb-24__2AWVY\",\"ml-24\":\"common_ml-24__2adc3\",\"pl-24\":\"common_pl-24__g8Opg\",\"mr-24\":\"common_mr-24__Rgcb8\",\"pr-24\":\"common_pr-24__3mJvc\",\"mt-25\":\"common_mt-25__FkOA9\",\"pt-25\":\"common_pt-25__2KcsF\",\"mb-25\":\"common_mb-25__2E0nZ\",\"pb-25\":\"common_pb-25__2dkqt\",\"ml-25\":\"common_ml-25__3ZZy7\",\"pl-25\":\"common_pl-25__22M8a\",\"mr-25\":\"common_mr-25__23vy-\",\"pr-25\":\"common_pr-25__RMmF0\",\"mt-26\":\"common_mt-26__3jj7r\",\"pt-26\":\"common_pt-26__2V6ZW\",\"mb-26\":\"common_mb-26__2hfm8\",\"pb-26\":\"common_pb-26__PieEa\",\"ml-26\":\"common_ml-26__3pf-N\",\"pl-26\":\"common_pl-26__21Vt5\",\"mr-26\":\"common_mr-26__YjoRJ\",\"pr-26\":\"common_pr-26__3D8GU\",\"mt-27\":\"common_mt-27__1K5JM\",\"pt-27\":\"common_pt-27__2GYxH\",\"mb-27\":\"common_mb-27__1agHo\",\"pb-27\":\"common_pb-27__fTpw-\",\"ml-27\":\"common_ml-27__39Pru\",\"pl-27\":\"common_pl-27__2T79I\",\"mr-27\":\"common_mr-27__3hlHh\",\"pr-27\":\"common_pr-27__f5fCy\",\"mt-28\":\"common_mt-28__25sr0\",\"pt-28\":\"common_pt-28__2Rb5f\",\"mb-28\":\"common_mb-28__2CaH6\",\"pb-28\":\"common_pb-28__1bATp\",\"ml-28\":\"common_ml-28__YaAlD\",\"pl-28\":\"common_pl-28__1Jr1O\",\"mr-28\":\"common_mr-28__1y1x_\",\"pr-28\":\"common_pr-28__3LVN7\",\"mt-29\":\"common_mt-29__2pmCN\",\"pt-29\":\"common_pt-29__S2Kbx\",\"mb-29\":\"common_mb-29__30t_n\",\"pb-29\":\"common_pb-29__2R-OX\",\"ml-29\":\"common_ml-29__15AU4\",\"pl-29\":\"common_pl-29__3LVF5\",\"mr-29\":\"common_mr-29__34I-q\",\"pr-29\":\"common_pr-29__12rcK\",\"mt-30\":\"common_mt-30__2hQnl\",\"pt-30\":\"common_pt-30__kvey2\",\"mb-30\":\"common_mb-30__1UaQC\",\"pb-30\":\"common_pb-30__6E6-L\",\"ml-30\":\"common_ml-30__ZpYHz\",\"pl-30\":\"common_pl-30__3KdPI\",\"mr-30\":\"common_mr-30__3-p-b\",\"pr-30\":\"common_pr-30__3vmyN\",\"mt-31\":\"common_mt-31__131kI\",\"pt-31\":\"common_pt-31__20bpx\",\"mb-31\":\"common_mb-31__206rK\",\"pb-31\":\"common_pb-31__3bu0U\",\"ml-31\":\"common_ml-31__1qJN0\",\"pl-31\":\"common_pl-31__3Fd78\",\"mr-31\":\"common_mr-31__2XPlR\",\"pr-31\":\"common_pr-31__3fw2l\",\"mt-32\":\"common_mt-32__3W8gS\",\"pt-32\":\"common_pt-32__2OiJ_\",\"mb-32\":\"common_mb-32__1_-wN\",\"pb-32\":\"common_pb-32__J__UX\",\"ml-32\":\"common_ml-32__VE2AV\",\"pl-32\":\"common_pl-32__4XrIw\",\"mr-32\":\"common_mr-32__19PD8\",\"pr-32\":\"common_pr-32__2x3GN\",\"mt-33\":\"common_mt-33__18kB1\",\"pt-33\":\"common_pt-33__HAQr4\",\"mb-33\":\"common_mb-33__nb85j\",\"pb-33\":\"common_pb-33__2LWYL\",\"ml-33\":\"common_ml-33__2a0da\",\"pl-33\":\"common_pl-33__2pbp4\",\"mr-33\":\"common_mr-33__3rP5k\",\"pr-33\":\"common_pr-33__3YQnh\",\"mt-34\":\"common_mt-34__1ZOpd\",\"pt-34\":\"common_pt-34__11kzE\",\"mb-34\":\"common_mb-34__3rj1Y\",\"pb-34\":\"common_pb-34__ka7mQ\",\"ml-34\":\"common_ml-34__3NxJd\",\"pl-34\":\"common_pl-34__2MP7m\",\"mr-34\":\"common_mr-34__2eE2K\",\"pr-34\":\"common_pr-34__1h36p\",\"mt-35\":\"common_mt-35__128sP\",\"pt-35\":\"common_pt-35__lPtWh\",\"mb-35\":\"common_mb-35__hEVqw\",\"pb-35\":\"common_pb-35__3oDsT\",\"ml-35\":\"common_ml-35__1G7wv\",\"pl-35\":\"common_pl-35__1HNeR\",\"mr-35\":\"common_mr-35__1mkA0\",\"pr-35\":\"common_pr-35__1qy3N\",\"mt-36\":\"common_mt-36__3rlp6\",\"pt-36\":\"common_pt-36__3RfGO\",\"mb-36\":\"common_mb-36__2_9Af\",\"pb-36\":\"common_pb-36__2XFOI\",\"ml-36\":\"common_ml-36__lxkAe\",\"pl-36\":\"common_pl-36__1yJyN\",\"mr-36\":\"common_mr-36__JVHVd\",\"pr-36\":\"common_pr-36__3fYJd\",\"mt-37\":\"common_mt-37__1oCPU\",\"pt-37\":\"common_pt-37__3Ncec\",\"mb-37\":\"common_mb-37__11eOc\",\"pb-37\":\"common_pb-37__4qs8a\",\"ml-37\":\"common_ml-37__POELI\",\"pl-37\":\"common_pl-37__V3eCA\",\"mr-37\":\"common_mr-37__31kgG\",\"pr-37\":\"common_pr-37__c4uas\",\"mt-38\":\"common_mt-38__2q4ds\",\"pt-38\":\"common_pt-38__3u9rh\",\"mb-38\":\"common_mb-38__n2QN4\",\"pb-38\":\"common_pb-38__3n22F\",\"ml-38\":\"common_ml-38__2QvTf\",\"pl-38\":\"common_pl-38__-MZ6N\",\"mr-38\":\"common_mr-38__meIv9\",\"pr-38\":\"common_pr-38__4FQb6\",\"mt-39\":\"common_mt-39__1v_ZT\",\"pt-39\":\"common_pt-39__2QKNT\",\"mb-39\":\"common_mb-39__23MRa\",\"pb-39\":\"common_pb-39__3jl48\",\"ml-39\":\"common_ml-39__3u5Y6\",\"pl-39\":\"common_pl-39__13YLP\",\"mr-39\":\"common_mr-39__3xx1N\",\"pr-39\":\"common_pr-39__2PRA8\",\"mt-40\":\"common_mt-40__3hW3x\",\"pt-40\":\"common_pt-40__3-O1O\",\"mb-40\":\"common_mb-40__2VjDU\",\"pb-40\":\"common_pb-40__4gdS6\",\"ml-40\":\"common_ml-40__iuBVw\",\"pl-40\":\"common_pl-40___2jGI\",\"mr-40\":\"common_mr-40__2sOGd\",\"pr-40\":\"common_pr-40__Pmwwo\",\"mt-41\":\"common_mt-41__1LBng\",\"pt-41\":\"common_pt-41__o_be2\",\"mb-41\":\"common_mb-41__3DJYi\",\"pb-41\":\"common_pb-41__1I_I3\",\"ml-41\":\"common_ml-41__2iV1g\",\"pl-41\":\"common_pl-41__2xJ0z\",\"mr-41\":\"common_mr-41__2TUNi\",\"pr-41\":\"common_pr-41__1y6dA\",\"mt-42\":\"common_mt-42__3bokf\",\"pt-42\":\"common_pt-42__BbX6a\",\"mb-42\":\"common_mb-42__2nbJ-\",\"pb-42\":\"common_pb-42__6N6qi\",\"ml-42\":\"common_ml-42__2JhXh\",\"pl-42\":\"common_pl-42__1092M\",\"mr-42\":\"common_mr-42__2FNQK\",\"pr-42\":\"common_pr-42__1fKp9\",\"mt-43\":\"common_mt-43__3hzVz\",\"pt-43\":\"common_pt-43__2t1Uq\",\"mb-43\":\"common_mb-43__oQdLw\",\"pb-43\":\"common_pb-43__3ojR7\",\"ml-43\":\"common_ml-43__1H-FR\",\"pl-43\":\"common_pl-43__2Rbwv\",\"mr-43\":\"common_mr-43__2Sie2\",\"pr-43\":\"common_pr-43__-13bu\",\"mt-44\":\"common_mt-44__O8gB1\",\"pt-44\":\"common_pt-44__3ZVfE\",\"mb-44\":\"common_mb-44__2egOi\",\"pb-44\":\"common_pb-44__2Xl1Z\",\"ml-44\":\"common_ml-44__1YAXH\",\"pl-44\":\"common_pl-44__1mFgh\",\"mr-44\":\"common_mr-44__28WeP\",\"pr-44\":\"common_pr-44__3Tlcw\",\"mt-45\":\"common_mt-45__kdIsN\",\"pt-45\":\"common_pt-45__6TZjA\",\"mb-45\":\"common_mb-45__3AZs5\",\"pb-45\":\"common_pb-45__kaLiH\",\"ml-45\":\"common_ml-45__s7xr8\",\"pl-45\":\"common_pl-45__ccNQx\",\"mr-45\":\"common_mr-45__HuxR9\",\"pr-45\":\"common_pr-45__1wATT\",\"mt-46\":\"common_mt-46__HxITh\",\"pt-46\":\"common_pt-46__2tyAb\",\"mb-46\":\"common_mb-46__1q3ln\",\"pb-46\":\"common_pb-46__2iW2H\",\"ml-46\":\"common_ml-46__BJbzU\",\"pl-46\":\"common_pl-46__3vokw\",\"mr-46\":\"common_mr-46__2u_H-\",\"pr-46\":\"common_pr-46__1V4sB\",\"mt-47\":\"common_mt-47__33yOn\",\"pt-47\":\"common_pt-47__QCCVN\",\"mb-47\":\"common_mb-47__2rFEX\",\"pb-47\":\"common_pb-47__kSAaY\",\"ml-47\":\"common_ml-47__O5aTY\",\"pl-47\":\"common_pl-47__2sK5u\",\"mr-47\":\"common_mr-47__NAS4c\",\"pr-47\":\"common_pr-47__2Z0cU\",\"mt-48\":\"common_mt-48__DD4T1\",\"pt-48\":\"common_pt-48__3L-9v\",\"mb-48\":\"common_mb-48__3pNPK\",\"pb-48\":\"common_pb-48__2RWY4\",\"ml-48\":\"common_ml-48__3N7oG\",\"pl-48\":\"common_pl-48__1nDwS\",\"mr-48\":\"common_mr-48__1Uqfd\",\"pr-48\":\"common_pr-48__EgKwp\",\"mt-49\":\"common_mt-49__3sFez\",\"pt-49\":\"common_pt-49__3pnu-\",\"mb-49\":\"common_mb-49__KbT6Y\",\"pb-49\":\"common_pb-49__3kwpy\",\"ml-49\":\"common_ml-49__1XBuT\",\"pl-49\":\"common_pl-49__3V_L9\",\"mr-49\":\"common_mr-49__1tDMl\",\"pr-49\":\"common_pr-49__s5OE5\",\"mt-50\":\"common_mt-50__16Ron\",\"pt-50\":\"common_pt-50__3C-jN\",\"mb-50\":\"common_mb-50__3e0KM\",\"pb-50\":\"common_pb-50__2moYE\",\"ml-50\":\"common_ml-50__MhiYI\",\"pl-50\":\"common_pl-50__4fHVD\",\"mr-50\":\"common_mr-50__vHXkY\",\"pr-50\":\"common_pr-50__2KrWw\",\"mt-51\":\"common_mt-51__2wS69\",\"pt-51\":\"common_pt-51__2di8x\",\"mb-51\":\"common_mb-51__3tCGN\",\"pb-51\":\"common_pb-51__XdeLb\",\"ml-51\":\"common_ml-51__2Ok6i\",\"pl-51\":\"common_pl-51__1qi2U\",\"mr-51\":\"common_mr-51__2DAw4\",\"pr-51\":\"common_pr-51__3FfUM\",\"mt-52\":\"common_mt-52__3xya9\",\"pt-52\":\"common_pt-52__2gEjA\",\"mb-52\":\"common_mb-52__3Krpc\",\"pb-52\":\"common_pb-52__GqvhI\",\"ml-52\":\"common_ml-52__-Qj1s\",\"pl-52\":\"common_pl-52__2Cwti\",\"mr-52\":\"common_mr-52__qYBlK\",\"pr-52\":\"common_pr-52__1Fd22\",\"mt-53\":\"common_mt-53__1JtBv\",\"pt-53\":\"common_pt-53__2iBAC\",\"mb-53\":\"common_mb-53__1G7Tg\",\"pb-53\":\"common_pb-53__13jLA\",\"ml-53\":\"common_ml-53__1IVD2\",\"pl-53\":\"common_pl-53__1Tq1w\",\"mr-53\":\"common_mr-53__3tqU2\",\"pr-53\":\"common_pr-53__1Cf5-\",\"mt-54\":\"common_mt-54__3i1eY\",\"pt-54\":\"common_pt-54__1cWyG\",\"mb-54\":\"common_mb-54__2rpYz\",\"pb-54\":\"common_pb-54__1dsZ1\",\"ml-54\":\"common_ml-54__2G8nk\",\"pl-54\":\"common_pl-54__2JQTQ\",\"mr-54\":\"common_mr-54__2BplF\",\"pr-54\":\"common_pr-54__1kCO0\",\"mt-55\":\"common_mt-55__2JSKr\",\"pt-55\":\"common_pt-55__dgX47\",\"mb-55\":\"common_mb-55__SA0Ma\",\"pb-55\":\"common_pb-55__2It3V\",\"ml-55\":\"common_ml-55__3jr7c\",\"pl-55\":\"common_pl-55__1dWqO\",\"mr-55\":\"common_mr-55__2D4xg\",\"pr-55\":\"common_pr-55__Gm-Bb\",\"mt-56\":\"common_mt-56__CoziG\",\"pt-56\":\"common_pt-56__12eNk\",\"mb-56\":\"common_mb-56__2ugJ9\",\"pb-56\":\"common_pb-56__2nQqZ\",\"ml-56\":\"common_ml-56__3tcE8\",\"pl-56\":\"common_pl-56__Y-1by\",\"mr-56\":\"common_mr-56__tNDN2\",\"pr-56\":\"common_pr-56__O_MjE\",\"mt-57\":\"common_mt-57__2Sn5p\",\"pt-57\":\"common_pt-57__BbB51\",\"mb-57\":\"common_mb-57__3gGm-\",\"pb-57\":\"common_pb-57__2M7MO\",\"ml-57\":\"common_ml-57__1RRk-\",\"pl-57\":\"common_pl-57__HaIf5\",\"mr-57\":\"common_mr-57__3EjMm\",\"pr-57\":\"common_pr-57__1Fqos\",\"mt-58\":\"common_mt-58__38JyE\",\"pt-58\":\"common_pt-58__3CJf3\",\"mb-58\":\"common_mb-58__1GHld\",\"pb-58\":\"common_pb-58__2Exsz\",\"ml-58\":\"common_ml-58__2b_8T\",\"pl-58\":\"common_pl-58__icvdI\",\"mr-58\":\"common_mr-58__YC7gG\",\"pr-58\":\"common_pr-58__BK02D\",\"mt-59\":\"common_mt-59__1Npd6\",\"pt-59\":\"common_pt-59__TpFr2\",\"mb-59\":\"common_mb-59__1doey\",\"pb-59\":\"common_pb-59__CrJYE\",\"ml-59\":\"common_ml-59__1oeg9\",\"pl-59\":\"common_pl-59__2PxOb\",\"mr-59\":\"common_mr-59__3-MZI\",\"pr-59\":\"common_pr-59__39bQB\",\"mt-60\":\"common_mt-60__3ul0t\",\"pt-60\":\"common_pt-60__1GKTf\",\"mb-60\":\"common_mb-60__Wd8Fo\",\"pb-60\":\"common_pb-60__vxRKk\",\"ml-60\":\"common_ml-60__Sv-9G\",\"pl-60\":\"common_pl-60__l26cS\",\"mr-60\":\"common_mr-60__5Uh4t\",\"pr-60\":\"common_pr-60__1c-0v\",\"mt-61\":\"common_mt-61__7D2nM\",\"pt-61\":\"common_pt-61__1flzw\",\"mb-61\":\"common_mb-61__15xGl\",\"pb-61\":\"common_pb-61__2aMDB\",\"ml-61\":\"common_ml-61__mfVi-\",\"pl-61\":\"common_pl-61__2gw98\",\"mr-61\":\"common_mr-61__1b8P2\",\"pr-61\":\"common_pr-61__R5Ltk\",\"mt-62\":\"common_mt-62__3X08h\",\"pt-62\":\"common_pt-62__1lImM\",\"mb-62\":\"common_mb-62__1oFtt\",\"pb-62\":\"common_pb-62__3gHEr\",\"ml-62\":\"common_ml-62__PWuGU\",\"pl-62\":\"common_pl-62__1DZnw\",\"mr-62\":\"common_mr-62__Tg4R2\",\"pr-62\":\"common_pr-62__1l1P0\",\"mt-63\":\"common_mt-63__3zp1R\",\"pt-63\":\"common_pt-63__CrOpy\",\"mb-63\":\"common_mb-63__2mJpR\",\"pb-63\":\"common_pb-63__10vEE\",\"ml-63\":\"common_ml-63__3r7-9\",\"pl-63\":\"common_pl-63__noE0x\",\"mr-63\":\"common_mr-63__FNHHd\",\"pr-63\":\"common_pr-63__1yuju\",\"mt-64\":\"common_mt-64__FMd8U\",\"pt-64\":\"common_pt-64__3Mu8t\",\"mb-64\":\"common_mb-64__17eX8\",\"pb-64\":\"common_pb-64__1s81o\",\"ml-64\":\"common_ml-64__PnfZE\",\"pl-64\":\"common_pl-64__3vQZ8\",\"mr-64\":\"common_mr-64__2wg5F\",\"pr-64\":\"common_pr-64__2wNoE\",\"mt-65\":\"common_mt-65__Dw373\",\"pt-65\":\"common_pt-65__3qTC4\",\"mb-65\":\"common_mb-65__2HgKL\",\"pb-65\":\"common_pb-65__wAz2-\",\"ml-65\":\"common_ml-65__1B2V9\",\"pl-65\":\"common_pl-65__27aaJ\",\"mr-65\":\"common_mr-65__3OPlh\",\"pr-65\":\"common_pr-65__1E_lq\",\"mt-66\":\"common_mt-66__3BX8X\",\"pt-66\":\"common_pt-66__3OFp8\",\"mb-66\":\"common_mb-66__qYfzP\",\"pb-66\":\"common_pb-66__2WInH\",\"ml-66\":\"common_ml-66__1r4QF\",\"pl-66\":\"common_pl-66__vcnXt\",\"mr-66\":\"common_mr-66__m9UAx\",\"pr-66\":\"common_pr-66__2u1o9\",\"mt-67\":\"common_mt-67__1rbBx\",\"pt-67\":\"common_pt-67__2ALkf\",\"mb-67\":\"common_mb-67__1k36m\",\"pb-67\":\"common_pb-67__1r_UV\",\"ml-67\":\"common_ml-67__3zqfd\",\"pl-67\":\"common_pl-67__2mgf2\",\"mr-67\":\"common_mr-67__2rBt-\",\"pr-67\":\"common_pr-67__2UxZc\",\"mt-68\":\"common_mt-68__cdbEj\",\"pt-68\":\"common_pt-68__3xcXD\",\"mb-68\":\"common_mb-68__yH7Ur\",\"pb-68\":\"common_pb-68__3bjhK\",\"ml-68\":\"common_ml-68__1zKeQ\",\"pl-68\":\"common_pl-68__28iF5\",\"mr-68\":\"common_mr-68__1cwBO\",\"pr-68\":\"common_pr-68__3JWbv\",\"mt-69\":\"common_mt-69__2N_aP\",\"pt-69\":\"common_pt-69__2vZuu\",\"mb-69\":\"common_mb-69__3dDCJ\",\"pb-69\":\"common_pb-69__2QvZX\",\"ml-69\":\"common_ml-69__25qIr\",\"pl-69\":\"common_pl-69__3-S0-\",\"mr-69\":\"common_mr-69__I7Xzm\",\"pr-69\":\"common_pr-69__3Cfav\",\"mt-70\":\"common_mt-70__3XM4r\",\"pt-70\":\"common_pt-70__3uLH8\",\"mb-70\":\"common_mb-70__3qRNe\",\"pb-70\":\"common_pb-70__3InJa\",\"ml-70\":\"common_ml-70__2wYGY\",\"pl-70\":\"common_pl-70__1ON0b\",\"mr-70\":\"common_mr-70__o6Ydo\",\"pr-70\":\"common_pr-70__3Tp4a\",\"mt-71\":\"common_mt-71__ynJOR\",\"pt-71\":\"common_pt-71__3tCjQ\",\"mb-71\":\"common_mb-71__2-x6d\",\"pb-71\":\"common_pb-71__1NbZe\",\"ml-71\":\"common_ml-71__N6CPg\",\"pl-71\":\"common_pl-71__3ug_J\",\"mr-71\":\"common_mr-71__364ZW\",\"pr-71\":\"common_pr-71__3y4MX\",\"mt-72\":\"common_mt-72__25KTs\",\"pt-72\":\"common_pt-72__2bsiD\",\"mb-72\":\"common_mb-72__14GkR\",\"pb-72\":\"common_pb-72__1Q73i\",\"ml-72\":\"common_ml-72__2dWLs\",\"pl-72\":\"common_pl-72__29gg0\",\"mr-72\":\"common_mr-72__2O7xT\",\"pr-72\":\"common_pr-72__2-CBm\",\"mt-73\":\"common_mt-73__-kK6t\",\"pt-73\":\"common_pt-73__u9aay\",\"mb-73\":\"common_mb-73__2QrZI\",\"pb-73\":\"common_pb-73__2r31D\",\"ml-73\":\"common_ml-73__3PAke\",\"pl-73\":\"common_pl-73__1vyfD\",\"mr-73\":\"common_mr-73__3p9_u\",\"pr-73\":\"common_pr-73__3ZkQa\",\"mt-74\":\"common_mt-74__2vgce\",\"pt-74\":\"common_pt-74__39X9X\",\"mb-74\":\"common_mb-74__2aQBX\",\"pb-74\":\"common_pb-74__3yh86\",\"ml-74\":\"common_ml-74__3lrhk\",\"pl-74\":\"common_pl-74__2Hrpe\",\"mr-74\":\"common_mr-74__2RDhn\",\"pr-74\":\"common_pr-74__1hcRj\",\"mt-75\":\"common_mt-75__2J13m\",\"pt-75\":\"common_pt-75__RcMII\",\"mb-75\":\"common_mb-75__4vV1T\",\"pb-75\":\"common_pb-75__1oVKQ\",\"ml-75\":\"common_ml-75__2_SuX\",\"pl-75\":\"common_pl-75__13JBE\",\"mr-75\":\"common_mr-75__1g-hO\",\"pr-75\":\"common_pr-75__Ep7f3\",\"mt-76\":\"common_mt-76__3B9xN\",\"pt-76\":\"common_pt-76__3ycfk\",\"mb-76\":\"common_mb-76__3OE_n\",\"pb-76\":\"common_pb-76__1ODWy\",\"ml-76\":\"common_ml-76__3tET5\",\"pl-76\":\"common_pl-76__fzCz3\",\"mr-76\":\"common_mr-76__y9eWA\",\"pr-76\":\"common_pr-76__2CjAy\",\"mt-77\":\"common_mt-77__TPlz5\",\"pt-77\":\"common_pt-77__2fTZu\",\"mb-77\":\"common_mb-77__2JgmK\",\"pb-77\":\"common_pb-77__YRH0D\",\"ml-77\":\"common_ml-77__1DYe6\",\"pl-77\":\"common_pl-77__37--Q\",\"mr-77\":\"common_mr-77__2NO0r\",\"pr-77\":\"common_pr-77__3O8uR\",\"mt-78\":\"common_mt-78__Xhhiv\",\"pt-78\":\"common_pt-78__2aavc\",\"mb-78\":\"common_mb-78__-vEgM\",\"pb-78\":\"common_pb-78__1T8Va\",\"ml-78\":\"common_ml-78__3ByYl\",\"pl-78\":\"common_pl-78__18ZWW\",\"mr-78\":\"common_mr-78__15aFQ\",\"pr-78\":\"common_pr-78__3QN7O\",\"mt-79\":\"common_mt-79__3Ik9Y\",\"pt-79\":\"common_pt-79__1DWsP\",\"mb-79\":\"common_mb-79__2mDXh\",\"pb-79\":\"common_pb-79__jm1Ay\",\"ml-79\":\"common_ml-79__ZrpCm\",\"pl-79\":\"common_pl-79__3BWAe\",\"mr-79\":\"common_mr-79__WAdjj\",\"pr-79\":\"common_pr-79__1DScI\",\"mt-80\":\"common_mt-80__1fzyV\",\"pt-80\":\"common_pt-80__3Km1m\",\"mb-80\":\"common_mb-80__3ejnF\",\"pb-80\":\"common_pb-80__2dSLf\",\"ml-80\":\"common_ml-80__3o1GD\",\"pl-80\":\"common_pl-80__1cmIR\",\"mr-80\":\"common_mr-80__17_It\",\"pr-80\":\"common_pr-80__2Xvb1\",\"mt-81\":\"common_mt-81__17NfC\",\"pt-81\":\"common_pt-81__1cg7p\",\"mb-81\":\"common_mb-81__2bKgX\",\"pb-81\":\"common_pb-81__Z7lg1\",\"ml-81\":\"common_ml-81__3LIcG\",\"pl-81\":\"common_pl-81__9MtSL\",\"mr-81\":\"common_mr-81__1Q02s\",\"pr-81\":\"common_pr-81__eA7Bx\",\"mt-82\":\"common_mt-82__KPvsZ\",\"pt-82\":\"common_pt-82__3rCgr\",\"mb-82\":\"common_mb-82__FvioX\",\"pb-82\":\"common_pb-82__3NJWy\",\"ml-82\":\"common_ml-82__1RP-f\",\"pl-82\":\"common_pl-82__td79O\",\"mr-82\":\"common_mr-82__2_1h3\",\"pr-82\":\"common_pr-82__34g-d\",\"mt-83\":\"common_mt-83__2oIXT\",\"pt-83\":\"common_pt-83__17c77\",\"mb-83\":\"common_mb-83__2-RtV\",\"pb-83\":\"common_pb-83__3fY0A\",\"ml-83\":\"common_ml-83__zFfw-\",\"pl-83\":\"common_pl-83__88n4T\",\"mr-83\":\"common_mr-83__1eGRR\",\"pr-83\":\"common_pr-83__1gUbd\",\"mt-84\":\"common_mt-84__catax\",\"pt-84\":\"common_pt-84__mB-Tp\",\"mb-84\":\"common_mb-84___lyCW\",\"pb-84\":\"common_pb-84__3Xb51\",\"ml-84\":\"common_ml-84__3-PCz\",\"pl-84\":\"common_pl-84__3V7iX\",\"mr-84\":\"common_mr-84__1hBmi\",\"pr-84\":\"common_pr-84__zk6_1\",\"mt-85\":\"common_mt-85__316tE\",\"pt-85\":\"common_pt-85__1QgfB\",\"mb-85\":\"common_mb-85__2MoLh\",\"pb-85\":\"common_pb-85__1hVJD\",\"ml-85\":\"common_ml-85__1LPVV\",\"pl-85\":\"common_pl-85__3Io0r\",\"mr-85\":\"common_mr-85__3aNo6\",\"pr-85\":\"common_pr-85__MovL-\",\"mt-86\":\"common_mt-86__33473\",\"pt-86\":\"common_pt-86__1txkX\",\"mb-86\":\"common_mb-86__3RRUi\",\"pb-86\":\"common_pb-86__FEm00\",\"ml-86\":\"common_ml-86__3sko0\",\"pl-86\":\"common_pl-86__24j3W\",\"mr-86\":\"common_mr-86__3a0R1\",\"pr-86\":\"common_pr-86__1nbz2\",\"mt-87\":\"common_mt-87__3Hugx\",\"pt-87\":\"common_pt-87__FX8So\",\"mb-87\":\"common_mb-87__Mp7SS\",\"pb-87\":\"common_pb-87__3LTVD\",\"ml-87\":\"common_ml-87__1xHiF\",\"pl-87\":\"common_pl-87__16hJq\",\"mr-87\":\"common_mr-87__qCOI1\",\"pr-87\":\"common_pr-87__2oNT3\",\"mt-88\":\"common_mt-88__1qipj\",\"pt-88\":\"common_pt-88__f7yNw\",\"mb-88\":\"common_mb-88__2H94f\",\"pb-88\":\"common_pb-88__3iXjV\",\"ml-88\":\"common_ml-88__1XP9j\",\"pl-88\":\"common_pl-88__2AV5S\",\"mr-88\":\"common_mr-88__Aiwek\",\"pr-88\":\"common_pr-88__1uq6y\",\"mt-89\":\"common_mt-89__2g-HJ\",\"pt-89\":\"common_pt-89__1coBz\",\"mb-89\":\"common_mb-89__DnAxw\",\"pb-89\":\"common_pb-89__3FT8d\",\"ml-89\":\"common_ml-89__1cbP-\",\"pl-89\":\"common_pl-89__2dHJ6\",\"mr-89\":\"common_mr-89__1Yx0X\",\"pr-89\":\"common_pr-89__3l0iA\",\"mt-90\":\"common_mt-90__5_yOX\",\"pt-90\":\"common_pt-90__13Jqw\",\"mb-90\":\"common_mb-90__3i22t\",\"pb-90\":\"common_pb-90__2xuqp\",\"ml-90\":\"common_ml-90__3fTis\",\"pl-90\":\"common_pl-90__3IBYI\",\"mr-90\":\"common_mr-90__3ZI-x\",\"pr-90\":\"common_pr-90__hJJmr\",\"mt-91\":\"common_mt-91__8EcQN\",\"pt-91\":\"common_pt-91__3hJHz\",\"mb-91\":\"common_mb-91__2ISda\",\"pb-91\":\"common_pb-91__1deZ_\",\"ml-91\":\"common_ml-91__1kA0y\",\"pl-91\":\"common_pl-91__2C6--\",\"mr-91\":\"common_mr-91__HCzpt\",\"pr-91\":\"common_pr-91__3Xdb9\",\"mt-92\":\"common_mt-92__iV0Ht\",\"pt-92\":\"common_pt-92__Zrga0\",\"mb-92\":\"common_mb-92__3-npE\",\"pb-92\":\"common_pb-92__6N6tr\",\"ml-92\":\"common_ml-92__3F2VO\",\"pl-92\":\"common_pl-92__3O2aY\",\"mr-92\":\"common_mr-92__1K4PN\",\"pr-92\":\"common_pr-92__1z8Qt\",\"mt-93\":\"common_mt-93__2e6cO\",\"pt-93\":\"common_pt-93__220xa\",\"mb-93\":\"common_mb-93__2wJ78\",\"pb-93\":\"common_pb-93__1g87N\",\"ml-93\":\"common_ml-93__3lKxm\",\"pl-93\":\"common_pl-93__2MlvB\",\"mr-93\":\"common_mr-93__3vuP0\",\"pr-93\":\"common_pr-93__3-NMZ\",\"mt-94\":\"common_mt-94__K1J3d\",\"pt-94\":\"common_pt-94__3GSWd\",\"mb-94\":\"common_mb-94__3Dy89\",\"pb-94\":\"common_pb-94__1dPCb\",\"ml-94\":\"common_ml-94__2gE2S\",\"pl-94\":\"common_pl-94__JFVY6\",\"mr-94\":\"common_mr-94__183Ny\",\"pr-94\":\"common_pr-94__33U7y\",\"mt-95\":\"common_mt-95__mUcnq\",\"pt-95\":\"common_pt-95__2ZGO7\",\"mb-95\":\"common_mb-95__4OG3i\",\"pb-95\":\"common_pb-95__1Cufo\",\"ml-95\":\"common_ml-95__3mdtK\",\"pl-95\":\"common_pl-95__qgs_7\",\"mr-95\":\"common_mr-95__1SoHL\",\"pr-95\":\"common_pr-95__1CEma\",\"mt-96\":\"common_mt-96__1yo6N\",\"pt-96\":\"common_pt-96__3-SO6\",\"mb-96\":\"common_mb-96__15maH\",\"pb-96\":\"common_pb-96__22NQR\",\"ml-96\":\"common_ml-96__ihOSn\",\"pl-96\":\"common_pl-96__2ktTk\",\"mr-96\":\"common_mr-96__3Nntc\",\"pr-96\":\"common_pr-96__12hqD\",\"mt-97\":\"common_mt-97__3_tjW\",\"pt-97\":\"common_pt-97__-D4kE\",\"mb-97\":\"common_mb-97__31HC4\",\"pb-97\":\"common_pb-97__3aXlD\",\"ml-97\":\"common_ml-97__1xJRg\",\"pl-97\":\"common_pl-97__1fm8A\",\"mr-97\":\"common_mr-97__4k1hT\",\"pr-97\":\"common_pr-97__2Gffr\",\"mt-98\":\"common_mt-98__2Nmms\",\"pt-98\":\"common_pt-98__BW47Z\",\"mb-98\":\"common_mb-98__15C7y\",\"pb-98\":\"common_pb-98__3n0es\",\"ml-98\":\"common_ml-98__17xs1\",\"pl-98\":\"common_pl-98__1341h\",\"mr-98\":\"common_mr-98__1XH0s\",\"pr-98\":\"common_pr-98__2Ssq-\",\"mt-99\":\"common_mt-99__3sJ3J\",\"pt-99\":\"common_pt-99__VlP8A\",\"mb-99\":\"common_mb-99__1r7I8\",\"pb-99\":\"common_pb-99__4oYr-\",\"ml-99\":\"common_ml-99__12qjW\",\"pl-99\":\"common_pl-99__2RCx2\",\"mr-99\":\"common_mr-99__f-5ME\",\"pr-99\":\"common_pr-99__1xhVa\",\"d-flex\":\"common_d-flex__3MO4Q\",\"ai-center\":\"common_ai-center__2Oxm9\",\"center-flex\":\"common_center-flex__1F7Gh\",\"between-flex\":\"common_between-flex__aupOu\",\"evenly-flex\":\"common_evenly-flex__1pifq\",\"around-flex\":\"common_around-flex__1zWjo\",\"f-end-flex\":\"common_f-end-flex__YoA7l\",\"f-column\":\"common_f-column__2TQAF\",\"f-right\":\"common_f-right__1iE9W\",\"f-left\":\"common_f-left__1RB1N\",\"w-100\":\"common_w-100__Papw9\",\"h-100\":\"common_h-100__1rlgV\",\"round-btn\":\"common_round-btn__1tRr0\",\"delete-round-btn\":\"common_delete-round-btn__eN1e6\",\"edit-round-btn\":\"common_edit-round-btn__3T-0-\",\"black-n-white\":\"common_black-n-white__3ZK7G\",\"table\":\"common_table__2stUn\",\"t-body-v-middle\":\"common_t-body-v-middle__320S9\"};","export default \"data:image/png;base64,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\"","import {createContext} from 'react';\r\n\r\nconst FuelSaveGlobalContext = createContext(null);\r\n\r\nexport default FuelSaveGlobalContext;","import color from '../assets/scss/common.module.scss'\r\n\r\nexport const colorCodes = {\r\n WHITE_1: color.white1,\r\n WHITE_2: color.white2,\r\n BLACK_1: color.black1,\r\n RICH_BLACK: color.richBlack,\r\n TEAL: color.teal,\r\n BLUE_1: color.blue1,\r\n BLUE_2: color.blue2,\r\n BLUE_3: color.blue3,\r\n BLUE_4: color.blue4,\r\n BLUE_5: color.blue5,\r\n BLUE_6: color.blue6,\r\n GREEN_1: color.green1,\r\n GREEN_2: color.green2,\r\n GREEN_3: color.green3,\r\n GREEN_4: color.green4,\r\n GREEN_5: color.green5,\r\n LIGHT_GREEN: color.lightGreen,\r\n LIGHT_CYAN: color.lightCyan,\r\n RED_1: color.red1,\r\n RED_2: color.red2,\r\n GREY_1: color.grey1,\r\n GREY_2: color.grey2,\r\n GREY_3: color.grey3,\r\n GREY_4: color.grey4,\r\n YELLOW_1: color.yellow1,\r\n AQUA: color.aqua,\r\n WATER_SPOUT: color.waterSpout\r\n}\r\n","import React, { useContext } from \"react\";\r\nimport { Nav } from \"react-bootstrap\";\r\nimport { Layout, Menu } from \"antd\";\r\nimport { LinkContainer } from \"react-router-bootstrap\";\r\nimport \"./navbar.css\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { FolderOutlined, BarChartOutlined, MergeCellsOutlined, LineChartOutlined, PieChartOutlined, CalculatorOutlined } from \"@ant-design/icons\";\r\nimport FuelSaveGlobalContext from \"../../context/FuelSaveGlobalContext\";\r\nimport LogoWaywizeSmall from \"../../assets/Waywize-Spin.png\"\r\nimport { colorCodes } from \"../../constant/colors\"\r\n\r\nconst { GREEN_1, BLUE_3 } = colorCodes\r\nconst menuList = [\r\n { title: 'Projects', hoverText: 'Press here to go access the project page', href: '', to: '/', icon: },\r\n { title: 'Alignments', hoverText: 'Press here to add Alignments to project', href: 'summary', to: '/summary', icon: },\r\n { title: 'Comparison', hoverText: 'Press here to analyse and compare Alignments added to project', href: 'comparison', to: '/comparison', icon: },\r\n { title: 'Sectional Analysis', hoverText: 'Press here to make vertical adjustments on added alignments to project', href: 'sectional', to: '/sectional', icon: },\r\n { title: 'Forecasts', hoverText: 'Press here to see forecasted results of alignments added to project', href: 'forecasts', to: '/forecasts', icon: },\r\n { title: 'CDR', hoverText: 'Press here to see CDR results', href: 'cdr', to: '/cdr', icon: },\r\n // { title: 'Settings', href: 'presumptions', to: '/settings', icon: }\r\n]\r\nconst NavBar = (props) => {\r\n const { Sider } = Layout;\r\n const { navSideBarOpen, setNavSideBarOpen } = useContext(FuelSaveGlobalContext);\r\n const history = useHistory();\r\n\r\n const onCollapse = () => {\r\n setNavSideBarOpen(!navSideBarOpen);\r\n };\r\n return (\r\n <>\r\n \r\n
\r\n {\r\n
history.push('/')}>\r\n {!navSideBarOpen &&
Fuelsave
}\r\n \"FuelSave\"\r\n
\r\n }\r\n \r\n {\r\n menuList.map(({ icon, title, hoverText, href, to }, i) => \r\n \r\n {navSideBarOpen ? hoverText : title}\r\n \r\n )\r\n }\r\n {!navSideBarOpen &&

Copyright © 2021 Waywize All Rights Reserved

}\r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default NavBar;\r\n","const ACTIONS = {\r\n PREDICTION: 'prediction',\r\n PROJECT_NAME_CHANGE: 'project_name_change',\r\n PROJECT_NUMBER_CHANGE: 'project_number_change',\r\n PROJECT_GET_ALL: 'project_get_all'\r\n};\r\n\r\nexport default ACTIONS;","import React from 'react'\r\n\r\nconst Edit = ({\r\n fill = '#172679',\r\n height = 44,\r\n width = 44,\r\n style = {},\r\n viewBox = '0 0 44 44'\r\n}) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default Edit","import React from 'react'\r\n\r\nconst Trash = ({\r\n fill = '#ff313a',\r\n height = 44,\r\n width = 44,\r\n style = {},\r\n viewBox = '0 0 44 44'\r\n}) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default Trash","import React from 'react'\r\n\r\nconst User = ({\r\n fill = '#a7acbf',\r\n height = '40.108',\r\n width = 40,\r\n style = {},\r\n viewBox = '0 0 40 40.108'\r\n}) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default User","import React from 'react'\r\nimport Edit from './Edit'\r\nimport Trash from './Trash'\r\nimport User from './User'\r\n\r\nconst Icon = ({ name, ...rest }) => {\r\n switch (name) {\r\n case 'user':\r\n return \r\n case 'edit':\r\n return \r\n case 'trash':\r\n return \r\n default:\r\n return null\r\n }\r\n}\r\n\r\nexport default Icon\r\n","export const DEFAULT_EPSG_CODE = '3009'\r\nexport const DEFAULT_EPSG = `EPSG:${DEFAULT_EPSG_CODE}`\r\n\r\nexport const CSV_NAME_REGEX = /^[a-zA-Z0-9- ,_]*$/\r\n\r\nexport const chartCommonConfig = {\r\n responsive: true,\r\n maintainAspectRatio: true,\r\n}\r\n\r\nexport const DATE_FORMAT = 'YYYY-MM-DD'\r\n\r\nexport const MIN_YEAR = 2020\r\nexport const MAX_YEAR = 2080\r\n\r\nexport const CURRENCY = {\r\n NORWAY: 'NOK',\r\n SWEDISH: 'SEK',\r\n DANISH: 'DKK',\r\n FINNISH: 'EUR'\r\n}\r\n\r\nexport const PER_PAGE = 10","import { handleRequest } from \"../constant/helpers\"\r\nimport { getUser } from \"../utils/licenseUtils\"\r\n\r\nexport const SET_GLOBAL_IS_PROCESS = 'SET_GLOBAL_IS_PROCESS'\r\nexport const SET_IS_LICENSE = 'SET_IS_LICENSE'\r\nexport const SET_AUTO_OUT = 'SET_AUTO_OUT'\r\nexport const SET_WIN_WIDTH = 'SET_WIN_WIDTH'\r\nexport const SET_LICENSE_DATE = 'SET_LICENSE_DATE'\r\nexport const SET_COUNTRIES_LIST = 'SET_COUNTRIES_LIST'\r\nexport const SET_CURRENCY = 'SET_CURRENCY'\r\nexport const SET_COUNTRY = 'SET_COUNTRY'\r\nexport const SET_FORECAST_CAR_CONFIG = 'SET_FORECAST_CAR_CONFIG'\r\nexport const SET_FORECAST_TRUCK_CONFIG = 'SET_FORECAST_TRUCK_CONFIG'\r\n\r\nexport const setGlobalIsProcess = isProcess => ({\r\n type: SET_GLOBAL_IS_PROCESS,\r\n payload: { isProcess }\r\n})\r\n\r\nexport const setIsLicense = isLicense => ({\r\n type: SET_IS_LICENSE,\r\n payload: { isLicense }\r\n})\r\n\r\nexport const setAutoOut = autoOut => ({\r\n type: SET_AUTO_OUT,\r\n payload: { autoOut }\r\n})\r\n\r\nexport const setWinWidth = winWidth => ({\r\n type: SET_WIN_WIDTH,\r\n payload: { winWidth }\r\n})\r\n\r\nconst setLicenseDate = licenseValid => ({\r\n type: SET_LICENSE_DATE,\r\n payload: { licenseValid }\r\n})\r\n\r\nconst setCountries = countries => ({\r\n type: SET_COUNTRIES_LIST,\r\n payload: { countries }\r\n})\r\n\r\nexport const setCurrency = currency => ({\r\n type: SET_CURRENCY,\r\n payload: { currency }\r\n})\r\n\r\nexport const setCountry = country => ({\r\n type: SET_COUNTRY,\r\n payload: { country }\r\n})\r\n\r\nexport const setForecastCarConfig = carConfig => ({\r\n type: SET_FORECAST_CAR_CONFIG,\r\n payload: { carConfig }\r\n})\r\n\r\nexport const setForecastTruckConfig = truckConfig => ({\r\n type: SET_FORECAST_TRUCK_CONFIG,\r\n payload: { truckConfig }\r\n})\r\n\r\n/**\r\n * Check License Expiration\r\n * @param {*} id \r\n * @returns \r\n */\r\nexport const checkTokenExp = id => async (dispatch) => {\r\n try {\r\n const userResp = await getUser(id)\r\n dispatch(setIsLicense(true))\r\n if (!!userResp && !!userResp.data && !!userResp.data[0] && !!userResp.data[0].license_exp_date) {\r\n dispatch(setLicenseDate(userResp.data[0].license_exp_date))\r\n }\r\n } catch (e) {\r\n dispatch(setIsLicense(false))\r\n dispatch(setLicenseDate(false))\r\n console.log('checkTokenExp Error: ', e)\r\n return e\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Fetch all countries info\r\n * @returns \r\n */\r\nexport const fetchAllCountries = () => async (dispatch) => {\r\n dispatch(setGlobalIsProcess(true))\r\n try {\r\n const data = await handleRequest(\"post\", false, {\r\n query: `\r\n query{\r\n Countries(country_id:1){\r\n country_id country_name currency\r\n }\r\n }`\r\n })\r\n dispatch(setGlobalIsProcess(false))\r\n if (!!data && !!data.data && !!data.data.data && !!data.data.data.Countries) {\r\n const resp = data.data.data.Countries\r\n dispatch(setCountries(resp))\r\n return resp\r\n }\r\n return false\r\n } catch (e) {\r\n dispatch(setGlobalIsProcess(false))\r\n console.log('fetchAllCountries Error: ', e)\r\n return false\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Fetch and set\r\n * forecast config\r\n * @param {*} country \r\n * @returns \r\n */\r\nexport const fetchForecastConfig = (country) => async (dispatch) => {\r\n\r\n try {\r\n const data = await handleRequest(\"post\", false, {\r\n query: `\r\n query {\r\n ForecastData(\r\n country: \"${country}\"\r\n ){\r\n car{ year prc_gasoline prc_diesel prc_inchargeable_hybrid prc_chargeable_hybrid prc_battery prc_hydrogen }\r\n truck{ year prc_gasoline prc_diesel prc_inchargeable_hybrid prc_chargeable_hybrid prc_battery prc_hydrogen }\r\n currency\r\n country\r\n }\r\n }`\r\n })\r\n\r\n if (!!data && !!data.data && !!data.data.data && !!data.data.data.ForecastData) {\r\n const resp = data.data.data.ForecastData\r\n if (resp.car) {\r\n dispatch(setForecastCarConfig(resp.car))\r\n }\r\n if (resp.truck) {\r\n dispatch(setForecastTruckConfig(resp.truck))\r\n }\r\n if (resp.country) {\r\n dispatch(setCountry(resp.country))\r\n }\r\n return resp\r\n }\r\n return false\r\n } catch (e) {\r\n console.log('fetchForecastConfig Error: ', e)\r\n return false\r\n }\r\n}","export const norwayCarGasoline = [\r\n \"0.25095\",\r\n \"0.22791\",\r\n \"0.20706\",\r\n \"0.18922\",\r\n \"0.17277\",\r\n \"0.15798\",\r\n \"0.14348\",\r\n \"0.12950\",\r\n \"0.11557\",\r\n \"0.10179\",\r\n \"0.08885\",\r\n \"0.07544\",\r\n \"0.06314\",\r\n \"0.05218\",\r\n \"0.04260\",\r\n \"0.03445\",\r\n \"0.02764\",\r\n \"0.02214\",\r\n \"0.01773\",\r\n \"0.01423\",\r\n \"0.01144\",\r\n \"0.00926\",\r\n \"0.00760\",\r\n \"0.00632\",\r\n \"0.00532\",\r\n \"0.00454\",\r\n \"0.00389\",\r\n \"0.00338\",\r\n \"0.00296\",\r\n \"0.00263\",\r\n \"0.00235\",\r\n \"0.00165\",\r\n \"0.00125\",\r\n \"0.00087\",\r\n \"0.00051\",\r\n \"0.00017\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\"\r\n]\r\n\r\nexport const norwayCarDiesel = [\r\n \"0.50641\",\r\n \"0.47929\",\r\n \"0.44983\",\r\n \"0.41889\",\r\n \"0.38722\",\r\n \"0.35336\",\r\n \"0.31822\",\r\n \"0.28300\",\r\n \"0.24851\",\r\n \"0.21486\",\r\n \"0.18435\",\r\n \"0.15447\",\r\n \"0.12814\",\r\n \"0.10543\",\r\n \"0.08605\",\r\n \"0.06999\",\r\n \"0.05693\",\r\n \"0.04626\",\r\n \"0.03743\",\r\n \"0.03030\",\r\n \"0.02466\",\r\n \"0.02037\",\r\n \"0.01705\",\r\n \"0.01451\",\r\n \"0.01253\",\r\n \"0.01092\",\r\n \"0.00960\",\r\n \"0.00850\",\r\n \"0.00757\",\r\n \"0.00678\",\r\n \"0.00609\",\r\n \"0.00459\",\r\n \"0.00358\",\r\n \"0.00262\",\r\n \"0.00171\",\r\n \"0.00083\",\r\n \"0.00049\",\r\n \"0.00016\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\"\r\n]\r\n\r\nexport const norwayCarInChargeHybrid = [\r\n \"0.03925\",\r\n \"0.03931\",\r\n \"0.03886\",\r\n \"0.03841\",\r\n \"0.03767\",\r\n \"0.03672\",\r\n \"0.03563\",\r\n \"0.03415\",\r\n \"0.03212\",\r\n \"0.02958\",\r\n \"0.02652\",\r\n \"0.02310\",\r\n \"0.01953\",\r\n \"0.01605\",\r\n \"0.01281\",\r\n \"0.00992\",\r\n \"0.00753\",\r\n \"0.00559\",\r\n \"0.00404\",\r\n \"0.00285\",\r\n \"0.00201\",\r\n \"0.00142\",\r\n \"0.00103\",\r\n \"0.00075\",\r\n \"0.00055\",\r\n \"0.00041\",\r\n \"0.00032\",\r\n \"0.00024\",\r\n \"0.00019\",\r\n \"0.00015\",\r\n \"0.00011\",\r\n \"0.00007\",\r\n \"0.00005\",\r\n \"0.00003\",\r\n \"0.00002\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\"\r\n]\r\n\r\nexport const norwayCarPreChargeHybrid = [\r\n \"0.07218\",\r\n \"0.08870\",\r\n \"0.10460\",\r\n \"0.12050\",\r\n \"0.13647\",\r\n \"0.15226\",\r\n \"0.16823\",\r\n \"0.18431\",\r\n \"0.20053\",\r\n \"0.21649\",\r\n \"0.23086\",\r\n \"0.24323\",\r\n \"0.25356\",\r\n \"0.26179\",\r\n \"0.26810\",\r\n \"0.27260\",\r\n \"0.27543\",\r\n \"0.27678\",\r\n \"0.27701\",\r\n \"0.27612\",\r\n \"0.27430\",\r\n \"0.27169\",\r\n \"0.26849\",\r\n \"0.26482\",\r\n \"0.26079\",\r\n \"0.25643\",\r\n \"0.25182\",\r\n \"0.24705\",\r\n \"0.24217\",\r\n \"0.23724\",\r\n \"0.23231\",\r\n \"0.25821\",\r\n \"0.25706\",\r\n \"0.25596\",\r\n \"0.25491\",\r\n \"0.25391\",\r\n \"0.25296\",\r\n \"0.25205\",\r\n \"0.25117\",\r\n \"0.25033\",\r\n \"0.24953\",\r\n \"0.24875\",\r\n \"0.24801\",\r\n \"0.24730\",\r\n \"0.24661\",\r\n \"0.24595\",\r\n \"0.24531\",\r\n \"0.24470\",\r\n \"0.24410\",\r\n \"0.24353\",\r\n \"0.24298\",\r\n \"0.24244\",\r\n \"0.24192\",\r\n \"0.24142\",\r\n \"0.24093\",\r\n \"0.24046\",\r\n \"0.24001\",\r\n \"0.23957\",\r\n \"0.23914\",\r\n \"0.23872\",\r\n \"0.23832\"\r\n]\r\n\r\nexport const norwayCarBattery = [\r\n \"0.13100\",\r\n \"0.16460\",\r\n \"0.19940\",\r\n \"0.23272\",\r\n \"0.26562\",\r\n \"0.29942\",\r\n \"0.33413\",\r\n \"0.36875\",\r\n \"0.40299\",\r\n \"0.43698\",\r\n \"0.46915\",\r\n \"0.50347\",\r\n \"0.53536\",\r\n \"0.56431\",\r\n \"0.59018\",\r\n \"0.61283\",\r\n \"0.63225\",\r\n \"0.64905\",\r\n \"0.66360\",\r\n \"0.67634\",\r\n \"0.68742\",\r\n \"0.69712\",\r\n \"0.70572\",\r\n \"0.71347\",\r\n \"0.72071\",\r\n \"0.72761\",\r\n \"0.73430\",\r\n \"0.74077\",\r\n \"0.74704\",\r\n \"0.75313\",\r\n \"0.75908\",\r\n \"0.74178\",\r\n \"0.74293\",\r\n \"0.74403\",\r\n \"0.74507\",\r\n \"0.74607\",\r\n \"0.74703\",\r\n \"0.74794\",\r\n \"0.74881\",\r\n \"0.74965\",\r\n \"0.75046\",\r\n \"0.75123\",\r\n \"0.75197\",\r\n \"0.75269\",\r\n \"0.75337\",\r\n \"0.75403\",\r\n \"0.75467\",\r\n \"0.75529\",\r\n \"0.75588\",\r\n \"0.75645\",\r\n \"0.75701\",\r\n \"0.75754\",\r\n \"0.75806\",\r\n \"0.75856\",\r\n \"0.75905\",\r\n \"0.75952\",\r\n \"0.75998\",\r\n \"0.76042\",\r\n \"0.76085\",\r\n \"0.76126\",\r\n \"0.76167\"\r\n]\r\n\r\nexport const norwayCarHydro = [\r\n \"0.00019\",\r\n \"0.00022\",\r\n \"0.00024\",\r\n \"0.00024\",\r\n \"0.00026\",\r\n \"0.00026\",\r\n \"0.00029\",\r\n \"0.00028\",\r\n \"0.00030\",\r\n \"0.00030\",\r\n \"0.00027\",\r\n \"0.00027\",\r\n \"0.00027\",\r\n \"0.00026\",\r\n \"0.00024\",\r\n \"0.00024\",\r\n \"0.00021\",\r\n \"0.00021\",\r\n \"0.00019\",\r\n \"0.00016\",\r\n \"0.00014\",\r\n \"0.00014\",\r\n \"0.00011\",\r\n \"0.00011\",\r\n \"0.00011\",\r\n \"0.00009\",\r\n \"0.00009\",\r\n \"0.00006\",\r\n \"0.00006\",\r\n \"0.00006\",\r\n \"0.00006\",\r\n \"0.00004\",\r\n \"0.00002\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\"\r\n]\r\n\r\nexport const norwayTruckGas = [\r\n \"0.00085\",\r\n \"0.00042\",\r\n \"0.00042\",\r\n \"0.00042\",\r\n \"0.00041\",\r\n \"0.00041\",\r\n \"0.00040\",\r\n \"0.00040\",\r\n \"0.00039\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\"\r\n]\r\n\r\nexport const norwayTruckDiesel = [\r\n \"0.99195\",\r\n \"0.99197\",\r\n \"0.99202\",\r\n \"0.99292\",\r\n \"0.99302\",\r\n \"0.99309\",\r\n \"0.99319\",\r\n \"0.99328\",\r\n \"0.99339\",\r\n \"0.99385\",\r\n \"0.99391\",\r\n \"0.99363\",\r\n \"0.99375\",\r\n \"0.99350\",\r\n \"0.99326\",\r\n \"0.99267\",\r\n \"0.99107\",\r\n \"0.98915\",\r\n \"0.98594\",\r\n \"0.98149\",\r\n \"0.97511\",\r\n \"0.96716\",\r\n \"0.95640\",\r\n \"0.94220\",\r\n \"0.92364\",\r\n \"0.90014\",\r\n \"0.87099\",\r\n \"0.83574\",\r\n \"0.79593\",\r\n \"0.75381\",\r\n \"0.71154\",\r\n \"0.75366\",\r\n \"0.73405\",\r\n \"0.71435\",\r\n \"0.69458\",\r\n \"0.67480\",\r\n \"0.65504\",\r\n \"0.63533\",\r\n \"0.61569\",\r\n \"0.59615\",\r\n \"0.57675\",\r\n \"0.55749\",\r\n \"0.53840\",\r\n \"0.51949\",\r\n \"0.50078\",\r\n \"0.48228\",\r\n \"0.46400\",\r\n \"0.44595\",\r\n \"0.42814\",\r\n \"0.41058\",\r\n \"0.39326\",\r\n \"0.37620\",\r\n \"0.35940\",\r\n \"0.34287\",\r\n \"0.32659\",\r\n \"0.31058\",\r\n \"0.29484\",\r\n \"0.27935\",\r\n \"0.26414\",\r\n \"0.24918\",\r\n \"0.23448\"\r\n]\r\n\r\nexport const norwayTruckNonCharge = [\r\n \"0.00042\",\r\n \"0.00042\",\r\n \"0.00042\",\r\n \"0.00042\",\r\n \"0.00041\",\r\n \"0.00041\",\r\n \"0.00040\",\r\n \"0.00040\",\r\n \"0.00039\",\r\n \"0.00038\",\r\n \"0.00038\",\r\n \"0.00037\",\r\n \"0.00037\",\r\n \"0.00036\",\r\n \"0.00035\",\r\n \"0.00035\",\r\n \"0.00034\",\r\n \"0.00034\",\r\n \"0.00033\",\r\n \"0.00033\",\r\n \"0.00033\",\r\n \"0.00032\",\r\n \"0.00031\",\r\n \"0.00030\",\r\n \"0.00029\",\r\n \"0.00029\",\r\n \"0.00028\",\r\n \"0.00027\",\r\n \"0.00027\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\"\r\n]\r\n\r\nexport const norwayTruckChargeHydro = [\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\",\r\n \"0.00000\"\r\n]\r\n\r\nexport const norwayTruckHydro = [\r\n \"0.00720\",\r\n \"0.00676\",\r\n \"0.00672\",\r\n \"0.00624\",\r\n \"0.00616\",\r\n \"0.00610\",\r\n \"0.00601\",\r\n \"0.00593\",\r\n \"0.00584\",\r\n \"0.00538\",\r\n \"0.00571\",\r\n \"0.00525\",\r\n \"0.00552\",\r\n \"0.00542\",\r\n \"0.00603\",\r\n \"0.00698\",\r\n \"0.00825\",\r\n \"0.01052\",\r\n \"0.01339\",\r\n \"0.01818\",\r\n \"0.02456\",\r\n \"0.03252\",\r\n \"0.04329\",\r\n \"0.05720\",\r\n \"0.07606\",\r\n \"0.09928\",\r\n \"0.12873\",\r\n \"0.16398\",\r\n \"0.20380\",\r\n \"0.24592\",\r\n \"0.28794\",\r\n \"0.24502\",\r\n \"0.26481\",\r\n \"0.28468\",\r\n \"0.30461\",\r\n \"0.32455\",\r\n \"0.34446\",\r\n \"0.36433\",\r\n \"0.38411\",\r\n \"0.40378\",\r\n \"0.42332\",\r\n \"0.44271\",\r\n \"0.46193\",\r\n \"0.48096\",\r\n \"0.49979\",\r\n \"0.51840\",\r\n \"0.53679\",\r\n \"0.55495\",\r\n \"0.57286\",\r\n \"0.59052\",\r\n \"0.60793\",\r\n \"0.62508\",\r\n \"0.64197\",\r\n \"0.65860\",\r\n \"0.67495\",\r\n \"0.69104\",\r\n \"0.70687\",\r\n \"0.72242\",\r\n \"0.73771\",\r\n \"0.75274\",\r\n \"0.76750\"\r\n]","import { norwayCarBattery, norwayCarDiesel, norwayCarGasoline, norwayCarHydro, norwayCarInChargeHybrid, norwayCarPreChargeHybrid, norwayTruckChargeHydro, norwayTruckDiesel, norwayTruckGas, norwayTruckHydro, norwayTruckNonCharge } from \"../constant/norway-dummy\"\r\n\r\nconst rangeArr = (start, end) => {\r\n var list = []\r\n for (var i = start; i <= end; i++) {\r\n list.push(i)\r\n }\r\n return list\r\n}\r\n\r\n\r\nconst yearArr = rangeArr(2020, 2080)\r\n\r\nconst carGasolineDieselArr_Finland =[\r\n\"0.693590703620339\",\r\n\"0.681339590052732\",\r\n\"0.664839101359926\",\r\n\"0.648651770774712\",\r\n\"0.632758679047934\",\r\n\"0.623681076178084\",\r\n\"0.601786155359045\",\r\n\"0.586675291477279\",\r\n\"0.571795678455247\",\r\n\"0.557134429435798\",\r\n\"0.546147700570897\",\r\n\"0.528420648387421\",\r\n\"0.514347396378445\",\r\n\"0.500450999184047\",\r\n\"0.486723414803149\",\r\n\"0.46846494975102\",\r\n\"0.459746874766139\",\r\n\"0.446486122510432\",\r\n\"0.433370546459129\",\r\n\"0.420396260805654\",\r\n\"0.403239459431378\",\r\n\"0.394859843694846\",\r\n\"0.382293708048533\",\r\n\"0.369860814184505\",\r\n\"0.357560922259203\",\r\n\"0.34897992739135\",\r\n\"0.324086845625179\",\r\n\"0.310017922869721\",\r\n\"0.295949000114266\",\r\n\"0.281880077358811\",\r\n\"0.267811154603353\",\r\n\"0.253742231847895\",\r\n\"0.239673309092438\",\r\n\"0.225604386336982\",\r\n\"0.211535463581525\",\r\n\"0.197466540826067\",\r\n\"0.183397618070611\",\r\n\"0.16906302212628\",\r\n\"0.154996087617505\",\r\n\"0.140692423294794\",\r\n\"0.12570465618028\",\r\n\"0.110944335174564\",\r\n\"0.0963890770692947\",\r\n\"0.0820555915630043\",\r\n\"0.0679400262445987\",\r\n\"0.0540374488599134\",\r\n\"0.0403430748845398\",\r\n\"0.0268522620339582\",\r\n\"0.0135605050167032\",\r\n\"0.000463430518063219\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\"\r\n]\r\n\r\nconst carGasolineDieselArr = [\r\n \"0.47769230799999995\",\r\n \"0.470923077\",\r\n \"0.46415384600000004\",\r\n \"0.457384615\",\r\n \"0.450615385\",\r\n \"0.443846154\",\r\n \"0.43707692299999995\",\r\n \"0.430307692\",\r\n \"0.423538462\",\r\n \"0.416769231\",\r\n \"0.41\",\r\n \"0.4\",\r\n \"0.39\",\r\n \"0.38\",\r\n \"0.37\",\r\n \"0.36\",\r\n \"0.35\",\r\n \"0.34\",\r\n \"0.33\",\r\n \"0.32\",\r\n \"0.31\",\r\n \"0.299134227\",\r\n \"0.287647059\",\r\n \"0.275502959\",\r\n \"0.26266436\",\r\n \"0.249091543\",\r\n \"0.23474252\",\r\n \"0.21957290100000001\",\r\n \"0.20353575699999998\",\r\n \"0.186581477\",\r\n \"0.168657611\",\r\n \"0.14970871\",\r\n \"0.12967615400000002\",\r\n \"0.10849797\",\r\n \"0.086108642\",\r\n \"0.062438908\",\r\n \"0.037415542\",\r\n \"0.010961132\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n]\r\n\r\nconst truckGasolineDieselArrFinland = [\r\n \"0.998196665\",\r\n \"0.996992623\",\r\n \"0.99535662\",\r\n \"0.993274401\",\r\n \"0.990766386\",\r\n \"0.987722657\",\r\n \"0.984556248\",\r\n \"0.980896211\",\r\n \"0.97689433\",\r\n \"0.972571621\",\r\n \"0.9682239\",\r\n \"0.963046807\",\r\n \"0.957885536\",\r\n \"0.952484973\",\r\n \"0.946864544\",\r\n \"0.940802342\",\r\n \"0.935039321\",\r\n \"0.928870806\",\r\n \"0.92255493\",\r\n \"0.916108385\",\r\n \"0.909449009\",\r\n \"0.902887039\",\r\n \"0.896142588\",\r\n \"0.889328178\",\r\n \"0.88245748\",\r\n \"0.875693491\",\r\n \"0.879199984\",\r\n \"0.874201365\",\r\n \"0.869202746\",\r\n \"0.864204127\",\r\n \"0.859205507\",\r\n \"0.854206888\",\r\n \"0.849208269\",\r\n \"0.84420965\",\r\n \"0.83921103\",\r\n \"0.834212411\",\r\n \"0.829213792\",\r\n \"0.824215173\",\r\n \"0.819216553\",\r\n \"0.814217934\",\r\n \"0.809219315\",\r\n \"0.804220696\",\r\n \"0.799222077\",\r\n \"0.794223457\",\r\n \"0.789224838\",\r\n \"0.784226219\",\r\n \"0.7792276\",\r\n \"0.77422898\",\r\n \"0.769230361\",\r\n \"0.764231742\",\r\n \"0.759233123\",\r\n \"0.754234503\",\r\n \"0.749235884\",\r\n \"0.744237265\",\r\n \"0.739238646\",\r\n \"0.734240026\",\r\n \"0.729241407\",\r\n \"0.724242788\",\r\n \"0.719244169\",\r\n \"0.714245549\",\r\n \"0.70924693\" \r\n]\r\n\r\n\r\nconst truckGasolineDieselArr = [\r\n \"0.389615385\",\r\n \"0.386153846\",\r\n \"0.382692308\",\r\n \"0.37923076899999997\",\r\n \"0.37576923100000004\",\r\n \"0.372307692\",\r\n \"0.368846154\",\r\n \"0.365384615\",\r\n \"0.36192307700000004\",\r\n \"0.35846153799999997\",\r\n \"0.355\",\r\n \"0.3515\",\r\n \"0.348\",\r\n \"0.3445\",\r\n \"0.341\",\r\n \"0.3375\",\r\n \"0.33399999999999996\",\r\n \"0.3305\",\r\n \"0.327\",\r\n \"0.3235\",\r\n \"0.32\",\r\n \"0.316083613\",\r\n \"0.311860465\",\r\n \"0.307306527\",\r\n \"0.30239589\",\r\n \"0.297100613\",\r\n \"0.291390569\",\r\n \"0.285233271\",\r\n \"0.278593685\",\r\n \"0.271434036\",\r\n \"0.263713588\",\r\n \"0.255388414\",\r\n \"0.246411148\",\r\n \"0.23673071399999998\",\r\n \"0.226292033\",\r\n \"0.215035714\",\r\n \"0.202897713\",\r\n \"0.18980897\",\r\n \"0.175695015\",\r\n \"0.160475546\",\r\n \"0.14406397099999999\",\r\n \"0.126366914\",\r\n \"0.10728368699999999\",\r\n \"0.086705714\",\r\n \"0.064515915\",\r\n \"0.040588039\",\r\n \"0.014785948\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n]\r\n\r\nconst hybridArrFinland = [\r\n\"0.016663432\",\r\n\"0.024174951\",\r\n\"0.037730126\",\r\n\"0.050549761\",\r\n\"0.062640408\",\r\n\"0.062932336\",\r\n\"0.084653633\",\r\n\"0.094582381\",\r\n\"0.103794724\",\r\n\"0.112291007\",\r\n\"0.117461388\",\r\n\"0.127132471\",\r\n\"0.133474376\",\r\n\"0.1390939\",\r\n\"0.143988111\",\r\n\"0.155257572\",\r\n\"0.151587428\",\r\n\"0.154285595\",\r\n\"0.156244807\",\r\n\"0.157461776\",\r\n\"0.162113543\",\r\n\"0.157657425\",\r\n\"0.156631488\",\r\n\"0.154854324\",\r\n\"0.152325344\",\r\n\"0.14465695\",\r\n\"0.185085536\",\r\n\"0.190658721\",\r\n\"0.196231906\",\r\n\"0.201805091\",\r\n\"0.207378277\",\r\n\"0.212951462\",\r\n\"0.218524647\",\r\n\"0.224097832\",\r\n\"0.229671017\",\r\n\"0.235244202\",\r\n\"0.240817387\",\r\n\"0.246003991\",\r\n\"0.251535836\",\r\n\"0.256627796\",\r\n\"0.260176737\",\r\n\"0.263671821\",\r\n\"0.267066485\",\r\n\"0.270406256\",\r\n\"0.273695251\",\r\n\"0.276934619\",\r\n\"0.280125474\",\r\n\"0.283268898\",\r\n\"0.286365942\",\r\n\"0.289417624\",\r\n\"0.288830949\",\r\n\"0.288138253\",\r\n\"0.287472104\",\r\n\"0.286831005\",\r\n\"0.286213567\",\r\n\"0.285618506\",\r\n\"0.285044627\",\r\n\"0.284490818\",\r\n\"0.283956044\",\r\n\"0.283439341\",\r\n\"0.282939808\"\r\n]\r\n\r\nconst hybridArr = [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n]\r\n\r\nconst carBatteryArrFinland = [\r\n\"0.00353727\",\r\n\"0.005193063\",\r\n\"0.012398414\",\r\n\"0.020434456\",\r\n\"0.029303641\",\r\n\"0.033457413\",\r\n\"0.049552196\",\r\n\"0.060937029\",\r\n\"0.073165665\",\r\n\"0.086240319\",\r\n\"0.094206227\",\r\n\"0.114934175\",\r\n\"0.130555026\",\r\n\"0.147024916\",\r\n\"0.16434245\",\r\n\"0.186911433\",\r\n\"0.201509038\",\r\n\"0.221349058\",\r\n\"0.24201838\",\r\n\"0.263508549\",\r\n\"0.293236169\",\r\n\"0.308908443\",\r\n\"0.332791728\",\r\n\"0.357442759\",\r\n\"0.382842882\",\r\n\"0.403923432\",\r\n\"0.390918424\",\r\n\"0.407341123\",\r\n\"0.423763822\",\r\n\"0.44018652\",\r\n\"0.456609219\",\r\n\"0.473031918\",\r\n\"0.489454617\",\r\n\"0.505877316\",\r\n\"0.522300014\",\r\n\"0.538722713\",\r\n\"0.555145412\",\r\n\"0.570671332\",\r\n\"0.586992197\",\r\n\"0.602279831\",\r\n\"0.61391456\",\r\n\"0.625372727\",\r\n\"0.636544438\",\r\n\"0.647538152\",\r\n\"0.658364723\",\r\n\"0.669027932\",\r\n\"0.679531451\",\r\n\"0.68987884\",\r\n\"0.700073553\",\r\n\"0.710118946\",\r\n\"0.711169051\",\r\n\"0.711861747\",\r\n\"0.712527896\",\r\n\"0.713168995\",\r\n\"0.713786433\",\r\n\"0.714381494\",\r\n\"0.714955373\",\r\n\"0.715509182\",\r\n\"0.716043956\",\r\n\"0.716560659\",\r\n\"0.717060192\"\r\n]\r\n\r\nconst carBatteryArr = [\r\n \"0.044615385\",\r\n \"0.058153845999999995\",\r\n \"0.071692308\",\r\n \"0.085230769\",\r\n \"0.098769231\",\r\n \"0.11230769199999999\",\r\n \"0.12584615400000002\",\r\n \"0.139384615\",\r\n \"0.152923077\",\r\n \"0.16646153800000002\",\r\n \"0.18\",\r\n \"0.2\",\r\n \"0.22\",\r\n \"0.24\",\r\n \"0.26\",\r\n \"0.28\",\r\n \"0.3\",\r\n \"0.32\",\r\n \"0.34\",\r\n \"0.36\",\r\n \"0.38\",\r\n \"0.401731546\",\r\n \"0.42470588200000003\",\r\n \"0.448994081\",\r\n \"0.47467128\",\r\n \"0.501816914\",\r\n \"0.53051496\",\r\n \"0.5608541979999999\",\r\n \"0.592928485\",\r\n \"0.626837045\",\r\n \"0.6626847770000001\",\r\n \"0.70058258\",\r\n \"0.740647692\",\r\n \"0.78300406\",\r\n \"0.827782715\",\r\n \"0.875122185\",\r\n \"0.925168917\",\r\n \"0.9780777359999999\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\"\r\n]\r\n\r\nconst truckBatteryArrFinland = [\r\n \"0.000288534\",\r\n \"0.000876258\",\r\n \"0.001726831\",\r\n \"0.002868153\",\r\n \"0.00429004\",\r\n \"0.00610399\",\r\n \"0.007933647\",\r\n \"0.010134097\",\r\n \"0.012572704\",\r\n \"0.01523879\",\r\n \"0.017955764\",\r\n \"0.021211189\",\r\n \"0.024496802\",\r\n \"0.027968591\",\r\n \"0.031616812\",\r\n \"0.035498404\",\r\n \"0.039405175\",\r\n \"0.043527514\",\r\n \"0.047790734\",\r\n \"0.052186934\",\r\n \"0.056851136\",\r\n \"0.061348878\",\r\n \"0.066101074\",\r\n \"0.070959181\",\r\n \"0.075917636\",\r\n \"0.080849666\",\r\n \"0.077095791\",\r\n \"0.080367732\",\r\n \"0.083639674\",\r\n \"0.086911615\",\r\n \"0.090183556\",\r\n \"0.093455498\",\r\n \"0.096727439\",\r\n \"0.09999938\",\r\n \"0.103271322\",\r\n \"0.106543263\",\r\n \"0.109815205\",\r\n \"0.113087146\",\r\n \"0.116359087\",\r\n \"0.119631029\",\r\n \"0.12290297\",\r\n \"0.126174911\",\r\n \"0.129446853\",\r\n \"0.132718794\",\r\n \"0.135990736\",\r\n \"0.139262677\",\r\n \"0.142534618\",\r\n \"0.14580656\",\r\n \"0.149078501\",\r\n \"0.152350442\",\r\n \"0.155622384\",\r\n \"0.158894325\",\r\n \"0.162166267\",\r\n \"0.165438208\",\r\n \"0.168710149\",\r\n \"0.171982091\",\r\n \"0.175254032\",\r\n \"0.178525973\",\r\n \"0.181797915\",\r\n \"0.185069856\",\r\n \"0.188341798\",\r\n]\r\n\r\nconst truckBatteryArr = [\r\n \"0.006923077\",\r\n \"0.009230769\",\r\n \"0.011538462\",\r\n \"0.013846154\",\r\n \"0.016153846\",\r\n \"0.018461538\",\r\n \"0.020769231000000003\",\r\n \"0.023076923\",\r\n \"0.025384615\",\r\n \"0.027692308\",\r\n \"0.03\",\r\n \"0.037000000000000005\",\r\n \"0.044000000000000004\",\r\n \"0.051\",\r\n \"0.057999999999999996\",\r\n \"0.065\",\r\n \"0.07200000000000001\",\r\n \"0.079\",\r\n \"0.086\",\r\n \"0.09300000000000001\",\r\n \"0.1\",\r\n \"0.107832773\",\r\n \"0.11627907\",\r\n \"0.125386946\",\r\n \"0.135208221\",\r\n \"0.145798774\",\r\n \"0.157218861\",\r\n \"0.169533458\",\r\n \"0.18281262899999998\",\r\n \"0.197131928\",\r\n \"0.212572825\",\r\n \"0.229223172\",\r\n \"0.247177703\",\r\n \"0.266538572\",\r\n \"0.287415934\",\r\n \"0.309928572\",\r\n \"0.334204574\",\r\n \"0.36038206100000003\",\r\n \"0.38860997\",\r\n \"0.419048908\",\r\n \"0.45187205799999997\",\r\n \"0.48726617200000005\",\r\n \"0.5254326260000001\",\r\n \"0.566588572\",\r\n \"0.61096817\",\r\n \"0.658823921\",\r\n \"0.710428105\",\r\n \"0.7466070509999999\",\r\n \"0.760606775\",\r\n \"0.7740670909999999\",\r\n \"0.786982535\",\r\n \"0.79935105\",\r\n \"0.811173719\",\r\n \"0.8224544979999999\",\r\n \"0.833199925\",\r\n \"0.8434188290000001\",\r\n \"0.85312204\",\r\n \"0.8623221059999999\",\r\n \"0.871033017\",\r\n \"0.8792699509999999\",\r\n \"0.887049022\"\r\n]\r\n\r\nconst truckHydrogenArrFinland = [\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n\"0\",\r\n]\r\n\r\nconst truckHydrogenArr = [\r\n \"0.21384615399999998\",\r\n \"0.218461538\",\r\n \"0.223076923\",\r\n \"0.227692308\",\r\n \"0.23230769199999998\",\r\n \"0.23692307699999998\",\r\n \"0.24153846199999998\",\r\n \"0.246153846\",\r\n \"0.25076923100000004\",\r\n \"0.255384615\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.253392949\",\r\n \"0.239393225\",\r\n \"0.225932909\",\r\n \"0.213017465\",\r\n \"0.20064895\",\r\n \"0.188826281\",\r\n \"0.177545502\",\r\n \"0.166800075\",\r\n \"0.156581171\",\r\n \"0.14687796\",\r\n \"0.137677894\",\r\n \"0.128966983\",\r\n \"0.120730049\",\r\n \"0.11295097800000001\"\r\n]\r\n\r\nexport const fuelDistributionCarsNorway = {\r\n \"year\": yearArr,\r\n\r\n // Old Settings\r\n // \"prc_gasoline\": carGasolineDieselArr,\r\n // \"prc_diesel\": carGasolineDieselArr,\r\n // \"prc_inchargeable_hybrid\": hybridArr,\r\n // \"prc_chargeable_hybrid\": hybridArr,\r\n // \"prc_battery\": carBatteryArr,\r\n // \"prc_hydrogen\": hybridArr\r\n\r\n \"prc_gasoline\": norwayCarGasoline,\r\n \"prc_diesel\": norwayCarDiesel,\r\n \"prc_inchargeable_hybrid\": norwayCarInChargeHybrid,\r\n \"prc_chargeable_hybrid\": norwayCarPreChargeHybrid,\r\n \"prc_battery\": norwayCarBattery,\r\n \"prc_hydrogen\": norwayCarHydro\r\n}\r\n\r\nexport const fuelDistributionTrucksNorway = {\r\n \"year\": yearArr,\r\n\r\n // Old Settings\r\n // \"prc_gasoline\": truckGasolineDieselArr,\r\n // \"prc_diesel\": truckGasolineDieselArr,\r\n // \"prc_inchargeable_hybrid\": hybridArr,\r\n // \"prc_chargeable_hybrid\": hybridArr,\r\n // \"prc_battery\": truckBatteryArr,\r\n // \"prc_hydrogen\": truckHydrogenArr\r\n\r\n \"prc_gasoline\": norwayTruckGas,\r\n \"prc_diesel\": norwayTruckDiesel,\r\n \"prc_inchargeable_hybrid\": norwayTruckNonCharge,\r\n \"prc_chargeable_hybrid\": norwayTruckChargeHydro,\r\n \"prc_battery\": norwayTruckChargeHydro, // both are same\r\n \"prc_hydrogen\": norwayTruckHydro\r\n}\r\n\r\nexport const fuelDistributionCarsSweden = {\r\n \"year\": yearArr,\r\n \"prc_gasoline\": carGasolineDieselArr,\r\n \"prc_diesel\": carGasolineDieselArr,\r\n \"prc_inchargeable_hybrid\": hybridArr,\r\n \"prc_chargeable_hybrid\": hybridArr,\r\n \"prc_battery\": carBatteryArr,\r\n \"prc_hydrogen\": hybridArr\r\n}\r\n\r\nexport const fuelDistributionTrucksSweden = {\r\n \"year\": yearArr,\r\n \"prc_gasoline\": truckGasolineDieselArr,\r\n \"prc_diesel\": truckGasolineDieselArr,\r\n \"prc_inchargeable_hybrid\": hybridArr,\r\n \"prc_chargeable_hybrid\": hybridArr,\r\n \"prc_battery\": truckBatteryArr,\r\n \"prc_hydrogen\": truckHydrogenArr,\r\n \"prc_biofuel\": []\r\n}\r\n\r\nexport const fuelDistributionCarsFinland = {\r\n \"year\": yearArr,\r\n \"prc_gasoline\": carGasolineDieselArr_Finland,\r\n \"prc_diesel\": carGasolineDieselArr_Finland,\r\n \"prc_inchargeable_hybrid\": hybridArrFinland,\r\n \"prc_chargeable_hybrid\": hybridArrFinland,\r\n \"prc_battery\": carBatteryArrFinland,\r\n \"prc_hydrogen\": hybridArrFinland\r\n}\r\n\r\nexport const fuelDistributionTrucksFinland = {\r\n \"year\": yearArr,\r\n \"prc_gasoline\": truckGasolineDieselArrFinland,\r\n \"prc_diesel\": truckGasolineDieselArrFinland,\r\n \"prc_inchargeable_hybrid\": hybridArrFinland,\r\n \"prc_chargeable_hybrid\": hybridArrFinland,\r\n \"prc_battery\": truckBatteryArrFinland,\r\n \"prc_hydrogen\": truckHydrogenArrFinland,\r\n \"prc_biofuel\": []\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const requestBody4 = {\r\n \"return_option\": 4,\r\n \"sectional_start\": 3600,\r\n \"sectional_end\": 6000,\r\n \"fuel_distribution_cars\": {\r\n \"year\": [\r\n \"2020\",\r\n \"2021\",\r\n \"2022\",\r\n \"2023\",\r\n \"2024\",\r\n \"2025\",\r\n \"2026\",\r\n \"2027\",\r\n \"2028\",\r\n \"2029\",\r\n \"2030\",\r\n \"2031\",\r\n \"2032\",\r\n \"2033\",\r\n \"2034\",\r\n \"2035\",\r\n \"2036\",\r\n \"2037\",\r\n \"2038\",\r\n \"2039\",\r\n \"2040\",\r\n \"2041\",\r\n \"2042\",\r\n \"2043\",\r\n \"2044\",\r\n \"2045\",\r\n \"2046\",\r\n \"2047\",\r\n \"2048\",\r\n \"2049\",\r\n \"2050\",\r\n \"2051\",\r\n \"2052\",\r\n \"2053\",\r\n \"2054\",\r\n \"2055\",\r\n \"2056\",\r\n \"2057\",\r\n \"2058\",\r\n \"2059\",\r\n \"2060\",\r\n \"2061\",\r\n \"2062\",\r\n \"2063\",\r\n \"2064\",\r\n \"2065\",\r\n \"2066\",\r\n \"2067\",\r\n \"2068\",\r\n \"2069\",\r\n \"2070\",\r\n \"2071\",\r\n \"2072\",\r\n \"2073\",\r\n \"2074\",\r\n \"2075\",\r\n \"2076\",\r\n \"2077\",\r\n \"2078\",\r\n \"2079\",\r\n \"2080\"\r\n ],\r\n \"prc_gasoline\": [\r\n \"0.47769230799999995\",\r\n \"0.470923077\",\r\n \"0.46415384600000004\",\r\n \"0.457384615\",\r\n \"0.450615385\",\r\n \"0.443846154\",\r\n \"0.43707692299999995\",\r\n \"0.430307692\",\r\n \"0.423538462\",\r\n \"0.416769231\",\r\n \"0.41\",\r\n \"0.4\",\r\n \"0.39\",\r\n \"0.38\",\r\n \"0.37\",\r\n \"0.36\",\r\n \"0.35\",\r\n \"0.34\",\r\n \"0.33\",\r\n \"0.32\",\r\n \"0.31\",\r\n \"0.299134227\",\r\n \"0.287647059\",\r\n \"0.275502959\",\r\n \"0.26266436\",\r\n \"0.249091543\",\r\n \"0.23474252\",\r\n \"0.21957290100000001\",\r\n \"0.20353575699999998\",\r\n \"0.186581477\",\r\n \"0.168657611\",\r\n \"0.14970871\",\r\n \"0.12967615400000002\",\r\n \"0.10849797\",\r\n \"0.086108642\",\r\n \"0.062438908\",\r\n \"0.037415542\",\r\n \"0.010961132\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_diesel\": [\r\n \"0.47769230799999995\",\r\n \"0.470923077\",\r\n \"0.46415384600000004\",\r\n \"0.457384615\",\r\n \"0.450615385\",\r\n \"0.443846154\",\r\n \"0.43707692299999995\",\r\n \"0.430307692\",\r\n \"0.423538462\",\r\n \"0.416769231\",\r\n \"0.41\",\r\n \"0.4\",\r\n \"0.39\",\r\n \"0.38\",\r\n \"0.37\",\r\n \"0.36\",\r\n \"0.35\",\r\n \"0.34\",\r\n \"0.33\",\r\n \"0.32\",\r\n \"0.31\",\r\n \"0.299134227\",\r\n \"0.287647059\",\r\n \"0.275502959\",\r\n \"0.26266436\",\r\n \"0.249091543\",\r\n \"0.23474252\",\r\n \"0.21957290100000001\",\r\n \"0.20353575699999998\",\r\n \"0.186581477\",\r\n \"0.168657611\",\r\n \"0.14970871\",\r\n \"0.12967615400000002\",\r\n \"0.10849797\",\r\n \"0.086108642\",\r\n \"0.062438908\",\r\n \"0.037415542\",\r\n \"0.010961132\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_inchargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_chargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_battery\": [\r\n \"0.044615385\",\r\n \"0.058153845999999995\",\r\n \"0.071692308\",\r\n \"0.085230769\",\r\n \"0.098769231\",\r\n \"0.11230769199999999\",\r\n \"0.12584615400000002\",\r\n \"0.139384615\",\r\n \"0.152923077\",\r\n \"0.16646153800000002\",\r\n \"0.18\",\r\n \"0.2\",\r\n \"0.22\",\r\n \"0.24\",\r\n \"0.26\",\r\n \"0.28\",\r\n \"0.3\",\r\n \"0.32\",\r\n \"0.34\",\r\n \"0.36\",\r\n \"0.38\",\r\n \"0.401731546\",\r\n \"0.42470588200000003\",\r\n \"0.448994081\",\r\n \"0.47467128\",\r\n \"0.501816914\",\r\n \"0.53051496\",\r\n \"0.5608541979999999\",\r\n \"0.592928485\",\r\n \"0.626837045\",\r\n \"0.6626847770000001\",\r\n \"0.70058258\",\r\n \"0.740647692\",\r\n \"0.78300406\",\r\n \"0.827782715\",\r\n \"0.875122185\",\r\n \"0.925168917\",\r\n \"0.9780777359999999\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\"\r\n ],\r\n \"prc_hydrogen\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ]\r\n },\r\n \"fuel_distribution_trucks\": {\r\n \"year\": [\r\n \"2020\",\r\n \"2021\",\r\n \"2022\",\r\n \"2023\",\r\n \"2024\",\r\n \"2025\",\r\n \"2026\",\r\n \"2027\",\r\n \"2028\",\r\n \"2029\",\r\n \"2030\",\r\n \"2031\",\r\n \"2032\",\r\n \"2033\",\r\n \"2034\",\r\n \"2035\",\r\n \"2036\",\r\n \"2037\",\r\n \"2038\",\r\n \"2039\",\r\n \"2040\",\r\n \"2041\",\r\n \"2042\",\r\n \"2043\",\r\n \"2044\",\r\n \"2045\",\r\n \"2046\",\r\n \"2047\",\r\n \"2048\",\r\n \"2049\",\r\n \"2050\",\r\n \"2051\",\r\n \"2052\",\r\n \"2053\",\r\n \"2054\",\r\n \"2055\",\r\n \"2056\",\r\n \"2057\",\r\n \"2058\",\r\n \"2059\",\r\n \"2060\",\r\n \"2061\",\r\n \"2062\",\r\n \"2063\",\r\n \"2064\",\r\n \"2065\",\r\n \"2066\",\r\n \"2067\",\r\n \"2068\",\r\n \"2069\",\r\n \"2070\",\r\n \"2071\",\r\n \"2072\",\r\n \"2073\",\r\n \"2074\",\r\n \"2075\",\r\n \"2076\",\r\n \"2077\",\r\n \"2078\",\r\n \"2079\",\r\n \"2080\"\r\n ],\r\n \"prc_gasoline\": [\r\n \"0.389615385\",\r\n \"0.386153846\",\r\n \"0.382692308\",\r\n \"0.37923076899999997\",\r\n \"0.37576923100000004\",\r\n \"0.372307692\",\r\n \"0.368846154\",\r\n \"0.365384615\",\r\n \"0.36192307700000004\",\r\n \"0.35846153799999997\",\r\n \"0.355\",\r\n \"0.3515\",\r\n \"0.348\",\r\n \"0.3445\",\r\n \"0.341\",\r\n \"0.3375\",\r\n \"0.33399999999999996\",\r\n \"0.3305\",\r\n \"0.327\",\r\n \"0.3235\",\r\n \"0.32\",\r\n \"0.316083613\",\r\n \"0.311860465\",\r\n \"0.307306527\",\r\n \"0.30239589\",\r\n \"0.297100613\",\r\n \"0.291390569\",\r\n \"0.285233271\",\r\n \"0.278593685\",\r\n \"0.271434036\",\r\n \"0.263713588\",\r\n \"0.255388414\",\r\n \"0.246411148\",\r\n \"0.23673071399999998\",\r\n \"0.226292033\",\r\n \"0.215035714\",\r\n \"0.202897713\",\r\n \"0.18980897\",\r\n \"0.175695015\",\r\n \"0.160475546\",\r\n \"0.14406397099999999\",\r\n \"0.126366914\",\r\n \"0.10728368699999999\",\r\n \"0.086705714\",\r\n \"0.064515915\",\r\n \"0.040588039\",\r\n \"0.014785948\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_diesel\": [\r\n \"0.389615385\",\r\n \"0.386153846\",\r\n \"0.382692308\",\r\n \"0.37923076899999997\",\r\n \"0.37576923100000004\",\r\n \"0.372307692\",\r\n \"0.368846154\",\r\n \"0.365384615\",\r\n \"0.36192307700000004\",\r\n \"0.35846153799999997\",\r\n \"0.355\",\r\n \"0.3515\",\r\n \"0.348\",\r\n \"0.3445\",\r\n \"0.341\",\r\n \"0.3375\",\r\n \"0.33399999999999996\",\r\n \"0.3305\",\r\n \"0.327\",\r\n \"0.3235\",\r\n \"0.32\",\r\n \"0.316083613\",\r\n \"0.311860465\",\r\n \"0.307306527\",\r\n \"0.30239589\",\r\n \"0.297100613\",\r\n \"0.291390569\",\r\n \"0.285233271\",\r\n \"0.278593685\",\r\n \"0.271434036\",\r\n \"0.263713588\",\r\n \"0.255388414\",\r\n \"0.246411148\",\r\n \"0.23673071399999998\",\r\n \"0.226292033\",\r\n \"0.215035714\",\r\n \"0.202897713\",\r\n \"0.18980897\",\r\n \"0.175695015\",\r\n \"0.160475546\",\r\n \"0.14406397099999999\",\r\n \"0.126366914\",\r\n \"0.10728368699999999\",\r\n \"0.086705714\",\r\n \"0.064515915\",\r\n \"0.040588039\",\r\n \"0.014785948\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_inchargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_chargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_battery\": [\r\n \"0.006923077\",\r\n \"0.009230769\",\r\n \"0.011538462\",\r\n \"0.013846154\",\r\n \"0.016153846\",\r\n \"0.018461538\",\r\n \"0.020769231000000003\",\r\n \"0.023076923\",\r\n \"0.025384615\",\r\n \"0.027692308\",\r\n \"0.03\",\r\n \"0.037000000000000005\",\r\n \"0.044000000000000004\",\r\n \"0.051\",\r\n \"0.057999999999999996\",\r\n \"0.065\",\r\n \"0.07200000000000001\",\r\n \"0.079\",\r\n \"0.086\",\r\n \"0.09300000000000001\",\r\n \"0.1\",\r\n \"0.107832773\",\r\n \"0.11627907\",\r\n \"0.125386946\",\r\n \"0.135208221\",\r\n \"0.145798774\",\r\n \"0.157218861\",\r\n \"0.169533458\",\r\n \"0.18281262899999998\",\r\n \"0.197131928\",\r\n \"0.212572825\",\r\n \"0.229223172\",\r\n \"0.247177703\",\r\n \"0.266538572\",\r\n \"0.287415934\",\r\n \"0.309928572\",\r\n \"0.334204574\",\r\n \"0.36038206100000003\",\r\n \"0.38860997\",\r\n \"0.419048908\",\r\n \"0.45187205799999997\",\r\n \"0.48726617200000005\",\r\n \"0.5254326260000001\",\r\n \"0.566588572\",\r\n \"0.61096817\",\r\n \"0.658823921\",\r\n \"0.710428105\",\r\n \"0.7466070509999999\",\r\n \"0.760606775\",\r\n \"0.7740670909999999\",\r\n \"0.786982535\",\r\n \"0.79935105\",\r\n \"0.811173719\",\r\n \"0.8224544979999999\",\r\n \"0.833199925\",\r\n \"0.8434188290000001\",\r\n \"0.85312204\",\r\n \"0.8623221059999999\",\r\n \"0.871033017\",\r\n \"0.8792699509999999\",\r\n \"0.887049022\"\r\n ],\r\n \"prc_hydrogen\": [\r\n \"0.21384615399999998\",\r\n \"0.218461538\",\r\n \"0.223076923\",\r\n \"0.227692308\",\r\n \"0.23230769199999998\",\r\n \"0.23692307699999998\",\r\n \"0.24153846199999998\",\r\n \"0.246153846\",\r\n \"0.25076923100000004\",\r\n \"0.255384615\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.253392949\",\r\n \"0.239393225\",\r\n \"0.225932909\",\r\n \"0.213017465\",\r\n \"0.20064895\",\r\n \"0.188826281\",\r\n \"0.177545502\",\r\n \"0.166800075\",\r\n \"0.156581171\",\r\n \"0.14687796\",\r\n \"0.137677894\",\r\n \"0.128966983\",\r\n \"0.120730049\",\r\n \"0.11295097800000001\"\r\n ]\r\n },\r\n \"presumptions\": {\r\n \"Speed_car\": 80,\r\n \"Speed_truck\": 80,\r\n \"cost_increase\": 0.01,\r\n \"gasoline_fuelfactor\": 1,\r\n \"gasoline_co2\": 2.85,\r\n \"gasoline_kwh\": 9.1,\r\n \"gasoline_efficiency\": 0.25,\r\n \"gasoline_cost\": 16,\r\n \"diesel_fuelfactor\": 1,\r\n \"diesel_co2\": 2.73,\r\n \"diesel_kwh\": 9.8,\r\n \"diesel_efficiency\": 0.35,\r\n \"diesel_cost\": 16,\r\n \"battery_fuelfactor\": 0,\r\n \"battery_co2\": 0.0,\r\n \"battery_kwh\": 9.8,\r\n \"battery_efficiency\": 1,\r\n \"battery_cost\": 0,\r\n \"inchargeable_hybrid_fuelfactor\": 1,\r\n \"inchargeable_hybrid_co2\": 2.85,\r\n \"inchargeable_hybrid_kwh\": 9.8,\r\n \"inchargeable_hybrid_efficiency\": 0.35,\r\n \"inchargeable_hybrid_cost\": 16,\r\n \"chargeable_hybrid_fuelfactor\": 1,\r\n \"chargeable_hybrid_co2\": 2.85,\r\n \"chargeable_hybrid_kwh\": 9.8,\r\n \"chargeable_hybrid_efficiency\": 0.35,\r\n \"chargeable_hybrid_cost\": 16,\r\n \"hydrogen_fuelfactor\": 0,\r\n \"hydrogen_co2\": 0.0,\r\n \"hydrogen_kwh\": 9.8,\r\n \"hydrogen_efficiency\": 1,\r\n \"hydrogen_cost\": 0,\r\n \"iri\": 1.0,\r\n \"mpd\": 1.0\r\n },\r\n \"start_year\": 2020,\r\n \"end_year\": 2065,\r\n \"segments\": [\r\n {\r\n \"segment_id\": 1,\r\n \"directions_id\": 590,\r\n \"year\": 2020,\r\n \"aadt\": 20000,\r\n \"prc_heavy\": 10,\r\n \"aadt_cars\": 18000,\r\n \"aadt_trucks\": 1500,\r\n \"aadt_trucks_with_trailer\": 500,\r\n \"annual_increase_cars\": 1,\r\n \"annual_increase_heavy\": 1.5,\r\n \"segment_order_no\": 1\r\n }\r\n ],\r\n \"segments_data\": [\r\n {\r\n \"segment_data_id\": 590,\r\n \"chainage\": 140,\r\n \"zlevel\": 41.08,\r\n \"radius\": 117.027,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 591,\r\n \"chainage\": 160,\r\n \"zlevel\": 41.02,\r\n \"radius\": 200.421,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 592,\r\n \"chainage\": 180,\r\n \"zlevel\": 40.96,\r\n \"radius\": 697.38,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 593,\r\n \"chainage\": 280,\r\n \"zlevel\": 40.66,\r\n \"radius\": 3910.82,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 594,\r\n \"chainage\": 300,\r\n \"zlevel\": 40.6,\r\n \"radius\": 1658.586,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 595,\r\n \"chainage\": 320,\r\n \"zlevel\": 40.54,\r\n \"radius\": 1052.471,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 596,\r\n \"chainage\": 326,\r\n \"zlevel\": 40.523,\r\n \"radius\": 955.322,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 597,\r\n \"chainage\": 340,\r\n \"zlevel\": 40.465,\r\n \"radius\": 770.792,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 598,\r\n \"chainage\": 343,\r\n \"zlevel\": 40.449,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 599,\r\n \"chainage\": 360,\r\n \"zlevel\": 40.335,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 600,\r\n \"chainage\": 380,\r\n \"zlevel\": 40.148,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 601,\r\n \"chainage\": 400,\r\n \"zlevel\": 39.904,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 602,\r\n \"chainage\": 415,\r\n \"zlevel\": 39.687,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 603,\r\n \"chainage\": 420,\r\n \"zlevel\": 39.603,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 604,\r\n \"chainage\": 440,\r\n \"zlevel\": 39.245,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 605,\r\n \"chainage\": 460,\r\n \"zlevel\": 38.829,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 606,\r\n \"chainage\": 480,\r\n \"zlevel\": 38.356,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 607,\r\n \"chainage\": 500,\r\n \"zlevel\": 37.826,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 608,\r\n \"chainage\": 503,\r\n \"zlevel\": 37.743,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 609,\r\n \"chainage\": 504,\r\n \"zlevel\": 37.714,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 610,\r\n \"chainage\": 520,\r\n \"zlevel\": 37.257,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 611,\r\n \"chainage\": 540,\r\n \"zlevel\": 36.687,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 612,\r\n \"chainage\": 560,\r\n \"zlevel\": 36.117,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 613,\r\n \"chainage\": 580,\r\n \"zlevel\": 35.547,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 614,\r\n \"chainage\": 600,\r\n \"zlevel\": 34.977,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 615,\r\n \"chainage\": 620,\r\n \"zlevel\": 34.407,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 616,\r\n \"chainage\": 640,\r\n \"zlevel\": 33.837,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 617,\r\n \"chainage\": 660,\r\n \"zlevel\": 33.267,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 618,\r\n \"chainage\": 663,\r\n \"zlevel\": 33.187,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 619,\r\n \"chainage\": 680,\r\n \"zlevel\": 32.697,\r\n \"radius\": 949.609,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 620,\r\n \"chainage\": 700,\r\n \"zlevel\": 32.127,\r\n \"radius\": 1416.746,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 621,\r\n \"chainage\": 720,\r\n \"zlevel\": 31.557,\r\n \"radius\": 2788.462,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 622,\r\n \"chainage\": 740,\r\n \"zlevel\": 30.987,\r\n \"radius\": 87731.395,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 623,\r\n \"chainage\": 820,\r\n \"zlevel\": 28.707,\r\n \"radius\": 4690.028,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 624,\r\n \"chainage\": 840,\r\n \"zlevel\": 28.137,\r\n \"radius\": 1738.003,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 625,\r\n \"chainage\": 860,\r\n \"zlevel\": 27.567,\r\n \"radius\": 1066.635,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 626,\r\n \"chainage\": 880,\r\n \"zlevel\": 26.997,\r\n \"radius\": 769.419,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 627,\r\n \"chainage\": 900,\r\n \"zlevel\": 26.441,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 628,\r\n \"chainage\": 900,\r\n \"zlevel\": 26.427,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 629,\r\n \"chainage\": 920,\r\n \"zlevel\": 25.857,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 630,\r\n \"chainage\": 940,\r\n \"zlevel\": 25.287,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 631,\r\n \"chainage\": 960,\r\n \"zlevel\": 24.717,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 632,\r\n \"chainage\": 980,\r\n \"zlevel\": 24.147,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 633,\r\n \"chainage\": 1000,\r\n \"zlevel\": 23.577,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 634,\r\n \"chainage\": 1020,\r\n \"zlevel\": 23.007,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 635,\r\n \"chainage\": 1040,\r\n \"zlevel\": 22.437,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 636,\r\n \"chainage\": 1060,\r\n \"zlevel\": 21.867,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 637,\r\n \"chainage\": 1080,\r\n \"zlevel\": 21.297,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 638,\r\n \"chainage\": 1100,\r\n \"zlevel\": 20.727,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 639,\r\n \"chainage\": 1120,\r\n \"zlevel\": 20.157,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 640,\r\n \"chainage\": 1140,\r\n \"zlevel\": 19.587,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 641,\r\n \"chainage\": 1160,\r\n \"zlevel\": 19.017,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 642,\r\n \"chainage\": 1180,\r\n \"zlevel\": 18.447,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 643,\r\n \"chainage\": 1200,\r\n \"zlevel\": 17.877,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 644,\r\n \"chainage\": 1220,\r\n \"zlevel\": 17.307,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 645,\r\n \"chainage\": 1240,\r\n \"zlevel\": 16.737,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 646,\r\n \"chainage\": 1252,\r\n \"zlevel\": 16.401,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 647,\r\n \"chainage\": 1260,\r\n \"zlevel\": 16.167,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 648,\r\n \"chainage\": 1280,\r\n \"zlevel\": 15.597,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 649,\r\n \"chainage\": 1300,\r\n \"zlevel\": 15.027,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 650,\r\n \"chainage\": 1320,\r\n \"zlevel\": 14.457,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 651,\r\n \"chainage\": 1340,\r\n \"zlevel\": 13.887,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 652,\r\n \"chainage\": 1360,\r\n \"zlevel\": 13.317,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 653,\r\n \"chainage\": 1380,\r\n \"zlevel\": 12.747,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 654,\r\n \"chainage\": 1400,\r\n \"zlevel\": 12.177,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 655,\r\n \"chainage\": 1409,\r\n \"zlevel\": 11.913,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 656,\r\n \"chainage\": 1420,\r\n \"zlevel\": 11.624,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 657,\r\n \"chainage\": 1440,\r\n \"zlevel\": 11.172,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 658,\r\n \"chainage\": 1460,\r\n \"zlevel\": 10.835,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 659,\r\n \"chainage\": 1480,\r\n \"zlevel\": 10.612,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 660,\r\n \"chainage\": 1496,\r\n \"zlevel\": 10.517,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 661,\r\n \"chainage\": 1500,\r\n \"zlevel\": 10.504,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 662,\r\n \"chainage\": 1509,\r\n \"zlevel\": 10.492,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 663,\r\n \"chainage\": 1520,\r\n \"zlevel\": 10.51,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 664,\r\n \"chainage\": 1540,\r\n \"zlevel\": 10.63,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 665,\r\n \"chainage\": 1560,\r\n \"zlevel\": 10.864,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 666,\r\n \"chainage\": 1580,\r\n \"zlevel\": 11.213,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 667,\r\n \"chainage\": 1582,\r\n \"zlevel\": 11.264,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 668,\r\n \"chainage\": 1600,\r\n \"zlevel\": 11.632,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 669,\r\n \"chainage\": 1604,\r\n \"zlevel\": 11.718,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 670,\r\n \"chainage\": 1620,\r\n \"zlevel\": 12.052,\r\n \"radius\": 784.742,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 671,\r\n \"chainage\": 1640,\r\n \"zlevel\": 12.472,\r\n \"radius\": 1252.51,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 672,\r\n \"chainage\": 1660,\r\n \"zlevel\": 12.892,\r\n \"radius\": 3100.875,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 673,\r\n \"chainage\": 1680,\r\n \"zlevel\": 13.312,\r\n \"radius\": 5308.363,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 674,\r\n \"chainage\": 1700,\r\n \"zlevel\": 13.732,\r\n \"radius\": 1294.079,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 675,\r\n \"chainage\": 1720,\r\n \"zlevel\": 14.152,\r\n \"radius\": 736.855,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 676,\r\n \"chainage\": 1740,\r\n \"zlevel\": 14.572,\r\n \"radius\": 515.069,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 677,\r\n \"chainage\": 1742,\r\n \"zlevel\": 14.614,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 678,\r\n \"chainage\": 1760,\r\n \"zlevel\": 14.992,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 679,\r\n \"chainage\": 1780,\r\n \"zlevel\": 15.412,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 680,\r\n \"chainage\": 1800,\r\n \"zlevel\": 15.832,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 681,\r\n \"chainage\": 1820,\r\n \"zlevel\": 16.252,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 682,\r\n \"chainage\": 1833,\r\n \"zlevel\": 16.528,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 683,\r\n \"chainage\": 1840,\r\n \"zlevel\": 16.672,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 684,\r\n \"chainage\": 1860,\r\n \"zlevel\": 17.092,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 685,\r\n \"chainage\": 1880,\r\n \"zlevel\": 17.512,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 686,\r\n \"chainage\": 1900,\r\n \"zlevel\": 17.932,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 687,\r\n \"chainage\": 1920,\r\n \"zlevel\": 18.352,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 688,\r\n \"chainage\": 1924,\r\n \"zlevel\": 18.442,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 689,\r\n \"chainage\": 1940,\r\n \"zlevel\": 18.772,\r\n \"radius\": 648.83,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 690,\r\n \"chainage\": 1960,\r\n \"zlevel\": 19.192,\r\n \"radius\": 1045.076,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 691,\r\n \"chainage\": 1980,\r\n \"zlevel\": 19.612,\r\n \"radius\": 2684.566,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 692,\r\n \"chainage\": 2000,\r\n \"zlevel\": 20.032,\r\n \"radius\": 7943.515,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 693,\r\n \"chainage\": 2017,\r\n \"zlevel\": 20.399,\r\n \"radius\": 2328.671,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 694,\r\n \"chainage\": 2020,\r\n \"zlevel\": 20.452,\r\n \"radius\": 2113.669,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 695,\r\n \"chainage\": 2034,\r\n \"zlevel\": 20.722,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 696,\r\n \"chainage\": 2040,\r\n \"zlevel\": 20.821,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 697,\r\n \"chainage\": 2060,\r\n \"zlevel\": 21.111,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 698,\r\n \"chainage\": 2080,\r\n \"zlevel\": 21.321,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 699,\r\n \"chainage\": 2100,\r\n \"zlevel\": 21.451,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 700,\r\n \"chainage\": 2120,\r\n \"zlevel\": 21.501,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 701,\r\n \"chainage\": 2122,\r\n \"zlevel\": 21.501,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 702,\r\n \"chainage\": 2140,\r\n \"zlevel\": 21.471,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 703,\r\n \"chainage\": 2140,\r\n \"zlevel\": 21.471,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 704,\r\n \"chainage\": 2160,\r\n \"zlevel\": 21.361,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 705,\r\n \"chainage\": 2180,\r\n \"zlevel\": 21.17,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 706,\r\n \"chainage\": 2200,\r\n \"zlevel\": 20.9,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 707,\r\n \"chainage\": 2220,\r\n \"zlevel\": 20.552,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 708,\r\n \"chainage\": 2220,\r\n \"zlevel\": 20.55,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 709,\r\n \"chainage\": 2240,\r\n \"zlevel\": 20.12,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 710,\r\n \"chainage\": 2260,\r\n \"zlevel\": 19.609,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 711,\r\n \"chainage\": 2262,\r\n \"zlevel\": 19.543,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 712,\r\n \"chainage\": 2280,\r\n \"zlevel\": 19.05,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 713,\r\n \"chainage\": 2300,\r\n \"zlevel\": 18.49,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 714,\r\n \"chainage\": 2320,\r\n \"zlevel\": 17.93,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 715,\r\n \"chainage\": 2340,\r\n \"zlevel\": 17.37,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 716,\r\n \"chainage\": 2360,\r\n \"zlevel\": 16.81,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 717,\r\n \"chainage\": 2380,\r\n \"zlevel\": 16.25,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 718,\r\n \"chainage\": 2400,\r\n \"zlevel\": 15.69,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 719,\r\n \"chainage\": 2406,\r\n \"zlevel\": 15.532,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 720,\r\n \"chainage\": 2420,\r\n \"zlevel\": 15.13,\r\n \"radius\": 2127.496,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 721,\r\n \"chainage\": 2440,\r\n \"zlevel\": 14.57,\r\n \"radius\": 8142.395,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 722,\r\n \"chainage\": 2460,\r\n \"zlevel\": 14.01,\r\n \"radius\": 3094.559,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 723,\r\n \"chainage\": 2480,\r\n \"zlevel\": 13.45,\r\n \"radius\": 1214.849,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 724,\r\n \"chainage\": 2500,\r\n \"zlevel\": 12.89,\r\n \"radius\": 755.773,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 725,\r\n \"chainage\": 2507,\r\n \"zlevel\": 12.692,\r\n \"radius\": 666.788,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 726,\r\n \"chainage\": 2520,\r\n \"zlevel\": 12.34,\r\n \"radius\": 548.502,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 727,\r\n \"chainage\": 2529,\r\n \"zlevel\": 12.116,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 728,\r\n \"chainage\": 2540,\r\n \"zlevel\": 11.838,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 729,\r\n \"chainage\": 2560,\r\n \"zlevel\": 11.385,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 730,\r\n \"chainage\": 2580,\r\n \"zlevel\": 10.983,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 731,\r\n \"chainage\": 2600,\r\n \"zlevel\": 10.63,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 732,\r\n \"chainage\": 2604,\r\n \"zlevel\": 10.56,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 733,\r\n \"chainage\": 2620,\r\n \"zlevel\": 10.328,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 734,\r\n \"chainage\": 2640,\r\n \"zlevel\": 10.075,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 735,\r\n \"chainage\": 2659,\r\n \"zlevel\": 9.882,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 736,\r\n \"chainage\": 2660,\r\n \"zlevel\": 9.873,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 737,\r\n \"chainage\": 2680,\r\n \"zlevel\": 9.72,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 738,\r\n \"chainage\": 2680,\r\n \"zlevel\": 9.72,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 739,\r\n \"chainage\": 2700,\r\n \"zlevel\": 9.618,\r\n \"radius\": 600.941,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 740,\r\n \"chainage\": 2720,\r\n \"zlevel\": 9.566,\r\n \"radius\": 777.614,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 741,\r\n \"chainage\": 2731,\r\n \"zlevel\": 9.558,\r\n \"radius\": 927.205,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 742,\r\n \"chainage\": 2740,\r\n \"zlevel\": 9.563,\r\n \"radius\": 1101.427,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 743,\r\n \"chainage\": 2760,\r\n \"zlevel\": 9.611,\r\n \"radius\": 1887.357,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 744,\r\n \"chainage\": 2780,\r\n \"zlevel\": 9.708,\r\n \"radius\": 6588.939,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 745,\r\n \"chainage\": 2940,\r\n \"zlevel\": 11.248,\r\n \"radius\": 3627.347,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 746,\r\n \"chainage\": 2960,\r\n \"zlevel\": 11.448,\r\n \"radius\": 1605.379,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 747,\r\n \"chainage\": 2980,\r\n \"zlevel\": 11.648,\r\n \"radius\": 1030.792,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 748,\r\n \"chainage\": 2990,\r\n \"zlevel\": 11.751,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 749,\r\n \"chainage\": 3000,\r\n \"zlevel\": 11.848,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 750,\r\n \"chainage\": 3020,\r\n \"zlevel\": 12.048,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 751,\r\n \"chainage\": 3040,\r\n \"zlevel\": 12.248,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 752,\r\n \"chainage\": 3060,\r\n \"zlevel\": 12.448,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 753,\r\n \"chainage\": 3080,\r\n \"zlevel\": 12.648,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 754,\r\n \"chainage\": 3100,\r\n \"zlevel\": 12.848,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 755,\r\n \"chainage\": 3120,\r\n \"zlevel\": 13.047,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 756,\r\n \"chainage\": 3140,\r\n \"zlevel\": 13.247,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 757,\r\n \"chainage\": 3160,\r\n \"zlevel\": 13.447,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 758,\r\n \"chainage\": 3178,\r\n \"zlevel\": 13.632,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 759,\r\n \"chainage\": 3180,\r\n \"zlevel\": 13.647,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 760,\r\n \"chainage\": 3200,\r\n \"zlevel\": 13.847,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 761,\r\n \"chainage\": 3220,\r\n \"zlevel\": 14.047,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 762,\r\n \"chainage\": 3240,\r\n \"zlevel\": 14.247,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 763,\r\n \"chainage\": 3260,\r\n \"zlevel\": 14.447,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 764,\r\n \"chainage\": 3280,\r\n \"zlevel\": 14.647,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 765,\r\n \"chainage\": 3300,\r\n \"zlevel\": 14.847,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 766,\r\n \"chainage\": 3320,\r\n \"zlevel\": 15.047,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 767,\r\n \"chainage\": 3340,\r\n \"zlevel\": 15.247,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 768,\r\n \"chainage\": 3360,\r\n \"zlevel\": 15.447,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 769,\r\n \"chainage\": 3367,\r\n \"zlevel\": 15.513,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 770,\r\n \"chainage\": 3380,\r\n \"zlevel\": 15.647,\r\n \"radius\": 998.912,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 771,\r\n \"chainage\": 3400,\r\n \"zlevel\": 15.847,\r\n \"radius\": 1283.916,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 772,\r\n \"chainage\": 3420,\r\n \"zlevel\": 16.047,\r\n \"radius\": 1796.478,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 773,\r\n \"chainage\": 3440,\r\n \"zlevel\": 16.247,\r\n \"radius\": 2990.229,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 774,\r\n \"chainage\": 3460,\r\n \"zlevel\": 16.447,\r\n \"radius\": 8912.629,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 775,\r\n \"chainage\": 3840,\r\n \"zlevel\": 15.227,\r\n \"radius\": 7748.77,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 776,\r\n \"chainage\": 3860,\r\n \"zlevel\": 14.907,\r\n \"radius\": 1907.98,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 777,\r\n \"chainage\": 3880,\r\n \"zlevel\": 14.587,\r\n \"radius\": 1087.931,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 778,\r\n \"chainage\": 3897,\r\n \"zlevel\": 14.319,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 779,\r\n \"chainage\": 3900,\r\n \"zlevel\": 14.267,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 780,\r\n \"chainage\": 3920,\r\n \"zlevel\": 13.947,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 781,\r\n \"chainage\": 3940,\r\n \"zlevel\": 13.627,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 782,\r\n \"chainage\": 3960,\r\n \"zlevel\": 13.307,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 783,\r\n \"chainage\": 3980,\r\n \"zlevel\": 12.987,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 784,\r\n \"chainage\": 3983,\r\n \"zlevel\": 12.935,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 785,\r\n \"chainage\": 4000,\r\n \"zlevel\": 12.667,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 786,\r\n \"chainage\": 4020,\r\n \"zlevel\": 12.347,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 787,\r\n \"chainage\": 4040,\r\n \"zlevel\": 12.027,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 788,\r\n \"chainage\": 4060,\r\n \"zlevel\": 11.707,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 789,\r\n \"chainage\": 4070,\r\n \"zlevel\": 11.552,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 790,\r\n \"chainage\": 4080,\r\n \"zlevel\": 11.387,\r\n \"radius\": 956.509,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 791,\r\n \"chainage\": 4100,\r\n \"zlevel\": 11.067,\r\n \"radius\": 1537.5,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 792,\r\n \"chainage\": 4120,\r\n \"zlevel\": 10.747,\r\n \"radius\": 3916.276,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 793,\r\n \"chainage\": 4140,\r\n \"zlevel\": 10.427,\r\n \"radius\": 8143.435,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 794,\r\n \"chainage\": 4160,\r\n \"zlevel\": 10.107,\r\n \"radius\": 2127.566,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 795,\r\n \"chainage\": 4180,\r\n \"zlevel\": 9.787,\r\n \"radius\": 1223.626,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 796,\r\n \"chainage\": 4200,\r\n \"zlevel\": 9.467,\r\n \"radius\": 858.763,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 797,\r\n \"chainage\": 4220,\r\n \"zlevel\": 9.147,\r\n \"radius\": 661.512,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 798,\r\n \"chainage\": 4222,\r\n \"zlevel\": 9.111,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 799,\r\n \"chainage\": 4240,\r\n \"zlevel\": 8.827,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 800,\r\n \"chainage\": 4260,\r\n \"zlevel\": 8.507,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 801,\r\n \"chainage\": 4280,\r\n \"zlevel\": 8.187,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 802,\r\n \"chainage\": 4300,\r\n \"zlevel\": 7.867,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 803,\r\n \"chainage\": 4306,\r\n \"zlevel\": 7.768,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 804,\r\n \"chainage\": 4320,\r\n \"zlevel\": 7.563,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 805,\r\n \"chainage\": 4340,\r\n \"zlevel\": 7.322,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 806,\r\n \"chainage\": 4360,\r\n \"zlevel\": 7.148,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 807,\r\n \"chainage\": 4380,\r\n \"zlevel\": 7.041,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 808,\r\n \"chainage\": 4400,\r\n \"zlevel\": 7.001,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 809,\r\n \"chainage\": 4402,\r\n \"zlevel\": 7,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 810,\r\n \"chainage\": 4420,\r\n \"zlevel\": 7.027,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 811,\r\n \"chainage\": 4423,\r\n \"zlevel\": 7.037,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 812,\r\n \"chainage\": 4440,\r\n \"zlevel\": 7.12,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 813,\r\n \"chainage\": 4460,\r\n \"zlevel\": 7.28,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 814,\r\n \"chainage\": 4480,\r\n \"zlevel\": 7.506,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 815,\r\n \"chainage\": 4500,\r\n \"zlevel\": 7.799,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 816,\r\n \"chainage\": 4520,\r\n \"zlevel\": 8.158,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 817,\r\n \"chainage\": 4540,\r\n \"zlevel\": 8.585,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 818,\r\n \"chainage\": 4540,\r\n \"zlevel\": 8.587,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 819,\r\n \"chainage\": 4560,\r\n \"zlevel\": 9.045,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 820,\r\n \"chainage\": 4566,\r\n \"zlevel\": 9.191,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 821,\r\n \"chainage\": 4580,\r\n \"zlevel\": 9.505,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 822,\r\n \"chainage\": 4600,\r\n \"zlevel\": 9.965,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 823,\r\n \"chainage\": 4620,\r\n \"zlevel\": 10.425,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 824,\r\n \"chainage\": 4640,\r\n \"zlevel\": 10.885,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 825,\r\n \"chainage\": 4660,\r\n \"zlevel\": 11.345,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 826,\r\n \"chainage\": 4680,\r\n \"zlevel\": 11.805,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 827,\r\n \"chainage\": 4700,\r\n \"zlevel\": 12.265,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 828,\r\n \"chainage\": 4720,\r\n \"zlevel\": 12.725,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 829,\r\n \"chainage\": 4740,\r\n \"zlevel\": 13.185,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 830,\r\n \"chainage\": 4760,\r\n \"zlevel\": 13.645,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 831,\r\n \"chainage\": 4780,\r\n \"zlevel\": 14.105,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 832,\r\n \"chainage\": 4800,\r\n \"zlevel\": 14.565,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 833,\r\n \"chainage\": 4820,\r\n \"zlevel\": 15.025,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 834,\r\n \"chainage\": 4840,\r\n \"zlevel\": 15.485,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 835,\r\n \"chainage\": 4860,\r\n \"zlevel\": 15.945,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 836,\r\n \"chainage\": 4880,\r\n \"zlevel\": 16.405,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 837,\r\n \"chainage\": 4900,\r\n \"zlevel\": 16.865,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 838,\r\n \"chainage\": 4910,\r\n \"zlevel\": 17.105,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 839,\r\n \"chainage\": 4920,\r\n \"zlevel\": 17.325,\r\n \"radius\": 722.061,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 840,\r\n \"chainage\": 4940,\r\n \"zlevel\": 17.785,\r\n \"radius\": 963.667,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 841,\r\n \"chainage\": 4960,\r\n \"zlevel\": 18.245,\r\n \"radius\": 1448.266,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 842,\r\n \"chainage\": 4980,\r\n \"zlevel\": 18.705,\r\n \"radius\": 2913.256,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 843,\r\n \"chainage\": 5440,\r\n \"zlevel\": 36.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 844,\r\n \"chainage\": 5460,\r\n \"zlevel\": 37.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 845,\r\n \"chainage\": 5480,\r\n \"zlevel\": 38.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 846,\r\n \"chainage\": 5491,\r\n \"zlevel\": 39.019,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 847,\r\n \"chainage\": 5500,\r\n \"zlevel\": 39.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 848,\r\n \"chainage\": 5520,\r\n \"zlevel\": 40.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 849,\r\n \"chainage\": 5540,\r\n \"zlevel\": 41.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 850,\r\n \"chainage\": 5548,\r\n \"zlevel\": 41.898,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 851,\r\n \"chainage\": 5560,\r\n \"zlevel\": 42.48,\r\n \"radius\": 827.634,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 852,\r\n \"chainage\": 5580,\r\n \"zlevel\": 43.48,\r\n \"radius\": 1204.542,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 853,\r\n \"chainage\": 5600,\r\n \"zlevel\": 44.48,\r\n \"radius\": 2211.805,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 854,\r\n \"chainage\": 5620,\r\n \"zlevel\": 45.48,\r\n \"radius\": 13504.82,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 855,\r\n \"chainage\": 6600,\r\n \"zlevel\": 43.739,\r\n \"radius\": 2921.033,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 856,\r\n \"chainage\": 6620,\r\n \"zlevel\": 42.739,\r\n \"radius\": 1450.186,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 857,\r\n \"chainage\": 6640,\r\n \"zlevel\": 41.739,\r\n \"radius\": 964.516,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 858,\r\n \"chainage\": 6648,\r\n \"zlevel\": 41.337,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 859,\r\n \"chainage\": 6660,\r\n \"zlevel\": 40.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 860,\r\n \"chainage\": 6680,\r\n \"zlevel\": 39.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 861,\r\n \"chainage\": 6700,\r\n \"zlevel\": 38.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 862,\r\n \"chainage\": 6720,\r\n \"zlevel\": 37.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 863,\r\n \"chainage\": 6728,\r\n \"zlevel\": 37.36,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 864,\r\n \"chainage\": 6740,\r\n \"zlevel\": 36.752,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 865,\r\n \"chainage\": 6760,\r\n \"zlevel\": 35.816,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 866,\r\n \"chainage\": 6776,\r\n \"zlevel\": 35.126,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 867,\r\n \"chainage\": 6780,\r\n \"zlevel\": 34.938,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 868,\r\n \"chainage\": 6800,\r\n \"zlevel\": 34.117,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 869,\r\n \"chainage\": 6820,\r\n \"zlevel\": 33.353,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 870,\r\n \"chainage\": 6840,\r\n \"zlevel\": 32.647,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 871,\r\n \"chainage\": 6850,\r\n \"zlevel\": 32.323,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 872,\r\n \"chainage\": 6860,\r\n \"zlevel\": 31.998,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 873,\r\n \"chainage\": 6880,\r\n \"zlevel\": 31.406,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 874,\r\n \"chainage\": 6900,\r\n \"zlevel\": 30.871,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 875,\r\n \"chainage\": 6903,\r\n \"zlevel\": 30.793,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 876,\r\n \"chainage\": 6920,\r\n \"zlevel\": 30.394,\r\n \"radius\": 1165.745,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 877,\r\n \"chainage\": 6940,\r\n \"zlevel\": 29.974,\r\n \"radius\": 2084.425,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 878,\r\n \"chainage\": 6960,\r\n \"zlevel\": 29.61,\r\n \"radius\": 9835.083,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 879,\r\n \"chainage\": 6972,\r\n \"zlevel\": 29.419,\r\n \"radius\": 8588.7,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 880,\r\n \"chainage\": 6980,\r\n \"zlevel\": 29.3,\r\n \"radius\": 3939.459,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 881,\r\n \"chainage\": 7000,\r\n \"zlevel\": 29,\r\n \"radius\": 1663.716,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 882,\r\n \"chainage\": 7020,\r\n \"zlevel\": 28.7,\r\n \"radius\": 1054.534,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 883,\r\n \"chainage\": 7026,\r\n \"zlevel\": 28.61,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 884,\r\n \"chainage\": 7040,\r\n \"zlevel\": 28.4,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 885,\r\n \"chainage\": 7060,\r\n \"zlevel\": 28.1,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 886,\r\n \"chainage\": 7080,\r\n \"zlevel\": 27.8,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 887,\r\n \"chainage\": 7100,\r\n \"zlevel\": 27.5,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 888,\r\n \"chainage\": 7120,\r\n \"zlevel\": 27.2,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 889,\r\n \"chainage\": 7140,\r\n \"zlevel\": 26.9,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 890,\r\n \"chainage\": 7160,\r\n \"zlevel\": 26.6,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 891,\r\n \"chainage\": 7180,\r\n \"zlevel\": 26.3,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 892,\r\n \"chainage\": 7200,\r\n \"zlevel\": 26,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 893,\r\n \"chainage\": 7220,\r\n \"zlevel\": 25.7,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 894,\r\n \"chainage\": 7240,\r\n \"zlevel\": 25.4,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 895,\r\n \"chainage\": 7260,\r\n \"zlevel\": 25.1,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 896,\r\n \"chainage\": 7280,\r\n \"zlevel\": 24.8,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 897,\r\n \"chainage\": 7300,\r\n \"zlevel\": 24.5,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 898,\r\n \"chainage\": 7320,\r\n \"zlevel\": 24.2,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 899,\r\n \"chainage\": 7332,\r\n \"zlevel\": 24.017,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 900,\r\n \"chainage\": 7340,\r\n \"zlevel\": 23.9,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 901,\r\n \"chainage\": 7360,\r\n \"zlevel\": 23.6,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 902,\r\n \"chainage\": 7380,\r\n \"zlevel\": 23.3,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 903,\r\n \"chainage\": 7400,\r\n \"zlevel\": 23,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 904,\r\n \"chainage\": 7420,\r\n \"zlevel\": 22.7,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 905,\r\n \"chainage\": 7440,\r\n \"zlevel\": 22.4,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 906,\r\n \"chainage\": 7447,\r\n \"zlevel\": 22.301,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 907,\r\n \"chainage\": 7460,\r\n \"zlevel\": 22.111,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 908,\r\n \"chainage\": 7480,\r\n \"zlevel\": 21.87,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 909,\r\n \"chainage\": 7500,\r\n \"zlevel\": 21.678,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 910,\r\n \"chainage\": 7520,\r\n \"zlevel\": 21.537,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 911,\r\n \"chainage\": 7540,\r\n \"zlevel\": 21.445,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 912,\r\n \"chainage\": 7555,\r\n \"zlevel\": 21.41,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 913,\r\n \"chainage\": 7560,\r\n \"zlevel\": 21.404,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 914,\r\n \"chainage\": 7567,\r\n \"zlevel\": 21.401,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 915,\r\n \"chainage\": 7580,\r\n \"zlevel\": 21.413,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 916,\r\n \"chainage\": 7600,\r\n \"zlevel\": 21.471,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 917,\r\n \"chainage\": 7620,\r\n \"zlevel\": 21.58,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 918,\r\n \"chainage\": 7638,\r\n \"zlevel\": 21.723,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 919,\r\n \"chainage\": 7640,\r\n \"zlevel\": 21.738,\r\n \"radius\": 974.843,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 920,\r\n \"chainage\": 7660,\r\n \"zlevel\": 21.947,\r\n \"radius\": 1416.819,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 921,\r\n \"chainage\": 7663,\r\n \"zlevel\": 21.977,\r\n \"radius\": 1504.533,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 922,\r\n \"chainage\": 7680,\r\n \"zlevel\": 22.186,\r\n \"radius\": 2591.973,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 923,\r\n \"chainage\": 7700,\r\n \"zlevel\": 22.426,\r\n \"radius\": 15196.068,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 924,\r\n \"chainage\": 8031,\r\n \"zlevel\": 27.205,\r\n \"radius\": 7415.366,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 925,\r\n \"chainage\": 8040,\r\n \"zlevel\": 27.505,\r\n \"radius\": 3358.169,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 926,\r\n \"chainage\": 8060,\r\n \"zlevel\": 28.212,\r\n \"radius\": 1550.379,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 927,\r\n \"chainage\": 8080,\r\n \"zlevel\": 29.007,\r\n \"radius\": 1007.835,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 928,\r\n \"chainage\": 8091,\r\n \"zlevel\": 29.465,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 929,\r\n \"chainage\": 8100,\r\n \"zlevel\": 29.891,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 930,\r\n \"chainage\": 8116,\r\n \"zlevel\": 30.659,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 931,\r\n \"chainage\": 8120,\r\n \"zlevel\": 30.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 932,\r\n \"chainage\": 8140,\r\n \"zlevel\": 31.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 933,\r\n \"chainage\": 8160,\r\n \"zlevel\": 32.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 934,\r\n \"chainage\": 8180,\r\n \"zlevel\": 33.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 935,\r\n \"chainage\": 8200,\r\n \"zlevel\": 34.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 936,\r\n \"chainage\": 8220,\r\n \"zlevel\": 35.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 937,\r\n \"chainage\": 8240,\r\n \"zlevel\": 36.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 938,\r\n \"chainage\": 8260,\r\n \"zlevel\": 37.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 939,\r\n \"chainage\": 8280,\r\n \"zlevel\": 38.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 940,\r\n \"chainage\": 8300,\r\n \"zlevel\": 39.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 941,\r\n \"chainage\": 8320,\r\n \"zlevel\": 40.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 942,\r\n \"chainage\": 8321,\r\n \"zlevel\": 40.935,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 943,\r\n \"chainage\": 8340,\r\n \"zlevel\": 41.836,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 944,\r\n \"chainage\": 8360,\r\n \"zlevel\": 42.748,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 945,\r\n \"chainage\": 8380,\r\n \"zlevel\": 43.598,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 946,\r\n \"chainage\": 8400,\r\n \"zlevel\": 44.387,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 947,\r\n \"chainage\": 8420,\r\n \"zlevel\": 45.114,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 948,\r\n \"chainage\": 8440,\r\n \"zlevel\": 45.779,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 949,\r\n \"chainage\": 8460,\r\n \"zlevel\": 46.382,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 950,\r\n \"chainage\": 8480,\r\n \"zlevel\": 46.924,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 951,\r\n \"chainage\": 8494,\r\n \"zlevel\": 47.261,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 952,\r\n \"chainage\": 8500,\r\n \"zlevel\": 47.404,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 953,\r\n \"chainage\": 8520,\r\n \"zlevel\": 47.823,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 954,\r\n \"chainage\": 8531,\r\n \"zlevel\": 48.028,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 955,\r\n \"chainage\": 8540,\r\n \"zlevel\": 48.18,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 956,\r\n \"chainage\": 8560,\r\n \"zlevel\": 48.476,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 957,\r\n \"chainage\": 8580,\r\n \"zlevel\": 48.71,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 958,\r\n \"chainage\": 8600,\r\n \"zlevel\": 48.882,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 959,\r\n \"chainage\": 8620,\r\n \"zlevel\": 48.993,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 960,\r\n \"chainage\": 8640,\r\n \"zlevel\": 49.042,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 961,\r\n \"chainage\": 8646,\r\n \"zlevel\": 49.045,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 962,\r\n \"chainage\": 8660,\r\n \"zlevel\": 49.03,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 963,\r\n \"chainage\": 8680,\r\n \"zlevel\": 48.956,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 964,\r\n \"chainage\": 8700,\r\n \"zlevel\": 48.821,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 965,\r\n \"chainage\": 8720,\r\n \"zlevel\": 48.624,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 966,\r\n \"chainage\": 8740,\r\n \"zlevel\": 48.366,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 967,\r\n \"chainage\": 8741,\r\n \"zlevel\": 48.352,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 968,\r\n \"chainage\": 8760,\r\n \"zlevel\": 48.074,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 969,\r\n \"chainage\": 8780,\r\n \"zlevel\": 47.782,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 970,\r\n \"chainage\": 8800,\r\n \"zlevel\": 47.49,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 971,\r\n \"chainage\": 8820,\r\n \"zlevel\": 47.198,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 972,\r\n \"chainage\": 8840,\r\n \"zlevel\": 46.906,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 973,\r\n \"chainage\": 8860,\r\n \"zlevel\": 46.614,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 974,\r\n \"chainage\": 8880,\r\n \"zlevel\": 46.322,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 975,\r\n \"chainage\": 8897,\r\n \"zlevel\": 46.076,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 976,\r\n \"chainage\": 8900,\r\n \"zlevel\": 46.03,\r\n \"radius\": 877.742,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 977,\r\n \"chainage\": 8920,\r\n \"zlevel\": 45.738,\r\n \"radius\": 1109.293,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 978,\r\n \"chainage\": 8940,\r\n \"zlevel\": 45.446,\r\n \"radius\": 1506.788,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 979,\r\n \"chainage\": 8960,\r\n \"zlevel\": 45.154,\r\n \"radius\": 2348.238,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 980,\r\n \"chainage\": 8980,\r\n \"zlevel\": 44.862,\r\n \"radius\": 5318.045,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 981,\r\n \"chainage\": 9000,\r\n \"zlevel\": 44.57,\r\n \"radius\": 8624.157,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 982,\r\n \"chainage\": 9020,\r\n \"zlevel\": 44.278,\r\n \"radius\": 1492.604,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 983,\r\n \"chainage\": 9040,\r\n \"zlevel\": 43.986,\r\n \"radius\": 817.002,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 984,\r\n \"chainage\": 9046,\r\n \"zlevel\": 43.903,\r\n \"radius\": 723.376,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 985,\r\n \"chainage\": 9060,\r\n \"zlevel\": 43.738,\r\n \"radius\": 562.429,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 986,\r\n \"chainage\": 9079,\r\n \"zlevel\": 43.657,\r\n \"radius\": 432.432,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 987,\r\n \"chainage\": 9080,\r\n \"zlevel\": 43.658,\r\n \"radius\": 428.813,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 988,\r\n \"chainage\": 9080,\r\n \"zlevel\": 43.658,\r\n \"radius\": 428.302,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 989,\r\n \"chainage\": 9100,\r\n \"zlevel\": 43.751,\r\n \"radius\": 346.496,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 990,\r\n \"chainage\": 9103,\r\n \"zlevel\": 43.779,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 991,\r\n \"chainage\": 9114,\r\n \"zlevel\": 43.927,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 992,\r\n \"chainage\": 9120,\r\n \"zlevel\": 44.011,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 993,\r\n \"chainage\": 9140,\r\n \"zlevel\": 44.317,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 994,\r\n \"chainage\": 9160,\r\n \"zlevel\": 44.623,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 995,\r\n \"chainage\": 9180,\r\n \"zlevel\": 44.929,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 996,\r\n \"chainage\": 9200,\r\n \"zlevel\": 45.235,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 997,\r\n \"chainage\": 9220,\r\n \"zlevel\": 45.541,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 998,\r\n \"chainage\": 9240,\r\n \"zlevel\": 45.847,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 999,\r\n \"chainage\": 9242,\r\n \"zlevel\": 45.875,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1000,\r\n \"chainage\": 9260,\r\n \"zlevel\": 46.153,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1001,\r\n \"chainage\": 9280,\r\n \"zlevel\": 46.459,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1002,\r\n \"chainage\": 9300,\r\n \"zlevel\": 46.765,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1003,\r\n \"chainage\": 9312,\r\n \"zlevel\": 46.947,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1004,\r\n \"chainage\": 9320,\r\n \"zlevel\": 47.063,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1005,\r\n \"chainage\": 9340,\r\n \"zlevel\": 47.278,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1006,\r\n \"chainage\": 9360,\r\n \"zlevel\": 47.394,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1007,\r\n \"chainage\": 9373,\r\n \"zlevel\": 47.415,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1008,\r\n \"chainage\": 9380,\r\n \"zlevel\": 47.409,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1009,\r\n \"chainage\": 9381,\r\n \"zlevel\": 47.408,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1010,\r\n \"chainage\": 9400,\r\n \"zlevel\": 47.324,\r\n \"radius\": 421.504,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1011,\r\n \"chainage\": 9420,\r\n \"zlevel\": 47.14,\r\n \"radius\": 569.744,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1012,\r\n \"chainage\": 9440,\r\n \"zlevel\": 46.855,\r\n \"radius\": 878.819,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1013,\r\n \"chainage\": 9440,\r\n \"zlevel\": 46.848,\r\n \"radius\": 889.525,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1014,\r\n \"chainage\": 9460,\r\n \"zlevel\": 46.471,\r\n \"radius\": 1920.836,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1015,\r\n \"chainage\": 188,\r\n \"zlevel\": 40.936,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1016,\r\n \"chainage\": 200,\r\n \"zlevel\": 40.9,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1017,\r\n \"chainage\": 220,\r\n \"zlevel\": 40.84,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1018,\r\n \"chainage\": 240,\r\n \"zlevel\": 40.78,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1019,\r\n \"chainage\": 260,\r\n \"zlevel\": 40.72,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1020,\r\n \"chainage\": 265,\r\n \"zlevel\": 40.704,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1021,\r\n \"chainage\": 741,\r\n \"zlevel\": 30.969,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1022,\r\n \"chainage\": 760,\r\n \"zlevel\": 30.417,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1023,\r\n \"chainage\": 780,\r\n \"zlevel\": 29.847,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1024,\r\n \"chainage\": 800,\r\n \"zlevel\": 29.277,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1025,\r\n \"chainage\": 808,\r\n \"zlevel\": 29.043,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1026,\r\n \"chainage\": 1674,\r\n \"zlevel\": 13.177,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1027,\r\n \"chainage\": 1993,\r\n \"zlevel\": 19.88,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1028,\r\n \"chainage\": 2447,\r\n \"zlevel\": 14.372,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1029,\r\n \"chainage\": 2788,\r\n \"zlevel\": 9.762,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1030,\r\n \"chainage\": 2800,\r\n \"zlevel\": 9.856,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1031,\r\n \"chainage\": 2811,\r\n \"zlevel\": 9.958,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1032,\r\n \"chainage\": 2820,\r\n \"zlevel\": 10.048,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1033,\r\n \"chainage\": 2840,\r\n \"zlevel\": 10.248,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1034,\r\n \"chainage\": 2860,\r\n \"zlevel\": 10.448,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1035,\r\n \"chainage\": 2880,\r\n \"zlevel\": 10.648,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1036,\r\n \"chainage\": 2900,\r\n \"zlevel\": 10.848,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1037,\r\n \"chainage\": 2920,\r\n \"zlevel\": 11.048,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1038,\r\n \"chainage\": 2924,\r\n \"zlevel\": 11.089,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1039,\r\n \"chainage\": 3470,\r\n \"zlevel\": 16.548,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1040,\r\n \"chainage\": 3480,\r\n \"zlevel\": 16.647,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1041,\r\n \"chainage\": 3500,\r\n \"zlevel\": 16.846,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1042,\r\n \"chainage\": 3520,\r\n \"zlevel\": 17.046,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1043,\r\n \"chainage\": 3540,\r\n \"zlevel\": 17.246,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1044,\r\n \"chainage\": 3560,\r\n \"zlevel\": 17.446,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1045,\r\n \"chainage\": 3575,\r\n \"zlevel\": 17.601,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1046,\r\n \"chainage\": 3580,\r\n \"zlevel\": 17.644,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1047,\r\n \"chainage\": 3600,\r\n \"zlevel\": 17.791,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1048,\r\n \"chainage\": 3620,\r\n \"zlevel\": 17.866,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1049,\r\n \"chainage\": 3630,\r\n \"zlevel\": 17.876,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1050,\r\n \"chainage\": 3640,\r\n \"zlevel\": 17.867,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1051,\r\n \"chainage\": 3647,\r\n \"zlevel\": 17.851,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1052,\r\n \"chainage\": 3660,\r\n \"zlevel\": 17.796,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1053,\r\n \"chainage\": 3680,\r\n \"zlevel\": 17.652,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1054,\r\n \"chainage\": 3700,\r\n \"zlevel\": 17.436,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1055,\r\n \"chainage\": 3718,\r\n \"zlevel\": 17.172,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1056,\r\n \"chainage\": 3720,\r\n \"zlevel\": 17.147,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1057,\r\n \"chainage\": 3740,\r\n \"zlevel\": 16.827,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1058,\r\n \"chainage\": 3760,\r\n \"zlevel\": 16.507,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1059,\r\n \"chainage\": 3780,\r\n \"zlevel\": 16.187,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1060,\r\n \"chainage\": 3800,\r\n \"zlevel\": 15.867,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1061,\r\n \"chainage\": 3820,\r\n \"zlevel\": 15.547,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1062,\r\n \"chainage\": 3833,\r\n \"zlevel\": 15.331,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1063,\r\n \"chainage\": 4133,\r\n \"zlevel\": 10.54,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1064,\r\n \"chainage\": 5000,\r\n \"zlevel\": 19.159,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1065,\r\n \"chainage\": 5000,\r\n \"zlevel\": 19.165,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1066,\r\n \"chainage\": 5020,\r\n \"zlevel\": 19.625,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1067,\r\n \"chainage\": 5040,\r\n \"zlevel\": 20.085,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1068,\r\n \"chainage\": 5060,\r\n \"zlevel\": 20.545,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1069,\r\n \"chainage\": 5080,\r\n \"zlevel\": 21.005,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1070,\r\n \"chainage\": 5100,\r\n \"zlevel\": 21.465,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1071,\r\n \"chainage\": 5106,\r\n \"zlevel\": 21.605,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1072,\r\n \"chainage\": 5120,\r\n \"zlevel\": 21.944,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1073,\r\n \"chainage\": 5140,\r\n \"zlevel\": 22.5,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1074,\r\n \"chainage\": 5160,\r\n \"zlevel\": 23.136,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1075,\r\n \"chainage\": 5173,\r\n \"zlevel\": 23.61,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1076,\r\n \"chainage\": 5180,\r\n \"zlevel\": 23.851,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1077,\r\n \"chainage\": 5200,\r\n \"zlevel\": 24.648,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1078,\r\n \"chainage\": 5220,\r\n \"zlevel\": 25.524,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1079,\r\n \"chainage\": 5240,\r\n \"zlevel\": 26.481,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1080,\r\n \"chainage\": 5241,\r\n \"zlevel\": 26.521,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1081,\r\n \"chainage\": 5260,\r\n \"zlevel\": 27.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1082,\r\n \"chainage\": 5280,\r\n \"zlevel\": 28.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1083,\r\n \"chainage\": 5300,\r\n \"zlevel\": 29.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1084,\r\n \"chainage\": 5320,\r\n \"zlevel\": 30.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1085,\r\n \"chainage\": 5340,\r\n \"zlevel\": 31.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1086,\r\n \"chainage\": 5360,\r\n \"zlevel\": 32.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1087,\r\n \"chainage\": 5380,\r\n \"zlevel\": 33.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1088,\r\n \"chainage\": 5400,\r\n \"zlevel\": 34.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1089,\r\n \"chainage\": 5420,\r\n \"zlevel\": 35.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1090,\r\n \"chainage\": 5433,\r\n \"zlevel\": 36.139,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1091,\r\n \"chainage\": 5624,\r\n \"zlevel\": 45.676,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1092,\r\n \"chainage\": 5640,\r\n \"zlevel\": 46.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1093,\r\n \"chainage\": 5660,\r\n \"zlevel\": 47.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1094,\r\n \"chainage\": 5680,\r\n \"zlevel\": 48.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1095,\r\n \"chainage\": 5700,\r\n \"zlevel\": 49.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1096,\r\n \"chainage\": 5720,\r\n \"zlevel\": 50.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1097,\r\n \"chainage\": 5740,\r\n \"zlevel\": 51.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1098,\r\n \"chainage\": 5743,\r\n \"zlevel\": 51.63,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1099,\r\n \"chainage\": 5760,\r\n \"zlevel\": 52.46,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1100,\r\n \"chainage\": 5780,\r\n \"zlevel\": 53.382,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1101,\r\n \"chainage\": 5800,\r\n \"zlevel\": 54.248,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1102,\r\n \"chainage\": 5820,\r\n \"zlevel\": 55.056,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1103,\r\n \"chainage\": 5840,\r\n \"zlevel\": 55.806,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1104,\r\n \"chainage\": 5860,\r\n \"zlevel\": 56.5,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1105,\r\n \"chainage\": 5880,\r\n \"zlevel\": 57.136,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1106,\r\n \"chainage\": 5900,\r\n \"zlevel\": 57.715,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1107,\r\n \"chainage\": 5920,\r\n \"zlevel\": 58.237,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1108,\r\n \"chainage\": 5940,\r\n \"zlevel\": 58.701,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1109,\r\n \"chainage\": 5960,\r\n \"zlevel\": 59.109,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1110,\r\n \"chainage\": 5980,\r\n \"zlevel\": 59.459,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1111,\r\n \"chainage\": 6000,\r\n \"zlevel\": 59.752,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1112,\r\n \"chainage\": 6020,\r\n \"zlevel\": 59.988,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1113,\r\n \"chainage\": 6040,\r\n \"zlevel\": 60.167,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1114,\r\n \"chainage\": 6060,\r\n \"zlevel\": 60.288,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1115,\r\n \"chainage\": 6080,\r\n \"zlevel\": 60.353,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1116,\r\n \"chainage\": 6093,\r\n \"zlevel\": 60.364,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1117,\r\n \"chainage\": 6093,\r\n \"zlevel\": 60.364,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1118,\r\n \"chainage\": 6100,\r\n \"zlevel\": 60.36,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1119,\r\n \"chainage\": 6120,\r\n \"zlevel\": 60.31,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1120,\r\n \"chainage\": 6140,\r\n \"zlevel\": 60.203,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1121,\r\n \"chainage\": 6160,\r\n \"zlevel\": 60.039,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1122,\r\n \"chainage\": 6180,\r\n \"zlevel\": 59.818,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1123,\r\n \"chainage\": 6200,\r\n \"zlevel\": 59.54,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1124,\r\n \"chainage\": 6220,\r\n \"zlevel\": 59.204,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1125,\r\n \"chainage\": 6240,\r\n \"zlevel\": 58.811,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1126,\r\n \"chainage\": 6260,\r\n \"zlevel\": 58.361,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1127,\r\n \"chainage\": 6280,\r\n \"zlevel\": 57.854,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1128,\r\n \"chainage\": 6300,\r\n \"zlevel\": 57.29,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1129,\r\n \"chainage\": 6320,\r\n \"zlevel\": 56.668,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1130,\r\n \"chainage\": 6340,\r\n \"zlevel\": 55.989,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1131,\r\n \"chainage\": 6360,\r\n \"zlevel\": 55.253,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1132,\r\n \"chainage\": 6380,\r\n \"zlevel\": 54.46,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1133,\r\n \"chainage\": 6400,\r\n \"zlevel\": 53.61,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1134,\r\n \"chainage\": 6420,\r\n \"zlevel\": 52.702,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1135,\r\n \"chainage\": 6440,\r\n \"zlevel\": 51.736,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1136,\r\n \"chainage\": 6442,\r\n \"zlevel\": 51.635,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1137,\r\n \"chainage\": 6460,\r\n \"zlevel\": 50.737,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1138,\r\n \"chainage\": 6480,\r\n \"zlevel\": 49.737,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1139,\r\n \"chainage\": 6500,\r\n \"zlevel\": 48.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1140,\r\n \"chainage\": 6520,\r\n \"zlevel\": 47.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1141,\r\n \"chainage\": 6540,\r\n \"zlevel\": 46.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1142,\r\n \"chainage\": 6560,\r\n \"zlevel\": 45.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1143,\r\n \"chainage\": 6580,\r\n \"zlevel\": 44.739,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1144,\r\n \"chainage\": 6580,\r\n \"zlevel\": 44.725,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1145,\r\n \"chainage\": 6965,\r\n \"zlevel\": 29.523,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1146,\r\n \"chainage\": 7704,\r\n \"zlevel\": 22.476,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1147,\r\n \"chainage\": 7720,\r\n \"zlevel\": 22.666,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1148,\r\n \"chainage\": 7740,\r\n \"zlevel\": 22.906,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1149,\r\n \"chainage\": 7760,\r\n \"zlevel\": 23.146,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1150,\r\n \"chainage\": 7780,\r\n \"zlevel\": 23.386,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1151,\r\n \"chainage\": 7800,\r\n \"zlevel\": 23.626,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1152,\r\n \"chainage\": 7820,\r\n \"zlevel\": 23.866,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1153,\r\n \"chainage\": 7840,\r\n \"zlevel\": 24.106,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1154,\r\n \"chainage\": 7860,\r\n \"zlevel\": 24.346,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1155,\r\n \"chainage\": 7880,\r\n \"zlevel\": 24.586,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1156,\r\n \"chainage\": 7900,\r\n \"zlevel\": 24.826,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1157,\r\n \"chainage\": 7920,\r\n \"zlevel\": 25.066,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1158,\r\n \"chainage\": 7940,\r\n \"zlevel\": 25.306,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1159,\r\n \"chainage\": 7945,\r\n \"zlevel\": 25.369,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1160,\r\n \"chainage\": 7960,\r\n \"zlevel\": 25.571,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1161,\r\n \"chainage\": 7980,\r\n \"zlevel\": 25.921,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1162,\r\n \"chainage\": 8000,\r\n \"zlevel\": 26.36,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1163,\r\n \"chainage\": 8020,\r\n \"zlevel\": 26.888,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1164,\r\n \"chainage\": 8023,\r\n \"zlevel\": 26.971,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1165,\r\n \"chainage\": 8996,\r\n \"zlevel\": 44.631,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1166,\r\n \"chainage\": 9477,\r\n \"zlevel\": 46.068,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1167,\r\n \"chainage\": 9480,\r\n \"zlevel\": 45.986,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1168,\r\n \"chainage\": 9500,\r\n \"zlevel\": 45.401,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1169,\r\n \"chainage\": 9520,\r\n \"zlevel\": 44.716,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1170,\r\n \"chainage\": 9540,\r\n \"zlevel\": 43.931,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1171,\r\n \"chainage\": 9560,\r\n \"zlevel\": 43.046,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1172,\r\n \"chainage\": 9569,\r\n \"zlevel\": 42.621,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1173,\r\n \"chainage\": 9580,\r\n \"zlevel\": 42.075,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1174,\r\n \"chainage\": 9600,\r\n \"zlevel\": 41.103,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 589,\r\n \"chainage\": 129,\r\n \"zlevel\": 41.113,\r\n \"radius\": 95.3,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 588,\r\n \"chainage\": 120,\r\n \"zlevel\": 41.14,\r\n \"radius\": 95.3,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n }\r\n ]\r\n}\r\n\r\nexport const requestBody3 = {\r\n \"return_option\": 3,\r\n \"start_year\": 2020,\r\n \"end_year\": 2041,\r\n \"fuel_distribution_cars\": {\r\n \"year\": [\r\n \"2020\",\r\n \"2021\",\r\n \"2022\",\r\n \"2023\",\r\n \"2024\",\r\n \"2025\",\r\n \"2026\",\r\n \"2027\",\r\n \"2028\",\r\n \"2029\",\r\n \"2030\",\r\n \"2031\",\r\n \"2032\",\r\n \"2033\",\r\n \"2034\",\r\n \"2035\",\r\n \"2036\",\r\n \"2037\",\r\n \"2038\",\r\n \"2039\",\r\n \"2040\",\r\n \"2041\",\r\n \"2042\",\r\n \"2043\",\r\n \"2044\",\r\n \"2045\",\r\n \"2046\",\r\n \"2047\",\r\n \"2048\",\r\n \"2049\",\r\n \"2050\",\r\n \"2051\",\r\n \"2052\",\r\n \"2053\",\r\n \"2054\",\r\n \"2055\",\r\n \"2056\",\r\n \"2057\",\r\n \"2058\",\r\n \"2059\",\r\n \"2060\",\r\n \"2061\",\r\n \"2062\",\r\n \"2063\",\r\n \"2064\",\r\n \"2065\",\r\n \"2066\",\r\n \"2067\",\r\n \"2068\",\r\n \"2069\",\r\n \"2070\",\r\n \"2071\",\r\n \"2072\",\r\n \"2073\",\r\n \"2074\",\r\n \"2075\",\r\n \"2076\",\r\n \"2077\",\r\n \"2078\",\r\n \"2079\",\r\n \"2080\"\r\n ],\r\n \"prc_gasoline\": [\r\n \"0.47769230799999995\",\r\n \"0.470923077\",\r\n \"0.46415384600000004\",\r\n \"0.457384615\",\r\n \"0.450615385\",\r\n \"0.443846154\",\r\n \"0.43707692299999995\",\r\n \"0.430307692\",\r\n \"0.423538462\",\r\n \"0.416769231\",\r\n \"0.41\",\r\n \"0.4\",\r\n \"0.39\",\r\n \"0.38\",\r\n \"0.37\",\r\n \"0.36\",\r\n \"0.35\",\r\n \"0.34\",\r\n \"0.33\",\r\n \"0.32\",\r\n \"0.31\",\r\n \"0.299134227\",\r\n \"0.287647059\",\r\n \"0.275502959\",\r\n \"0.26266436\",\r\n \"0.249091543\",\r\n \"0.23474252\",\r\n \"0.21957290100000001\",\r\n \"0.20353575699999998\",\r\n \"0.186581477\",\r\n \"0.168657611\",\r\n \"0.14970871\",\r\n \"0.12967615400000002\",\r\n \"0.10849797\",\r\n \"0.086108642\",\r\n \"0.062438908\",\r\n \"0.037415542\",\r\n \"0.010961132\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_diesel\": [\r\n \"0.47769230799999995\",\r\n \"0.470923077\",\r\n \"0.46415384600000004\",\r\n \"0.457384615\",\r\n \"0.450615385\",\r\n \"0.443846154\",\r\n \"0.43707692299999995\",\r\n \"0.430307692\",\r\n \"0.423538462\",\r\n \"0.416769231\",\r\n \"0.41\",\r\n \"0.4\",\r\n \"0.39\",\r\n \"0.38\",\r\n \"0.37\",\r\n \"0.36\",\r\n \"0.35\",\r\n \"0.34\",\r\n \"0.33\",\r\n \"0.32\",\r\n \"0.31\",\r\n \"0.299134227\",\r\n \"0.287647059\",\r\n \"0.275502959\",\r\n \"0.26266436\",\r\n \"0.249091543\",\r\n \"0.23474252\",\r\n \"0.21957290100000001\",\r\n \"0.20353575699999998\",\r\n \"0.186581477\",\r\n \"0.168657611\",\r\n \"0.14970871\",\r\n \"0.12967615400000002\",\r\n \"0.10849797\",\r\n \"0.086108642\",\r\n \"0.062438908\",\r\n \"0.037415542\",\r\n \"0.010961132\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_inchargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_chargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_battery\": [\r\n \"0.044615385\",\r\n \"0.058153845999999995\",\r\n \"0.071692308\",\r\n \"0.085230769\",\r\n \"0.098769231\",\r\n \"0.11230769199999999\",\r\n \"0.12584615400000002\",\r\n \"0.139384615\",\r\n \"0.152923077\",\r\n \"0.16646153800000002\",\r\n \"0.18\",\r\n \"0.2\",\r\n \"0.22\",\r\n \"0.24\",\r\n \"0.26\",\r\n \"0.28\",\r\n \"0.3\",\r\n \"0.32\",\r\n \"0.34\",\r\n \"0.36\",\r\n \"0.38\",\r\n \"0.401731546\",\r\n \"0.42470588200000003\",\r\n \"0.448994081\",\r\n \"0.47467128\",\r\n \"0.501816914\",\r\n \"0.53051496\",\r\n \"0.5608541979999999\",\r\n \"0.592928485\",\r\n \"0.626837045\",\r\n \"0.6626847770000001\",\r\n \"0.70058258\",\r\n \"0.740647692\",\r\n \"0.78300406\",\r\n \"0.827782715\",\r\n \"0.875122185\",\r\n \"0.925168917\",\r\n \"0.9780777359999999\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\"\r\n ],\r\n \"prc_hydrogen\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ]\r\n },\r\n \"fuel_distribution_trucks\": {\r\n \"year\": [\r\n \"2020\",\r\n \"2021\",\r\n \"2022\",\r\n \"2023\",\r\n \"2024\",\r\n \"2025\",\r\n \"2026\",\r\n \"2027\",\r\n \"2028\",\r\n \"2029\",\r\n \"2030\",\r\n \"2031\",\r\n \"2032\",\r\n \"2033\",\r\n \"2034\",\r\n \"2035\",\r\n \"2036\",\r\n \"2037\",\r\n \"2038\",\r\n \"2039\",\r\n \"2040\",\r\n \"2041\",\r\n \"2042\",\r\n \"2043\",\r\n \"2044\",\r\n \"2045\",\r\n \"2046\",\r\n \"2047\",\r\n \"2048\",\r\n \"2049\",\r\n \"2050\",\r\n \"2051\",\r\n \"2052\",\r\n \"2053\",\r\n \"2054\",\r\n \"2055\",\r\n \"2056\",\r\n \"2057\",\r\n \"2058\",\r\n \"2059\",\r\n \"2060\",\r\n \"2061\",\r\n \"2062\",\r\n \"2063\",\r\n \"2064\",\r\n \"2065\",\r\n \"2066\",\r\n \"2067\",\r\n \"2068\",\r\n \"2069\",\r\n \"2070\",\r\n \"2071\",\r\n \"2072\",\r\n \"2073\",\r\n \"2074\",\r\n \"2075\",\r\n \"2076\",\r\n \"2077\",\r\n \"2078\",\r\n \"2079\",\r\n \"2080\"\r\n ],\r\n \"prc_gasoline\": [\r\n \"0.389615385\",\r\n \"0.386153846\",\r\n \"0.382692308\",\r\n \"0.37923076899999997\",\r\n \"0.37576923100000004\",\r\n \"0.372307692\",\r\n \"0.368846154\",\r\n \"0.365384615\",\r\n \"0.36192307700000004\",\r\n \"0.35846153799999997\",\r\n \"0.355\",\r\n \"0.3515\",\r\n \"0.348\",\r\n \"0.3445\",\r\n \"0.341\",\r\n \"0.3375\",\r\n \"0.33399999999999996\",\r\n \"0.3305\",\r\n \"0.327\",\r\n \"0.3235\",\r\n \"0.32\",\r\n \"0.316083613\",\r\n \"0.311860465\",\r\n \"0.307306527\",\r\n \"0.30239589\",\r\n \"0.297100613\",\r\n \"0.291390569\",\r\n \"0.285233271\",\r\n \"0.278593685\",\r\n \"0.271434036\",\r\n \"0.263713588\",\r\n \"0.255388414\",\r\n \"0.246411148\",\r\n \"0.23673071399999998\",\r\n \"0.226292033\",\r\n \"0.215035714\",\r\n \"0.202897713\",\r\n \"0.18980897\",\r\n \"0.175695015\",\r\n \"0.160475546\",\r\n \"0.14406397099999999\",\r\n \"0.126366914\",\r\n \"0.10728368699999999\",\r\n \"0.086705714\",\r\n \"0.064515915\",\r\n \"0.040588039\",\r\n \"0.014785948\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_diesel\": [\r\n \"0.389615385\",\r\n \"0.386153846\",\r\n \"0.382692308\",\r\n \"0.37923076899999997\",\r\n \"0.37576923100000004\",\r\n \"0.372307692\",\r\n \"0.368846154\",\r\n \"0.365384615\",\r\n \"0.36192307700000004\",\r\n \"0.35846153799999997\",\r\n \"0.355\",\r\n \"0.3515\",\r\n \"0.348\",\r\n \"0.3445\",\r\n \"0.341\",\r\n \"0.3375\",\r\n \"0.33399999999999996\",\r\n \"0.3305\",\r\n \"0.327\",\r\n \"0.3235\",\r\n \"0.32\",\r\n \"0.316083613\",\r\n \"0.311860465\",\r\n \"0.307306527\",\r\n \"0.30239589\",\r\n \"0.297100613\",\r\n \"0.291390569\",\r\n \"0.285233271\",\r\n \"0.278593685\",\r\n \"0.271434036\",\r\n \"0.263713588\",\r\n \"0.255388414\",\r\n \"0.246411148\",\r\n \"0.23673071399999998\",\r\n \"0.226292033\",\r\n \"0.215035714\",\r\n \"0.202897713\",\r\n \"0.18980897\",\r\n \"0.175695015\",\r\n \"0.160475546\",\r\n \"0.14406397099999999\",\r\n \"0.126366914\",\r\n \"0.10728368699999999\",\r\n \"0.086705714\",\r\n \"0.064515915\",\r\n \"0.040588039\",\r\n \"0.014785948\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_inchargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_chargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_battery\": [\r\n \"0.006923077\",\r\n \"0.009230769\",\r\n \"0.011538462\",\r\n \"0.013846154\",\r\n \"0.016153846\",\r\n \"0.018461538\",\r\n \"0.020769231000000003\",\r\n \"0.023076923\",\r\n \"0.025384615\",\r\n \"0.027692308\",\r\n \"0.03\",\r\n \"0.037000000000000005\",\r\n \"0.044000000000000004\",\r\n \"0.051\",\r\n \"0.057999999999999996\",\r\n \"0.065\",\r\n \"0.07200000000000001\",\r\n \"0.079\",\r\n \"0.086\",\r\n \"0.09300000000000001\",\r\n \"0.1\",\r\n \"0.107832773\",\r\n \"0.11627907\",\r\n \"0.125386946\",\r\n \"0.135208221\",\r\n \"0.145798774\",\r\n \"0.157218861\",\r\n \"0.169533458\",\r\n \"0.18281262899999998\",\r\n \"0.197131928\",\r\n \"0.212572825\",\r\n \"0.229223172\",\r\n \"0.247177703\",\r\n \"0.266538572\",\r\n \"0.287415934\",\r\n \"0.309928572\",\r\n \"0.334204574\",\r\n \"0.36038206100000003\",\r\n \"0.38860997\",\r\n \"0.419048908\",\r\n \"0.45187205799999997\",\r\n \"0.48726617200000005\",\r\n \"0.5254326260000001\",\r\n \"0.566588572\",\r\n \"0.61096817\",\r\n \"0.658823921\",\r\n \"0.710428105\",\r\n \"0.7466070509999999\",\r\n \"0.760606775\",\r\n \"0.7740670909999999\",\r\n \"0.786982535\",\r\n \"0.79935105\",\r\n \"0.811173719\",\r\n \"0.8224544979999999\",\r\n \"0.833199925\",\r\n \"0.8434188290000001\",\r\n \"0.85312204\",\r\n \"0.8623221059999999\",\r\n \"0.871033017\",\r\n \"0.8792699509999999\",\r\n \"0.887049022\"\r\n ],\r\n \"prc_hydrogen\": [\r\n \"0.21384615399999998\",\r\n \"0.218461538\",\r\n \"0.223076923\",\r\n \"0.227692308\",\r\n \"0.23230769199999998\",\r\n \"0.23692307699999998\",\r\n \"0.24153846199999998\",\r\n \"0.246153846\",\r\n \"0.25076923100000004\",\r\n \"0.255384615\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.253392949\",\r\n \"0.239393225\",\r\n \"0.225932909\",\r\n \"0.213017465\",\r\n \"0.20064895\",\r\n \"0.188826281\",\r\n \"0.177545502\",\r\n \"0.166800075\",\r\n \"0.156581171\",\r\n \"0.14687796\",\r\n \"0.137677894\",\r\n \"0.128966983\",\r\n \"0.120730049\",\r\n \"0.11295097800000001\"\r\n ]\r\n },\r\n \"sensitivity_param_factors\": {\r\n \"speed\": 1,\r\n \"fuelprice\": 1,\r\n \"emission\": 1,\r\n \"AADTheavy\": 1\r\n },\r\n \"presumptions\": {\r\n \"Speed_car\": 80,\r\n \"Speed_truck\": 80,\r\n \"cost_increase\": 0.01,\r\n \"gasoline_fuelfactor\": 1,\r\n \"gasoline_co2\": 2.85,\r\n \"gasoline_kwh\": 9.1,\r\n \"gasoline_efficiency\": 0.25,\r\n \"gasoline_cost\": 16,\r\n \"diesel_fuelfactor\": 1,\r\n \"diesel_co2\": 2.73,\r\n \"diesel_kwh\": 9.8,\r\n \"diesel_efficiency\": 0.35,\r\n \"diesel_cost\": 16,\r\n \"battery_fuelfactor\": 0,\r\n \"battery_co2\": 0.0,\r\n \"battery_kwh\": 9.8,\r\n \"battery_efficiency\": 1,\r\n \"battery_cost\": 0,\r\n \"inchargeable_hybrid_fuelfactor\": 1,\r\n \"inchargeable_hybrid_co2\": 2.85,\r\n \"inchargeable_hybrid_kwh\": 9.8,\r\n \"inchargeable_hybrid_efficiency\": 0.35,\r\n \"inchargeable_hybrid_cost\": 16,\r\n \"chargeable_hybrid_fuelfactor\": 1,\r\n \"chargeable_hybrid_co2\": 2.85,\r\n \"chargeable_hybrid_kwh\": 9.8,\r\n \"chargeable_hybrid_efficiency\": 0.35,\r\n \"chargeable_hybrid_cost\": 16,\r\n \"hydrogen_fuelfactor\": 0,\r\n \"hydrogen_co2\": 0.0,\r\n \"hydrogen_kwh\": 9.8,\r\n \"hydrogen_efficiency\": 1,\r\n \"hydrogen_cost\": 0,\r\n \"iri\": 1.0,\r\n \"mpd\": 1.0\r\n },\r\n \"segments\": [\r\n {\r\n \"segment_id\": 1,\r\n \"directions_id\": 590,\r\n \"year\": 2020,\r\n \"aadt\": 20000,\r\n \"prc_heavy\": 10,\r\n \"aadt_cars\": 18000,\r\n \"aadt_trucks\": 1500,\r\n \"aadt_trucks_with_trailer\": 500,\r\n \"annual_increase_cars\": 1,\r\n \"annual_increase_heavy\": 1.5,\r\n \"segment_order_no\": 1\r\n }\r\n ],\r\n \"segments_data\": [\r\n {\r\n \"segment_data_id\": 590,\r\n \"chainage\": 140,\r\n \"zlevel\": 41.08,\r\n \"radius\": 117.027,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 591,\r\n \"chainage\": 160,\r\n \"zlevel\": 41.02,\r\n \"radius\": 200.421,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 592,\r\n \"chainage\": 180,\r\n \"zlevel\": 40.96,\r\n \"radius\": 697.38,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 593,\r\n \"chainage\": 280,\r\n \"zlevel\": 40.66,\r\n \"radius\": 3910.82,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 594,\r\n \"chainage\": 300,\r\n \"zlevel\": 40.6,\r\n \"radius\": 1658.586,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 595,\r\n \"chainage\": 320,\r\n \"zlevel\": 40.54,\r\n \"radius\": 1052.471,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 596,\r\n \"chainage\": 326,\r\n \"zlevel\": 40.523,\r\n \"radius\": 955.322,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 597,\r\n \"chainage\": 340,\r\n \"zlevel\": 40.465,\r\n \"radius\": 770.792,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 598,\r\n \"chainage\": 343,\r\n \"zlevel\": 40.449,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 599,\r\n \"chainage\": 360,\r\n \"zlevel\": 40.335,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 600,\r\n \"chainage\": 380,\r\n \"zlevel\": 40.148,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 601,\r\n \"chainage\": 400,\r\n \"zlevel\": 39.904,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 602,\r\n \"chainage\": 415,\r\n \"zlevel\": 39.687,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 603,\r\n \"chainage\": 420,\r\n \"zlevel\": 39.603,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 604,\r\n \"chainage\": 440,\r\n \"zlevel\": 39.245,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 605,\r\n \"chainage\": 460,\r\n \"zlevel\": 38.829,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 606,\r\n \"chainage\": 480,\r\n \"zlevel\": 38.356,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 607,\r\n \"chainage\": 500,\r\n \"zlevel\": 37.826,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 608,\r\n \"chainage\": 503,\r\n \"zlevel\": 37.743,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 609,\r\n \"chainage\": 504,\r\n \"zlevel\": 37.714,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 610,\r\n \"chainage\": 520,\r\n \"zlevel\": 37.257,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 611,\r\n \"chainage\": 540,\r\n \"zlevel\": 36.687,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 612,\r\n \"chainage\": 560,\r\n \"zlevel\": 36.117,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 613,\r\n \"chainage\": 580,\r\n \"zlevel\": 35.547,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 614,\r\n \"chainage\": 600,\r\n \"zlevel\": 34.977,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 615,\r\n \"chainage\": 620,\r\n \"zlevel\": 34.407,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 616,\r\n \"chainage\": 640,\r\n \"zlevel\": 33.837,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 617,\r\n \"chainage\": 660,\r\n \"zlevel\": 33.267,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 618,\r\n \"chainage\": 663,\r\n \"zlevel\": 33.187,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 619,\r\n \"chainage\": 680,\r\n \"zlevel\": 32.697,\r\n \"radius\": 949.609,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 620,\r\n \"chainage\": 700,\r\n \"zlevel\": 32.127,\r\n \"radius\": 1416.746,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 621,\r\n \"chainage\": 720,\r\n \"zlevel\": 31.557,\r\n \"radius\": 2788.462,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 622,\r\n \"chainage\": 740,\r\n \"zlevel\": 30.987,\r\n \"radius\": 87731.395,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 623,\r\n \"chainage\": 820,\r\n \"zlevel\": 28.707,\r\n \"radius\": 4690.028,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 624,\r\n \"chainage\": 840,\r\n \"zlevel\": 28.137,\r\n \"radius\": 1738.003,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 625,\r\n \"chainage\": 860,\r\n \"zlevel\": 27.567,\r\n \"radius\": 1066.635,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 626,\r\n \"chainage\": 880,\r\n \"zlevel\": 26.997,\r\n \"radius\": 769.419,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 627,\r\n \"chainage\": 900,\r\n \"zlevel\": 26.441,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 628,\r\n \"chainage\": 900,\r\n \"zlevel\": 26.427,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 629,\r\n \"chainage\": 920,\r\n \"zlevel\": 25.857,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 630,\r\n \"chainage\": 940,\r\n \"zlevel\": 25.287,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 631,\r\n \"chainage\": 960,\r\n \"zlevel\": 24.717,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 632,\r\n \"chainage\": 980,\r\n \"zlevel\": 24.147,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 633,\r\n \"chainage\": 1000,\r\n \"zlevel\": 23.577,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 634,\r\n \"chainage\": 1020,\r\n \"zlevel\": 23.007,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 635,\r\n \"chainage\": 1040,\r\n \"zlevel\": 22.437,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 636,\r\n \"chainage\": 1060,\r\n \"zlevel\": 21.867,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 637,\r\n \"chainage\": 1080,\r\n \"zlevel\": 21.297,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 638,\r\n \"chainage\": 1100,\r\n \"zlevel\": 20.727,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 639,\r\n \"chainage\": 1120,\r\n \"zlevel\": 20.157,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 640,\r\n \"chainage\": 1140,\r\n \"zlevel\": 19.587,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 641,\r\n \"chainage\": 1160,\r\n \"zlevel\": 19.017,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 642,\r\n \"chainage\": 1180,\r\n \"zlevel\": 18.447,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 643,\r\n \"chainage\": 1200,\r\n \"zlevel\": 17.877,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 644,\r\n \"chainage\": 1220,\r\n \"zlevel\": 17.307,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 645,\r\n \"chainage\": 1240,\r\n \"zlevel\": 16.737,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 646,\r\n \"chainage\": 1252,\r\n \"zlevel\": 16.401,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 647,\r\n \"chainage\": 1260,\r\n \"zlevel\": 16.167,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 648,\r\n \"chainage\": 1280,\r\n \"zlevel\": 15.597,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 649,\r\n \"chainage\": 1300,\r\n \"zlevel\": 15.027,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 650,\r\n \"chainage\": 1320,\r\n \"zlevel\": 14.457,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 651,\r\n \"chainage\": 1340,\r\n \"zlevel\": 13.887,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 652,\r\n \"chainage\": 1360,\r\n \"zlevel\": 13.317,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 653,\r\n \"chainage\": 1380,\r\n \"zlevel\": 12.747,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 654,\r\n \"chainage\": 1400,\r\n \"zlevel\": 12.177,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 655,\r\n \"chainage\": 1409,\r\n \"zlevel\": 11.913,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 656,\r\n \"chainage\": 1420,\r\n \"zlevel\": 11.624,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 657,\r\n \"chainage\": 1440,\r\n \"zlevel\": 11.172,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 658,\r\n \"chainage\": 1460,\r\n \"zlevel\": 10.835,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 659,\r\n \"chainage\": 1480,\r\n \"zlevel\": 10.612,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 660,\r\n \"chainage\": 1496,\r\n \"zlevel\": 10.517,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 661,\r\n \"chainage\": 1500,\r\n \"zlevel\": 10.504,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 662,\r\n \"chainage\": 1509,\r\n \"zlevel\": 10.492,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 663,\r\n \"chainage\": 1520,\r\n \"zlevel\": 10.51,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 664,\r\n \"chainage\": 1540,\r\n \"zlevel\": 10.63,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 665,\r\n \"chainage\": 1560,\r\n \"zlevel\": 10.864,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 666,\r\n \"chainage\": 1580,\r\n \"zlevel\": 11.213,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 667,\r\n \"chainage\": 1582,\r\n \"zlevel\": 11.264,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 668,\r\n \"chainage\": 1600,\r\n \"zlevel\": 11.632,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 669,\r\n \"chainage\": 1604,\r\n \"zlevel\": 11.718,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 670,\r\n \"chainage\": 1620,\r\n \"zlevel\": 12.052,\r\n \"radius\": 784.742,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 671,\r\n \"chainage\": 1640,\r\n \"zlevel\": 12.472,\r\n \"radius\": 1252.51,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 672,\r\n \"chainage\": 1660,\r\n \"zlevel\": 12.892,\r\n \"radius\": 3100.875,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 673,\r\n \"chainage\": 1680,\r\n \"zlevel\": 13.312,\r\n \"radius\": 5308.363,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 674,\r\n \"chainage\": 1700,\r\n \"zlevel\": 13.732,\r\n \"radius\": 1294.079,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 675,\r\n \"chainage\": 1720,\r\n \"zlevel\": 14.152,\r\n \"radius\": 736.855,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 676,\r\n \"chainage\": 1740,\r\n \"zlevel\": 14.572,\r\n \"radius\": 515.069,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 677,\r\n \"chainage\": 1742,\r\n \"zlevel\": 14.614,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 678,\r\n \"chainage\": 1760,\r\n \"zlevel\": 14.992,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 679,\r\n \"chainage\": 1780,\r\n \"zlevel\": 15.412,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 680,\r\n \"chainage\": 1800,\r\n \"zlevel\": 15.832,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 681,\r\n \"chainage\": 1820,\r\n \"zlevel\": 16.252,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 682,\r\n \"chainage\": 1833,\r\n \"zlevel\": 16.528,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 683,\r\n \"chainage\": 1840,\r\n \"zlevel\": 16.672,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 684,\r\n \"chainage\": 1860,\r\n \"zlevel\": 17.092,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 685,\r\n \"chainage\": 1880,\r\n \"zlevel\": 17.512,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 686,\r\n \"chainage\": 1900,\r\n \"zlevel\": 17.932,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 687,\r\n \"chainage\": 1920,\r\n \"zlevel\": 18.352,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 688,\r\n \"chainage\": 1924,\r\n \"zlevel\": 18.442,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 689,\r\n \"chainage\": 1940,\r\n \"zlevel\": 18.772,\r\n \"radius\": 648.83,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 690,\r\n \"chainage\": 1960,\r\n \"zlevel\": 19.192,\r\n \"radius\": 1045.076,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 691,\r\n \"chainage\": 1980,\r\n \"zlevel\": 19.612,\r\n \"radius\": 2684.566,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 692,\r\n \"chainage\": 2000,\r\n \"zlevel\": 20.032,\r\n \"radius\": 7943.515,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 693,\r\n \"chainage\": 2017,\r\n \"zlevel\": 20.399,\r\n \"radius\": 2328.671,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 694,\r\n \"chainage\": 2020,\r\n \"zlevel\": 20.452,\r\n \"radius\": 2113.669,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 695,\r\n \"chainage\": 2034,\r\n \"zlevel\": 20.722,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 696,\r\n \"chainage\": 2040,\r\n \"zlevel\": 20.821,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 697,\r\n \"chainage\": 2060,\r\n \"zlevel\": 21.111,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 698,\r\n \"chainage\": 2080,\r\n \"zlevel\": 21.321,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 699,\r\n \"chainage\": 2100,\r\n \"zlevel\": 21.451,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 700,\r\n \"chainage\": 2120,\r\n \"zlevel\": 21.501,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 701,\r\n \"chainage\": 2122,\r\n \"zlevel\": 21.501,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 702,\r\n \"chainage\": 2140,\r\n \"zlevel\": 21.471,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 703,\r\n \"chainage\": 2140,\r\n \"zlevel\": 21.471,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 704,\r\n \"chainage\": 2160,\r\n \"zlevel\": 21.361,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 705,\r\n \"chainage\": 2180,\r\n \"zlevel\": 21.17,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 706,\r\n \"chainage\": 2200,\r\n \"zlevel\": 20.9,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 707,\r\n \"chainage\": 2220,\r\n \"zlevel\": 20.552,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 708,\r\n \"chainage\": 2220,\r\n \"zlevel\": 20.55,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 709,\r\n \"chainage\": 2240,\r\n \"zlevel\": 20.12,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 710,\r\n \"chainage\": 2260,\r\n \"zlevel\": 19.609,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 711,\r\n \"chainage\": 2262,\r\n \"zlevel\": 19.543,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 712,\r\n \"chainage\": 2280,\r\n \"zlevel\": 19.05,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 713,\r\n \"chainage\": 2300,\r\n \"zlevel\": 18.49,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 714,\r\n \"chainage\": 2320,\r\n \"zlevel\": 17.93,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 715,\r\n \"chainage\": 2340,\r\n \"zlevel\": 17.37,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 716,\r\n \"chainage\": 2360,\r\n \"zlevel\": 16.81,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 717,\r\n \"chainage\": 2380,\r\n \"zlevel\": 16.25,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 718,\r\n \"chainage\": 2400,\r\n \"zlevel\": 15.69,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 719,\r\n \"chainage\": 2406,\r\n \"zlevel\": 15.532,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 720,\r\n \"chainage\": 2420,\r\n \"zlevel\": 15.13,\r\n \"radius\": 2127.496,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 721,\r\n \"chainage\": 2440,\r\n \"zlevel\": 14.57,\r\n \"radius\": 8142.395,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 722,\r\n \"chainage\": 2460,\r\n \"zlevel\": 14.01,\r\n \"radius\": 3094.559,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 723,\r\n \"chainage\": 2480,\r\n \"zlevel\": 13.45,\r\n \"radius\": 1214.849,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 724,\r\n \"chainage\": 2500,\r\n \"zlevel\": 12.89,\r\n \"radius\": 755.773,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 725,\r\n \"chainage\": 2507,\r\n \"zlevel\": 12.692,\r\n \"radius\": 666.788,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 726,\r\n \"chainage\": 2520,\r\n \"zlevel\": 12.34,\r\n \"radius\": 548.502,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 727,\r\n \"chainage\": 2529,\r\n \"zlevel\": 12.116,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 728,\r\n \"chainage\": 2540,\r\n \"zlevel\": 11.838,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 729,\r\n \"chainage\": 2560,\r\n \"zlevel\": 11.385,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 730,\r\n \"chainage\": 2580,\r\n \"zlevel\": 10.983,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 731,\r\n \"chainage\": 2600,\r\n \"zlevel\": 10.63,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 732,\r\n \"chainage\": 2604,\r\n \"zlevel\": 10.56,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 733,\r\n \"chainage\": 2620,\r\n \"zlevel\": 10.328,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 734,\r\n \"chainage\": 2640,\r\n \"zlevel\": 10.075,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 735,\r\n \"chainage\": 2659,\r\n \"zlevel\": 9.882,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 736,\r\n \"chainage\": 2660,\r\n \"zlevel\": 9.873,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 737,\r\n \"chainage\": 2680,\r\n \"zlevel\": 9.72,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 738,\r\n \"chainage\": 2680,\r\n \"zlevel\": 9.72,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 739,\r\n \"chainage\": 2700,\r\n \"zlevel\": 9.618,\r\n \"radius\": 600.941,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 740,\r\n \"chainage\": 2720,\r\n \"zlevel\": 9.566,\r\n \"radius\": 777.614,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 741,\r\n \"chainage\": 2731,\r\n \"zlevel\": 9.558,\r\n \"radius\": 927.205,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 742,\r\n \"chainage\": 2740,\r\n \"zlevel\": 9.563,\r\n \"radius\": 1101.427,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 743,\r\n \"chainage\": 2760,\r\n \"zlevel\": 9.611,\r\n \"radius\": 1887.357,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 744,\r\n \"chainage\": 2780,\r\n \"zlevel\": 9.708,\r\n \"radius\": 6588.939,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 745,\r\n \"chainage\": 2940,\r\n \"zlevel\": 11.248,\r\n \"radius\": 3627.347,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 746,\r\n \"chainage\": 2960,\r\n \"zlevel\": 11.448,\r\n \"radius\": 1605.379,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 747,\r\n \"chainage\": 2980,\r\n \"zlevel\": 11.648,\r\n \"radius\": 1030.792,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 748,\r\n \"chainage\": 2990,\r\n \"zlevel\": 11.751,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 749,\r\n \"chainage\": 3000,\r\n \"zlevel\": 11.848,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 750,\r\n \"chainage\": 3020,\r\n \"zlevel\": 12.048,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 751,\r\n \"chainage\": 3040,\r\n \"zlevel\": 12.248,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 752,\r\n \"chainage\": 3060,\r\n \"zlevel\": 12.448,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 753,\r\n \"chainage\": 3080,\r\n \"zlevel\": 12.648,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 754,\r\n \"chainage\": 3100,\r\n \"zlevel\": 12.848,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 755,\r\n \"chainage\": 3120,\r\n \"zlevel\": 13.047,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 756,\r\n \"chainage\": 3140,\r\n \"zlevel\": 13.247,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 757,\r\n \"chainage\": 3160,\r\n \"zlevel\": 13.447,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 758,\r\n \"chainage\": 3178,\r\n \"zlevel\": 13.632,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 759,\r\n \"chainage\": 3180,\r\n \"zlevel\": 13.647,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 760,\r\n \"chainage\": 3200,\r\n \"zlevel\": 13.847,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 761,\r\n \"chainage\": 3220,\r\n \"zlevel\": 14.047,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 762,\r\n \"chainage\": 3240,\r\n \"zlevel\": 14.247,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 763,\r\n \"chainage\": 3260,\r\n \"zlevel\": 14.447,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 764,\r\n \"chainage\": 3280,\r\n \"zlevel\": 14.647,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 765,\r\n \"chainage\": 3300,\r\n \"zlevel\": 14.847,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 766,\r\n \"chainage\": 3320,\r\n \"zlevel\": 15.047,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 767,\r\n \"chainage\": 3340,\r\n \"zlevel\": 15.247,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 768,\r\n \"chainage\": 3360,\r\n \"zlevel\": 15.447,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 769,\r\n \"chainage\": 3367,\r\n \"zlevel\": 15.513,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 770,\r\n \"chainage\": 3380,\r\n \"zlevel\": 15.647,\r\n \"radius\": 998.912,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 771,\r\n \"chainage\": 3400,\r\n \"zlevel\": 15.847,\r\n \"radius\": 1283.916,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 772,\r\n \"chainage\": 3420,\r\n \"zlevel\": 16.047,\r\n \"radius\": 1796.478,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 773,\r\n \"chainage\": 3440,\r\n \"zlevel\": 16.247,\r\n \"radius\": 2990.229,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 774,\r\n \"chainage\": 3460,\r\n \"zlevel\": 16.447,\r\n \"radius\": 8912.629,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 775,\r\n \"chainage\": 3840,\r\n \"zlevel\": 15.227,\r\n \"radius\": 7748.77,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 776,\r\n \"chainage\": 3860,\r\n \"zlevel\": 14.907,\r\n \"radius\": 1907.98,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 777,\r\n \"chainage\": 3880,\r\n \"zlevel\": 14.587,\r\n \"radius\": 1087.931,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 778,\r\n \"chainage\": 3897,\r\n \"zlevel\": 14.319,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 779,\r\n \"chainage\": 3900,\r\n \"zlevel\": 14.267,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 780,\r\n \"chainage\": 3920,\r\n \"zlevel\": 13.947,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 781,\r\n \"chainage\": 3940,\r\n \"zlevel\": 13.627,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 782,\r\n \"chainage\": 3960,\r\n \"zlevel\": 13.307,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 783,\r\n \"chainage\": 3980,\r\n \"zlevel\": 12.987,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 784,\r\n \"chainage\": 3983,\r\n \"zlevel\": 12.935,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 785,\r\n \"chainage\": 4000,\r\n \"zlevel\": 12.667,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 786,\r\n \"chainage\": 4020,\r\n \"zlevel\": 12.347,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 787,\r\n \"chainage\": 4040,\r\n \"zlevel\": 12.027,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 788,\r\n \"chainage\": 4060,\r\n \"zlevel\": 11.707,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 789,\r\n \"chainage\": 4070,\r\n \"zlevel\": 11.552,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 790,\r\n \"chainage\": 4080,\r\n \"zlevel\": 11.387,\r\n \"radius\": 956.509,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 791,\r\n \"chainage\": 4100,\r\n \"zlevel\": 11.067,\r\n \"radius\": 1537.5,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 792,\r\n \"chainage\": 4120,\r\n \"zlevel\": 10.747,\r\n \"radius\": 3916.276,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 793,\r\n \"chainage\": 4140,\r\n \"zlevel\": 10.427,\r\n \"radius\": 8143.435,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 794,\r\n \"chainage\": 4160,\r\n \"zlevel\": 10.107,\r\n \"radius\": 2127.566,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 795,\r\n \"chainage\": 4180,\r\n \"zlevel\": 9.787,\r\n \"radius\": 1223.626,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 796,\r\n \"chainage\": 4200,\r\n \"zlevel\": 9.467,\r\n \"radius\": 858.763,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 797,\r\n \"chainage\": 4220,\r\n \"zlevel\": 9.147,\r\n \"radius\": 661.512,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 798,\r\n \"chainage\": 4222,\r\n \"zlevel\": 9.111,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 799,\r\n \"chainage\": 4240,\r\n \"zlevel\": 8.827,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 800,\r\n \"chainage\": 4260,\r\n \"zlevel\": 8.507,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 801,\r\n \"chainage\": 4280,\r\n \"zlevel\": 8.187,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 802,\r\n \"chainage\": 4300,\r\n \"zlevel\": 7.867,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 803,\r\n \"chainage\": 4306,\r\n \"zlevel\": 7.768,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 804,\r\n \"chainage\": 4320,\r\n \"zlevel\": 7.563,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 805,\r\n \"chainage\": 4340,\r\n \"zlevel\": 7.322,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 806,\r\n \"chainage\": 4360,\r\n \"zlevel\": 7.148,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 807,\r\n \"chainage\": 4380,\r\n \"zlevel\": 7.041,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 808,\r\n \"chainage\": 4400,\r\n \"zlevel\": 7.001,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 809,\r\n \"chainage\": 4402,\r\n \"zlevel\": 7,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 810,\r\n \"chainage\": 4420,\r\n \"zlevel\": 7.027,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 811,\r\n \"chainage\": 4423,\r\n \"zlevel\": 7.037,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 812,\r\n \"chainage\": 4440,\r\n \"zlevel\": 7.12,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 813,\r\n \"chainage\": 4460,\r\n \"zlevel\": 7.28,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 814,\r\n \"chainage\": 4480,\r\n \"zlevel\": 7.506,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 815,\r\n \"chainage\": 4500,\r\n \"zlevel\": 7.799,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 816,\r\n \"chainage\": 4520,\r\n \"zlevel\": 8.158,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 817,\r\n \"chainage\": 4540,\r\n \"zlevel\": 8.585,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 818,\r\n \"chainage\": 4540,\r\n \"zlevel\": 8.587,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 819,\r\n \"chainage\": 4560,\r\n \"zlevel\": 9.045,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 820,\r\n \"chainage\": 4566,\r\n \"zlevel\": 9.191,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 821,\r\n \"chainage\": 4580,\r\n \"zlevel\": 9.505,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 822,\r\n \"chainage\": 4600,\r\n \"zlevel\": 9.965,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 823,\r\n \"chainage\": 4620,\r\n \"zlevel\": 10.425,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 824,\r\n \"chainage\": 4640,\r\n \"zlevel\": 10.885,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 825,\r\n \"chainage\": 4660,\r\n \"zlevel\": 11.345,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 826,\r\n \"chainage\": 4680,\r\n \"zlevel\": 11.805,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 827,\r\n \"chainage\": 4700,\r\n \"zlevel\": 12.265,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 828,\r\n \"chainage\": 4720,\r\n \"zlevel\": 12.725,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 829,\r\n \"chainage\": 4740,\r\n \"zlevel\": 13.185,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 830,\r\n \"chainage\": 4760,\r\n \"zlevel\": 13.645,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 831,\r\n \"chainage\": 4780,\r\n \"zlevel\": 14.105,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 832,\r\n \"chainage\": 4800,\r\n \"zlevel\": 14.565,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 833,\r\n \"chainage\": 4820,\r\n \"zlevel\": 15.025,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 834,\r\n \"chainage\": 4840,\r\n \"zlevel\": 15.485,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 835,\r\n \"chainage\": 4860,\r\n \"zlevel\": 15.945,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 836,\r\n \"chainage\": 4880,\r\n \"zlevel\": 16.405,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 837,\r\n \"chainage\": 4900,\r\n \"zlevel\": 16.865,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 838,\r\n \"chainage\": 4910,\r\n \"zlevel\": 17.105,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 839,\r\n \"chainage\": 4920,\r\n \"zlevel\": 17.325,\r\n \"radius\": 722.061,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 840,\r\n \"chainage\": 4940,\r\n \"zlevel\": 17.785,\r\n \"radius\": 963.667,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 841,\r\n \"chainage\": 4960,\r\n \"zlevel\": 18.245,\r\n \"radius\": 1448.266,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 842,\r\n \"chainage\": 4980,\r\n \"zlevel\": 18.705,\r\n \"radius\": 2913.256,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 843,\r\n \"chainage\": 5440,\r\n \"zlevel\": 36.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 844,\r\n \"chainage\": 5460,\r\n \"zlevel\": 37.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 845,\r\n \"chainage\": 5480,\r\n \"zlevel\": 38.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 846,\r\n \"chainage\": 5491,\r\n \"zlevel\": 39.019,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 847,\r\n \"chainage\": 5500,\r\n \"zlevel\": 39.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 848,\r\n \"chainage\": 5520,\r\n \"zlevel\": 40.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 849,\r\n \"chainage\": 5540,\r\n \"zlevel\": 41.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 850,\r\n \"chainage\": 5548,\r\n \"zlevel\": 41.898,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 851,\r\n \"chainage\": 5560,\r\n \"zlevel\": 42.48,\r\n \"radius\": 827.634,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 852,\r\n \"chainage\": 5580,\r\n \"zlevel\": 43.48,\r\n \"radius\": 1204.542,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 853,\r\n \"chainage\": 5600,\r\n \"zlevel\": 44.48,\r\n \"radius\": 2211.805,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 854,\r\n \"chainage\": 5620,\r\n \"zlevel\": 45.48,\r\n \"radius\": 13504.82,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 855,\r\n \"chainage\": 6600,\r\n \"zlevel\": 43.739,\r\n \"radius\": 2921.033,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 856,\r\n \"chainage\": 6620,\r\n \"zlevel\": 42.739,\r\n \"radius\": 1450.186,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 857,\r\n \"chainage\": 6640,\r\n \"zlevel\": 41.739,\r\n \"radius\": 964.516,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 858,\r\n \"chainage\": 6648,\r\n \"zlevel\": 41.337,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 859,\r\n \"chainage\": 6660,\r\n \"zlevel\": 40.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 860,\r\n \"chainage\": 6680,\r\n \"zlevel\": 39.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 861,\r\n \"chainage\": 6700,\r\n \"zlevel\": 38.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 862,\r\n \"chainage\": 6720,\r\n \"zlevel\": 37.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 863,\r\n \"chainage\": 6728,\r\n \"zlevel\": 37.36,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 864,\r\n \"chainage\": 6740,\r\n \"zlevel\": 36.752,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 865,\r\n \"chainage\": 6760,\r\n \"zlevel\": 35.816,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 866,\r\n \"chainage\": 6776,\r\n \"zlevel\": 35.126,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 867,\r\n \"chainage\": 6780,\r\n \"zlevel\": 34.938,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 868,\r\n \"chainage\": 6800,\r\n \"zlevel\": 34.117,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 869,\r\n \"chainage\": 6820,\r\n \"zlevel\": 33.353,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 870,\r\n \"chainage\": 6840,\r\n \"zlevel\": 32.647,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 871,\r\n \"chainage\": 6850,\r\n \"zlevel\": 32.323,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 872,\r\n \"chainage\": 6860,\r\n \"zlevel\": 31.998,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 873,\r\n \"chainage\": 6880,\r\n \"zlevel\": 31.406,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 874,\r\n \"chainage\": 6900,\r\n \"zlevel\": 30.871,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 875,\r\n \"chainage\": 6903,\r\n \"zlevel\": 30.793,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 876,\r\n \"chainage\": 6920,\r\n \"zlevel\": 30.394,\r\n \"radius\": 1165.745,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 877,\r\n \"chainage\": 6940,\r\n \"zlevel\": 29.974,\r\n \"radius\": 2084.425,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 878,\r\n \"chainage\": 6960,\r\n \"zlevel\": 29.61,\r\n \"radius\": 9835.083,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 879,\r\n \"chainage\": 6972,\r\n \"zlevel\": 29.419,\r\n \"radius\": 8588.7,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 880,\r\n \"chainage\": 6980,\r\n \"zlevel\": 29.3,\r\n \"radius\": 3939.459,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 881,\r\n \"chainage\": 7000,\r\n \"zlevel\": 29,\r\n \"radius\": 1663.716,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 882,\r\n \"chainage\": 7020,\r\n \"zlevel\": 28.7,\r\n \"radius\": 1054.534,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 883,\r\n \"chainage\": 7026,\r\n \"zlevel\": 28.61,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 884,\r\n \"chainage\": 7040,\r\n \"zlevel\": 28.4,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 885,\r\n \"chainage\": 7060,\r\n \"zlevel\": 28.1,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 886,\r\n \"chainage\": 7080,\r\n \"zlevel\": 27.8,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 887,\r\n \"chainage\": 7100,\r\n \"zlevel\": 27.5,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 888,\r\n \"chainage\": 7120,\r\n \"zlevel\": 27.2,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 889,\r\n \"chainage\": 7140,\r\n \"zlevel\": 26.9,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 890,\r\n \"chainage\": 7160,\r\n \"zlevel\": 26.6,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 891,\r\n \"chainage\": 7180,\r\n \"zlevel\": 26.3,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 892,\r\n \"chainage\": 7200,\r\n \"zlevel\": 26,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 893,\r\n \"chainage\": 7220,\r\n \"zlevel\": 25.7,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 894,\r\n \"chainage\": 7240,\r\n \"zlevel\": 25.4,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 895,\r\n \"chainage\": 7260,\r\n \"zlevel\": 25.1,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 896,\r\n \"chainage\": 7280,\r\n \"zlevel\": 24.8,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 897,\r\n \"chainage\": 7300,\r\n \"zlevel\": 24.5,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 898,\r\n \"chainage\": 7320,\r\n \"zlevel\": 24.2,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 899,\r\n \"chainage\": 7332,\r\n \"zlevel\": 24.017,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 900,\r\n \"chainage\": 7340,\r\n \"zlevel\": 23.9,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 901,\r\n \"chainage\": 7360,\r\n \"zlevel\": 23.6,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 902,\r\n \"chainage\": 7380,\r\n \"zlevel\": 23.3,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 903,\r\n \"chainage\": 7400,\r\n \"zlevel\": 23,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 904,\r\n \"chainage\": 7420,\r\n \"zlevel\": 22.7,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 905,\r\n \"chainage\": 7440,\r\n \"zlevel\": 22.4,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 906,\r\n \"chainage\": 7447,\r\n \"zlevel\": 22.301,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 907,\r\n \"chainage\": 7460,\r\n \"zlevel\": 22.111,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 908,\r\n \"chainage\": 7480,\r\n \"zlevel\": 21.87,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 909,\r\n \"chainage\": 7500,\r\n \"zlevel\": 21.678,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 910,\r\n \"chainage\": 7520,\r\n \"zlevel\": 21.537,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 911,\r\n \"chainage\": 7540,\r\n \"zlevel\": 21.445,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 912,\r\n \"chainage\": 7555,\r\n \"zlevel\": 21.41,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 913,\r\n \"chainage\": 7560,\r\n \"zlevel\": 21.404,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 914,\r\n \"chainage\": 7567,\r\n \"zlevel\": 21.401,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 915,\r\n \"chainage\": 7580,\r\n \"zlevel\": 21.413,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 916,\r\n \"chainage\": 7600,\r\n \"zlevel\": 21.471,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 917,\r\n \"chainage\": 7620,\r\n \"zlevel\": 21.58,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 918,\r\n \"chainage\": 7638,\r\n \"zlevel\": 21.723,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 919,\r\n \"chainage\": 7640,\r\n \"zlevel\": 21.738,\r\n \"radius\": 974.843,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 920,\r\n \"chainage\": 7660,\r\n \"zlevel\": 21.947,\r\n \"radius\": 1416.819,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 921,\r\n \"chainage\": 7663,\r\n \"zlevel\": 21.977,\r\n \"radius\": 1504.533,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 922,\r\n \"chainage\": 7680,\r\n \"zlevel\": 22.186,\r\n \"radius\": 2591.973,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 923,\r\n \"chainage\": 7700,\r\n \"zlevel\": 22.426,\r\n \"radius\": 15196.068,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 924,\r\n \"chainage\": 8031,\r\n \"zlevel\": 27.205,\r\n \"radius\": 7415.366,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 925,\r\n \"chainage\": 8040,\r\n \"zlevel\": 27.505,\r\n \"radius\": 3358.169,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 926,\r\n \"chainage\": 8060,\r\n \"zlevel\": 28.212,\r\n \"radius\": 1550.379,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 927,\r\n \"chainage\": 8080,\r\n \"zlevel\": 29.007,\r\n \"radius\": 1007.835,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 928,\r\n \"chainage\": 8091,\r\n \"zlevel\": 29.465,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 929,\r\n \"chainage\": 8100,\r\n \"zlevel\": 29.891,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 930,\r\n \"chainage\": 8116,\r\n \"zlevel\": 30.659,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 931,\r\n \"chainage\": 8120,\r\n \"zlevel\": 30.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 932,\r\n \"chainage\": 8140,\r\n \"zlevel\": 31.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 933,\r\n \"chainage\": 8160,\r\n \"zlevel\": 32.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 934,\r\n \"chainage\": 8180,\r\n \"zlevel\": 33.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 935,\r\n \"chainage\": 8200,\r\n \"zlevel\": 34.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 936,\r\n \"chainage\": 8220,\r\n \"zlevel\": 35.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 937,\r\n \"chainage\": 8240,\r\n \"zlevel\": 36.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 938,\r\n \"chainage\": 8260,\r\n \"zlevel\": 37.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 939,\r\n \"chainage\": 8280,\r\n \"zlevel\": 38.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 940,\r\n \"chainage\": 8300,\r\n \"zlevel\": 39.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 941,\r\n \"chainage\": 8320,\r\n \"zlevel\": 40.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 942,\r\n \"chainage\": 8321,\r\n \"zlevel\": 40.935,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 943,\r\n \"chainage\": 8340,\r\n \"zlevel\": 41.836,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 944,\r\n \"chainage\": 8360,\r\n \"zlevel\": 42.748,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 945,\r\n \"chainage\": 8380,\r\n \"zlevel\": 43.598,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 946,\r\n \"chainage\": 8400,\r\n \"zlevel\": 44.387,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 947,\r\n \"chainage\": 8420,\r\n \"zlevel\": 45.114,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 948,\r\n \"chainage\": 8440,\r\n \"zlevel\": 45.779,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 949,\r\n \"chainage\": 8460,\r\n \"zlevel\": 46.382,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 950,\r\n \"chainage\": 8480,\r\n \"zlevel\": 46.924,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 951,\r\n \"chainage\": 8494,\r\n \"zlevel\": 47.261,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 952,\r\n \"chainage\": 8500,\r\n \"zlevel\": 47.404,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 953,\r\n \"chainage\": 8520,\r\n \"zlevel\": 47.823,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 954,\r\n \"chainage\": 8531,\r\n \"zlevel\": 48.028,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 955,\r\n \"chainage\": 8540,\r\n \"zlevel\": 48.18,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 956,\r\n \"chainage\": 8560,\r\n \"zlevel\": 48.476,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 957,\r\n \"chainage\": 8580,\r\n \"zlevel\": 48.71,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 958,\r\n \"chainage\": 8600,\r\n \"zlevel\": 48.882,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 959,\r\n \"chainage\": 8620,\r\n \"zlevel\": 48.993,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 960,\r\n \"chainage\": 8640,\r\n \"zlevel\": 49.042,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 961,\r\n \"chainage\": 8646,\r\n \"zlevel\": 49.045,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 962,\r\n \"chainage\": 8660,\r\n \"zlevel\": 49.03,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 963,\r\n \"chainage\": 8680,\r\n \"zlevel\": 48.956,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 964,\r\n \"chainage\": 8700,\r\n \"zlevel\": 48.821,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 965,\r\n \"chainage\": 8720,\r\n \"zlevel\": 48.624,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 966,\r\n \"chainage\": 8740,\r\n \"zlevel\": 48.366,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 967,\r\n \"chainage\": 8741,\r\n \"zlevel\": 48.352,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 968,\r\n \"chainage\": 8760,\r\n \"zlevel\": 48.074,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 969,\r\n \"chainage\": 8780,\r\n \"zlevel\": 47.782,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 970,\r\n \"chainage\": 8800,\r\n \"zlevel\": 47.49,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 971,\r\n \"chainage\": 8820,\r\n \"zlevel\": 47.198,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 972,\r\n \"chainage\": 8840,\r\n \"zlevel\": 46.906,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 973,\r\n \"chainage\": 8860,\r\n \"zlevel\": 46.614,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 974,\r\n \"chainage\": 8880,\r\n \"zlevel\": 46.322,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 975,\r\n \"chainage\": 8897,\r\n \"zlevel\": 46.076,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 976,\r\n \"chainage\": 8900,\r\n \"zlevel\": 46.03,\r\n \"radius\": 877.742,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 977,\r\n \"chainage\": 8920,\r\n \"zlevel\": 45.738,\r\n \"radius\": 1109.293,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 978,\r\n \"chainage\": 8940,\r\n \"zlevel\": 45.446,\r\n \"radius\": 1506.788,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 979,\r\n \"chainage\": 8960,\r\n \"zlevel\": 45.154,\r\n \"radius\": 2348.238,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 980,\r\n \"chainage\": 8980,\r\n \"zlevel\": 44.862,\r\n \"radius\": 5318.045,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 981,\r\n \"chainage\": 9000,\r\n \"zlevel\": 44.57,\r\n \"radius\": 8624.157,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 982,\r\n \"chainage\": 9020,\r\n \"zlevel\": 44.278,\r\n \"radius\": 1492.604,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 983,\r\n \"chainage\": 9040,\r\n \"zlevel\": 43.986,\r\n \"radius\": 817.002,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 984,\r\n \"chainage\": 9046,\r\n \"zlevel\": 43.903,\r\n \"radius\": 723.376,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 985,\r\n \"chainage\": 9060,\r\n \"zlevel\": 43.738,\r\n \"radius\": 562.429,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 986,\r\n \"chainage\": 9079,\r\n \"zlevel\": 43.657,\r\n \"radius\": 432.432,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 987,\r\n \"chainage\": 9080,\r\n \"zlevel\": 43.658,\r\n \"radius\": 428.813,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 988,\r\n \"chainage\": 9080,\r\n \"zlevel\": 43.658,\r\n \"radius\": 428.302,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 989,\r\n \"chainage\": 9100,\r\n \"zlevel\": 43.751,\r\n \"radius\": 346.496,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 990,\r\n \"chainage\": 9103,\r\n \"zlevel\": 43.779,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 991,\r\n \"chainage\": 9114,\r\n \"zlevel\": 43.927,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 992,\r\n \"chainage\": 9120,\r\n \"zlevel\": 44.011,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 993,\r\n \"chainage\": 9140,\r\n \"zlevel\": 44.317,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 994,\r\n \"chainage\": 9160,\r\n \"zlevel\": 44.623,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 995,\r\n \"chainage\": 9180,\r\n \"zlevel\": 44.929,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 996,\r\n \"chainage\": 9200,\r\n \"zlevel\": 45.235,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 997,\r\n \"chainage\": 9220,\r\n \"zlevel\": 45.541,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 998,\r\n \"chainage\": 9240,\r\n \"zlevel\": 45.847,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 999,\r\n \"chainage\": 9242,\r\n \"zlevel\": 45.875,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1000,\r\n \"chainage\": 9260,\r\n \"zlevel\": 46.153,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1001,\r\n \"chainage\": 9280,\r\n \"zlevel\": 46.459,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1002,\r\n \"chainage\": 9300,\r\n \"zlevel\": 46.765,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1003,\r\n \"chainage\": 9312,\r\n \"zlevel\": 46.947,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1004,\r\n \"chainage\": 9320,\r\n \"zlevel\": 47.063,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1005,\r\n \"chainage\": 9340,\r\n \"zlevel\": 47.278,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1006,\r\n \"chainage\": 9360,\r\n \"zlevel\": 47.394,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1007,\r\n \"chainage\": 9373,\r\n \"zlevel\": 47.415,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1008,\r\n \"chainage\": 9380,\r\n \"zlevel\": 47.409,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1009,\r\n \"chainage\": 9381,\r\n \"zlevel\": 47.408,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1010,\r\n \"chainage\": 9400,\r\n \"zlevel\": 47.324,\r\n \"radius\": 421.504,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1011,\r\n \"chainage\": 9420,\r\n \"zlevel\": 47.14,\r\n \"radius\": 569.744,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1012,\r\n \"chainage\": 9440,\r\n \"zlevel\": 46.855,\r\n \"radius\": 878.819,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1013,\r\n \"chainage\": 9440,\r\n \"zlevel\": 46.848,\r\n \"radius\": 889.525,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1014,\r\n \"chainage\": 9460,\r\n \"zlevel\": 46.471,\r\n \"radius\": 1920.836,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1015,\r\n \"chainage\": 188,\r\n \"zlevel\": 40.936,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1016,\r\n \"chainage\": 200,\r\n \"zlevel\": 40.9,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1017,\r\n \"chainage\": 220,\r\n \"zlevel\": 40.84,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1018,\r\n \"chainage\": 240,\r\n \"zlevel\": 40.78,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1019,\r\n \"chainage\": 260,\r\n \"zlevel\": 40.72,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1020,\r\n \"chainage\": 265,\r\n \"zlevel\": 40.704,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1021,\r\n \"chainage\": 741,\r\n \"zlevel\": 30.969,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1022,\r\n \"chainage\": 760,\r\n \"zlevel\": 30.417,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1023,\r\n \"chainage\": 780,\r\n \"zlevel\": 29.847,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1024,\r\n \"chainage\": 800,\r\n \"zlevel\": 29.277,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1025,\r\n \"chainage\": 808,\r\n \"zlevel\": 29.043,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1026,\r\n \"chainage\": 1674,\r\n \"zlevel\": 13.177,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1027,\r\n \"chainage\": 1993,\r\n \"zlevel\": 19.88,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1028,\r\n \"chainage\": 2447,\r\n \"zlevel\": 14.372,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1029,\r\n \"chainage\": 2788,\r\n \"zlevel\": 9.762,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1030,\r\n \"chainage\": 2800,\r\n \"zlevel\": 9.856,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1031,\r\n \"chainage\": 2811,\r\n \"zlevel\": 9.958,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1032,\r\n \"chainage\": 2820,\r\n \"zlevel\": 10.048,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1033,\r\n \"chainage\": 2840,\r\n \"zlevel\": 10.248,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1034,\r\n \"chainage\": 2860,\r\n \"zlevel\": 10.448,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1035,\r\n \"chainage\": 2880,\r\n \"zlevel\": 10.648,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1036,\r\n \"chainage\": 2900,\r\n \"zlevel\": 10.848,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1037,\r\n \"chainage\": 2920,\r\n \"zlevel\": 11.048,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1038,\r\n \"chainage\": 2924,\r\n \"zlevel\": 11.089,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1039,\r\n \"chainage\": 3470,\r\n \"zlevel\": 16.548,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1040,\r\n \"chainage\": 3480,\r\n \"zlevel\": 16.647,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1041,\r\n \"chainage\": 3500,\r\n \"zlevel\": 16.846,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1042,\r\n \"chainage\": 3520,\r\n \"zlevel\": 17.046,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1043,\r\n \"chainage\": 3540,\r\n \"zlevel\": 17.246,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1044,\r\n \"chainage\": 3560,\r\n \"zlevel\": 17.446,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1045,\r\n \"chainage\": 3575,\r\n \"zlevel\": 17.601,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1046,\r\n \"chainage\": 3580,\r\n \"zlevel\": 17.644,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1047,\r\n \"chainage\": 3600,\r\n \"zlevel\": 17.791,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1048,\r\n \"chainage\": 3620,\r\n \"zlevel\": 17.866,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1049,\r\n \"chainage\": 3630,\r\n \"zlevel\": 17.876,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1050,\r\n \"chainage\": 3640,\r\n \"zlevel\": 17.867,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1051,\r\n \"chainage\": 3647,\r\n \"zlevel\": 17.851,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1052,\r\n \"chainage\": 3660,\r\n \"zlevel\": 17.796,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1053,\r\n \"chainage\": 3680,\r\n \"zlevel\": 17.652,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1054,\r\n \"chainage\": 3700,\r\n \"zlevel\": 17.436,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1055,\r\n \"chainage\": 3718,\r\n \"zlevel\": 17.172,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1056,\r\n \"chainage\": 3720,\r\n \"zlevel\": 17.147,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1057,\r\n \"chainage\": 3740,\r\n \"zlevel\": 16.827,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1058,\r\n \"chainage\": 3760,\r\n \"zlevel\": 16.507,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1059,\r\n \"chainage\": 3780,\r\n \"zlevel\": 16.187,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1060,\r\n \"chainage\": 3800,\r\n \"zlevel\": 15.867,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1061,\r\n \"chainage\": 3820,\r\n \"zlevel\": 15.547,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1062,\r\n \"chainage\": 3833,\r\n \"zlevel\": 15.331,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1063,\r\n \"chainage\": 4133,\r\n \"zlevel\": 10.54,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1064,\r\n \"chainage\": 5000,\r\n \"zlevel\": 19.159,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1065,\r\n \"chainage\": 5000,\r\n \"zlevel\": 19.165,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1066,\r\n \"chainage\": 5020,\r\n \"zlevel\": 19.625,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1067,\r\n \"chainage\": 5040,\r\n \"zlevel\": 20.085,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1068,\r\n \"chainage\": 5060,\r\n \"zlevel\": 20.545,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1069,\r\n \"chainage\": 5080,\r\n \"zlevel\": 21.005,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1070,\r\n \"chainage\": 5100,\r\n \"zlevel\": 21.465,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1071,\r\n \"chainage\": 5106,\r\n \"zlevel\": 21.605,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1072,\r\n \"chainage\": 5120,\r\n \"zlevel\": 21.944,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1073,\r\n \"chainage\": 5140,\r\n \"zlevel\": 22.5,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1074,\r\n \"chainage\": 5160,\r\n \"zlevel\": 23.136,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1075,\r\n \"chainage\": 5173,\r\n \"zlevel\": 23.61,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1076,\r\n \"chainage\": 5180,\r\n \"zlevel\": 23.851,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1077,\r\n \"chainage\": 5200,\r\n \"zlevel\": 24.648,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1078,\r\n \"chainage\": 5220,\r\n \"zlevel\": 25.524,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1079,\r\n \"chainage\": 5240,\r\n \"zlevel\": 26.481,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1080,\r\n \"chainage\": 5241,\r\n \"zlevel\": 26.521,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1081,\r\n \"chainage\": 5260,\r\n \"zlevel\": 27.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1082,\r\n \"chainage\": 5280,\r\n \"zlevel\": 28.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1083,\r\n \"chainage\": 5300,\r\n \"zlevel\": 29.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1084,\r\n \"chainage\": 5320,\r\n \"zlevel\": 30.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1085,\r\n \"chainage\": 5340,\r\n \"zlevel\": 31.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1086,\r\n \"chainage\": 5360,\r\n \"zlevel\": 32.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1087,\r\n \"chainage\": 5380,\r\n \"zlevel\": 33.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1088,\r\n \"chainage\": 5400,\r\n \"zlevel\": 34.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1089,\r\n \"chainage\": 5420,\r\n \"zlevel\": 35.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1090,\r\n \"chainage\": 5433,\r\n \"zlevel\": 36.139,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1091,\r\n \"chainage\": 5624,\r\n \"zlevel\": 45.676,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1092,\r\n \"chainage\": 5640,\r\n \"zlevel\": 46.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1093,\r\n \"chainage\": 5660,\r\n \"zlevel\": 47.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1094,\r\n \"chainage\": 5680,\r\n \"zlevel\": 48.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1095,\r\n \"chainage\": 5700,\r\n \"zlevel\": 49.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1096,\r\n \"chainage\": 5720,\r\n \"zlevel\": 50.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1097,\r\n \"chainage\": 5740,\r\n \"zlevel\": 51.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1098,\r\n \"chainage\": 5743,\r\n \"zlevel\": 51.63,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1099,\r\n \"chainage\": 5760,\r\n \"zlevel\": 52.46,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1100,\r\n \"chainage\": 5780,\r\n \"zlevel\": 53.382,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1101,\r\n \"chainage\": 5800,\r\n \"zlevel\": 54.248,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1102,\r\n \"chainage\": 5820,\r\n \"zlevel\": 55.056,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1103,\r\n \"chainage\": 5840,\r\n \"zlevel\": 55.806,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1104,\r\n \"chainage\": 5860,\r\n \"zlevel\": 56.5,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1105,\r\n \"chainage\": 5880,\r\n \"zlevel\": 57.136,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1106,\r\n \"chainage\": 5900,\r\n \"zlevel\": 57.715,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1107,\r\n \"chainage\": 5920,\r\n \"zlevel\": 58.237,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1108,\r\n \"chainage\": 5940,\r\n \"zlevel\": 58.701,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1109,\r\n \"chainage\": 5960,\r\n \"zlevel\": 59.109,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1110,\r\n \"chainage\": 5980,\r\n \"zlevel\": 59.459,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1111,\r\n \"chainage\": 6000,\r\n \"zlevel\": 59.752,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1112,\r\n \"chainage\": 6020,\r\n \"zlevel\": 59.988,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1113,\r\n \"chainage\": 6040,\r\n \"zlevel\": 60.167,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1114,\r\n \"chainage\": 6060,\r\n \"zlevel\": 60.288,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1115,\r\n \"chainage\": 6080,\r\n \"zlevel\": 60.353,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1116,\r\n \"chainage\": 6093,\r\n \"zlevel\": 60.364,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1117,\r\n \"chainage\": 6093,\r\n \"zlevel\": 60.364,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1118,\r\n \"chainage\": 6100,\r\n \"zlevel\": 60.36,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1119,\r\n \"chainage\": 6120,\r\n \"zlevel\": 60.31,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1120,\r\n \"chainage\": 6140,\r\n \"zlevel\": 60.203,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1121,\r\n \"chainage\": 6160,\r\n \"zlevel\": 60.039,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1122,\r\n \"chainage\": 6180,\r\n \"zlevel\": 59.818,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1123,\r\n \"chainage\": 6200,\r\n \"zlevel\": 59.54,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1124,\r\n \"chainage\": 6220,\r\n \"zlevel\": 59.204,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1125,\r\n \"chainage\": 6240,\r\n \"zlevel\": 58.811,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1126,\r\n \"chainage\": 6260,\r\n \"zlevel\": 58.361,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1127,\r\n \"chainage\": 6280,\r\n \"zlevel\": 57.854,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1128,\r\n \"chainage\": 6300,\r\n \"zlevel\": 57.29,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1129,\r\n \"chainage\": 6320,\r\n \"zlevel\": 56.668,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1130,\r\n \"chainage\": 6340,\r\n \"zlevel\": 55.989,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1131,\r\n \"chainage\": 6360,\r\n \"zlevel\": 55.253,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1132,\r\n \"chainage\": 6380,\r\n \"zlevel\": 54.46,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1133,\r\n \"chainage\": 6400,\r\n \"zlevel\": 53.61,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1134,\r\n \"chainage\": 6420,\r\n \"zlevel\": 52.702,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1135,\r\n \"chainage\": 6440,\r\n \"zlevel\": 51.736,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1136,\r\n \"chainage\": 6442,\r\n \"zlevel\": 51.635,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1137,\r\n \"chainage\": 6460,\r\n \"zlevel\": 50.737,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1138,\r\n \"chainage\": 6480,\r\n \"zlevel\": 49.737,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1139,\r\n \"chainage\": 6500,\r\n \"zlevel\": 48.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1140,\r\n \"chainage\": 6520,\r\n \"zlevel\": 47.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1141,\r\n \"chainage\": 6540,\r\n \"zlevel\": 46.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1142,\r\n \"chainage\": 6560,\r\n \"zlevel\": 45.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1143,\r\n \"chainage\": 6580,\r\n \"zlevel\": 44.739,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1144,\r\n \"chainage\": 6580,\r\n \"zlevel\": 44.725,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1145,\r\n \"chainage\": 6965,\r\n \"zlevel\": 29.523,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1146,\r\n \"chainage\": 7704,\r\n \"zlevel\": 22.476,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1147,\r\n \"chainage\": 7720,\r\n \"zlevel\": 22.666,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1148,\r\n \"chainage\": 7740,\r\n \"zlevel\": 22.906,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1149,\r\n \"chainage\": 7760,\r\n \"zlevel\": 23.146,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1150,\r\n \"chainage\": 7780,\r\n \"zlevel\": 23.386,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1151,\r\n \"chainage\": 7800,\r\n \"zlevel\": 23.626,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1152,\r\n \"chainage\": 7820,\r\n \"zlevel\": 23.866,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1153,\r\n \"chainage\": 7840,\r\n \"zlevel\": 24.106,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1154,\r\n \"chainage\": 7860,\r\n \"zlevel\": 24.346,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1155,\r\n \"chainage\": 7880,\r\n \"zlevel\": 24.586,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1156,\r\n \"chainage\": 7900,\r\n \"zlevel\": 24.826,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1157,\r\n \"chainage\": 7920,\r\n \"zlevel\": 25.066,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1158,\r\n \"chainage\": 7940,\r\n \"zlevel\": 25.306,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1159,\r\n \"chainage\": 7945,\r\n \"zlevel\": 25.369,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1160,\r\n \"chainage\": 7960,\r\n \"zlevel\": 25.571,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1161,\r\n \"chainage\": 7980,\r\n \"zlevel\": 25.921,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1162,\r\n \"chainage\": 8000,\r\n \"zlevel\": 26.36,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1163,\r\n \"chainage\": 8020,\r\n \"zlevel\": 26.888,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1164,\r\n \"chainage\": 8023,\r\n \"zlevel\": 26.971,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1165,\r\n \"chainage\": 8996,\r\n \"zlevel\": 44.631,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1166,\r\n \"chainage\": 9477,\r\n \"zlevel\": 46.068,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1167,\r\n \"chainage\": 9480,\r\n \"zlevel\": 45.986,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1168,\r\n \"chainage\": 9500,\r\n \"zlevel\": 45.401,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1169,\r\n \"chainage\": 9520,\r\n \"zlevel\": 44.716,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1170,\r\n \"chainage\": 9540,\r\n \"zlevel\": 43.931,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1171,\r\n \"chainage\": 9560,\r\n \"zlevel\": 43.046,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1172,\r\n \"chainage\": 9569,\r\n \"zlevel\": 42.621,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1173,\r\n \"chainage\": 9580,\r\n \"zlevel\": 42.075,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1174,\r\n \"chainage\": 9600,\r\n \"zlevel\": 41.103,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 589,\r\n \"chainage\": 129,\r\n \"zlevel\": 41.113,\r\n \"radius\": 95.3,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 588,\r\n \"chainage\": 120,\r\n \"zlevel\": 41.14,\r\n \"radius\": 95.3,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n }\r\n ]\r\n}\r\n\r\n\r\nexport const requestBody2 = {\r\n \"return_option\": 2,\r\n \"start_year\": 2020,\r\n \"end_year\": 2041,\r\n \"fuel_distribution_cars\": {\r\n \"year\": [\r\n \"2020\",\r\n \"2021\",\r\n \"2022\",\r\n \"2023\",\r\n \"2024\",\r\n \"2025\",\r\n \"2026\",\r\n \"2027\",\r\n \"2028\",\r\n \"2029\",\r\n \"2030\",\r\n \"2031\",\r\n \"2032\",\r\n \"2033\",\r\n \"2034\",\r\n \"2035\",\r\n \"2036\",\r\n \"2037\",\r\n \"2038\",\r\n \"2039\",\r\n \"2040\",\r\n \"2041\",\r\n \"2042\",\r\n \"2043\",\r\n \"2044\",\r\n \"2045\",\r\n \"2046\",\r\n \"2047\",\r\n \"2048\",\r\n \"2049\",\r\n \"2050\",\r\n \"2051\",\r\n \"2052\",\r\n \"2053\",\r\n \"2054\",\r\n \"2055\",\r\n \"2056\",\r\n \"2057\",\r\n \"2058\",\r\n \"2059\",\r\n \"2060\",\r\n \"2061\",\r\n \"2062\",\r\n \"2063\",\r\n \"2064\",\r\n \"2065\",\r\n \"2066\",\r\n \"2067\",\r\n \"2068\",\r\n \"2069\",\r\n \"2070\",\r\n \"2071\",\r\n \"2072\",\r\n \"2073\",\r\n \"2074\",\r\n \"2075\",\r\n \"2076\",\r\n \"2077\",\r\n \"2078\",\r\n \"2079\",\r\n \"2080\"\r\n ],\r\n \"prc_gasoline\": [\r\n \"0.47769230799999995\",\r\n \"0.470923077\",\r\n \"0.46415384600000004\",\r\n \"0.457384615\",\r\n \"0.450615385\",\r\n \"0.443846154\",\r\n \"0.43707692299999995\",\r\n \"0.430307692\",\r\n \"0.423538462\",\r\n \"0.416769231\",\r\n \"0.41\",\r\n \"0.4\",\r\n \"0.39\",\r\n \"0.38\",\r\n \"0.37\",\r\n \"0.36\",\r\n \"0.35\",\r\n \"0.34\",\r\n \"0.33\",\r\n \"0.32\",\r\n \"0.31\",\r\n \"0.299134227\",\r\n \"0.287647059\",\r\n \"0.275502959\",\r\n \"0.26266436\",\r\n \"0.249091543\",\r\n \"0.23474252\",\r\n \"0.21957290100000001\",\r\n \"0.20353575699999998\",\r\n \"0.186581477\",\r\n \"0.168657611\",\r\n \"0.14970871\",\r\n \"0.12967615400000002\",\r\n \"0.10849797\",\r\n \"0.086108642\",\r\n \"0.062438908\",\r\n \"0.037415542\",\r\n \"0.010961132\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_diesel\": [\r\n \"0.47769230799999995\",\r\n \"0.470923077\",\r\n \"0.46415384600000004\",\r\n \"0.457384615\",\r\n \"0.450615385\",\r\n \"0.443846154\",\r\n \"0.43707692299999995\",\r\n \"0.430307692\",\r\n \"0.423538462\",\r\n \"0.416769231\",\r\n \"0.41\",\r\n \"0.4\",\r\n \"0.39\",\r\n \"0.38\",\r\n \"0.37\",\r\n \"0.36\",\r\n \"0.35\",\r\n \"0.34\",\r\n \"0.33\",\r\n \"0.32\",\r\n \"0.31\",\r\n \"0.299134227\",\r\n \"0.287647059\",\r\n \"0.275502959\",\r\n \"0.26266436\",\r\n \"0.249091543\",\r\n \"0.23474252\",\r\n \"0.21957290100000001\",\r\n \"0.20353575699999998\",\r\n \"0.186581477\",\r\n \"0.168657611\",\r\n \"0.14970871\",\r\n \"0.12967615400000002\",\r\n \"0.10849797\",\r\n \"0.086108642\",\r\n \"0.062438908\",\r\n \"0.037415542\",\r\n \"0.010961132\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_inchargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_chargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_battery\": [\r\n \"0.044615385\",\r\n \"0.058153845999999995\",\r\n \"0.071692308\",\r\n \"0.085230769\",\r\n \"0.098769231\",\r\n \"0.11230769199999999\",\r\n \"0.12584615400000002\",\r\n \"0.139384615\",\r\n \"0.152923077\",\r\n \"0.16646153800000002\",\r\n \"0.18\",\r\n \"0.2\",\r\n \"0.22\",\r\n \"0.24\",\r\n \"0.26\",\r\n \"0.28\",\r\n \"0.3\",\r\n \"0.32\",\r\n \"0.34\",\r\n \"0.36\",\r\n \"0.38\",\r\n \"0.401731546\",\r\n \"0.42470588200000003\",\r\n \"0.448994081\",\r\n \"0.47467128\",\r\n \"0.501816914\",\r\n \"0.53051496\",\r\n \"0.5608541979999999\",\r\n \"0.592928485\",\r\n \"0.626837045\",\r\n \"0.6626847770000001\",\r\n \"0.70058258\",\r\n \"0.740647692\",\r\n \"0.78300406\",\r\n \"0.827782715\",\r\n \"0.875122185\",\r\n \"0.925168917\",\r\n \"0.9780777359999999\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\"\r\n ],\r\n \"prc_hydrogen\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ]\r\n },\r\n \"fuel_distribution_trucks\": {\r\n \"year\": [\r\n \"2020\",\r\n \"2021\",\r\n \"2022\",\r\n \"2023\",\r\n \"2024\",\r\n \"2025\",\r\n \"2026\",\r\n \"2027\",\r\n \"2028\",\r\n \"2029\",\r\n \"2030\",\r\n \"2031\",\r\n \"2032\",\r\n \"2033\",\r\n \"2034\",\r\n \"2035\",\r\n \"2036\",\r\n \"2037\",\r\n \"2038\",\r\n \"2039\",\r\n \"2040\",\r\n \"2041\",\r\n \"2042\",\r\n \"2043\",\r\n \"2044\",\r\n \"2045\",\r\n \"2046\",\r\n \"2047\",\r\n \"2048\",\r\n \"2049\",\r\n \"2050\",\r\n \"2051\",\r\n \"2052\",\r\n \"2053\",\r\n \"2054\",\r\n \"2055\",\r\n \"2056\",\r\n \"2057\",\r\n \"2058\",\r\n \"2059\",\r\n \"2060\",\r\n \"2061\",\r\n \"2062\",\r\n \"2063\",\r\n \"2064\",\r\n \"2065\",\r\n \"2066\",\r\n \"2067\",\r\n \"2068\",\r\n \"2069\",\r\n \"2070\",\r\n \"2071\",\r\n \"2072\",\r\n \"2073\",\r\n \"2074\",\r\n \"2075\",\r\n \"2076\",\r\n \"2077\",\r\n \"2078\",\r\n \"2079\",\r\n \"2080\"\r\n ],\r\n \"prc_gasoline\": [\r\n \"0.389615385\",\r\n \"0.386153846\",\r\n \"0.382692308\",\r\n \"0.37923076899999997\",\r\n \"0.37576923100000004\",\r\n \"0.372307692\",\r\n \"0.368846154\",\r\n \"0.365384615\",\r\n \"0.36192307700000004\",\r\n \"0.35846153799999997\",\r\n \"0.355\",\r\n \"0.3515\",\r\n \"0.348\",\r\n \"0.3445\",\r\n \"0.341\",\r\n \"0.3375\",\r\n \"0.33399999999999996\",\r\n \"0.3305\",\r\n \"0.327\",\r\n \"0.3235\",\r\n \"0.32\",\r\n \"0.316083613\",\r\n \"0.311860465\",\r\n \"0.307306527\",\r\n \"0.30239589\",\r\n \"0.297100613\",\r\n \"0.291390569\",\r\n \"0.285233271\",\r\n \"0.278593685\",\r\n \"0.271434036\",\r\n \"0.263713588\",\r\n \"0.255388414\",\r\n \"0.246411148\",\r\n \"0.23673071399999998\",\r\n \"0.226292033\",\r\n \"0.215035714\",\r\n \"0.202897713\",\r\n \"0.18980897\",\r\n \"0.175695015\",\r\n \"0.160475546\",\r\n \"0.14406397099999999\",\r\n \"0.126366914\",\r\n \"0.10728368699999999\",\r\n \"0.086705714\",\r\n \"0.064515915\",\r\n \"0.040588039\",\r\n \"0.014785948\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_diesel\": [\r\n \"0.389615385\",\r\n \"0.386153846\",\r\n \"0.382692308\",\r\n \"0.37923076899999997\",\r\n \"0.37576923100000004\",\r\n \"0.372307692\",\r\n \"0.368846154\",\r\n \"0.365384615\",\r\n \"0.36192307700000004\",\r\n \"0.35846153799999997\",\r\n \"0.355\",\r\n \"0.3515\",\r\n \"0.348\",\r\n \"0.3445\",\r\n \"0.341\",\r\n \"0.3375\",\r\n \"0.33399999999999996\",\r\n \"0.3305\",\r\n \"0.327\",\r\n \"0.3235\",\r\n \"0.32\",\r\n \"0.316083613\",\r\n \"0.311860465\",\r\n \"0.307306527\",\r\n \"0.30239589\",\r\n \"0.297100613\",\r\n \"0.291390569\",\r\n \"0.285233271\",\r\n \"0.278593685\",\r\n \"0.271434036\",\r\n \"0.263713588\",\r\n \"0.255388414\",\r\n \"0.246411148\",\r\n \"0.23673071399999998\",\r\n \"0.226292033\",\r\n \"0.215035714\",\r\n \"0.202897713\",\r\n \"0.18980897\",\r\n \"0.175695015\",\r\n \"0.160475546\",\r\n \"0.14406397099999999\",\r\n \"0.126366914\",\r\n \"0.10728368699999999\",\r\n \"0.086705714\",\r\n \"0.064515915\",\r\n \"0.040588039\",\r\n \"0.014785948\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_inchargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_chargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_battery\": [\r\n \"0.006923077\",\r\n \"0.009230769\",\r\n \"0.011538462\",\r\n \"0.013846154\",\r\n \"0.016153846\",\r\n \"0.018461538\",\r\n \"0.020769231000000003\",\r\n \"0.023076923\",\r\n \"0.025384615\",\r\n \"0.027692308\",\r\n \"0.03\",\r\n \"0.037000000000000005\",\r\n \"0.044000000000000004\",\r\n \"0.051\",\r\n \"0.057999999999999996\",\r\n \"0.065\",\r\n \"0.07200000000000001\",\r\n \"0.079\",\r\n \"0.086\",\r\n \"0.09300000000000001\",\r\n \"0.1\",\r\n \"0.107832773\",\r\n \"0.11627907\",\r\n \"0.125386946\",\r\n \"0.135208221\",\r\n \"0.145798774\",\r\n \"0.157218861\",\r\n \"0.169533458\",\r\n \"0.18281262899999998\",\r\n \"0.197131928\",\r\n \"0.212572825\",\r\n \"0.229223172\",\r\n \"0.247177703\",\r\n \"0.266538572\",\r\n \"0.287415934\",\r\n \"0.309928572\",\r\n \"0.334204574\",\r\n \"0.36038206100000003\",\r\n \"0.38860997\",\r\n \"0.419048908\",\r\n \"0.45187205799999997\",\r\n \"0.48726617200000005\",\r\n \"0.5254326260000001\",\r\n \"0.566588572\",\r\n \"0.61096817\",\r\n \"0.658823921\",\r\n \"0.710428105\",\r\n \"0.7466070509999999\",\r\n \"0.760606775\",\r\n \"0.7740670909999999\",\r\n \"0.786982535\",\r\n \"0.79935105\",\r\n \"0.811173719\",\r\n \"0.8224544979999999\",\r\n \"0.833199925\",\r\n \"0.8434188290000001\",\r\n \"0.85312204\",\r\n \"0.8623221059999999\",\r\n \"0.871033017\",\r\n \"0.8792699509999999\",\r\n \"0.887049022\"\r\n ],\r\n \"prc_hydrogen\": [\r\n \"0.21384615399999998\",\r\n \"0.218461538\",\r\n \"0.223076923\",\r\n \"0.227692308\",\r\n \"0.23230769199999998\",\r\n \"0.23692307699999998\",\r\n \"0.24153846199999998\",\r\n \"0.246153846\",\r\n \"0.25076923100000004\",\r\n \"0.255384615\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.253392949\",\r\n \"0.239393225\",\r\n \"0.225932909\",\r\n \"0.213017465\",\r\n \"0.20064895\",\r\n \"0.188826281\",\r\n \"0.177545502\",\r\n \"0.166800075\",\r\n \"0.156581171\",\r\n \"0.14687796\",\r\n \"0.137677894\",\r\n \"0.128966983\",\r\n \"0.120730049\",\r\n \"0.11295097800000001\"\r\n ]\r\n },\r\n \"sensitivity_param_factors\": {\r\n \"speed\": 1,\r\n \"fuelprice\": 1,\r\n \"emission\": 1,\r\n \"AADTheavy\": 1\r\n },\r\n \"presumptions\": {\r\n \"Speed_car\": 80,\r\n \"Speed_truck\": 80,\r\n \"cost_increase\": 0.01,\r\n \"gasoline_fuelfactor\": 1,\r\n \"gasoline_co2\": 2.85,\r\n \"gasoline_kwh\": 9.1,\r\n \"gasoline_efficiency\": 0.25,\r\n \"gasoline_cost\": 16,\r\n \"diesel_fuelfactor\": 1,\r\n \"diesel_co2\": 2.73,\r\n \"diesel_kwh\": 9.8,\r\n \"diesel_efficiency\": 0.35,\r\n \"diesel_cost\": 16,\r\n \"battery_fuelfactor\": 0,\r\n \"battery_co2\": 0.0,\r\n \"battery_kwh\": 9.8,\r\n \"battery_efficiency\": 1,\r\n \"battery_cost\": 0,\r\n \"inchargeable_hybrid_fuelfactor\": 1,\r\n \"inchargeable_hybrid_co2\": 2.85,\r\n \"inchargeable_hybrid_kwh\": 9.8,\r\n \"inchargeable_hybrid_efficiency\": 0.35,\r\n \"inchargeable_hybrid_cost\": 16,\r\n \"chargeable_hybrid_fuelfactor\": 1,\r\n \"chargeable_hybrid_co2\": 2.85,\r\n \"chargeable_hybrid_kwh\": 9.8,\r\n \"chargeable_hybrid_efficiency\": 0.35,\r\n \"chargeable_hybrid_cost\": 16,\r\n \"hydrogen_fuelfactor\": 0,\r\n \"hydrogen_co2\": 0.0,\r\n \"hydrogen_kwh\": 9.8,\r\n \"hydrogen_efficiency\": 1,\r\n \"hydrogen_cost\": 0,\r\n \"iri\": 1.0,\r\n \"mpd\": 1.0\r\n },\r\n \"segments\": [\r\n {\r\n \"segment_id\": 1,\r\n \"directions_id\": 590,\r\n \"year\": 2020,\r\n \"aadt\": 20000,\r\n \"prc_heavy\": 10,\r\n \"aadt_cars\": 18000,\r\n \"aadt_trucks\": 1500,\r\n \"aadt_trucks_with_trailer\": 500,\r\n \"annual_increase_cars\": 1,\r\n \"annual_increase_heavy\": 1.5,\r\n \"segment_order_no\": 1\r\n }\r\n ],\r\n \"segments_data\": [\r\n {\r\n \"segment_data_id\": 590,\r\n \"chainage\": 140,\r\n \"zlevel\": 41.08,\r\n \"radius\": 117.027,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 591,\r\n \"chainage\": 160,\r\n \"zlevel\": 41.02,\r\n \"radius\": 200.421,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 592,\r\n \"chainage\": 180,\r\n \"zlevel\": 40.96,\r\n \"radius\": 697.38,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 593,\r\n \"chainage\": 280,\r\n \"zlevel\": 40.66,\r\n \"radius\": 3910.82,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 594,\r\n \"chainage\": 300,\r\n \"zlevel\": 40.6,\r\n \"radius\": 1658.586,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 595,\r\n \"chainage\": 320,\r\n \"zlevel\": 40.54,\r\n \"radius\": 1052.471,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 596,\r\n \"chainage\": 326,\r\n \"zlevel\": 40.523,\r\n \"radius\": 955.322,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 597,\r\n \"chainage\": 340,\r\n \"zlevel\": 40.465,\r\n \"radius\": 770.792,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 598,\r\n \"chainage\": 343,\r\n \"zlevel\": 40.449,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 599,\r\n \"chainage\": 360,\r\n \"zlevel\": 40.335,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 600,\r\n \"chainage\": 380,\r\n \"zlevel\": 40.148,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 601,\r\n \"chainage\": 400,\r\n \"zlevel\": 39.904,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 602,\r\n \"chainage\": 415,\r\n \"zlevel\": 39.687,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 603,\r\n \"chainage\": 420,\r\n \"zlevel\": 39.603,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 604,\r\n \"chainage\": 440,\r\n \"zlevel\": 39.245,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 605,\r\n \"chainage\": 460,\r\n \"zlevel\": 38.829,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 606,\r\n \"chainage\": 480,\r\n \"zlevel\": 38.356,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 607,\r\n \"chainage\": 500,\r\n \"zlevel\": 37.826,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 608,\r\n \"chainage\": 503,\r\n \"zlevel\": 37.743,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 609,\r\n \"chainage\": 504,\r\n \"zlevel\": 37.714,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 610,\r\n \"chainage\": 520,\r\n \"zlevel\": 37.257,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 611,\r\n \"chainage\": 540,\r\n \"zlevel\": 36.687,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 612,\r\n \"chainage\": 560,\r\n \"zlevel\": 36.117,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 613,\r\n \"chainage\": 580,\r\n \"zlevel\": 35.547,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 614,\r\n \"chainage\": 600,\r\n \"zlevel\": 34.977,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 615,\r\n \"chainage\": 620,\r\n \"zlevel\": 34.407,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 616,\r\n \"chainage\": 640,\r\n \"zlevel\": 33.837,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 617,\r\n \"chainage\": 660,\r\n \"zlevel\": 33.267,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 618,\r\n \"chainage\": 663,\r\n \"zlevel\": 33.187,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 619,\r\n \"chainage\": 680,\r\n \"zlevel\": 32.697,\r\n \"radius\": 949.609,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 620,\r\n \"chainage\": 700,\r\n \"zlevel\": 32.127,\r\n \"radius\": 1416.746,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 621,\r\n \"chainage\": 720,\r\n \"zlevel\": 31.557,\r\n \"radius\": 2788.462,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 622,\r\n \"chainage\": 740,\r\n \"zlevel\": 30.987,\r\n \"radius\": 87731.395,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 623,\r\n \"chainage\": 820,\r\n \"zlevel\": 28.707,\r\n \"radius\": 4690.028,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 624,\r\n \"chainage\": 840,\r\n \"zlevel\": 28.137,\r\n \"radius\": 1738.003,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 625,\r\n \"chainage\": 860,\r\n \"zlevel\": 27.567,\r\n \"radius\": 1066.635,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 626,\r\n \"chainage\": 880,\r\n \"zlevel\": 26.997,\r\n \"radius\": 769.419,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 627,\r\n \"chainage\": 900,\r\n \"zlevel\": 26.441,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 628,\r\n \"chainage\": 900,\r\n \"zlevel\": 26.427,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 629,\r\n \"chainage\": 920,\r\n \"zlevel\": 25.857,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 630,\r\n \"chainage\": 940,\r\n \"zlevel\": 25.287,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 631,\r\n \"chainage\": 960,\r\n \"zlevel\": 24.717,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 632,\r\n \"chainage\": 980,\r\n \"zlevel\": 24.147,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 633,\r\n \"chainage\": 1000,\r\n \"zlevel\": 23.577,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 634,\r\n \"chainage\": 1020,\r\n \"zlevel\": 23.007,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 635,\r\n \"chainage\": 1040,\r\n \"zlevel\": 22.437,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 636,\r\n \"chainage\": 1060,\r\n \"zlevel\": 21.867,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 637,\r\n \"chainage\": 1080,\r\n \"zlevel\": 21.297,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 638,\r\n \"chainage\": 1100,\r\n \"zlevel\": 20.727,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 639,\r\n \"chainage\": 1120,\r\n \"zlevel\": 20.157,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 640,\r\n \"chainage\": 1140,\r\n \"zlevel\": 19.587,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 641,\r\n \"chainage\": 1160,\r\n \"zlevel\": 19.017,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 642,\r\n \"chainage\": 1180,\r\n \"zlevel\": 18.447,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 643,\r\n \"chainage\": 1200,\r\n \"zlevel\": 17.877,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 644,\r\n \"chainage\": 1220,\r\n \"zlevel\": 17.307,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 645,\r\n \"chainage\": 1240,\r\n \"zlevel\": 16.737,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 646,\r\n \"chainage\": 1252,\r\n \"zlevel\": 16.401,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 647,\r\n \"chainage\": 1260,\r\n \"zlevel\": 16.167,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 648,\r\n \"chainage\": 1280,\r\n \"zlevel\": 15.597,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 649,\r\n \"chainage\": 1300,\r\n \"zlevel\": 15.027,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 650,\r\n \"chainage\": 1320,\r\n \"zlevel\": 14.457,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 651,\r\n \"chainage\": 1340,\r\n \"zlevel\": 13.887,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 652,\r\n \"chainage\": 1360,\r\n \"zlevel\": 13.317,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 653,\r\n \"chainage\": 1380,\r\n \"zlevel\": 12.747,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 654,\r\n \"chainage\": 1400,\r\n \"zlevel\": 12.177,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 655,\r\n \"chainage\": 1409,\r\n \"zlevel\": 11.913,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 656,\r\n \"chainage\": 1420,\r\n \"zlevel\": 11.624,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 657,\r\n \"chainage\": 1440,\r\n \"zlevel\": 11.172,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 658,\r\n \"chainage\": 1460,\r\n \"zlevel\": 10.835,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 659,\r\n \"chainage\": 1480,\r\n \"zlevel\": 10.612,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 660,\r\n \"chainage\": 1496,\r\n \"zlevel\": 10.517,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 661,\r\n \"chainage\": 1500,\r\n \"zlevel\": 10.504,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 662,\r\n \"chainage\": 1509,\r\n \"zlevel\": 10.492,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 663,\r\n \"chainage\": 1520,\r\n \"zlevel\": 10.51,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 664,\r\n \"chainage\": 1540,\r\n \"zlevel\": 10.63,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 665,\r\n \"chainage\": 1560,\r\n \"zlevel\": 10.864,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 666,\r\n \"chainage\": 1580,\r\n \"zlevel\": 11.213,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 667,\r\n \"chainage\": 1582,\r\n \"zlevel\": 11.264,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 668,\r\n \"chainage\": 1600,\r\n \"zlevel\": 11.632,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 669,\r\n \"chainage\": 1604,\r\n \"zlevel\": 11.718,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 670,\r\n \"chainage\": 1620,\r\n \"zlevel\": 12.052,\r\n \"radius\": 784.742,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 671,\r\n \"chainage\": 1640,\r\n \"zlevel\": 12.472,\r\n \"radius\": 1252.51,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 672,\r\n \"chainage\": 1660,\r\n \"zlevel\": 12.892,\r\n \"radius\": 3100.875,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 673,\r\n \"chainage\": 1680,\r\n \"zlevel\": 13.312,\r\n \"radius\": 5308.363,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 674,\r\n \"chainage\": 1700,\r\n \"zlevel\": 13.732,\r\n \"radius\": 1294.079,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 675,\r\n \"chainage\": 1720,\r\n \"zlevel\": 14.152,\r\n \"radius\": 736.855,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 676,\r\n \"chainage\": 1740,\r\n \"zlevel\": 14.572,\r\n \"radius\": 515.069,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 677,\r\n \"chainage\": 1742,\r\n \"zlevel\": 14.614,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 678,\r\n \"chainage\": 1760,\r\n \"zlevel\": 14.992,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 679,\r\n \"chainage\": 1780,\r\n \"zlevel\": 15.412,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 680,\r\n \"chainage\": 1800,\r\n \"zlevel\": 15.832,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 681,\r\n \"chainage\": 1820,\r\n \"zlevel\": 16.252,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 682,\r\n \"chainage\": 1833,\r\n \"zlevel\": 16.528,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 683,\r\n \"chainage\": 1840,\r\n \"zlevel\": 16.672,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 684,\r\n \"chainage\": 1860,\r\n \"zlevel\": 17.092,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 685,\r\n \"chainage\": 1880,\r\n \"zlevel\": 17.512,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 686,\r\n \"chainage\": 1900,\r\n \"zlevel\": 17.932,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 687,\r\n \"chainage\": 1920,\r\n \"zlevel\": 18.352,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 688,\r\n \"chainage\": 1924,\r\n \"zlevel\": 18.442,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 689,\r\n \"chainage\": 1940,\r\n \"zlevel\": 18.772,\r\n \"radius\": 648.83,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 690,\r\n \"chainage\": 1960,\r\n \"zlevel\": 19.192,\r\n \"radius\": 1045.076,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 691,\r\n \"chainage\": 1980,\r\n \"zlevel\": 19.612,\r\n \"radius\": 2684.566,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 692,\r\n \"chainage\": 2000,\r\n \"zlevel\": 20.032,\r\n \"radius\": 7943.515,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 693,\r\n \"chainage\": 2017,\r\n \"zlevel\": 20.399,\r\n \"radius\": 2328.671,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 694,\r\n \"chainage\": 2020,\r\n \"zlevel\": 20.452,\r\n \"radius\": 2113.669,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 695,\r\n \"chainage\": 2034,\r\n \"zlevel\": 20.722,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 696,\r\n \"chainage\": 2040,\r\n \"zlevel\": 20.821,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 697,\r\n \"chainage\": 2060,\r\n \"zlevel\": 21.111,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 698,\r\n \"chainage\": 2080,\r\n \"zlevel\": 21.321,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 699,\r\n \"chainage\": 2100,\r\n \"zlevel\": 21.451,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 700,\r\n \"chainage\": 2120,\r\n \"zlevel\": 21.501,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 701,\r\n \"chainage\": 2122,\r\n \"zlevel\": 21.501,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 702,\r\n \"chainage\": 2140,\r\n \"zlevel\": 21.471,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 703,\r\n \"chainage\": 2140,\r\n \"zlevel\": 21.471,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 704,\r\n \"chainage\": 2160,\r\n \"zlevel\": 21.361,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 705,\r\n \"chainage\": 2180,\r\n \"zlevel\": 21.17,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 706,\r\n \"chainage\": 2200,\r\n \"zlevel\": 20.9,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 707,\r\n \"chainage\": 2220,\r\n \"zlevel\": 20.552,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 708,\r\n \"chainage\": 2220,\r\n \"zlevel\": 20.55,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 709,\r\n \"chainage\": 2240,\r\n \"zlevel\": 20.12,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 710,\r\n \"chainage\": 2260,\r\n \"zlevel\": 19.609,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 711,\r\n \"chainage\": 2262,\r\n \"zlevel\": 19.543,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 712,\r\n \"chainage\": 2280,\r\n \"zlevel\": 19.05,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 713,\r\n \"chainage\": 2300,\r\n \"zlevel\": 18.49,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 714,\r\n \"chainage\": 2320,\r\n \"zlevel\": 17.93,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 715,\r\n \"chainage\": 2340,\r\n \"zlevel\": 17.37,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 716,\r\n \"chainage\": 2360,\r\n \"zlevel\": 16.81,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 717,\r\n \"chainage\": 2380,\r\n \"zlevel\": 16.25,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 718,\r\n \"chainage\": 2400,\r\n \"zlevel\": 15.69,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 719,\r\n \"chainage\": 2406,\r\n \"zlevel\": 15.532,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 720,\r\n \"chainage\": 2420,\r\n \"zlevel\": 15.13,\r\n \"radius\": 2127.496,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 721,\r\n \"chainage\": 2440,\r\n \"zlevel\": 14.57,\r\n \"radius\": 8142.395,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 722,\r\n \"chainage\": 2460,\r\n \"zlevel\": 14.01,\r\n \"radius\": 3094.559,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 723,\r\n \"chainage\": 2480,\r\n \"zlevel\": 13.45,\r\n \"radius\": 1214.849,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 724,\r\n \"chainage\": 2500,\r\n \"zlevel\": 12.89,\r\n \"radius\": 755.773,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 725,\r\n \"chainage\": 2507,\r\n \"zlevel\": 12.692,\r\n \"radius\": 666.788,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 726,\r\n \"chainage\": 2520,\r\n \"zlevel\": 12.34,\r\n \"radius\": 548.502,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 727,\r\n \"chainage\": 2529,\r\n \"zlevel\": 12.116,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 728,\r\n \"chainage\": 2540,\r\n \"zlevel\": 11.838,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 729,\r\n \"chainage\": 2560,\r\n \"zlevel\": 11.385,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 730,\r\n \"chainage\": 2580,\r\n \"zlevel\": 10.983,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 731,\r\n \"chainage\": 2600,\r\n \"zlevel\": 10.63,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 732,\r\n \"chainage\": 2604,\r\n \"zlevel\": 10.56,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 733,\r\n \"chainage\": 2620,\r\n \"zlevel\": 10.328,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 734,\r\n \"chainage\": 2640,\r\n \"zlevel\": 10.075,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 735,\r\n \"chainage\": 2659,\r\n \"zlevel\": 9.882,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 736,\r\n \"chainage\": 2660,\r\n \"zlevel\": 9.873,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 737,\r\n \"chainage\": 2680,\r\n \"zlevel\": 9.72,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 738,\r\n \"chainage\": 2680,\r\n \"zlevel\": 9.72,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 739,\r\n \"chainage\": 2700,\r\n \"zlevel\": 9.618,\r\n \"radius\": 600.941,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 740,\r\n \"chainage\": 2720,\r\n \"zlevel\": 9.566,\r\n \"radius\": 777.614,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 741,\r\n \"chainage\": 2731,\r\n \"zlevel\": 9.558,\r\n \"radius\": 927.205,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 742,\r\n \"chainage\": 2740,\r\n \"zlevel\": 9.563,\r\n \"radius\": 1101.427,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 743,\r\n \"chainage\": 2760,\r\n \"zlevel\": 9.611,\r\n \"radius\": 1887.357,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 744,\r\n \"chainage\": 2780,\r\n \"zlevel\": 9.708,\r\n \"radius\": 6588.939,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 745,\r\n \"chainage\": 2940,\r\n \"zlevel\": 11.248,\r\n \"radius\": 3627.347,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 746,\r\n \"chainage\": 2960,\r\n \"zlevel\": 11.448,\r\n \"radius\": 1605.379,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 747,\r\n \"chainage\": 2980,\r\n \"zlevel\": 11.648,\r\n \"radius\": 1030.792,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 748,\r\n \"chainage\": 2990,\r\n \"zlevel\": 11.751,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 749,\r\n \"chainage\": 3000,\r\n \"zlevel\": 11.848,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 750,\r\n \"chainage\": 3020,\r\n \"zlevel\": 12.048,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 751,\r\n \"chainage\": 3040,\r\n \"zlevel\": 12.248,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 752,\r\n \"chainage\": 3060,\r\n \"zlevel\": 12.448,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 753,\r\n \"chainage\": 3080,\r\n \"zlevel\": 12.648,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 754,\r\n \"chainage\": 3100,\r\n \"zlevel\": 12.848,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 755,\r\n \"chainage\": 3120,\r\n \"zlevel\": 13.047,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 756,\r\n \"chainage\": 3140,\r\n \"zlevel\": 13.247,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 757,\r\n \"chainage\": 3160,\r\n \"zlevel\": 13.447,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 758,\r\n \"chainage\": 3178,\r\n \"zlevel\": 13.632,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 759,\r\n \"chainage\": 3180,\r\n \"zlevel\": 13.647,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 760,\r\n \"chainage\": 3200,\r\n \"zlevel\": 13.847,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 761,\r\n \"chainage\": 3220,\r\n \"zlevel\": 14.047,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 762,\r\n \"chainage\": 3240,\r\n \"zlevel\": 14.247,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 763,\r\n \"chainage\": 3260,\r\n \"zlevel\": 14.447,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 764,\r\n \"chainage\": 3280,\r\n \"zlevel\": 14.647,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 765,\r\n \"chainage\": 3300,\r\n \"zlevel\": 14.847,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 766,\r\n \"chainage\": 3320,\r\n \"zlevel\": 15.047,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 767,\r\n \"chainage\": 3340,\r\n \"zlevel\": 15.247,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 768,\r\n \"chainage\": 3360,\r\n \"zlevel\": 15.447,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 769,\r\n \"chainage\": 3367,\r\n \"zlevel\": 15.513,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 770,\r\n \"chainage\": 3380,\r\n \"zlevel\": 15.647,\r\n \"radius\": 998.912,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 771,\r\n \"chainage\": 3400,\r\n \"zlevel\": 15.847,\r\n \"radius\": 1283.916,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 772,\r\n \"chainage\": 3420,\r\n \"zlevel\": 16.047,\r\n \"radius\": 1796.478,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 773,\r\n \"chainage\": 3440,\r\n \"zlevel\": 16.247,\r\n \"radius\": 2990.229,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 774,\r\n \"chainage\": 3460,\r\n \"zlevel\": 16.447,\r\n \"radius\": 8912.629,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 775,\r\n \"chainage\": 3840,\r\n \"zlevel\": 15.227,\r\n \"radius\": 7748.77,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 776,\r\n \"chainage\": 3860,\r\n \"zlevel\": 14.907,\r\n \"radius\": 1907.98,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 777,\r\n \"chainage\": 3880,\r\n \"zlevel\": 14.587,\r\n \"radius\": 1087.931,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 778,\r\n \"chainage\": 3897,\r\n \"zlevel\": 14.319,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 779,\r\n \"chainage\": 3900,\r\n \"zlevel\": 14.267,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 780,\r\n \"chainage\": 3920,\r\n \"zlevel\": 13.947,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 781,\r\n \"chainage\": 3940,\r\n \"zlevel\": 13.627,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 782,\r\n \"chainage\": 3960,\r\n \"zlevel\": 13.307,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 783,\r\n \"chainage\": 3980,\r\n \"zlevel\": 12.987,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 784,\r\n \"chainage\": 3983,\r\n \"zlevel\": 12.935,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 785,\r\n \"chainage\": 4000,\r\n \"zlevel\": 12.667,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 786,\r\n \"chainage\": 4020,\r\n \"zlevel\": 12.347,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 787,\r\n \"chainage\": 4040,\r\n \"zlevel\": 12.027,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 788,\r\n \"chainage\": 4060,\r\n \"zlevel\": 11.707,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 789,\r\n \"chainage\": 4070,\r\n \"zlevel\": 11.552,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 790,\r\n \"chainage\": 4080,\r\n \"zlevel\": 11.387,\r\n \"radius\": 956.509,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 791,\r\n \"chainage\": 4100,\r\n \"zlevel\": 11.067,\r\n \"radius\": 1537.5,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 792,\r\n \"chainage\": 4120,\r\n \"zlevel\": 10.747,\r\n \"radius\": 3916.276,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 793,\r\n \"chainage\": 4140,\r\n \"zlevel\": 10.427,\r\n \"radius\": 8143.435,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 794,\r\n \"chainage\": 4160,\r\n \"zlevel\": 10.107,\r\n \"radius\": 2127.566,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 795,\r\n \"chainage\": 4180,\r\n \"zlevel\": 9.787,\r\n \"radius\": 1223.626,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 796,\r\n \"chainage\": 4200,\r\n \"zlevel\": 9.467,\r\n \"radius\": 858.763,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 797,\r\n \"chainage\": 4220,\r\n \"zlevel\": 9.147,\r\n \"radius\": 661.512,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 798,\r\n \"chainage\": 4222,\r\n \"zlevel\": 9.111,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 799,\r\n \"chainage\": 4240,\r\n \"zlevel\": 8.827,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 800,\r\n \"chainage\": 4260,\r\n \"zlevel\": 8.507,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 801,\r\n \"chainage\": 4280,\r\n \"zlevel\": 8.187,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 802,\r\n \"chainage\": 4300,\r\n \"zlevel\": 7.867,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 803,\r\n \"chainage\": 4306,\r\n \"zlevel\": 7.768,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 804,\r\n \"chainage\": 4320,\r\n \"zlevel\": 7.563,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 805,\r\n \"chainage\": 4340,\r\n \"zlevel\": 7.322,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 806,\r\n \"chainage\": 4360,\r\n \"zlevel\": 7.148,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 807,\r\n \"chainage\": 4380,\r\n \"zlevel\": 7.041,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 808,\r\n \"chainage\": 4400,\r\n \"zlevel\": 7.001,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 809,\r\n \"chainage\": 4402,\r\n \"zlevel\": 7,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 810,\r\n \"chainage\": 4420,\r\n \"zlevel\": 7.027,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 811,\r\n \"chainage\": 4423,\r\n \"zlevel\": 7.037,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 812,\r\n \"chainage\": 4440,\r\n \"zlevel\": 7.12,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 813,\r\n \"chainage\": 4460,\r\n \"zlevel\": 7.28,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 814,\r\n \"chainage\": 4480,\r\n \"zlevel\": 7.506,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 815,\r\n \"chainage\": 4500,\r\n \"zlevel\": 7.799,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 816,\r\n \"chainage\": 4520,\r\n \"zlevel\": 8.158,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 817,\r\n \"chainage\": 4540,\r\n \"zlevel\": 8.585,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 818,\r\n \"chainage\": 4540,\r\n \"zlevel\": 8.587,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 819,\r\n \"chainage\": 4560,\r\n \"zlevel\": 9.045,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 820,\r\n \"chainage\": 4566,\r\n \"zlevel\": 9.191,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 821,\r\n \"chainage\": 4580,\r\n \"zlevel\": 9.505,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 822,\r\n \"chainage\": 4600,\r\n \"zlevel\": 9.965,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 823,\r\n \"chainage\": 4620,\r\n \"zlevel\": 10.425,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 824,\r\n \"chainage\": 4640,\r\n \"zlevel\": 10.885,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 825,\r\n \"chainage\": 4660,\r\n \"zlevel\": 11.345,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 826,\r\n \"chainage\": 4680,\r\n \"zlevel\": 11.805,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 827,\r\n \"chainage\": 4700,\r\n \"zlevel\": 12.265,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 828,\r\n \"chainage\": 4720,\r\n \"zlevel\": 12.725,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 829,\r\n \"chainage\": 4740,\r\n \"zlevel\": 13.185,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 830,\r\n \"chainage\": 4760,\r\n \"zlevel\": 13.645,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 831,\r\n \"chainage\": 4780,\r\n \"zlevel\": 14.105,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 832,\r\n \"chainage\": 4800,\r\n \"zlevel\": 14.565,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 833,\r\n \"chainage\": 4820,\r\n \"zlevel\": 15.025,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 834,\r\n \"chainage\": 4840,\r\n \"zlevel\": 15.485,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 835,\r\n \"chainage\": 4860,\r\n \"zlevel\": 15.945,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 836,\r\n \"chainage\": 4880,\r\n \"zlevel\": 16.405,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 837,\r\n \"chainage\": 4900,\r\n \"zlevel\": 16.865,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 838,\r\n \"chainage\": 4910,\r\n \"zlevel\": 17.105,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 839,\r\n \"chainage\": 4920,\r\n \"zlevel\": 17.325,\r\n \"radius\": 722.061,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 840,\r\n \"chainage\": 4940,\r\n \"zlevel\": 17.785,\r\n \"radius\": 963.667,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 841,\r\n \"chainage\": 4960,\r\n \"zlevel\": 18.245,\r\n \"radius\": 1448.266,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 842,\r\n \"chainage\": 4980,\r\n \"zlevel\": 18.705,\r\n \"radius\": 2913.256,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 843,\r\n \"chainage\": 5440,\r\n \"zlevel\": 36.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 844,\r\n \"chainage\": 5460,\r\n \"zlevel\": 37.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 845,\r\n \"chainage\": 5480,\r\n \"zlevel\": 38.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 846,\r\n \"chainage\": 5491,\r\n \"zlevel\": 39.019,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 847,\r\n \"chainage\": 5500,\r\n \"zlevel\": 39.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 848,\r\n \"chainage\": 5520,\r\n \"zlevel\": 40.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 849,\r\n \"chainage\": 5540,\r\n \"zlevel\": 41.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 850,\r\n \"chainage\": 5548,\r\n \"zlevel\": 41.898,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 851,\r\n \"chainage\": 5560,\r\n \"zlevel\": 42.48,\r\n \"radius\": 827.634,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 852,\r\n \"chainage\": 5580,\r\n \"zlevel\": 43.48,\r\n \"radius\": 1204.542,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 853,\r\n \"chainage\": 5600,\r\n \"zlevel\": 44.48,\r\n \"radius\": 2211.805,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 854,\r\n \"chainage\": 5620,\r\n \"zlevel\": 45.48,\r\n \"radius\": 13504.82,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 855,\r\n \"chainage\": 6600,\r\n \"zlevel\": 43.739,\r\n \"radius\": 2921.033,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 856,\r\n \"chainage\": 6620,\r\n \"zlevel\": 42.739,\r\n \"radius\": 1450.186,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 857,\r\n \"chainage\": 6640,\r\n \"zlevel\": 41.739,\r\n \"radius\": 964.516,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 858,\r\n \"chainage\": 6648,\r\n \"zlevel\": 41.337,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 859,\r\n \"chainage\": 6660,\r\n \"zlevel\": 40.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 860,\r\n \"chainage\": 6680,\r\n \"zlevel\": 39.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 861,\r\n \"chainage\": 6700,\r\n \"zlevel\": 38.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 862,\r\n \"chainage\": 6720,\r\n \"zlevel\": 37.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 863,\r\n \"chainage\": 6728,\r\n \"zlevel\": 37.36,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 864,\r\n \"chainage\": 6740,\r\n \"zlevel\": 36.752,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 865,\r\n \"chainage\": 6760,\r\n \"zlevel\": 35.816,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 866,\r\n \"chainage\": 6776,\r\n \"zlevel\": 35.126,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 867,\r\n \"chainage\": 6780,\r\n \"zlevel\": 34.938,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 868,\r\n \"chainage\": 6800,\r\n \"zlevel\": 34.117,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 869,\r\n \"chainage\": 6820,\r\n \"zlevel\": 33.353,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 870,\r\n \"chainage\": 6840,\r\n \"zlevel\": 32.647,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 871,\r\n \"chainage\": 6850,\r\n \"zlevel\": 32.323,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 872,\r\n \"chainage\": 6860,\r\n \"zlevel\": 31.998,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 873,\r\n \"chainage\": 6880,\r\n \"zlevel\": 31.406,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 874,\r\n \"chainage\": 6900,\r\n \"zlevel\": 30.871,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 875,\r\n \"chainage\": 6903,\r\n \"zlevel\": 30.793,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 876,\r\n \"chainage\": 6920,\r\n \"zlevel\": 30.394,\r\n \"radius\": 1165.745,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 877,\r\n \"chainage\": 6940,\r\n \"zlevel\": 29.974,\r\n \"radius\": 2084.425,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 878,\r\n \"chainage\": 6960,\r\n \"zlevel\": 29.61,\r\n \"radius\": 9835.083,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 879,\r\n \"chainage\": 6972,\r\n \"zlevel\": 29.419,\r\n \"radius\": 8588.7,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 880,\r\n \"chainage\": 6980,\r\n \"zlevel\": 29.3,\r\n \"radius\": 3939.459,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 881,\r\n \"chainage\": 7000,\r\n \"zlevel\": 29,\r\n \"radius\": 1663.716,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 882,\r\n \"chainage\": 7020,\r\n \"zlevel\": 28.7,\r\n \"radius\": 1054.534,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 883,\r\n \"chainage\": 7026,\r\n \"zlevel\": 28.61,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 884,\r\n \"chainage\": 7040,\r\n \"zlevel\": 28.4,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 885,\r\n \"chainage\": 7060,\r\n \"zlevel\": 28.1,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 886,\r\n \"chainage\": 7080,\r\n \"zlevel\": 27.8,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 887,\r\n \"chainage\": 7100,\r\n \"zlevel\": 27.5,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 888,\r\n \"chainage\": 7120,\r\n \"zlevel\": 27.2,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 889,\r\n \"chainage\": 7140,\r\n \"zlevel\": 26.9,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 890,\r\n \"chainage\": 7160,\r\n \"zlevel\": 26.6,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 891,\r\n \"chainage\": 7180,\r\n \"zlevel\": 26.3,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 892,\r\n \"chainage\": 7200,\r\n \"zlevel\": 26,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 893,\r\n \"chainage\": 7220,\r\n \"zlevel\": 25.7,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 894,\r\n \"chainage\": 7240,\r\n \"zlevel\": 25.4,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 895,\r\n \"chainage\": 7260,\r\n \"zlevel\": 25.1,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 896,\r\n \"chainage\": 7280,\r\n \"zlevel\": 24.8,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 897,\r\n \"chainage\": 7300,\r\n \"zlevel\": 24.5,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 898,\r\n \"chainage\": 7320,\r\n \"zlevel\": 24.2,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 899,\r\n \"chainage\": 7332,\r\n \"zlevel\": 24.017,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 900,\r\n \"chainage\": 7340,\r\n \"zlevel\": 23.9,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 901,\r\n \"chainage\": 7360,\r\n \"zlevel\": 23.6,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 902,\r\n \"chainage\": 7380,\r\n \"zlevel\": 23.3,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 903,\r\n \"chainage\": 7400,\r\n \"zlevel\": 23,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 904,\r\n \"chainage\": 7420,\r\n \"zlevel\": 22.7,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 905,\r\n \"chainage\": 7440,\r\n \"zlevel\": 22.4,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 906,\r\n \"chainage\": 7447,\r\n \"zlevel\": 22.301,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 907,\r\n \"chainage\": 7460,\r\n \"zlevel\": 22.111,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 908,\r\n \"chainage\": 7480,\r\n \"zlevel\": 21.87,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 909,\r\n \"chainage\": 7500,\r\n \"zlevel\": 21.678,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 910,\r\n \"chainage\": 7520,\r\n \"zlevel\": 21.537,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 911,\r\n \"chainage\": 7540,\r\n \"zlevel\": 21.445,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 912,\r\n \"chainage\": 7555,\r\n \"zlevel\": 21.41,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 913,\r\n \"chainage\": 7560,\r\n \"zlevel\": 21.404,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 914,\r\n \"chainage\": 7567,\r\n \"zlevel\": 21.401,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 915,\r\n \"chainage\": 7580,\r\n \"zlevel\": 21.413,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 916,\r\n \"chainage\": 7600,\r\n \"zlevel\": 21.471,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 917,\r\n \"chainage\": 7620,\r\n \"zlevel\": 21.58,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 918,\r\n \"chainage\": 7638,\r\n \"zlevel\": 21.723,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 919,\r\n \"chainage\": 7640,\r\n \"zlevel\": 21.738,\r\n \"radius\": 974.843,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 920,\r\n \"chainage\": 7660,\r\n \"zlevel\": 21.947,\r\n \"radius\": 1416.819,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 921,\r\n \"chainage\": 7663,\r\n \"zlevel\": 21.977,\r\n \"radius\": 1504.533,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 922,\r\n \"chainage\": 7680,\r\n \"zlevel\": 22.186,\r\n \"radius\": 2591.973,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 923,\r\n \"chainage\": 7700,\r\n \"zlevel\": 22.426,\r\n \"radius\": 15196.068,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 924,\r\n \"chainage\": 8031,\r\n \"zlevel\": 27.205,\r\n \"radius\": 7415.366,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 925,\r\n \"chainage\": 8040,\r\n \"zlevel\": 27.505,\r\n \"radius\": 3358.169,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 926,\r\n \"chainage\": 8060,\r\n \"zlevel\": 28.212,\r\n \"radius\": 1550.379,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 927,\r\n \"chainage\": 8080,\r\n \"zlevel\": 29.007,\r\n \"radius\": 1007.835,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 928,\r\n \"chainage\": 8091,\r\n \"zlevel\": 29.465,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 929,\r\n \"chainage\": 8100,\r\n \"zlevel\": 29.891,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 930,\r\n \"chainage\": 8116,\r\n \"zlevel\": 30.659,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 931,\r\n \"chainage\": 8120,\r\n \"zlevel\": 30.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 932,\r\n \"chainage\": 8140,\r\n \"zlevel\": 31.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 933,\r\n \"chainage\": 8160,\r\n \"zlevel\": 32.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 934,\r\n \"chainage\": 8180,\r\n \"zlevel\": 33.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 935,\r\n \"chainage\": 8200,\r\n \"zlevel\": 34.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 936,\r\n \"chainage\": 8220,\r\n \"zlevel\": 35.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 937,\r\n \"chainage\": 8240,\r\n \"zlevel\": 36.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 938,\r\n \"chainage\": 8260,\r\n \"zlevel\": 37.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 939,\r\n \"chainage\": 8280,\r\n \"zlevel\": 38.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 940,\r\n \"chainage\": 8300,\r\n \"zlevel\": 39.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 941,\r\n \"chainage\": 8320,\r\n \"zlevel\": 40.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 942,\r\n \"chainage\": 8321,\r\n \"zlevel\": 40.935,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 943,\r\n \"chainage\": 8340,\r\n \"zlevel\": 41.836,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 944,\r\n \"chainage\": 8360,\r\n \"zlevel\": 42.748,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 945,\r\n \"chainage\": 8380,\r\n \"zlevel\": 43.598,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 946,\r\n \"chainage\": 8400,\r\n \"zlevel\": 44.387,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 947,\r\n \"chainage\": 8420,\r\n \"zlevel\": 45.114,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 948,\r\n \"chainage\": 8440,\r\n \"zlevel\": 45.779,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 949,\r\n \"chainage\": 8460,\r\n \"zlevel\": 46.382,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 950,\r\n \"chainage\": 8480,\r\n \"zlevel\": 46.924,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 951,\r\n \"chainage\": 8494,\r\n \"zlevel\": 47.261,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 952,\r\n \"chainage\": 8500,\r\n \"zlevel\": 47.404,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 953,\r\n \"chainage\": 8520,\r\n \"zlevel\": 47.823,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 954,\r\n \"chainage\": 8531,\r\n \"zlevel\": 48.028,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 955,\r\n \"chainage\": 8540,\r\n \"zlevel\": 48.18,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 956,\r\n \"chainage\": 8560,\r\n \"zlevel\": 48.476,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 957,\r\n \"chainage\": 8580,\r\n \"zlevel\": 48.71,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 958,\r\n \"chainage\": 8600,\r\n \"zlevel\": 48.882,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 959,\r\n \"chainage\": 8620,\r\n \"zlevel\": 48.993,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 960,\r\n \"chainage\": 8640,\r\n \"zlevel\": 49.042,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 961,\r\n \"chainage\": 8646,\r\n \"zlevel\": 49.045,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 962,\r\n \"chainage\": 8660,\r\n \"zlevel\": 49.03,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 963,\r\n \"chainage\": 8680,\r\n \"zlevel\": 48.956,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 964,\r\n \"chainage\": 8700,\r\n \"zlevel\": 48.821,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 965,\r\n \"chainage\": 8720,\r\n \"zlevel\": 48.624,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 966,\r\n \"chainage\": 8740,\r\n \"zlevel\": 48.366,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 967,\r\n \"chainage\": 8741,\r\n \"zlevel\": 48.352,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 968,\r\n \"chainage\": 8760,\r\n \"zlevel\": 48.074,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 969,\r\n \"chainage\": 8780,\r\n \"zlevel\": 47.782,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 970,\r\n \"chainage\": 8800,\r\n \"zlevel\": 47.49,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 971,\r\n \"chainage\": 8820,\r\n \"zlevel\": 47.198,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 972,\r\n \"chainage\": 8840,\r\n \"zlevel\": 46.906,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 973,\r\n \"chainage\": 8860,\r\n \"zlevel\": 46.614,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 974,\r\n \"chainage\": 8880,\r\n \"zlevel\": 46.322,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 975,\r\n \"chainage\": 8897,\r\n \"zlevel\": 46.076,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 976,\r\n \"chainage\": 8900,\r\n \"zlevel\": 46.03,\r\n \"radius\": 877.742,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 977,\r\n \"chainage\": 8920,\r\n \"zlevel\": 45.738,\r\n \"radius\": 1109.293,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 978,\r\n \"chainage\": 8940,\r\n \"zlevel\": 45.446,\r\n \"radius\": 1506.788,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 979,\r\n \"chainage\": 8960,\r\n \"zlevel\": 45.154,\r\n \"radius\": 2348.238,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 980,\r\n \"chainage\": 8980,\r\n \"zlevel\": 44.862,\r\n \"radius\": 5318.045,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 981,\r\n \"chainage\": 9000,\r\n \"zlevel\": 44.57,\r\n \"radius\": 8624.157,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 982,\r\n \"chainage\": 9020,\r\n \"zlevel\": 44.278,\r\n \"radius\": 1492.604,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 983,\r\n \"chainage\": 9040,\r\n \"zlevel\": 43.986,\r\n \"radius\": 817.002,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 984,\r\n \"chainage\": 9046,\r\n \"zlevel\": 43.903,\r\n \"radius\": 723.376,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 985,\r\n \"chainage\": 9060,\r\n \"zlevel\": 43.738,\r\n \"radius\": 562.429,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 986,\r\n \"chainage\": 9079,\r\n \"zlevel\": 43.657,\r\n \"radius\": 432.432,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 987,\r\n \"chainage\": 9080,\r\n \"zlevel\": 43.658,\r\n \"radius\": 428.813,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 988,\r\n \"chainage\": 9080,\r\n \"zlevel\": 43.658,\r\n \"radius\": 428.302,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 989,\r\n \"chainage\": 9100,\r\n \"zlevel\": 43.751,\r\n \"radius\": 346.496,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 990,\r\n \"chainage\": 9103,\r\n \"zlevel\": 43.779,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 991,\r\n \"chainage\": 9114,\r\n \"zlevel\": 43.927,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 992,\r\n \"chainage\": 9120,\r\n \"zlevel\": 44.011,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 993,\r\n \"chainage\": 9140,\r\n \"zlevel\": 44.317,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 994,\r\n \"chainage\": 9160,\r\n \"zlevel\": 44.623,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 995,\r\n \"chainage\": 9180,\r\n \"zlevel\": 44.929,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 996,\r\n \"chainage\": 9200,\r\n \"zlevel\": 45.235,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 997,\r\n \"chainage\": 9220,\r\n \"zlevel\": 45.541,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 998,\r\n \"chainage\": 9240,\r\n \"zlevel\": 45.847,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 999,\r\n \"chainage\": 9242,\r\n \"zlevel\": 45.875,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1000,\r\n \"chainage\": 9260,\r\n \"zlevel\": 46.153,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1001,\r\n \"chainage\": 9280,\r\n \"zlevel\": 46.459,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1002,\r\n \"chainage\": 9300,\r\n \"zlevel\": 46.765,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1003,\r\n \"chainage\": 9312,\r\n \"zlevel\": 46.947,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1004,\r\n \"chainage\": 9320,\r\n \"zlevel\": 47.063,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1005,\r\n \"chainage\": 9340,\r\n \"zlevel\": 47.278,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1006,\r\n \"chainage\": 9360,\r\n \"zlevel\": 47.394,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1007,\r\n \"chainage\": 9373,\r\n \"zlevel\": 47.415,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1008,\r\n \"chainage\": 9380,\r\n \"zlevel\": 47.409,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1009,\r\n \"chainage\": 9381,\r\n \"zlevel\": 47.408,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1010,\r\n \"chainage\": 9400,\r\n \"zlevel\": 47.324,\r\n \"radius\": 421.504,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1011,\r\n \"chainage\": 9420,\r\n \"zlevel\": 47.14,\r\n \"radius\": 569.744,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1012,\r\n \"chainage\": 9440,\r\n \"zlevel\": 46.855,\r\n \"radius\": 878.819,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1013,\r\n \"chainage\": 9440,\r\n \"zlevel\": 46.848,\r\n \"radius\": 889.525,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1014,\r\n \"chainage\": 9460,\r\n \"zlevel\": 46.471,\r\n \"radius\": 1920.836,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1015,\r\n \"chainage\": 188,\r\n \"zlevel\": 40.936,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1016,\r\n \"chainage\": 200,\r\n \"zlevel\": 40.9,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1017,\r\n \"chainage\": 220,\r\n \"zlevel\": 40.84,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1018,\r\n \"chainage\": 240,\r\n \"zlevel\": 40.78,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1019,\r\n \"chainage\": 260,\r\n \"zlevel\": 40.72,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1020,\r\n \"chainage\": 265,\r\n \"zlevel\": 40.704,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1021,\r\n \"chainage\": 741,\r\n \"zlevel\": 30.969,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1022,\r\n \"chainage\": 760,\r\n \"zlevel\": 30.417,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1023,\r\n \"chainage\": 780,\r\n \"zlevel\": 29.847,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1024,\r\n \"chainage\": 800,\r\n \"zlevel\": 29.277,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1025,\r\n \"chainage\": 808,\r\n \"zlevel\": 29.043,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1026,\r\n \"chainage\": 1674,\r\n \"zlevel\": 13.177,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1027,\r\n \"chainage\": 1993,\r\n \"zlevel\": 19.88,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1028,\r\n \"chainage\": 2447,\r\n \"zlevel\": 14.372,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1029,\r\n \"chainage\": 2788,\r\n \"zlevel\": 9.762,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1030,\r\n \"chainage\": 2800,\r\n \"zlevel\": 9.856,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1031,\r\n \"chainage\": 2811,\r\n \"zlevel\": 9.958,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1032,\r\n \"chainage\": 2820,\r\n \"zlevel\": 10.048,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1033,\r\n \"chainage\": 2840,\r\n \"zlevel\": 10.248,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1034,\r\n \"chainage\": 2860,\r\n \"zlevel\": 10.448,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1035,\r\n \"chainage\": 2880,\r\n \"zlevel\": 10.648,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1036,\r\n \"chainage\": 2900,\r\n \"zlevel\": 10.848,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1037,\r\n \"chainage\": 2920,\r\n \"zlevel\": 11.048,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1038,\r\n \"chainage\": 2924,\r\n \"zlevel\": 11.089,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1039,\r\n \"chainage\": 3470,\r\n \"zlevel\": 16.548,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1040,\r\n \"chainage\": 3480,\r\n \"zlevel\": 16.647,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1041,\r\n \"chainage\": 3500,\r\n \"zlevel\": 16.846,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1042,\r\n \"chainage\": 3520,\r\n \"zlevel\": 17.046,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1043,\r\n \"chainage\": 3540,\r\n \"zlevel\": 17.246,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1044,\r\n \"chainage\": 3560,\r\n \"zlevel\": 17.446,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1045,\r\n \"chainage\": 3575,\r\n \"zlevel\": 17.601,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1046,\r\n \"chainage\": 3580,\r\n \"zlevel\": 17.644,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1047,\r\n \"chainage\": 3600,\r\n \"zlevel\": 17.791,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1048,\r\n \"chainage\": 3620,\r\n \"zlevel\": 17.866,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1049,\r\n \"chainage\": 3630,\r\n \"zlevel\": 17.876,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1050,\r\n \"chainage\": 3640,\r\n \"zlevel\": 17.867,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1051,\r\n \"chainage\": 3647,\r\n \"zlevel\": 17.851,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1052,\r\n \"chainage\": 3660,\r\n \"zlevel\": 17.796,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1053,\r\n \"chainage\": 3680,\r\n \"zlevel\": 17.652,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1054,\r\n \"chainage\": 3700,\r\n \"zlevel\": 17.436,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1055,\r\n \"chainage\": 3718,\r\n \"zlevel\": 17.172,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1056,\r\n \"chainage\": 3720,\r\n \"zlevel\": 17.147,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1057,\r\n \"chainage\": 3740,\r\n \"zlevel\": 16.827,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1058,\r\n \"chainage\": 3760,\r\n \"zlevel\": 16.507,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1059,\r\n \"chainage\": 3780,\r\n \"zlevel\": 16.187,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1060,\r\n \"chainage\": 3800,\r\n \"zlevel\": 15.867,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1061,\r\n \"chainage\": 3820,\r\n \"zlevel\": 15.547,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1062,\r\n \"chainage\": 3833,\r\n \"zlevel\": 15.331,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1063,\r\n \"chainage\": 4133,\r\n \"zlevel\": 10.54,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1064,\r\n \"chainage\": 5000,\r\n \"zlevel\": 19.159,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1065,\r\n \"chainage\": 5000,\r\n \"zlevel\": 19.165,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1066,\r\n \"chainage\": 5020,\r\n \"zlevel\": 19.625,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1067,\r\n \"chainage\": 5040,\r\n \"zlevel\": 20.085,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1068,\r\n \"chainage\": 5060,\r\n \"zlevel\": 20.545,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1069,\r\n \"chainage\": 5080,\r\n \"zlevel\": 21.005,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1070,\r\n \"chainage\": 5100,\r\n \"zlevel\": 21.465,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1071,\r\n \"chainage\": 5106,\r\n \"zlevel\": 21.605,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1072,\r\n \"chainage\": 5120,\r\n \"zlevel\": 21.944,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1073,\r\n \"chainage\": 5140,\r\n \"zlevel\": 22.5,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1074,\r\n \"chainage\": 5160,\r\n \"zlevel\": 23.136,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1075,\r\n \"chainage\": 5173,\r\n \"zlevel\": 23.61,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1076,\r\n \"chainage\": 5180,\r\n \"zlevel\": 23.851,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1077,\r\n \"chainage\": 5200,\r\n \"zlevel\": 24.648,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1078,\r\n \"chainage\": 5220,\r\n \"zlevel\": 25.524,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1079,\r\n \"chainage\": 5240,\r\n \"zlevel\": 26.481,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1080,\r\n \"chainage\": 5241,\r\n \"zlevel\": 26.521,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1081,\r\n \"chainage\": 5260,\r\n \"zlevel\": 27.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1082,\r\n \"chainage\": 5280,\r\n \"zlevel\": 28.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1083,\r\n \"chainage\": 5300,\r\n \"zlevel\": 29.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1084,\r\n \"chainage\": 5320,\r\n \"zlevel\": 30.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1085,\r\n \"chainage\": 5340,\r\n \"zlevel\": 31.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1086,\r\n \"chainage\": 5360,\r\n \"zlevel\": 32.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1087,\r\n \"chainage\": 5380,\r\n \"zlevel\": 33.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1088,\r\n \"chainage\": 5400,\r\n \"zlevel\": 34.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1089,\r\n \"chainage\": 5420,\r\n \"zlevel\": 35.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1090,\r\n \"chainage\": 5433,\r\n \"zlevel\": 36.139,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1091,\r\n \"chainage\": 5624,\r\n \"zlevel\": 45.676,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1092,\r\n \"chainage\": 5640,\r\n \"zlevel\": 46.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1093,\r\n \"chainage\": 5660,\r\n \"zlevel\": 47.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1094,\r\n \"chainage\": 5680,\r\n \"zlevel\": 48.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1095,\r\n \"chainage\": 5700,\r\n \"zlevel\": 49.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1096,\r\n \"chainage\": 5720,\r\n \"zlevel\": 50.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1097,\r\n \"chainage\": 5740,\r\n \"zlevel\": 51.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1098,\r\n \"chainage\": 5743,\r\n \"zlevel\": 51.63,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1099,\r\n \"chainage\": 5760,\r\n \"zlevel\": 52.46,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1100,\r\n \"chainage\": 5780,\r\n \"zlevel\": 53.382,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1101,\r\n \"chainage\": 5800,\r\n \"zlevel\": 54.248,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1102,\r\n \"chainage\": 5820,\r\n \"zlevel\": 55.056,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1103,\r\n \"chainage\": 5840,\r\n \"zlevel\": 55.806,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1104,\r\n \"chainage\": 5860,\r\n \"zlevel\": 56.5,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1105,\r\n \"chainage\": 5880,\r\n \"zlevel\": 57.136,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1106,\r\n \"chainage\": 5900,\r\n \"zlevel\": 57.715,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1107,\r\n \"chainage\": 5920,\r\n \"zlevel\": 58.237,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1108,\r\n \"chainage\": 5940,\r\n \"zlevel\": 58.701,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1109,\r\n \"chainage\": 5960,\r\n \"zlevel\": 59.109,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1110,\r\n \"chainage\": 5980,\r\n \"zlevel\": 59.459,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1111,\r\n \"chainage\": 6000,\r\n \"zlevel\": 59.752,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1112,\r\n \"chainage\": 6020,\r\n \"zlevel\": 59.988,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1113,\r\n \"chainage\": 6040,\r\n \"zlevel\": 60.167,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1114,\r\n \"chainage\": 6060,\r\n \"zlevel\": 60.288,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1115,\r\n \"chainage\": 6080,\r\n \"zlevel\": 60.353,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1116,\r\n \"chainage\": 6093,\r\n \"zlevel\": 60.364,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1117,\r\n \"chainage\": 6093,\r\n \"zlevel\": 60.364,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1118,\r\n \"chainage\": 6100,\r\n \"zlevel\": 60.36,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1119,\r\n \"chainage\": 6120,\r\n \"zlevel\": 60.31,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1120,\r\n \"chainage\": 6140,\r\n \"zlevel\": 60.203,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1121,\r\n \"chainage\": 6160,\r\n \"zlevel\": 60.039,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1122,\r\n \"chainage\": 6180,\r\n \"zlevel\": 59.818,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1123,\r\n \"chainage\": 6200,\r\n \"zlevel\": 59.54,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1124,\r\n \"chainage\": 6220,\r\n \"zlevel\": 59.204,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1125,\r\n \"chainage\": 6240,\r\n \"zlevel\": 58.811,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1126,\r\n \"chainage\": 6260,\r\n \"zlevel\": 58.361,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1127,\r\n \"chainage\": 6280,\r\n \"zlevel\": 57.854,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1128,\r\n \"chainage\": 6300,\r\n \"zlevel\": 57.29,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1129,\r\n \"chainage\": 6320,\r\n \"zlevel\": 56.668,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1130,\r\n \"chainage\": 6340,\r\n \"zlevel\": 55.989,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1131,\r\n \"chainage\": 6360,\r\n \"zlevel\": 55.253,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1132,\r\n \"chainage\": 6380,\r\n \"zlevel\": 54.46,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1133,\r\n \"chainage\": 6400,\r\n \"zlevel\": 53.61,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1134,\r\n \"chainage\": 6420,\r\n \"zlevel\": 52.702,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1135,\r\n \"chainage\": 6440,\r\n \"zlevel\": 51.736,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1136,\r\n \"chainage\": 6442,\r\n \"zlevel\": 51.635,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1137,\r\n \"chainage\": 6460,\r\n \"zlevel\": 50.737,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1138,\r\n \"chainage\": 6480,\r\n \"zlevel\": 49.737,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1139,\r\n \"chainage\": 6500,\r\n \"zlevel\": 48.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1140,\r\n \"chainage\": 6520,\r\n \"zlevel\": 47.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1141,\r\n \"chainage\": 6540,\r\n \"zlevel\": 46.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1142,\r\n \"chainage\": 6560,\r\n \"zlevel\": 45.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1143,\r\n \"chainage\": 6580,\r\n \"zlevel\": 44.739,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1144,\r\n \"chainage\": 6580,\r\n \"zlevel\": 44.725,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1145,\r\n \"chainage\": 6965,\r\n \"zlevel\": 29.523,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1146,\r\n \"chainage\": 7704,\r\n \"zlevel\": 22.476,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1147,\r\n \"chainage\": 7720,\r\n \"zlevel\": 22.666,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1148,\r\n \"chainage\": 7740,\r\n \"zlevel\": 22.906,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1149,\r\n \"chainage\": 7760,\r\n \"zlevel\": 23.146,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1150,\r\n \"chainage\": 7780,\r\n \"zlevel\": 23.386,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1151,\r\n \"chainage\": 7800,\r\n \"zlevel\": 23.626,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1152,\r\n \"chainage\": 7820,\r\n \"zlevel\": 23.866,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1153,\r\n \"chainage\": 7840,\r\n \"zlevel\": 24.106,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1154,\r\n \"chainage\": 7860,\r\n \"zlevel\": 24.346,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1155,\r\n \"chainage\": 7880,\r\n \"zlevel\": 24.586,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1156,\r\n \"chainage\": 7900,\r\n \"zlevel\": 24.826,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1157,\r\n \"chainage\": 7920,\r\n \"zlevel\": 25.066,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1158,\r\n \"chainage\": 7940,\r\n \"zlevel\": 25.306,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1159,\r\n \"chainage\": 7945,\r\n \"zlevel\": 25.369,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1160,\r\n \"chainage\": 7960,\r\n \"zlevel\": 25.571,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1161,\r\n \"chainage\": 7980,\r\n \"zlevel\": 25.921,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1162,\r\n \"chainage\": 8000,\r\n \"zlevel\": 26.36,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1163,\r\n \"chainage\": 8020,\r\n \"zlevel\": 26.888,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1164,\r\n \"chainage\": 8023,\r\n \"zlevel\": 26.971,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1165,\r\n \"chainage\": 8996,\r\n \"zlevel\": 44.631,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1166,\r\n \"chainage\": 9477,\r\n \"zlevel\": 46.068,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1167,\r\n \"chainage\": 9480,\r\n \"zlevel\": 45.986,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1168,\r\n \"chainage\": 9500,\r\n \"zlevel\": 45.401,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1169,\r\n \"chainage\": 9520,\r\n \"zlevel\": 44.716,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1170,\r\n \"chainage\": 9540,\r\n \"zlevel\": 43.931,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1171,\r\n \"chainage\": 9560,\r\n \"zlevel\": 43.046,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1172,\r\n \"chainage\": 9569,\r\n \"zlevel\": 42.621,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1173,\r\n \"chainage\": 9580,\r\n \"zlevel\": 42.075,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1174,\r\n \"chainage\": 9600,\r\n \"zlevel\": 41.103,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 589,\r\n \"chainage\": 129,\r\n \"zlevel\": 41.113,\r\n \"radius\": 95.3,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 588,\r\n \"chainage\": 120,\r\n \"zlevel\": 41.14,\r\n \"radius\": 95.3,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n }\r\n ]\r\n}\r\n\r\nexport const requestBody = {\r\n \"return_option\": 1,\r\n \"start_year\": 2020,\r\n \"end_year\": 2041,\r\n \"fuel_distribution_cars\": {\r\n \"year\": [\r\n \"2020\",\r\n \"2021\",\r\n \"2022\",\r\n \"2023\",\r\n \"2024\",\r\n \"2025\",\r\n \"2026\",\r\n \"2027\",\r\n \"2028\",\r\n \"2029\",\r\n \"2030\",\r\n \"2031\",\r\n \"2032\",\r\n \"2033\",\r\n \"2034\",\r\n \"2035\",\r\n \"2036\",\r\n \"2037\",\r\n \"2038\",\r\n \"2039\",\r\n \"2040\",\r\n \"2041\",\r\n \"2042\",\r\n \"2043\",\r\n \"2044\",\r\n \"2045\",\r\n \"2046\",\r\n \"2047\",\r\n \"2048\",\r\n \"2049\",\r\n \"2050\",\r\n \"2051\",\r\n \"2052\",\r\n \"2053\",\r\n \"2054\",\r\n \"2055\",\r\n \"2056\",\r\n \"2057\",\r\n \"2058\",\r\n \"2059\",\r\n \"2060\",\r\n \"2061\",\r\n \"2062\",\r\n \"2063\",\r\n \"2064\",\r\n \"2065\",\r\n \"2066\",\r\n \"2067\",\r\n \"2068\",\r\n \"2069\",\r\n \"2070\",\r\n \"2071\",\r\n \"2072\",\r\n \"2073\",\r\n \"2074\",\r\n \"2075\",\r\n \"2076\",\r\n \"2077\",\r\n \"2078\",\r\n \"2079\",\r\n \"2080\"\r\n ],\r\n \"prc_gasoline\": [\r\n \"0.47769230799999995\",\r\n \"0.470923077\",\r\n \"0.46415384600000004\",\r\n \"0.457384615\",\r\n \"0.450615385\",\r\n \"0.443846154\",\r\n \"0.43707692299999995\",\r\n \"0.430307692\",\r\n \"0.423538462\",\r\n \"0.416769231\",\r\n \"0.41\",\r\n \"0.4\",\r\n \"0.39\",\r\n \"0.38\",\r\n \"0.37\",\r\n \"0.36\",\r\n \"0.35\",\r\n \"0.34\",\r\n \"0.33\",\r\n \"0.32\",\r\n \"0.31\",\r\n \"0.299134227\",\r\n \"0.287647059\",\r\n \"0.275502959\",\r\n \"0.26266436\",\r\n \"0.249091543\",\r\n \"0.23474252\",\r\n \"0.21957290100000001\",\r\n \"0.20353575699999998\",\r\n \"0.186581477\",\r\n \"0.168657611\",\r\n \"0.14970871\",\r\n \"0.12967615400000002\",\r\n \"0.10849797\",\r\n \"0.086108642\",\r\n \"0.062438908\",\r\n \"0.037415542\",\r\n \"0.010961132\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_diesel\": [\r\n \"0.47769230799999995\",\r\n \"0.470923077\",\r\n \"0.46415384600000004\",\r\n \"0.457384615\",\r\n \"0.450615385\",\r\n \"0.443846154\",\r\n \"0.43707692299999995\",\r\n \"0.430307692\",\r\n \"0.423538462\",\r\n \"0.416769231\",\r\n \"0.41\",\r\n \"0.4\",\r\n \"0.39\",\r\n \"0.38\",\r\n \"0.37\",\r\n \"0.36\",\r\n \"0.35\",\r\n \"0.34\",\r\n \"0.33\",\r\n \"0.32\",\r\n \"0.31\",\r\n \"0.299134227\",\r\n \"0.287647059\",\r\n \"0.275502959\",\r\n \"0.26266436\",\r\n \"0.249091543\",\r\n \"0.23474252\",\r\n \"0.21957290100000001\",\r\n \"0.20353575699999998\",\r\n \"0.186581477\",\r\n \"0.168657611\",\r\n \"0.14970871\",\r\n \"0.12967615400000002\",\r\n \"0.10849797\",\r\n \"0.086108642\",\r\n \"0.062438908\",\r\n \"0.037415542\",\r\n \"0.010961132\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_inchargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_chargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_battery\": [\r\n \"0.044615385\",\r\n \"0.058153845999999995\",\r\n \"0.071692308\",\r\n \"0.085230769\",\r\n \"0.098769231\",\r\n \"0.11230769199999999\",\r\n \"0.12584615400000002\",\r\n \"0.139384615\",\r\n \"0.152923077\",\r\n \"0.16646153800000002\",\r\n \"0.18\",\r\n \"0.2\",\r\n \"0.22\",\r\n \"0.24\",\r\n \"0.26\",\r\n \"0.28\",\r\n \"0.3\",\r\n \"0.32\",\r\n \"0.34\",\r\n \"0.36\",\r\n \"0.38\",\r\n \"0.401731546\",\r\n \"0.42470588200000003\",\r\n \"0.448994081\",\r\n \"0.47467128\",\r\n \"0.501816914\",\r\n \"0.53051496\",\r\n \"0.5608541979999999\",\r\n \"0.592928485\",\r\n \"0.626837045\",\r\n \"0.6626847770000001\",\r\n \"0.70058258\",\r\n \"0.740647692\",\r\n \"0.78300406\",\r\n \"0.827782715\",\r\n \"0.875122185\",\r\n \"0.925168917\",\r\n \"0.9780777359999999\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\",\r\n \"1.0\"\r\n ],\r\n \"prc_hydrogen\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ]\r\n },\r\n \"fuel_distribution_trucks\": {\r\n \"year\": [\r\n \"2020\",\r\n \"2021\",\r\n \"2022\",\r\n \"2023\",\r\n \"2024\",\r\n \"2025\",\r\n \"2026\",\r\n \"2027\",\r\n \"2028\",\r\n \"2029\",\r\n \"2030\",\r\n \"2031\",\r\n \"2032\",\r\n \"2033\",\r\n \"2034\",\r\n \"2035\",\r\n \"2036\",\r\n \"2037\",\r\n \"2038\",\r\n \"2039\",\r\n \"2040\",\r\n \"2041\",\r\n \"2042\",\r\n \"2043\",\r\n \"2044\",\r\n \"2045\",\r\n \"2046\",\r\n \"2047\",\r\n \"2048\",\r\n \"2049\",\r\n \"2050\",\r\n \"2051\",\r\n \"2052\",\r\n \"2053\",\r\n \"2054\",\r\n \"2055\",\r\n \"2056\",\r\n \"2057\",\r\n \"2058\",\r\n \"2059\",\r\n \"2060\",\r\n \"2061\",\r\n \"2062\",\r\n \"2063\",\r\n \"2064\",\r\n \"2065\",\r\n \"2066\",\r\n \"2067\",\r\n \"2068\",\r\n \"2069\",\r\n \"2070\",\r\n \"2071\",\r\n \"2072\",\r\n \"2073\",\r\n \"2074\",\r\n \"2075\",\r\n \"2076\",\r\n \"2077\",\r\n \"2078\",\r\n \"2079\",\r\n \"2080\"\r\n ],\r\n \"prc_gasoline\": [\r\n \"0.389615385\",\r\n \"0.386153846\",\r\n \"0.382692308\",\r\n \"0.37923076899999997\",\r\n \"0.37576923100000004\",\r\n \"0.372307692\",\r\n \"0.368846154\",\r\n \"0.365384615\",\r\n \"0.36192307700000004\",\r\n \"0.35846153799999997\",\r\n \"0.355\",\r\n \"0.3515\",\r\n \"0.348\",\r\n \"0.3445\",\r\n \"0.341\",\r\n \"0.3375\",\r\n \"0.33399999999999996\",\r\n \"0.3305\",\r\n \"0.327\",\r\n \"0.3235\",\r\n \"0.32\",\r\n \"0.316083613\",\r\n \"0.311860465\",\r\n \"0.307306527\",\r\n \"0.30239589\",\r\n \"0.297100613\",\r\n \"0.291390569\",\r\n \"0.285233271\",\r\n \"0.278593685\",\r\n \"0.271434036\",\r\n \"0.263713588\",\r\n \"0.255388414\",\r\n \"0.246411148\",\r\n \"0.23673071399999998\",\r\n \"0.226292033\",\r\n \"0.215035714\",\r\n \"0.202897713\",\r\n \"0.18980897\",\r\n \"0.175695015\",\r\n \"0.160475546\",\r\n \"0.14406397099999999\",\r\n \"0.126366914\",\r\n \"0.10728368699999999\",\r\n \"0.086705714\",\r\n \"0.064515915\",\r\n \"0.040588039\",\r\n \"0.014785948\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_diesel\": [\r\n \"0.389615385\",\r\n \"0.386153846\",\r\n \"0.382692308\",\r\n \"0.37923076899999997\",\r\n \"0.37576923100000004\",\r\n \"0.372307692\",\r\n \"0.368846154\",\r\n \"0.365384615\",\r\n \"0.36192307700000004\",\r\n \"0.35846153799999997\",\r\n \"0.355\",\r\n \"0.3515\",\r\n \"0.348\",\r\n \"0.3445\",\r\n \"0.341\",\r\n \"0.3375\",\r\n \"0.33399999999999996\",\r\n \"0.3305\",\r\n \"0.327\",\r\n \"0.3235\",\r\n \"0.32\",\r\n \"0.316083613\",\r\n \"0.311860465\",\r\n \"0.307306527\",\r\n \"0.30239589\",\r\n \"0.297100613\",\r\n \"0.291390569\",\r\n \"0.285233271\",\r\n \"0.278593685\",\r\n \"0.271434036\",\r\n \"0.263713588\",\r\n \"0.255388414\",\r\n \"0.246411148\",\r\n \"0.23673071399999998\",\r\n \"0.226292033\",\r\n \"0.215035714\",\r\n \"0.202897713\",\r\n \"0.18980897\",\r\n \"0.175695015\",\r\n \"0.160475546\",\r\n \"0.14406397099999999\",\r\n \"0.126366914\",\r\n \"0.10728368699999999\",\r\n \"0.086705714\",\r\n \"0.064515915\",\r\n \"0.040588039\",\r\n \"0.014785948\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\",\r\n \"0.0\"\r\n ],\r\n \"prc_inchargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_chargeable_hybrid\": [\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\",\r\n \"0\"\r\n ],\r\n \"prc_battery\": [\r\n \"0.006923077\",\r\n \"0.009230769\",\r\n \"0.011538462\",\r\n \"0.013846154\",\r\n \"0.016153846\",\r\n \"0.018461538\",\r\n \"0.020769231000000003\",\r\n \"0.023076923\",\r\n \"0.025384615\",\r\n \"0.027692308\",\r\n \"0.03\",\r\n \"0.037000000000000005\",\r\n \"0.044000000000000004\",\r\n \"0.051\",\r\n \"0.057999999999999996\",\r\n \"0.065\",\r\n \"0.07200000000000001\",\r\n \"0.079\",\r\n \"0.086\",\r\n \"0.09300000000000001\",\r\n \"0.1\",\r\n \"0.107832773\",\r\n \"0.11627907\",\r\n \"0.125386946\",\r\n \"0.135208221\",\r\n \"0.145798774\",\r\n \"0.157218861\",\r\n \"0.169533458\",\r\n \"0.18281262899999998\",\r\n \"0.197131928\",\r\n \"0.212572825\",\r\n \"0.229223172\",\r\n \"0.247177703\",\r\n \"0.266538572\",\r\n \"0.287415934\",\r\n \"0.309928572\",\r\n \"0.334204574\",\r\n \"0.36038206100000003\",\r\n \"0.38860997\",\r\n \"0.419048908\",\r\n \"0.45187205799999997\",\r\n \"0.48726617200000005\",\r\n \"0.5254326260000001\",\r\n \"0.566588572\",\r\n \"0.61096817\",\r\n \"0.658823921\",\r\n \"0.710428105\",\r\n \"0.7466070509999999\",\r\n \"0.760606775\",\r\n \"0.7740670909999999\",\r\n \"0.786982535\",\r\n \"0.79935105\",\r\n \"0.811173719\",\r\n \"0.8224544979999999\",\r\n \"0.833199925\",\r\n \"0.8434188290000001\",\r\n \"0.85312204\",\r\n \"0.8623221059999999\",\r\n \"0.871033017\",\r\n \"0.8792699509999999\",\r\n \"0.887049022\"\r\n ],\r\n \"prc_hydrogen\": [\r\n \"0.21384615399999998\",\r\n \"0.218461538\",\r\n \"0.223076923\",\r\n \"0.227692308\",\r\n \"0.23230769199999998\",\r\n \"0.23692307699999998\",\r\n \"0.24153846199999998\",\r\n \"0.246153846\",\r\n \"0.25076923100000004\",\r\n \"0.255384615\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.26\",\r\n \"0.253392949\",\r\n \"0.239393225\",\r\n \"0.225932909\",\r\n \"0.213017465\",\r\n \"0.20064895\",\r\n \"0.188826281\",\r\n \"0.177545502\",\r\n \"0.166800075\",\r\n \"0.156581171\",\r\n \"0.14687796\",\r\n \"0.137677894\",\r\n \"0.128966983\",\r\n \"0.120730049\",\r\n \"0.11295097800000001\"\r\n ]\r\n },\r\n \"sensitivity_param_factors\": {\r\n \"speed\": 1,\r\n \"fuelprice\": 1,\r\n \"emission\": 1,\r\n \"AADTheavy\": 1\r\n },\r\n \"presumptions\": {\r\n \"Speed_car\": 80,\r\n \"Speed_truck\": 80,\r\n \"cost_increase\": 0.01,\r\n \"gasoline_fuelfactor\": 1,\r\n \"gasoline_co2\": 2.85,\r\n \"gasoline_kwh\": 9.1,\r\n \"gasoline_efficiency\": 0.25,\r\n \"gasoline_cost\": 16,\r\n \"diesel_fuelfactor\": 1,\r\n \"diesel_co2\": 2.73,\r\n \"diesel_kwh\": 9.8,\r\n \"diesel_efficiency\": 0.35,\r\n \"diesel_cost\": 16,\r\n \"battery_fuelfactor\": 0,\r\n \"battery_co2\": 0.0,\r\n \"battery_kwh\": 9.8,\r\n \"battery_efficiency\": 1,\r\n \"battery_cost\": 0,\r\n \"inchargeable_hybrid_fuelfactor\": 1,\r\n \"inchargeable_hybrid_co2\": 2.85,\r\n \"inchargeable_hybrid_kwh\": 9.8,\r\n \"inchargeable_hybrid_efficiency\": 0.35,\r\n \"inchargeable_hybrid_cost\": 16,\r\n \"chargeable_hybrid_fuelfactor\": 1,\r\n \"chargeable_hybrid_co2\": 2.85,\r\n \"chargeable_hybrid_kwh\": 9.8,\r\n \"chargeable_hybrid_efficiency\": 0.35,\r\n \"chargeable_hybrid_cost\": 16,\r\n \"hydrogen_fuelfactor\": 0,\r\n \"hydrogen_co2\": 0.0,\r\n \"hydrogen_kwh\": 9.8,\r\n \"hydrogen_efficiency\": 1,\r\n \"hydrogen_cost\": 0,\r\n \"iri\": 1.0,\r\n \"mpd\": 1.0\r\n },\r\n \"segments\": [\r\n {\r\n \"segment_id\": 1,\r\n \"directions_id\": 590,\r\n \"year\": 2020,\r\n \"aadt\": 20000,\r\n \"prc_heavy\": 10,\r\n \"aadt_cars\": 18000,\r\n \"aadt_trucks\": 1500,\r\n \"aadt_trucks_with_trailer\": 500,\r\n \"annual_increase_cars\": 1,\r\n \"annual_increase_heavy\": 1.5,\r\n \"segment_order_no\": 1\r\n }\r\n ],\r\n \"segments_data\": [\r\n {\r\n \"segment_data_id\": 590,\r\n \"chainage\": 140,\r\n \"zlevel\": 41.08,\r\n \"radius\": 117.027,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 591,\r\n \"chainage\": 160,\r\n \"zlevel\": 41.02,\r\n \"radius\": 200.421,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 592,\r\n \"chainage\": 180,\r\n \"zlevel\": 40.96,\r\n \"radius\": 697.38,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 593,\r\n \"chainage\": 280,\r\n \"zlevel\": 40.66,\r\n \"radius\": 3910.82,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 594,\r\n \"chainage\": 300,\r\n \"zlevel\": 40.6,\r\n \"radius\": 1658.586,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 595,\r\n \"chainage\": 320,\r\n \"zlevel\": 40.54,\r\n \"radius\": 1052.471,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 596,\r\n \"chainage\": 326,\r\n \"zlevel\": 40.523,\r\n \"radius\": 955.322,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 597,\r\n \"chainage\": 340,\r\n \"zlevel\": 40.465,\r\n \"radius\": 770.792,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 598,\r\n \"chainage\": 343,\r\n \"zlevel\": 40.449,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 599,\r\n \"chainage\": 360,\r\n \"zlevel\": 40.335,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 600,\r\n \"chainage\": 380,\r\n \"zlevel\": 40.148,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 601,\r\n \"chainage\": 400,\r\n \"zlevel\": 39.904,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 602,\r\n \"chainage\": 415,\r\n \"zlevel\": 39.687,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 603,\r\n \"chainage\": 420,\r\n \"zlevel\": 39.603,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 604,\r\n \"chainage\": 440,\r\n \"zlevel\": 39.245,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 605,\r\n \"chainage\": 460,\r\n \"zlevel\": 38.829,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 606,\r\n \"chainage\": 480,\r\n \"zlevel\": 38.356,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 607,\r\n \"chainage\": 500,\r\n \"zlevel\": 37.826,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 608,\r\n \"chainage\": 503,\r\n \"zlevel\": 37.743,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 609,\r\n \"chainage\": 504,\r\n \"zlevel\": 37.714,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 610,\r\n \"chainage\": 520,\r\n \"zlevel\": 37.257,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 611,\r\n \"chainage\": 540,\r\n \"zlevel\": 36.687,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 612,\r\n \"chainage\": 560,\r\n \"zlevel\": 36.117,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 613,\r\n \"chainage\": 580,\r\n \"zlevel\": 35.547,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 614,\r\n \"chainage\": 600,\r\n \"zlevel\": 34.977,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 615,\r\n \"chainage\": 620,\r\n \"zlevel\": 34.407,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 616,\r\n \"chainage\": 640,\r\n \"zlevel\": 33.837,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 617,\r\n \"chainage\": 660,\r\n \"zlevel\": 33.267,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 618,\r\n \"chainage\": 663,\r\n \"zlevel\": 33.187,\r\n \"radius\": 740,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 619,\r\n \"chainage\": 680,\r\n \"zlevel\": 32.697,\r\n \"radius\": 949.609,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 620,\r\n \"chainage\": 700,\r\n \"zlevel\": 32.127,\r\n \"radius\": 1416.746,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 621,\r\n \"chainage\": 720,\r\n \"zlevel\": 31.557,\r\n \"radius\": 2788.462,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 622,\r\n \"chainage\": 740,\r\n \"zlevel\": 30.987,\r\n \"radius\": 87731.395,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 623,\r\n \"chainage\": 820,\r\n \"zlevel\": 28.707,\r\n \"radius\": 4690.028,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 624,\r\n \"chainage\": 840,\r\n \"zlevel\": 28.137,\r\n \"radius\": 1738.003,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 625,\r\n \"chainage\": 860,\r\n \"zlevel\": 27.567,\r\n \"radius\": 1066.635,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 626,\r\n \"chainage\": 880,\r\n \"zlevel\": 26.997,\r\n \"radius\": 769.419,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 627,\r\n \"chainage\": 900,\r\n \"zlevel\": 26.441,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 628,\r\n \"chainage\": 900,\r\n \"zlevel\": 26.427,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 629,\r\n \"chainage\": 920,\r\n \"zlevel\": 25.857,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 630,\r\n \"chainage\": 940,\r\n \"zlevel\": 25.287,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 631,\r\n \"chainage\": 960,\r\n \"zlevel\": 24.717,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 632,\r\n \"chainage\": 980,\r\n \"zlevel\": 24.147,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 633,\r\n \"chainage\": 1000,\r\n \"zlevel\": 23.577,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 634,\r\n \"chainage\": 1020,\r\n \"zlevel\": 23.007,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 635,\r\n \"chainage\": 1040,\r\n \"zlevel\": 22.437,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 636,\r\n \"chainage\": 1060,\r\n \"zlevel\": 21.867,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 637,\r\n \"chainage\": 1080,\r\n \"zlevel\": 21.297,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 638,\r\n \"chainage\": 1100,\r\n \"zlevel\": 20.727,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 639,\r\n \"chainage\": 1120,\r\n \"zlevel\": 20.157,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 640,\r\n \"chainage\": 1140,\r\n \"zlevel\": 19.587,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 641,\r\n \"chainage\": 1160,\r\n \"zlevel\": 19.017,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 642,\r\n \"chainage\": 1180,\r\n \"zlevel\": 18.447,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 643,\r\n \"chainage\": 1200,\r\n \"zlevel\": 17.877,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 644,\r\n \"chainage\": 1220,\r\n \"zlevel\": 17.307,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 645,\r\n \"chainage\": 1240,\r\n \"zlevel\": 16.737,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 646,\r\n \"chainage\": 1252,\r\n \"zlevel\": 16.401,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 647,\r\n \"chainage\": 1260,\r\n \"zlevel\": 16.167,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 648,\r\n \"chainage\": 1280,\r\n \"zlevel\": 15.597,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 649,\r\n \"chainage\": 1300,\r\n \"zlevel\": 15.027,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 650,\r\n \"chainage\": 1320,\r\n \"zlevel\": 14.457,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 651,\r\n \"chainage\": 1340,\r\n \"zlevel\": 13.887,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 652,\r\n \"chainage\": 1360,\r\n \"zlevel\": 13.317,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 653,\r\n \"chainage\": 1380,\r\n \"zlevel\": 12.747,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 654,\r\n \"chainage\": 1400,\r\n \"zlevel\": 12.177,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 655,\r\n \"chainage\": 1409,\r\n \"zlevel\": 11.913,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 656,\r\n \"chainage\": 1420,\r\n \"zlevel\": 11.624,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 657,\r\n \"chainage\": 1440,\r\n \"zlevel\": 11.172,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 658,\r\n \"chainage\": 1460,\r\n \"zlevel\": 10.835,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 659,\r\n \"chainage\": 1480,\r\n \"zlevel\": 10.612,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 660,\r\n \"chainage\": 1496,\r\n \"zlevel\": 10.517,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 661,\r\n \"chainage\": 1500,\r\n \"zlevel\": 10.504,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 662,\r\n \"chainage\": 1509,\r\n \"zlevel\": 10.492,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 663,\r\n \"chainage\": 1520,\r\n \"zlevel\": 10.51,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 664,\r\n \"chainage\": 1540,\r\n \"zlevel\": 10.63,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 665,\r\n \"chainage\": 1560,\r\n \"zlevel\": 10.864,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 666,\r\n \"chainage\": 1580,\r\n \"zlevel\": 11.213,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 667,\r\n \"chainage\": 1582,\r\n \"zlevel\": 11.264,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 668,\r\n \"chainage\": 1600,\r\n \"zlevel\": 11.632,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 669,\r\n \"chainage\": 1604,\r\n \"zlevel\": 11.718,\r\n \"radius\": 605,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 670,\r\n \"chainage\": 1620,\r\n \"zlevel\": 12.052,\r\n \"radius\": 784.742,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 671,\r\n \"chainage\": 1640,\r\n \"zlevel\": 12.472,\r\n \"radius\": 1252.51,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 672,\r\n \"chainage\": 1660,\r\n \"zlevel\": 12.892,\r\n \"radius\": 3100.875,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 673,\r\n \"chainage\": 1680,\r\n \"zlevel\": 13.312,\r\n \"radius\": 5308.363,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 674,\r\n \"chainage\": 1700,\r\n \"zlevel\": 13.732,\r\n \"radius\": 1294.079,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 675,\r\n \"chainage\": 1720,\r\n \"zlevel\": 14.152,\r\n \"radius\": 736.855,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 676,\r\n \"chainage\": 1740,\r\n \"zlevel\": 14.572,\r\n \"radius\": 515.069,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 677,\r\n \"chainage\": 1742,\r\n \"zlevel\": 14.614,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 678,\r\n \"chainage\": 1760,\r\n \"zlevel\": 14.992,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 679,\r\n \"chainage\": 1780,\r\n \"zlevel\": 15.412,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 680,\r\n \"chainage\": 1800,\r\n \"zlevel\": 15.832,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 681,\r\n \"chainage\": 1820,\r\n \"zlevel\": 16.252,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 682,\r\n \"chainage\": 1833,\r\n \"zlevel\": 16.528,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 683,\r\n \"chainage\": 1840,\r\n \"zlevel\": 16.672,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 684,\r\n \"chainage\": 1860,\r\n \"zlevel\": 17.092,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 685,\r\n \"chainage\": 1880,\r\n \"zlevel\": 17.512,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 686,\r\n \"chainage\": 1900,\r\n \"zlevel\": 17.932,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 687,\r\n \"chainage\": 1920,\r\n \"zlevel\": 18.352,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 688,\r\n \"chainage\": 1924,\r\n \"zlevel\": 18.442,\r\n \"radius\": 500,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 689,\r\n \"chainage\": 1940,\r\n \"zlevel\": 18.772,\r\n \"radius\": 648.83,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 690,\r\n \"chainage\": 1960,\r\n \"zlevel\": 19.192,\r\n \"radius\": 1045.076,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 691,\r\n \"chainage\": 1980,\r\n \"zlevel\": 19.612,\r\n \"radius\": 2684.566,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 692,\r\n \"chainage\": 2000,\r\n \"zlevel\": 20.032,\r\n \"radius\": 7943.515,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 693,\r\n \"chainage\": 2017,\r\n \"zlevel\": 20.399,\r\n \"radius\": 2328.671,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 694,\r\n \"chainage\": 2020,\r\n \"zlevel\": 20.452,\r\n \"radius\": 2113.669,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 695,\r\n \"chainage\": 2034,\r\n \"zlevel\": 20.722,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 696,\r\n \"chainage\": 2040,\r\n \"zlevel\": 20.821,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 697,\r\n \"chainage\": 2060,\r\n \"zlevel\": 21.111,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 698,\r\n \"chainage\": 2080,\r\n \"zlevel\": 21.321,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 699,\r\n \"chainage\": 2100,\r\n \"zlevel\": 21.451,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 700,\r\n \"chainage\": 2120,\r\n \"zlevel\": 21.501,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 701,\r\n \"chainage\": 2122,\r\n \"zlevel\": 21.501,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 702,\r\n \"chainage\": 2140,\r\n \"zlevel\": 21.471,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 703,\r\n \"chainage\": 2140,\r\n \"zlevel\": 21.471,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 704,\r\n \"chainage\": 2160,\r\n \"zlevel\": 21.361,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 705,\r\n \"chainage\": 2180,\r\n \"zlevel\": 21.17,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 706,\r\n \"chainage\": 2200,\r\n \"zlevel\": 20.9,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 707,\r\n \"chainage\": 2220,\r\n \"zlevel\": 20.552,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 708,\r\n \"chainage\": 2220,\r\n \"zlevel\": 20.55,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 709,\r\n \"chainage\": 2240,\r\n \"zlevel\": 20.12,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 710,\r\n \"chainage\": 2260,\r\n \"zlevel\": 19.609,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 711,\r\n \"chainage\": 2262,\r\n \"zlevel\": 19.543,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 712,\r\n \"chainage\": 2280,\r\n \"zlevel\": 19.05,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 713,\r\n \"chainage\": 2300,\r\n \"zlevel\": 18.49,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 714,\r\n \"chainage\": 2320,\r\n \"zlevel\": 17.93,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 715,\r\n \"chainage\": 2340,\r\n \"zlevel\": 17.37,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 716,\r\n \"chainage\": 2360,\r\n \"zlevel\": 16.81,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 717,\r\n \"chainage\": 2380,\r\n \"zlevel\": 16.25,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 718,\r\n \"chainage\": 2400,\r\n \"zlevel\": 15.69,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 719,\r\n \"chainage\": 2406,\r\n \"zlevel\": 15.532,\r\n \"radius\": 1390,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 720,\r\n \"chainage\": 2420,\r\n \"zlevel\": 15.13,\r\n \"radius\": 2127.496,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 721,\r\n \"chainage\": 2440,\r\n \"zlevel\": 14.57,\r\n \"radius\": 8142.395,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 722,\r\n \"chainage\": 2460,\r\n \"zlevel\": 14.01,\r\n \"radius\": 3094.559,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 723,\r\n \"chainage\": 2480,\r\n \"zlevel\": 13.45,\r\n \"radius\": 1214.849,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 724,\r\n \"chainage\": 2500,\r\n \"zlevel\": 12.89,\r\n \"radius\": 755.773,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 725,\r\n \"chainage\": 2507,\r\n \"zlevel\": 12.692,\r\n \"radius\": 666.788,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 726,\r\n \"chainage\": 2520,\r\n \"zlevel\": 12.34,\r\n \"radius\": 548.502,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 727,\r\n \"chainage\": 2529,\r\n \"zlevel\": 12.116,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 728,\r\n \"chainage\": 2540,\r\n \"zlevel\": 11.838,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 729,\r\n \"chainage\": 2560,\r\n \"zlevel\": 11.385,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 730,\r\n \"chainage\": 2580,\r\n \"zlevel\": 10.983,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 731,\r\n \"chainage\": 2600,\r\n \"zlevel\": 10.63,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 732,\r\n \"chainage\": 2604,\r\n \"zlevel\": 10.56,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 733,\r\n \"chainage\": 2620,\r\n \"zlevel\": 10.328,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 734,\r\n \"chainage\": 2640,\r\n \"zlevel\": 10.075,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 735,\r\n \"chainage\": 2659,\r\n \"zlevel\": 9.882,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 736,\r\n \"chainage\": 2660,\r\n \"zlevel\": 9.873,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 737,\r\n \"chainage\": 2680,\r\n \"zlevel\": 9.72,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 738,\r\n \"chainage\": 2680,\r\n \"zlevel\": 9.72,\r\n \"radius\": 490,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 739,\r\n \"chainage\": 2700,\r\n \"zlevel\": 9.618,\r\n \"radius\": 600.941,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 740,\r\n \"chainage\": 2720,\r\n \"zlevel\": 9.566,\r\n \"radius\": 777.614,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 741,\r\n \"chainage\": 2731,\r\n \"zlevel\": 9.558,\r\n \"radius\": 927.205,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 742,\r\n \"chainage\": 2740,\r\n \"zlevel\": 9.563,\r\n \"radius\": 1101.427,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 743,\r\n \"chainage\": 2760,\r\n \"zlevel\": 9.611,\r\n \"radius\": 1887.357,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 744,\r\n \"chainage\": 2780,\r\n \"zlevel\": 9.708,\r\n \"radius\": 6588.939,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 745,\r\n \"chainage\": 2940,\r\n \"zlevel\": 11.248,\r\n \"radius\": 3627.347,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 746,\r\n \"chainage\": 2960,\r\n \"zlevel\": 11.448,\r\n \"radius\": 1605.379,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 747,\r\n \"chainage\": 2980,\r\n \"zlevel\": 11.648,\r\n \"radius\": 1030.792,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 748,\r\n \"chainage\": 2990,\r\n \"zlevel\": 11.751,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 749,\r\n \"chainage\": 3000,\r\n \"zlevel\": 11.848,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 750,\r\n \"chainage\": 3020,\r\n \"zlevel\": 12.048,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 751,\r\n \"chainage\": 3040,\r\n \"zlevel\": 12.248,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 752,\r\n \"chainage\": 3060,\r\n \"zlevel\": 12.448,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 753,\r\n \"chainage\": 3080,\r\n \"zlevel\": 12.648,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 754,\r\n \"chainage\": 3100,\r\n \"zlevel\": 12.848,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 755,\r\n \"chainage\": 3120,\r\n \"zlevel\": 13.047,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 756,\r\n \"chainage\": 3140,\r\n \"zlevel\": 13.247,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 757,\r\n \"chainage\": 3160,\r\n \"zlevel\": 13.447,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 758,\r\n \"chainage\": 3178,\r\n \"zlevel\": 13.632,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 759,\r\n \"chainage\": 3180,\r\n \"zlevel\": 13.647,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 760,\r\n \"chainage\": 3200,\r\n \"zlevel\": 13.847,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 761,\r\n \"chainage\": 3220,\r\n \"zlevel\": 14.047,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 762,\r\n \"chainage\": 3240,\r\n \"zlevel\": 14.247,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 763,\r\n \"chainage\": 3260,\r\n \"zlevel\": 14.447,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 764,\r\n \"chainage\": 3280,\r\n \"zlevel\": 14.647,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 765,\r\n \"chainage\": 3300,\r\n \"zlevel\": 14.847,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 766,\r\n \"chainage\": 3320,\r\n \"zlevel\": 15.047,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 767,\r\n \"chainage\": 3340,\r\n \"zlevel\": 15.247,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 768,\r\n \"chainage\": 3360,\r\n \"zlevel\": 15.447,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 769,\r\n \"chainage\": 3367,\r\n \"zlevel\": 15.513,\r\n \"radius\": 870,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 770,\r\n \"chainage\": 3380,\r\n \"zlevel\": 15.647,\r\n \"radius\": 998.912,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 771,\r\n \"chainage\": 3400,\r\n \"zlevel\": 15.847,\r\n \"radius\": 1283.916,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 772,\r\n \"chainage\": 3420,\r\n \"zlevel\": 16.047,\r\n \"radius\": 1796.478,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 773,\r\n \"chainage\": 3440,\r\n \"zlevel\": 16.247,\r\n \"radius\": 2990.229,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 774,\r\n \"chainage\": 3460,\r\n \"zlevel\": 16.447,\r\n \"radius\": 8912.629,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 775,\r\n \"chainage\": 3840,\r\n \"zlevel\": 15.227,\r\n \"radius\": 7748.77,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 776,\r\n \"chainage\": 3860,\r\n \"zlevel\": 14.907,\r\n \"radius\": 1907.98,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 777,\r\n \"chainage\": 3880,\r\n \"zlevel\": 14.587,\r\n \"radius\": 1087.931,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 778,\r\n \"chainage\": 3897,\r\n \"zlevel\": 14.319,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 779,\r\n \"chainage\": 3900,\r\n \"zlevel\": 14.267,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 780,\r\n \"chainage\": 3920,\r\n \"zlevel\": 13.947,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 781,\r\n \"chainage\": 3940,\r\n \"zlevel\": 13.627,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 782,\r\n \"chainage\": 3960,\r\n \"zlevel\": 13.307,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 783,\r\n \"chainage\": 3980,\r\n \"zlevel\": 12.987,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 784,\r\n \"chainage\": 3983,\r\n \"zlevel\": 12.935,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 785,\r\n \"chainage\": 4000,\r\n \"zlevel\": 12.667,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 786,\r\n \"chainage\": 4020,\r\n \"zlevel\": 12.347,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 787,\r\n \"chainage\": 4040,\r\n \"zlevel\": 12.027,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 788,\r\n \"chainage\": 4060,\r\n \"zlevel\": 11.707,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 789,\r\n \"chainage\": 4070,\r\n \"zlevel\": 11.552,\r\n \"radius\": 800,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 790,\r\n \"chainage\": 4080,\r\n \"zlevel\": 11.387,\r\n \"radius\": 956.509,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 791,\r\n \"chainage\": 4100,\r\n \"zlevel\": 11.067,\r\n \"radius\": 1537.5,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 792,\r\n \"chainage\": 4120,\r\n \"zlevel\": 10.747,\r\n \"radius\": 3916.276,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 793,\r\n \"chainage\": 4140,\r\n \"zlevel\": 10.427,\r\n \"radius\": 8143.435,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 794,\r\n \"chainage\": 4160,\r\n \"zlevel\": 10.107,\r\n \"radius\": 2127.566,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 795,\r\n \"chainage\": 4180,\r\n \"zlevel\": 9.787,\r\n \"radius\": 1223.626,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 796,\r\n \"chainage\": 4200,\r\n \"zlevel\": 9.467,\r\n \"radius\": 858.763,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 797,\r\n \"chainage\": 4220,\r\n \"zlevel\": 9.147,\r\n \"radius\": 661.512,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 798,\r\n \"chainage\": 4222,\r\n \"zlevel\": 9.111,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 799,\r\n \"chainage\": 4240,\r\n \"zlevel\": 8.827,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 800,\r\n \"chainage\": 4260,\r\n \"zlevel\": 8.507,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 801,\r\n \"chainage\": 4280,\r\n \"zlevel\": 8.187,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 802,\r\n \"chainage\": 4300,\r\n \"zlevel\": 7.867,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 803,\r\n \"chainage\": 4306,\r\n \"zlevel\": 7.768,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 804,\r\n \"chainage\": 4320,\r\n \"zlevel\": 7.563,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 805,\r\n \"chainage\": 4340,\r\n \"zlevel\": 7.322,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 806,\r\n \"chainage\": 4360,\r\n \"zlevel\": 7.148,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 807,\r\n \"chainage\": 4380,\r\n \"zlevel\": 7.041,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 808,\r\n \"chainage\": 4400,\r\n \"zlevel\": 7.001,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 809,\r\n \"chainage\": 4402,\r\n \"zlevel\": 7,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 810,\r\n \"chainage\": 4420,\r\n \"zlevel\": 7.027,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 811,\r\n \"chainage\": 4423,\r\n \"zlevel\": 7.037,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 812,\r\n \"chainage\": 4440,\r\n \"zlevel\": 7.12,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 813,\r\n \"chainage\": 4460,\r\n \"zlevel\": 7.28,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 814,\r\n \"chainage\": 4480,\r\n \"zlevel\": 7.506,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 815,\r\n \"chainage\": 4500,\r\n \"zlevel\": 7.799,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 816,\r\n \"chainage\": 4520,\r\n \"zlevel\": 8.158,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 817,\r\n \"chainage\": 4540,\r\n \"zlevel\": 8.585,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 818,\r\n \"chainage\": 4540,\r\n \"zlevel\": 8.587,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 819,\r\n \"chainage\": 4560,\r\n \"zlevel\": 9.045,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 820,\r\n \"chainage\": 4566,\r\n \"zlevel\": 9.191,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 821,\r\n \"chainage\": 4580,\r\n \"zlevel\": 9.505,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 822,\r\n \"chainage\": 4600,\r\n \"zlevel\": 9.965,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 823,\r\n \"chainage\": 4620,\r\n \"zlevel\": 10.425,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 824,\r\n \"chainage\": 4640,\r\n \"zlevel\": 10.885,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 825,\r\n \"chainage\": 4660,\r\n \"zlevel\": 11.345,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 826,\r\n \"chainage\": 4680,\r\n \"zlevel\": 11.805,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 827,\r\n \"chainage\": 4700,\r\n \"zlevel\": 12.265,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 828,\r\n \"chainage\": 4720,\r\n \"zlevel\": 12.725,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 829,\r\n \"chainage\": 4740,\r\n \"zlevel\": 13.185,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 830,\r\n \"chainage\": 4760,\r\n \"zlevel\": 13.645,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 831,\r\n \"chainage\": 4780,\r\n \"zlevel\": 14.105,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 832,\r\n \"chainage\": 4800,\r\n \"zlevel\": 14.565,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 833,\r\n \"chainage\": 4820,\r\n \"zlevel\": 15.025,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 834,\r\n \"chainage\": 4840,\r\n \"zlevel\": 15.485,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 835,\r\n \"chainage\": 4860,\r\n \"zlevel\": 15.945,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 836,\r\n \"chainage\": 4880,\r\n \"zlevel\": 16.405,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 837,\r\n \"chainage\": 4900,\r\n \"zlevel\": 16.865,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 838,\r\n \"chainage\": 4910,\r\n \"zlevel\": 17.105,\r\n \"radius\": 645,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 839,\r\n \"chainage\": 4920,\r\n \"zlevel\": 17.325,\r\n \"radius\": 722.061,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 840,\r\n \"chainage\": 4940,\r\n \"zlevel\": 17.785,\r\n \"radius\": 963.667,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 841,\r\n \"chainage\": 4960,\r\n \"zlevel\": 18.245,\r\n \"radius\": 1448.266,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 842,\r\n \"chainage\": 4980,\r\n \"zlevel\": 18.705,\r\n \"radius\": 2913.256,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 843,\r\n \"chainage\": 5440,\r\n \"zlevel\": 36.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 844,\r\n \"chainage\": 5460,\r\n \"zlevel\": 37.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 845,\r\n \"chainage\": 5480,\r\n \"zlevel\": 38.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 846,\r\n \"chainage\": 5491,\r\n \"zlevel\": 39.019,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 847,\r\n \"chainage\": 5500,\r\n \"zlevel\": 39.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 848,\r\n \"chainage\": 5520,\r\n \"zlevel\": 40.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 849,\r\n \"chainage\": 5540,\r\n \"zlevel\": 41.48,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 850,\r\n \"chainage\": 5548,\r\n \"zlevel\": 41.898,\r\n \"radius\": 700,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 851,\r\n \"chainage\": 5560,\r\n \"zlevel\": 42.48,\r\n \"radius\": 827.634,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 852,\r\n \"chainage\": 5580,\r\n \"zlevel\": 43.48,\r\n \"radius\": 1204.542,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 853,\r\n \"chainage\": 5600,\r\n \"zlevel\": 44.48,\r\n \"radius\": 2211.805,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 854,\r\n \"chainage\": 5620,\r\n \"zlevel\": 45.48,\r\n \"radius\": 13504.82,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 855,\r\n \"chainage\": 6600,\r\n \"zlevel\": 43.739,\r\n \"radius\": 2921.033,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 856,\r\n \"chainage\": 6620,\r\n \"zlevel\": 42.739,\r\n \"radius\": 1450.186,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 857,\r\n \"chainage\": 6640,\r\n \"zlevel\": 41.739,\r\n \"radius\": 964.516,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 858,\r\n \"chainage\": 6648,\r\n \"zlevel\": 41.337,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 859,\r\n \"chainage\": 6660,\r\n \"zlevel\": 40.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 860,\r\n \"chainage\": 6680,\r\n \"zlevel\": 39.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 861,\r\n \"chainage\": 6700,\r\n \"zlevel\": 38.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 862,\r\n \"chainage\": 6720,\r\n \"zlevel\": 37.74,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 863,\r\n \"chainage\": 6728,\r\n \"zlevel\": 37.36,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 864,\r\n \"chainage\": 6740,\r\n \"zlevel\": 36.752,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 865,\r\n \"chainage\": 6760,\r\n \"zlevel\": 35.816,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 866,\r\n \"chainage\": 6776,\r\n \"zlevel\": 35.126,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 867,\r\n \"chainage\": 6780,\r\n \"zlevel\": 34.938,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 868,\r\n \"chainage\": 6800,\r\n \"zlevel\": 34.117,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 869,\r\n \"chainage\": 6820,\r\n \"zlevel\": 33.353,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 870,\r\n \"chainage\": 6840,\r\n \"zlevel\": 32.647,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 871,\r\n \"chainage\": 6850,\r\n \"zlevel\": 32.323,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 872,\r\n \"chainage\": 6860,\r\n \"zlevel\": 31.998,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 873,\r\n \"chainage\": 6880,\r\n \"zlevel\": 31.406,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 874,\r\n \"chainage\": 6900,\r\n \"zlevel\": 30.871,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 875,\r\n \"chainage\": 6903,\r\n \"zlevel\": 30.793,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 876,\r\n \"chainage\": 6920,\r\n \"zlevel\": 30.394,\r\n \"radius\": 1165.745,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 877,\r\n \"chainage\": 6940,\r\n \"zlevel\": 29.974,\r\n \"radius\": 2084.425,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 878,\r\n \"chainage\": 6960,\r\n \"zlevel\": 29.61,\r\n \"radius\": 9835.083,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 879,\r\n \"chainage\": 6972,\r\n \"zlevel\": 29.419,\r\n \"radius\": 8588.7,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 880,\r\n \"chainage\": 6980,\r\n \"zlevel\": 29.3,\r\n \"radius\": 3939.459,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 881,\r\n \"chainage\": 7000,\r\n \"zlevel\": 29,\r\n \"radius\": 1663.716,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 882,\r\n \"chainage\": 7020,\r\n \"zlevel\": 28.7,\r\n \"radius\": 1054.534,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 883,\r\n \"chainage\": 7026,\r\n \"zlevel\": 28.61,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 884,\r\n \"chainage\": 7040,\r\n \"zlevel\": 28.4,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 885,\r\n \"chainage\": 7060,\r\n \"zlevel\": 28.1,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 886,\r\n \"chainage\": 7080,\r\n \"zlevel\": 27.8,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 887,\r\n \"chainage\": 7100,\r\n \"zlevel\": 27.5,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 888,\r\n \"chainage\": 7120,\r\n \"zlevel\": 27.2,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 889,\r\n \"chainage\": 7140,\r\n \"zlevel\": 26.9,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 890,\r\n \"chainage\": 7160,\r\n \"zlevel\": 26.6,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 891,\r\n \"chainage\": 7180,\r\n \"zlevel\": 26.3,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 892,\r\n \"chainage\": 7200,\r\n \"zlevel\": 26,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 893,\r\n \"chainage\": 7220,\r\n \"zlevel\": 25.7,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 894,\r\n \"chainage\": 7240,\r\n \"zlevel\": 25.4,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 895,\r\n \"chainage\": 7260,\r\n \"zlevel\": 25.1,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 896,\r\n \"chainage\": 7280,\r\n \"zlevel\": 24.8,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 897,\r\n \"chainage\": 7300,\r\n \"zlevel\": 24.5,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 898,\r\n \"chainage\": 7320,\r\n \"zlevel\": 24.2,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 899,\r\n \"chainage\": 7332,\r\n \"zlevel\": 24.017,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 900,\r\n \"chainage\": 7340,\r\n \"zlevel\": 23.9,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 901,\r\n \"chainage\": 7360,\r\n \"zlevel\": 23.6,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 902,\r\n \"chainage\": 7380,\r\n \"zlevel\": 23.3,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 903,\r\n \"chainage\": 7400,\r\n \"zlevel\": 23,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 904,\r\n \"chainage\": 7420,\r\n \"zlevel\": 22.7,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 905,\r\n \"chainage\": 7440,\r\n \"zlevel\": 22.4,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 906,\r\n \"chainage\": 7447,\r\n \"zlevel\": 22.301,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 907,\r\n \"chainage\": 7460,\r\n \"zlevel\": 22.111,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 908,\r\n \"chainage\": 7480,\r\n \"zlevel\": 21.87,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 909,\r\n \"chainage\": 7500,\r\n \"zlevel\": 21.678,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 910,\r\n \"chainage\": 7520,\r\n \"zlevel\": 21.537,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 911,\r\n \"chainage\": 7540,\r\n \"zlevel\": 21.445,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 912,\r\n \"chainage\": 7555,\r\n \"zlevel\": 21.41,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 913,\r\n \"chainage\": 7560,\r\n \"zlevel\": 21.404,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 914,\r\n \"chainage\": 7567,\r\n \"zlevel\": 21.401,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 915,\r\n \"chainage\": 7580,\r\n \"zlevel\": 21.413,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 916,\r\n \"chainage\": 7600,\r\n \"zlevel\": 21.471,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 917,\r\n \"chainage\": 7620,\r\n \"zlevel\": 21.58,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 918,\r\n \"chainage\": 7638,\r\n \"zlevel\": 21.723,\r\n \"radius\": 950,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 919,\r\n \"chainage\": 7640,\r\n \"zlevel\": 21.738,\r\n \"radius\": 974.843,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 920,\r\n \"chainage\": 7660,\r\n \"zlevel\": 21.947,\r\n \"radius\": 1416.819,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 921,\r\n \"chainage\": 7663,\r\n \"zlevel\": 21.977,\r\n \"radius\": 1504.533,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 922,\r\n \"chainage\": 7680,\r\n \"zlevel\": 22.186,\r\n \"radius\": 2591.973,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 923,\r\n \"chainage\": 7700,\r\n \"zlevel\": 22.426,\r\n \"radius\": 15196.068,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 924,\r\n \"chainage\": 8031,\r\n \"zlevel\": 27.205,\r\n \"radius\": 7415.366,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 925,\r\n \"chainage\": 8040,\r\n \"zlevel\": 27.505,\r\n \"radius\": 3358.169,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 926,\r\n \"chainage\": 8060,\r\n \"zlevel\": 28.212,\r\n \"radius\": 1550.379,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 927,\r\n \"chainage\": 8080,\r\n \"zlevel\": 29.007,\r\n \"radius\": 1007.835,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 928,\r\n \"chainage\": 8091,\r\n \"zlevel\": 29.465,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 929,\r\n \"chainage\": 8100,\r\n \"zlevel\": 29.891,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 930,\r\n \"chainage\": 8116,\r\n \"zlevel\": 30.659,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 931,\r\n \"chainage\": 8120,\r\n \"zlevel\": 30.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 932,\r\n \"chainage\": 8140,\r\n \"zlevel\": 31.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 933,\r\n \"chainage\": 8160,\r\n \"zlevel\": 32.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 934,\r\n \"chainage\": 8180,\r\n \"zlevel\": 33.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 935,\r\n \"chainage\": 8200,\r\n \"zlevel\": 34.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 936,\r\n \"chainage\": 8220,\r\n \"zlevel\": 35.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 937,\r\n \"chainage\": 8240,\r\n \"zlevel\": 36.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 938,\r\n \"chainage\": 8260,\r\n \"zlevel\": 37.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 939,\r\n \"chainage\": 8280,\r\n \"zlevel\": 38.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 940,\r\n \"chainage\": 8300,\r\n \"zlevel\": 39.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 941,\r\n \"chainage\": 8320,\r\n \"zlevel\": 40.863,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 942,\r\n \"chainage\": 8321,\r\n \"zlevel\": 40.935,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 943,\r\n \"chainage\": 8340,\r\n \"zlevel\": 41.836,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 944,\r\n \"chainage\": 8360,\r\n \"zlevel\": 42.748,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 945,\r\n \"chainage\": 8380,\r\n \"zlevel\": 43.598,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 946,\r\n \"chainage\": 8400,\r\n \"zlevel\": 44.387,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 947,\r\n \"chainage\": 8420,\r\n \"zlevel\": 45.114,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 948,\r\n \"chainage\": 8440,\r\n \"zlevel\": 45.779,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 949,\r\n \"chainage\": 8460,\r\n \"zlevel\": 46.382,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 950,\r\n \"chainage\": 8480,\r\n \"zlevel\": 46.924,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 951,\r\n \"chainage\": 8494,\r\n \"zlevel\": 47.261,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 952,\r\n \"chainage\": 8500,\r\n \"zlevel\": 47.404,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 953,\r\n \"chainage\": 8520,\r\n \"zlevel\": 47.823,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 954,\r\n \"chainage\": 8531,\r\n \"zlevel\": 48.028,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 955,\r\n \"chainage\": 8540,\r\n \"zlevel\": 48.18,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 956,\r\n \"chainage\": 8560,\r\n \"zlevel\": 48.476,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 957,\r\n \"chainage\": 8580,\r\n \"zlevel\": 48.71,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 958,\r\n \"chainage\": 8600,\r\n \"zlevel\": 48.882,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 959,\r\n \"chainage\": 8620,\r\n \"zlevel\": 48.993,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 960,\r\n \"chainage\": 8640,\r\n \"zlevel\": 49.042,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 961,\r\n \"chainage\": 8646,\r\n \"zlevel\": 49.045,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 962,\r\n \"chainage\": 8660,\r\n \"zlevel\": 49.03,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 963,\r\n \"chainage\": 8680,\r\n \"zlevel\": 48.956,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 964,\r\n \"chainage\": 8700,\r\n \"zlevel\": 48.821,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 965,\r\n \"chainage\": 8720,\r\n \"zlevel\": 48.624,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 966,\r\n \"chainage\": 8740,\r\n \"zlevel\": 48.366,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 967,\r\n \"chainage\": 8741,\r\n \"zlevel\": 48.352,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 968,\r\n \"chainage\": 8760,\r\n \"zlevel\": 48.074,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 969,\r\n \"chainage\": 8780,\r\n \"zlevel\": 47.782,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 970,\r\n \"chainage\": 8800,\r\n \"zlevel\": 47.49,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 971,\r\n \"chainage\": 8820,\r\n \"zlevel\": 47.198,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 972,\r\n \"chainage\": 8840,\r\n \"zlevel\": 46.906,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 973,\r\n \"chainage\": 8860,\r\n \"zlevel\": 46.614,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 974,\r\n \"chainage\": 8880,\r\n \"zlevel\": 46.322,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 975,\r\n \"chainage\": 8897,\r\n \"zlevel\": 46.076,\r\n \"radius\": 850,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 976,\r\n \"chainage\": 8900,\r\n \"zlevel\": 46.03,\r\n \"radius\": 877.742,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 977,\r\n \"chainage\": 8920,\r\n \"zlevel\": 45.738,\r\n \"radius\": 1109.293,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 978,\r\n \"chainage\": 8940,\r\n \"zlevel\": 45.446,\r\n \"radius\": 1506.788,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 979,\r\n \"chainage\": 8960,\r\n \"zlevel\": 45.154,\r\n \"radius\": 2348.238,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 980,\r\n \"chainage\": 8980,\r\n \"zlevel\": 44.862,\r\n \"radius\": 5318.045,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 981,\r\n \"chainage\": 9000,\r\n \"zlevel\": 44.57,\r\n \"radius\": 8624.157,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 982,\r\n \"chainage\": 9020,\r\n \"zlevel\": 44.278,\r\n \"radius\": 1492.604,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 983,\r\n \"chainage\": 9040,\r\n \"zlevel\": 43.986,\r\n \"radius\": 817.002,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 984,\r\n \"chainage\": 9046,\r\n \"zlevel\": 43.903,\r\n \"radius\": 723.376,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 985,\r\n \"chainage\": 9060,\r\n \"zlevel\": 43.738,\r\n \"radius\": 562.429,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 986,\r\n \"chainage\": 9079,\r\n \"zlevel\": 43.657,\r\n \"radius\": 432.432,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 987,\r\n \"chainage\": 9080,\r\n \"zlevel\": 43.658,\r\n \"radius\": 428.813,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 988,\r\n \"chainage\": 9080,\r\n \"zlevel\": 43.658,\r\n \"radius\": 428.302,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 989,\r\n \"chainage\": 9100,\r\n \"zlevel\": 43.751,\r\n \"radius\": 346.496,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 990,\r\n \"chainage\": 9103,\r\n \"zlevel\": 43.779,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 991,\r\n \"chainage\": 9114,\r\n \"zlevel\": 43.927,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 992,\r\n \"chainage\": 9120,\r\n \"zlevel\": 44.011,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 993,\r\n \"chainage\": 9140,\r\n \"zlevel\": 44.317,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 994,\r\n \"chainage\": 9160,\r\n \"zlevel\": 44.623,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 995,\r\n \"chainage\": 9180,\r\n \"zlevel\": 44.929,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 996,\r\n \"chainage\": 9200,\r\n \"zlevel\": 45.235,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 997,\r\n \"chainage\": 9220,\r\n \"zlevel\": 45.541,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 998,\r\n \"chainage\": 9240,\r\n \"zlevel\": 45.847,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 999,\r\n \"chainage\": 9242,\r\n \"zlevel\": 45.875,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1000,\r\n \"chainage\": 9260,\r\n \"zlevel\": 46.153,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1001,\r\n \"chainage\": 9280,\r\n \"zlevel\": 46.459,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1002,\r\n \"chainage\": 9300,\r\n \"zlevel\": 46.765,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1003,\r\n \"chainage\": 9312,\r\n \"zlevel\": 46.947,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1004,\r\n \"chainage\": 9320,\r\n \"zlevel\": 47.063,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1005,\r\n \"chainage\": 9340,\r\n \"zlevel\": 47.278,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1006,\r\n \"chainage\": 9360,\r\n \"zlevel\": 47.394,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1007,\r\n \"chainage\": 9373,\r\n \"zlevel\": 47.415,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1008,\r\n \"chainage\": 9380,\r\n \"zlevel\": 47.409,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1009,\r\n \"chainage\": 9381,\r\n \"zlevel\": 47.408,\r\n \"radius\": 337,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1010,\r\n \"chainage\": 9400,\r\n \"zlevel\": 47.324,\r\n \"radius\": 421.504,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1011,\r\n \"chainage\": 9420,\r\n \"zlevel\": 47.14,\r\n \"radius\": 569.744,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1012,\r\n \"chainage\": 9440,\r\n \"zlevel\": 46.855,\r\n \"radius\": 878.819,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1013,\r\n \"chainage\": 9440,\r\n \"zlevel\": 46.848,\r\n \"radius\": 889.525,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1014,\r\n \"chainage\": 9460,\r\n \"zlevel\": 46.471,\r\n \"radius\": 1920.836,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1015,\r\n \"chainage\": 188,\r\n \"zlevel\": 40.936,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1016,\r\n \"chainage\": 200,\r\n \"zlevel\": 40.9,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1017,\r\n \"chainage\": 220,\r\n \"zlevel\": 40.84,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1018,\r\n \"chainage\": 240,\r\n \"zlevel\": 40.78,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1019,\r\n \"chainage\": 260,\r\n \"zlevel\": 40.72,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1020,\r\n \"chainage\": 265,\r\n \"zlevel\": 40.704,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1021,\r\n \"chainage\": 741,\r\n \"zlevel\": 30.969,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1022,\r\n \"chainage\": 760,\r\n \"zlevel\": 30.417,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1023,\r\n \"chainage\": 780,\r\n \"zlevel\": 29.847,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1024,\r\n \"chainage\": 800,\r\n \"zlevel\": 29.277,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1025,\r\n \"chainage\": 808,\r\n \"zlevel\": 29.043,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1026,\r\n \"chainage\": 1674,\r\n \"zlevel\": 13.177,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1027,\r\n \"chainage\": 1993,\r\n \"zlevel\": 19.88,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1028,\r\n \"chainage\": 2447,\r\n \"zlevel\": 14.372,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1029,\r\n \"chainage\": 2788,\r\n \"zlevel\": 9.762,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1030,\r\n \"chainage\": 2800,\r\n \"zlevel\": 9.856,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1031,\r\n \"chainage\": 2811,\r\n \"zlevel\": 9.958,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1032,\r\n \"chainage\": 2820,\r\n \"zlevel\": 10.048,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1033,\r\n \"chainage\": 2840,\r\n \"zlevel\": 10.248,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1034,\r\n \"chainage\": 2860,\r\n \"zlevel\": 10.448,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1035,\r\n \"chainage\": 2880,\r\n \"zlevel\": 10.648,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1036,\r\n \"chainage\": 2900,\r\n \"zlevel\": 10.848,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1037,\r\n \"chainage\": 2920,\r\n \"zlevel\": 11.048,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1038,\r\n \"chainage\": 2924,\r\n \"zlevel\": 11.089,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1039,\r\n \"chainage\": 3470,\r\n \"zlevel\": 16.548,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1040,\r\n \"chainage\": 3480,\r\n \"zlevel\": 16.647,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1041,\r\n \"chainage\": 3500,\r\n \"zlevel\": 16.846,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1042,\r\n \"chainage\": 3520,\r\n \"zlevel\": 17.046,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1043,\r\n \"chainage\": 3540,\r\n \"zlevel\": 17.246,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1044,\r\n \"chainage\": 3560,\r\n \"zlevel\": 17.446,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1045,\r\n \"chainage\": 3575,\r\n \"zlevel\": 17.601,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1046,\r\n \"chainage\": 3580,\r\n \"zlevel\": 17.644,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1047,\r\n \"chainage\": 3600,\r\n \"zlevel\": 17.791,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1048,\r\n \"chainage\": 3620,\r\n \"zlevel\": 17.866,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1049,\r\n \"chainage\": 3630,\r\n \"zlevel\": 17.876,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1050,\r\n \"chainage\": 3640,\r\n \"zlevel\": 17.867,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1051,\r\n \"chainage\": 3647,\r\n \"zlevel\": 17.851,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1052,\r\n \"chainage\": 3660,\r\n \"zlevel\": 17.796,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1053,\r\n \"chainage\": 3680,\r\n \"zlevel\": 17.652,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1054,\r\n \"chainage\": 3700,\r\n \"zlevel\": 17.436,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1055,\r\n \"chainage\": 3718,\r\n \"zlevel\": 17.172,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1056,\r\n \"chainage\": 3720,\r\n \"zlevel\": 17.147,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1057,\r\n \"chainage\": 3740,\r\n \"zlevel\": 16.827,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1058,\r\n \"chainage\": 3760,\r\n \"zlevel\": 16.507,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1059,\r\n \"chainage\": 3780,\r\n \"zlevel\": 16.187,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1060,\r\n \"chainage\": 3800,\r\n \"zlevel\": 15.867,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1061,\r\n \"chainage\": 3820,\r\n \"zlevel\": 15.547,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1062,\r\n \"chainage\": 3833,\r\n \"zlevel\": 15.331,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1063,\r\n \"chainage\": 4133,\r\n \"zlevel\": 10.54,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1064,\r\n \"chainage\": 5000,\r\n \"zlevel\": 19.159,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1065,\r\n \"chainage\": 5000,\r\n \"zlevel\": 19.165,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1066,\r\n \"chainage\": 5020,\r\n \"zlevel\": 19.625,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1067,\r\n \"chainage\": 5040,\r\n \"zlevel\": 20.085,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1068,\r\n \"chainage\": 5060,\r\n \"zlevel\": 20.545,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1069,\r\n \"chainage\": 5080,\r\n \"zlevel\": 21.005,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1070,\r\n \"chainage\": 5100,\r\n \"zlevel\": 21.465,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1071,\r\n \"chainage\": 5106,\r\n \"zlevel\": 21.605,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1072,\r\n \"chainage\": 5120,\r\n \"zlevel\": 21.944,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1073,\r\n \"chainage\": 5140,\r\n \"zlevel\": 22.5,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1074,\r\n \"chainage\": 5160,\r\n \"zlevel\": 23.136,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1075,\r\n \"chainage\": 5173,\r\n \"zlevel\": 23.61,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1076,\r\n \"chainage\": 5180,\r\n \"zlevel\": 23.851,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1077,\r\n \"chainage\": 5200,\r\n \"zlevel\": 24.648,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1078,\r\n \"chainage\": 5220,\r\n \"zlevel\": 25.524,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1079,\r\n \"chainage\": 5240,\r\n \"zlevel\": 26.481,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1080,\r\n \"chainage\": 5241,\r\n \"zlevel\": 26.521,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1081,\r\n \"chainage\": 5260,\r\n \"zlevel\": 27.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1082,\r\n \"chainage\": 5280,\r\n \"zlevel\": 28.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1083,\r\n \"chainage\": 5300,\r\n \"zlevel\": 29.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1084,\r\n \"chainage\": 5320,\r\n \"zlevel\": 30.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1085,\r\n \"chainage\": 5340,\r\n \"zlevel\": 31.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1086,\r\n \"chainage\": 5360,\r\n \"zlevel\": 32.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1087,\r\n \"chainage\": 5380,\r\n \"zlevel\": 33.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1088,\r\n \"chainage\": 5400,\r\n \"zlevel\": 34.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1089,\r\n \"chainage\": 5420,\r\n \"zlevel\": 35.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1090,\r\n \"chainage\": 5433,\r\n \"zlevel\": 36.139,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1091,\r\n \"chainage\": 5624,\r\n \"zlevel\": 45.676,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1092,\r\n \"chainage\": 5640,\r\n \"zlevel\": 46.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1093,\r\n \"chainage\": 5660,\r\n \"zlevel\": 47.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1094,\r\n \"chainage\": 5680,\r\n \"zlevel\": 48.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1095,\r\n \"chainage\": 5700,\r\n \"zlevel\": 49.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1096,\r\n \"chainage\": 5720,\r\n \"zlevel\": 50.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1097,\r\n \"chainage\": 5740,\r\n \"zlevel\": 51.48,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1098,\r\n \"chainage\": 5743,\r\n \"zlevel\": 51.63,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1099,\r\n \"chainage\": 5760,\r\n \"zlevel\": 52.46,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1100,\r\n \"chainage\": 5780,\r\n \"zlevel\": 53.382,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1101,\r\n \"chainage\": 5800,\r\n \"zlevel\": 54.248,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1102,\r\n \"chainage\": 5820,\r\n \"zlevel\": 55.056,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1103,\r\n \"chainage\": 5840,\r\n \"zlevel\": 55.806,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1104,\r\n \"chainage\": 5860,\r\n \"zlevel\": 56.5,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1105,\r\n \"chainage\": 5880,\r\n \"zlevel\": 57.136,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1106,\r\n \"chainage\": 5900,\r\n \"zlevel\": 57.715,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1107,\r\n \"chainage\": 5920,\r\n \"zlevel\": 58.237,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1108,\r\n \"chainage\": 5940,\r\n \"zlevel\": 58.701,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1109,\r\n \"chainage\": 5960,\r\n \"zlevel\": 59.109,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1110,\r\n \"chainage\": 5980,\r\n \"zlevel\": 59.459,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1111,\r\n \"chainage\": 6000,\r\n \"zlevel\": 59.752,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1112,\r\n \"chainage\": 6020,\r\n \"zlevel\": 59.988,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1113,\r\n \"chainage\": 6040,\r\n \"zlevel\": 60.167,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1114,\r\n \"chainage\": 6060,\r\n \"zlevel\": 60.288,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1115,\r\n \"chainage\": 6080,\r\n \"zlevel\": 60.353,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1116,\r\n \"chainage\": 6093,\r\n \"zlevel\": 60.364,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1117,\r\n \"chainage\": 6093,\r\n \"zlevel\": 60.364,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1118,\r\n \"chainage\": 6100,\r\n \"zlevel\": 60.36,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1119,\r\n \"chainage\": 6120,\r\n \"zlevel\": 60.31,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1120,\r\n \"chainage\": 6140,\r\n \"zlevel\": 60.203,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1121,\r\n \"chainage\": 6160,\r\n \"zlevel\": 60.039,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1122,\r\n \"chainage\": 6180,\r\n \"zlevel\": 59.818,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1123,\r\n \"chainage\": 6200,\r\n \"zlevel\": 59.54,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1124,\r\n \"chainage\": 6220,\r\n \"zlevel\": 59.204,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1125,\r\n \"chainage\": 6240,\r\n \"zlevel\": 58.811,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1126,\r\n \"chainage\": 6260,\r\n \"zlevel\": 58.361,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1127,\r\n \"chainage\": 6280,\r\n \"zlevel\": 57.854,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1128,\r\n \"chainage\": 6300,\r\n \"zlevel\": 57.29,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1129,\r\n \"chainage\": 6320,\r\n \"zlevel\": 56.668,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1130,\r\n \"chainage\": 6340,\r\n \"zlevel\": 55.989,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1131,\r\n \"chainage\": 6360,\r\n \"zlevel\": 55.253,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1132,\r\n \"chainage\": 6380,\r\n \"zlevel\": 54.46,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1133,\r\n \"chainage\": 6400,\r\n \"zlevel\": 53.61,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1134,\r\n \"chainage\": 6420,\r\n \"zlevel\": 52.702,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1135,\r\n \"chainage\": 6440,\r\n \"zlevel\": 51.736,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1136,\r\n \"chainage\": 6442,\r\n \"zlevel\": 51.635,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1137,\r\n \"chainage\": 6460,\r\n \"zlevel\": 50.737,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1138,\r\n \"chainage\": 6480,\r\n \"zlevel\": 49.737,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1139,\r\n \"chainage\": 6500,\r\n \"zlevel\": 48.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1140,\r\n \"chainage\": 6520,\r\n \"zlevel\": 47.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1141,\r\n \"chainage\": 6540,\r\n \"zlevel\": 46.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1142,\r\n \"chainage\": 6560,\r\n \"zlevel\": 45.738,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1143,\r\n \"chainage\": 6580,\r\n \"zlevel\": 44.739,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1144,\r\n \"chainage\": 6580,\r\n \"zlevel\": 44.725,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1145,\r\n \"chainage\": 6965,\r\n \"zlevel\": 29.523,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1146,\r\n \"chainage\": 7704,\r\n \"zlevel\": 22.476,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1147,\r\n \"chainage\": 7720,\r\n \"zlevel\": 22.666,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1148,\r\n \"chainage\": 7740,\r\n \"zlevel\": 22.906,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1149,\r\n \"chainage\": 7760,\r\n \"zlevel\": 23.146,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1150,\r\n \"chainage\": 7780,\r\n \"zlevel\": 23.386,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1151,\r\n \"chainage\": 7800,\r\n \"zlevel\": 23.626,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1152,\r\n \"chainage\": 7820,\r\n \"zlevel\": 23.866,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1153,\r\n \"chainage\": 7840,\r\n \"zlevel\": 24.106,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1154,\r\n \"chainage\": 7860,\r\n \"zlevel\": 24.346,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1155,\r\n \"chainage\": 7880,\r\n \"zlevel\": 24.586,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1156,\r\n \"chainage\": 7900,\r\n \"zlevel\": 24.826,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1157,\r\n \"chainage\": 7920,\r\n \"zlevel\": 25.066,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1158,\r\n \"chainage\": 7940,\r\n \"zlevel\": 25.306,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1159,\r\n \"chainage\": 7945,\r\n \"zlevel\": 25.369,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1160,\r\n \"chainage\": 7960,\r\n \"zlevel\": 25.571,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1161,\r\n \"chainage\": 7980,\r\n \"zlevel\": 25.921,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1162,\r\n \"chainage\": 8000,\r\n \"zlevel\": 26.36,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1163,\r\n \"chainage\": 8020,\r\n \"zlevel\": 26.888,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1164,\r\n \"chainage\": 8023,\r\n \"zlevel\": 26.971,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1165,\r\n \"chainage\": 8996,\r\n \"zlevel\": 44.631,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1166,\r\n \"chainage\": 9477,\r\n \"zlevel\": 46.068,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1167,\r\n \"chainage\": 9480,\r\n \"zlevel\": 45.986,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1168,\r\n \"chainage\": 9500,\r\n \"zlevel\": 45.401,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1169,\r\n \"chainage\": 9520,\r\n \"zlevel\": 44.716,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1170,\r\n \"chainage\": 9540,\r\n \"zlevel\": 43.931,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1171,\r\n \"chainage\": 9560,\r\n \"zlevel\": 43.046,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1172,\r\n \"chainage\": 9569,\r\n \"zlevel\": 42.621,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1173,\r\n \"chainage\": 9580,\r\n \"zlevel\": 42.075,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 1174,\r\n \"chainage\": 9600,\r\n \"zlevel\": 41.103,\r\n \"radius\": null,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 589,\r\n \"chainage\": 129,\r\n \"zlevel\": 41.113,\r\n \"radius\": 95.3,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n },\r\n {\r\n \"segment_data_id\": 588,\r\n \"chainage\": 120,\r\n \"zlevel\": 41.14,\r\n \"radius\": 95.3,\r\n \"segment_order_no\": 1,\r\n \"a_intersection\": 0\r\n }\r\n ]\r\n}","import {\r\n SET_AUTO_OUT, SET_WIN_WIDTH, SET_IS_LICENSE, SET_LICENSE_DATE,\r\n SET_CURRENCY, SET_FORECAST_CAR_CONFIG, SET_FORECAST_TRUCK_CONFIG, SET_COUNTRY, SET_COUNTRIES_LIST, SET_GLOBAL_IS_PROCESS\r\n} from '../actions/global'\r\nimport { CURRENCY } from '../constant'\r\nimport { fuelDistributionCarsNorway, fuelDistributionTrucksNorway } from '../utils/aiRequestBodyUtils'\r\n\r\nconst defaultState = {\r\n isProcess: false,\r\n isLicense: null,\r\n licenseValid: false,\r\n currency: CURRENCY.NORWAY,\r\n country: '',\r\n autoOut: false,\r\n winWidth: window.innerWidth,\r\n countries: [],\r\n carConfig: fuelDistributionCarsNorway,\r\n truckConfig: fuelDistributionTrucksNorway\r\n}\r\n\r\nconst Global = (state = defaultState, action) => {\r\n switch (action.type) {\r\n case SET_GLOBAL_IS_PROCESS:\r\n case SET_IS_LICENSE:\r\n case SET_AUTO_OUT:\r\n case SET_WIN_WIDTH:\r\n case SET_LICENSE_DATE:\r\n case SET_CURRENCY:\r\n case SET_COUNTRIES_LIST:\r\n case SET_COUNTRY:\r\n case SET_FORECAST_CAR_CONFIG:\r\n case SET_FORECAST_TRUCK_CONFIG:\r\n return Object.assign({}, state, action.payload)\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default Global\r\n","import { handleRequest } from \"../constant/helpers\"\r\n\r\n\r\n/**\r\n * Get All Projects\r\n * @returns \r\n */\r\nexport const getAllProjects = () => handleRequest(\"post\", false, {\r\n query: `\r\n query{\r\n projects{\r\n project_name\r\n project_id,\r\n start_year,\r\n end_year\r\n }\r\n }`\r\n})\r\n\r\n\r\n/**\r\n * Get Project By ID\r\n * @param {*} id \r\n * @returns \r\n */\r\nexport const getProjectById = id => handleRequest(\"post\", false, {\r\n query: `\r\n query{\r\n projects(project_ids:${id}){\r\n project_id, project_name,\r\n start_year, end_year\r\n }\r\n }`\r\n})\r\n\r\n\r\n/**\r\n * Add New Project\r\n * @param {*} data \r\n * @returns \r\n */\r\nexport const addNewProject = data => handleRequest('post', false, {\r\n query: `mutation addProject($data:addProjectInput!)\r\n {addProject(data: $data){\r\n project_id, project_name,\r\n start_year, end_year\r\n }}`,\r\n variables: { data }\r\n}, 'application/json')\r\n\r\n\r\n/**\r\n * Edit Project\r\n * @param {*} data \r\n * @returns \r\n */\r\nexport const editProjectById = data => handleRequest('post', false, {\r\n query: `mutation updateProject($data:editProjectInput!)\r\n {updateProject(data: $data){\r\n project_id, project_name,\r\n start_year, end_year\r\n }}`,\r\n variables: { data }\r\n}, 'application/json')","import { editProjectById, getAllProjects, getProjectById } from \"../utils/project\"\r\nimport { setIsLicense } from \"./global\"\r\n\r\nexport const SET_ALL_PROJECTS = 'SET_ALL_PROJECTS'\r\nexport const SET_PROJECT_INFO = 'SET_PROJECT_INFO'\r\nexport const SET_IS_PROCESSING = 'SET_IS_PROCESSING'\r\n\r\nexport const setProjectIsProcessing = isProcessing => ({\r\n type: SET_IS_PROCESSING,\r\n payload: { isProcessing }\r\n})\r\n\r\nconst setAllProjects = projects => ({\r\n type: SET_ALL_PROJECTS,\r\n payload: {\r\n projects,\r\n isProcessing: false\r\n }\r\n})\r\n\r\nexport const setProjectInfo = project => ({\r\n type: SET_PROJECT_INFO,\r\n payload: {\r\n project,\r\n isProcessing: false\r\n }\r\n})\r\n\r\n\r\n/**\r\n * Fetch All Products\r\n * @returns \r\n */\r\nexport const fetchAllProjects = (setInStorage = false) => async (dispatch) => {\r\n dispatch(setProjectIsProcessing(true))\r\n try {\r\n const allProj = await getAllProjects()\r\n dispatch(setIsLicense(true))\r\n if (!!allProj && !!allProj.data && !!allProj.data.data &&\r\n !!allProj.data.data.projects && !!allProj.data.data.projects.length) {\r\n const resp = (allProj.data.data.projects).filter(p => p.project_id !== '0')\r\n if (!!resp && !!resp.length) {\r\n dispatch(setAllProjects(resp))\r\n const selectedProject = localStorage.getItem('selectedProject')\r\n if (setInStorage && (!selectedProject || typeof selectedProject === 'undefined')) {\r\n localStorage.setItem('selectedProject', JSON.stringify(resp[0]))\r\n }\r\n }\r\n } else {\r\n dispatch(setAllProjects([]))\r\n return []\r\n }\r\n } catch (e) {\r\n dispatch(setProjectIsProcessing(false))\r\n dispatch(setIsLicense(false))\r\n console.log('fetchAllProjects Error: ', e)\r\n return e\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Get Project Info\r\n * @param {*} id \r\n * @returns \r\n */\r\nexport const getProjectInfoById = (id) => async (dispatch) => {\r\n dispatch(setProjectIsProcessing(true))\r\n try {\r\n const projectInfo = await getProjectById(id)\r\n dispatch(setProjectIsProcessing(false))\r\n if (!!projectInfo && !!projectInfo.data && !!projectInfo.data.data &&\r\n !!projectInfo.data.data.projects && !!projectInfo.data.data.projects.length) {\r\n const resp = projectInfo.data.data.projects\r\n localStorage.setItem('selectedProject', JSON.stringify(resp[0]))\r\n dispatch(setProjectInfo(resp[0]))\r\n }\r\n return projectInfo\r\n } catch (e) {\r\n dispatch(setProjectIsProcessing(false))\r\n console.log('getProjectById Error: ', e)\r\n return e\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Update Project\r\n * @param {*} data\r\n * @returns \r\n */\r\nexport const updateProjectInfoById = (data) => async (dispatch) => {\r\n dispatch(setProjectIsProcessing(true))\r\n try {\r\n const projectInfo = await editProjectById(data)\r\n dispatch(setProjectIsProcessing(false))\r\n if (!!projectInfo && !!projectInfo.data && !!projectInfo.data.data &&\r\n !!projectInfo.data.data.updateProject && !!projectInfo.data.data.updateProject) {\r\n const resp = projectInfo.data.data.updateProject\r\n localStorage.setItem('selectedProject', JSON.stringify(resp))\r\n dispatch(setProjectInfo(resp))\r\n }\r\n return projectInfo\r\n } catch (e) {\r\n dispatch(setProjectIsProcessing(false))\r\n console.log('updateProjectInfoById Error: ', e)\r\n return e\r\n }\r\n}","import { SET_ALL_PROJECTS, SET_IS_PROCESSING, SET_PROJECT_INFO } from '../actions/project'\r\n\r\nconst defaultState = {\r\n isProcessing: false,\r\n projects: [],\r\n project: {}\r\n}\r\n\r\nconst Projects = (state = defaultState, action) => {\r\n switch (action.type) {\r\n case SET_PROJECT_INFO:\r\n case SET_IS_PROCESSING:\r\n case SET_ALL_PROJECTS:\r\n return Object.assign({}, state, action.payload)\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default Projects","import { PER_PAGE } from \"../constant\"\r\nimport { handleRequest } from \"../constant/helpers\"\r\n\r\nexport const alternativeQueryParentBlock = (pageNo = 1, keys, fetchAll = false) => `\r\n alternatives(alternativeQuerry:{\r\n offset: ${(pageNo - 1) * PER_PAGE},\r\n fetchAll: ${fetchAll}\r\n }) {\r\n node {\r\n ${keys}\r\n }\r\n cursor\r\n totalAmount\r\n }\r\n`;\r\n\r\nexport const singleAlternativeQueryParentBlock = (keys, alterNativeId) => `\r\n alternatives(alternativeQuerry: {\r\n alternative_id: ${!!alterNativeId ? alterNativeId : 0}\r\n }) {\r\n node {\r\n ${keys}\r\n }\r\n cursor\r\n totalAmount\r\n }\r\n`;\r\n\r\n/**\r\n * Get All Alignments & Presumptions\r\n * @param {*} projectId \r\n * @returns \r\n */\r\nexport const getAllAlignmentAndPresumption = projectId => handleRequest(\"post\", false, {\r\n query: `\r\n query {\r\n projects(project_ids: [${projectId}]) {\r\n alternatives {\r\n alternative_id\r\n name\r\n geom\r\n ts_uploaded_on\r\n directions {\r\n directions_id\r\n direction\r\n segments {\r\n segment_id\r\n directions_id\r\n year\r\n aadt_cars\r\n aadt_trucks\r\n aadt_trucks_with_trailer\r\n annual_increase_cars\r\n annual_increase_heavy\r\n start_index\r\n }\r\n segments_data {\r\n segment_data_id\r\n chainage\r\n zlevel\r\n radius\r\n directions_id\r\n a_intersection\r\n geom_order_id\r\n geom\r\n }\r\n }\r\n }\r\n \r\n presumptions {\r\n presumptions_id\r\n speed_car\r\n speed_truck\r\n cost_increase\r\n gasoline_fuelfactor\r\n gasoline_co2\r\n gasoline_kwh\r\n gasoline_efficiency\r\n gasoline_cost\r\n diesel_fuelfactor\r\n diesel_co2\r\n diesel_kwh\r\n diesel_efficiency\r\n diesel_cost\r\n battery_fuelfactor\r\n battery_co2\r\n battery_kwh\r\n battery_efficiency\r\n battery_cost\r\n inchargeable_hybrid_fuelfactor\r\n inchargeable_hybrid_co2\r\n inchargeable_hybrid_kwh\r\n inchargeable_hybrid_efficiency\r\n inchargeable_hybrid_cost\r\n chargable_hybrid_co2\r\n chargable_hybrid_kwh\r\n chargable_hybrid_efficiency\r\n chargable_hybrid_cost\r\n hydrogen_fuelfactor\r\n hydrogen_co2\r\n hydrogen_kwh\r\n hydrogen_efficiency\r\n hydrogen_cost\r\n iri\r\n mpd\r\n currency\r\n country_id\r\n country_name\r\n iri_increase\r\n mpd_increase\r\n iri_limit\r\n }\r\n }\r\n }\r\n `,\r\n})\r\n\r\n\r\n/**\r\n * Get All Alignments\r\n * @param {*} projectId \r\n * @param {*} pageNo \r\n * @returns \r\n */\r\nexport const getAllAlignments = (projectId, pageNo = 1, fetchAll = false) => handleRequest(\"post\", false, {\r\n query: `\r\n query {\r\n projects(project_ids: [${projectId}]) {\r\n ${alternativeQueryParentBlock(pageNo,\r\n `\r\n alternative_id\r\n name\r\n geom\r\n ts_uploaded_on\r\n \r\n directions {\r\n directions_id\r\n direction\r\n segments {\r\n segment_id\r\n directions_id\r\n year\r\n aadt_cars\r\n aadt_trucks\r\n aadt_trucks_with_trailer\r\n annual_increase_cars\r\n annual_increase_heavy\r\n start_index\r\n }\r\n segments_data {\r\n segment_data_id\r\n chainage\r\n zlevel\r\n radius\r\n directions_id\r\n a_intersection\r\n geom_order_id\r\n geom\r\n }\r\n }\r\n `,\r\n fetchAll\r\n )}\r\n }\r\n }\r\n `,\r\n})\r\n\r\n\r\n/**\r\n * Get all cap inputs\r\n * @param {*} data \r\n * @returns \r\n */\r\nexport const getAllCapInputs = data => handleRequest('post', false, {\r\n query: `mutation CDRValuesByProjectId($data:GetCDRValues!)\r\n {CDRValuesByProjectId(data: $data){\r\n alternative_id\r\n year_value\r\n investment_emssn\r\n maintainance_emssn\r\n is_active\r\n project_id\r\n }}`,\r\n variables: { data }\r\n}, 'application/json')","import * as proj from \"ol/proj\";\r\nimport Feature from \"ol/Feature\";\r\n// import MultiPolygon from \"ol/geom/MultiPolygon\";\r\nimport Point from \"ol/geom/Point\";\r\nimport VectorSource from \"ol/source/Vector\";\r\nimport VectorLayer from \"ol/layer/Vector\";\r\nimport _ from \"lodash\";\r\nimport { Circle as CircleStyle, Fill, Stroke, Style } from \"ol/style\";\r\nimport { colorCodes } from \"../constant/colors\";\r\nimport { replaceCordiStr } from \"../constant/helpers\";\r\n\r\nconst { GREEN_1, WHITE_1, RED_1 } = colorCodes\r\nexport const fcStyles = {\r\n Point: [\r\n new Style({\r\n image: new CircleStyle({\r\n radius: 4,\r\n fill: new Fill({\r\n color: RED_1,\r\n }),\r\n stroke: new Stroke({\r\n color: RED_1,\r\n }),\r\n }),\r\n }),\r\n ],\r\n Point2: [\r\n new Style({\r\n image: new CircleStyle({\r\n radius: 4,\r\n fill: new Fill({\r\n color: \"blue\",\r\n }),\r\n stroke: new Stroke({\r\n color: \"blue\",\r\n }),\r\n }),\r\n }),\r\n ],\r\n Point3: [\r\n new Style({\r\n image: new CircleStyle({\r\n radius: 4,\r\n fill: new Fill({\r\n color: \"yellow\",\r\n }),\r\n stroke: new Stroke({\r\n color: \"yellow\",\r\n }),\r\n }),\r\n }),\r\n ],\r\n};\r\n\r\nexport const polygonStyles = {\r\n SectionalComparePoint: [\r\n new Style({\r\n image: new CircleStyle({\r\n radius: 4,\r\n fill: new Fill({\r\n color: WHITE_1,\r\n }),\r\n stroke: new Stroke({\r\n color: \"green\",\r\n }),\r\n }),\r\n }),\r\n ],\r\n SectionalPoint: [\r\n new Style({\r\n image: new CircleStyle({\r\n radius: 4,\r\n fill: new Fill({\r\n color: WHITE_1,\r\n }),\r\n stroke: new Stroke({\r\n color: \"blue\",\r\n }),\r\n }),\r\n }),\r\n ],\r\n Point: [\r\n new Style({\r\n image: new CircleStyle({\r\n radius: 4,\r\n fill: new Fill({\r\n color: WHITE_1,\r\n }),\r\n stroke: new Stroke({\r\n color: WHITE_1,\r\n }),\r\n }),\r\n }),\r\n ],\r\n Point2: [\r\n new Style({\r\n image: new CircleStyle({\r\n radius: 4,\r\n fill: new Fill({\r\n color: GREEN_1,\r\n }),\r\n stroke: new Stroke({\r\n color: GREEN_1,\r\n }),\r\n }),\r\n }),\r\n ],\r\n MultiPolygonDark: new Style({\r\n stroke: new Stroke({\r\n color: \"grey\",\r\n lineDash: [4],\r\n width: 3,\r\n }),\r\n fill: new Fill({\r\n color: \"rgb(23, 38, 120,0.7)\",\r\n }),\r\n }),\r\n MultiPolygonWhite: new Style({\r\n stroke: new Stroke({\r\n color: WHITE_1,\r\n width: 1,\r\n }),\r\n fill: new Fill({\r\n color: \"rgba(255, 255, 255, 0.5)\",\r\n }),\r\n }),\r\n};\r\n\r\nexport const compareChainage = (a, b) => {\r\n if (a.chainage < b.chainage) {\r\n return -1;\r\n }\r\n if (a.chainage > b.chainage) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nexport const normalDistribution = (fc_data) => {\r\n // get fcHeavy\r\n const arr = _.map(fc_data, \"fuelconsumption_trucks\");\r\n const asc = arr.sort((a, b) => a - b);\r\n const count = asc.length;\r\n\r\n if (count > 0) {\r\n const perc75 = Math.floor(count * 0.75);\r\n const perc50 = Math.floor(count * 0.5);\r\n const perc25 = Math.floor(count * 0.25);\r\n\r\n return {\r\n perc75: asc[perc75],\r\n perc50: asc[perc50],\r\n perc25: asc[perc25],\r\n };\r\n }\r\n\r\n return {\r\n perc75: null,\r\n perc50: null,\r\n perc25: null,\r\n };\r\n};\r\n\r\nconst styleFunction = function (feature, resolution) {\r\n let color = \"grey\";\r\n\r\n const values = feature.values_;\r\n if (values.fuelconsumption_trucks) {\r\n const value = values.fuelconsumption_trucks;\r\n const perc25 = values.perc25;\r\n const perc75 = values.perc75;\r\n const perc50 = values.perc50;\r\n\r\n if (value < perc25) {\r\n color = \"green\";\r\n } else if (value > perc25 && value <= perc50) {\r\n color = \"yellow\";\r\n } else if (value > perc50 && value <= perc75) {\r\n color = \"orange\";\r\n } else if (value > perc75) {\r\n color = RED_1;\r\n } else {\r\n color = \"grey\";\r\n }\r\n }\r\n\r\n return [\r\n new Style({\r\n image: new CircleStyle({\r\n fill: new Fill({\r\n color: color,\r\n }),\r\n stroke: new Stroke({\r\n color: color,\r\n width: 3,\r\n }),\r\n radius: 5,\r\n }),\r\n }),\r\n ];\r\n};\r\n\r\nexport const getCentreCoord = (directions) => {\r\n const segments_data = directions.segments_data;\r\n const length = Math.floor(segments_data.length / 2);\r\n const first_geom = segments_data[length].geom;\r\n const centreCoord = JSON.parse(replaceCordiStr(first_geom));\r\n return centreCoord;\r\n};\r\n\r\nconst filteredSegments = (origSegments, zoom) => {\r\n let maxVal = 40;\r\n\r\n if (origSegments.length <= 40) {\r\n return origSegments;\r\n }\r\n\r\n if (zoom <= 11) {\r\n maxVal = 40;\r\n } else if (zoom > 11 && zoom <= 13) {\r\n maxVal = 80;\r\n } else if (zoom > 11 && zoom <= 14) {\r\n maxVal = 100;\r\n } else {\r\n maxVal = 120;\r\n }\r\n\r\n const count = origSegments.length;\r\n let arr = [];\r\n\r\n const delta = Math.floor(count / maxVal);\r\n\r\n // avoid filter because you don't want\r\n // to loop over 10000 elements !\r\n // just access them directly with a for loop !\r\n\r\n for (let i = 0; i < origSegments.length; i = i + delta) {\r\n arr.push(origSegments[i]);\r\n }\r\n return arr;\r\n};\r\n\r\nexport const createPointDataLayer = (\r\n orig_segments_data,\r\n segments,\r\n perc75,\r\n perc50,\r\n perc25,\r\n zoom\r\n) => {\r\n const segments_data =\r\n zoom <= 15\r\n ? filteredSegments(orig_segments_data, zoom)\r\n : orig_segments_data;\r\n const pointFeatures = [];\r\n\r\n segments_data.map((segment) => {\r\n const orderNo = segment.segment_order_no;\r\n const geomOrderId = segment.geom_order_id;\r\n const first_geom = segment.geom;\r\n const coord = JSON.parse(replaceCordiStr(first_geom));\r\n\r\n const pointFeature = new Feature({\r\n geometry: new Point(proj.fromLonLat(coord.coordinates)),\r\n name: \"pointlayer\",\r\n });\r\n pointFeature.set(\"chainage\", segment.chainage);\r\n pointFeature.set(\"curvature\", segment.curvature);\r\n pointFeature.set(\"fuelconsumption_car\", segment.fuelconsumption_car);\r\n pointFeature.set(\"fuelconsumption_trucks\", segment.fuelconsumption_trucks);\r\n pointFeature.set(\"hilliness\", segment.hilliness);\r\n pointFeature.set(\"speedprofile_car\", segment.speedprofile_car);\r\n pointFeature.set(\"speedprofile_trucks\", segment.speedprofile_trucks);\r\n pointFeature.set(\"zlevel\", segment.zlevel);\r\n pointFeature.set(\"geom_order_id\", geomOrderId);\r\n pointFeature.set(\"segment_order_no\", orderNo);\r\n pointFeature.set(\"perc75\", perc75 != null ? perc75 : null);\r\n pointFeature.set(\"perc50\", perc50 != null ? perc50 : null);\r\n pointFeature.set(\"perc25\", perc25 != null ? perc25 : null);\r\n pointFeatures.push(pointFeature);\r\n return segment\r\n });\r\n\r\n const pointsVectorSource = new VectorSource({\r\n features: pointFeatures,\r\n wrapX: false,\r\n });\r\n\r\n const pointsLayer = new VectorLayer({\r\n source: pointsVectorSource,\r\n style: styleFunction,\r\n });\r\n\r\n // add unique name to data layer\r\n pointsLayer.set(\"name\", \"pointlayer\");\r\n\r\n return pointsLayer;\r\n};\r\n\r\nexport const createPointDataLayerComparitive = (\r\n orig_segments_data,\r\n segments,\r\n perc75,\r\n perc50,\r\n perc25,\r\n zoom\r\n) => {\r\n const segments_data =\r\n zoom <= 15\r\n ? filteredSegments(orig_segments_data, zoom)\r\n : orig_segments_data;\r\n const pointFeatures = [];\r\n\r\n segments_data.map((segment) => {\r\n const orderNo = segment.segment_order_no;\r\n const geomOrderId = segment.geom_order_id;\r\n const first_geom = segment.geom;\r\n const coord = JSON.parse(replaceCordiStr(first_geom));\r\n\r\n const pointFeature = new Feature({\r\n geometry: new Point(proj.fromLonLat(coord.coordinates)),\r\n name: \"pointlayer\",\r\n });\r\n pointFeature.set(\"chainage\", segment.chainage);\r\n pointFeature.set(\"curvature\", segment.curvature);\r\n pointFeature.set(\"fuelconsumption_car\", segment.fuelconsumption_car);\r\n pointFeature.set(\"fuelconsumption_trucks\", segment.fuelconsumption_trucks);\r\n pointFeature.set(\"hilliness\", segment.hilliness);\r\n pointFeature.set(\"speedprofile_car\", segment.speedprofile_car);\r\n pointFeature.set(\"speedprofile_trucks\", segment.speedprofile_trucks);\r\n pointFeature.set(\"zlevel\", segment.zlevel);\r\n pointFeature.set(\"geom_order_id\", geomOrderId);\r\n pointFeature.set(\"segment_order_no\", orderNo);\r\n pointFeature.set(\"perc75\", perc75 != null ? perc75 : null);\r\n pointFeature.set(\"perc50\", perc50 != null ? perc50 : null);\r\n pointFeature.set(\"perc25\", perc25 != null ? perc25 : null);\r\n pointFeatures.push(pointFeature);\r\n return segment\r\n });\r\n\r\n const pointsVectorSource = new VectorSource({\r\n features: pointFeatures,\r\n wrapX: false,\r\n });\r\n\r\n const pointsLayer = new VectorLayer({\r\n source: pointsVectorSource,\r\n style: styleFunction,\r\n });\r\n\r\n // add unique name to data layer\r\n pointsLayer.set(\"name\", \"pointlayerComparitive\");\r\n\r\n return pointsLayer;\r\n};\r\n\r\n\r\n\r\n\r\nexport const createPointLayer = (segments_data, segments) => {\r\n const slength = segments.length;\r\n const featureArrays = [];\r\n\r\n for (let i = 1; i < slength + 1; i++) {\r\n segments_data.map((segment) => {\r\n const orderNo = segment.segment_order_no;\r\n if (orderNo === i) {\r\n const geomOrderId = segment.geom_order_id;\r\n const first_geom = segment.geom;\r\n const coord = JSON.parse(replaceCordiStr(first_geom));\r\n\r\n const pointFeature = new Feature({\r\n geometry: new Point(proj.fromLonLat(coord.coordinates)),\r\n name: \"pointlayer\",\r\n });\r\n\r\n // add metadata point id\r\n pointFeature.set(\"geom_order_id\", geomOrderId);\r\n pointFeature.set(\"segment_order_no\", orderNo);\r\n const pointFeatures = featureArrays[i] ? featureArrays[i] : [];\r\n pointFeatures.push(pointFeature);\r\n featureArrays[i] = pointFeatures;\r\n }\r\n return segment\r\n });\r\n }\r\n\r\n const vectorSouces = [];\r\n\r\n featureArrays.map((featureArray) => {\r\n const pointsVectorSource = new VectorSource({\r\n features: featureArray,\r\n wrapX: false,\r\n });\r\n vectorSouces.push(pointsVectorSource);\r\n return featureArray\r\n });\r\n\r\n const layers = [];\r\n let odds = false;\r\n\r\n vectorSouces.map((vectorSource, i) => {\r\n odds = !odds;\r\n const pStyle = odds ? polygonStyles.Point2 : polygonStyles.Point;\r\n const pointsLayer = new VectorLayer({\r\n source: vectorSource,\r\n style: pStyle,\r\n });\r\n\r\n // add unique name to layer\r\n pointsLayer.set(\"name\", \"pointlayer\");\r\n layers.push(pointsLayer);\r\n return vectorSouces\r\n });\r\n\r\n return layers;\r\n};\r\n\r\nexport const createSectionalComparePointLayer = (\r\n orig_segments_data, segments, zoom, mapCentreIdData, previousMapCentreIdData\r\n) => {\r\n const segments_data = zoom <= 15 ? filteredSegments(orig_segments_data, zoom) : orig_segments_data;\r\n const pointFeatures = [];\r\n\r\n segments_data.sort(compareChainage);\r\n\r\n const prev = previousMapCentreIdData.geom_order_id\r\n const curr = mapCentreIdData.geom_order_id;\r\n\r\n let minChainage = previousMapCentreIdData.geom_order_id;\r\n let maxChainage = mapCentreIdData.geom_order_id;\r\n\r\n if (curr < prev) {\r\n minChainage = mapCentreIdData.geom_order_id;\r\n maxChainage = previousMapCentreIdData.geom_order_id;\r\n }\r\n\r\n\r\n segments_data.map((segment) => {\r\n\r\n if (segment.geom_order_id >= minChainage && segment.geom_order_id <= maxChainage) {\r\n\r\n const orderNo = segment.segment_order_no;\r\n const geomOrderId = segment.geom_order_id;\r\n const first_geom = segment.geom;\r\n const coord = JSON.parse(replaceCordiStr(first_geom));\r\n\r\n const pointFeature = new Feature({\r\n geometry: new Point(proj.fromLonLat(coord.coordinates)),\r\n name: \"pointlayer\",\r\n });\r\n\r\n pointFeature.set(\"chainage\", segment.chainage);\r\n pointFeature.set(\"curvature\", segment.curvature);\r\n pointFeature.set(\"fuelconsumption_car\", segment.fuelconsumption_car);\r\n pointFeature.set(\"fuelconsumption_trucks\", segment.fuelconsumption_trucks);\r\n pointFeature.set(\"hilliness\", segment.hilliness);\r\n pointFeature.set(\"speedprofile_car\", segment.speedprofile_car);\r\n pointFeature.set(\"speedprofile_trucks\", segment.speedprofile_trucks);\r\n pointFeature.set(\"zlevel\", segment.zlevel);\r\n pointFeature.set(\"geom_order_id\", geomOrderId);\r\n pointFeature.set(\"segment_order_no\", orderNo);\r\n pointFeatures.push(pointFeature);\r\n }\r\n\r\n return segment\r\n });\r\n\r\n const pointsVectorSource = new VectorSource({\r\n features: pointFeatures,\r\n wrapX: false,\r\n });\r\n\r\n const pointsLayer = new VectorLayer({\r\n source: pointsVectorSource,\r\n style: polygonStyles.SectionalComparePoint,\r\n });\r\n\r\n // add unique name to data layer\r\n pointsLayer.set(\"name\", \"pointlayer\");\r\n\r\n return pointsLayer;\r\n};\r\n\r\n\r\n\r\n/**\r\n * \r\n * @param {*} orig_segments_data \r\n * @param {*} segments \r\n * @param {*} zoom \r\n */\r\nexport const createSectionalPointLayer = (\r\n orig_segments_data,\r\n segments,\r\n zoom\r\n) => {\r\n const segments_data =\r\n zoom <= 15\r\n ? filteredSegments(orig_segments_data, zoom)\r\n : orig_segments_data;\r\n const pointFeatures = [];\r\n\r\n segments_data.map((segment) => {\r\n const orderNo = segment.segment_order_no;\r\n const geomOrderId = segment.geom_order_id;\r\n const first_geom = segment.geom;\r\n const coord = JSON.parse(replaceCordiStr(first_geom));\r\n\r\n const pointFeature = new Feature({\r\n geometry: new Point(proj.fromLonLat(coord.coordinates)),\r\n name: \"pointlayer\",\r\n });\r\n pointFeature.set(\"chainage\", segment.chainage);\r\n pointFeature.set(\"curvature\", segment.curvature);\r\n pointFeature.set(\"fuelconsumption_car\", segment.fuelconsumption_car);\r\n pointFeature.set(\"fuelconsumption_trucks\", segment.fuelconsumption_trucks);\r\n pointFeature.set(\"hilliness\", segment.hilliness);\r\n pointFeature.set(\"speedprofile_car\", segment.speedprofile_car);\r\n pointFeature.set(\"speedprofile_trucks\", segment.speedprofile_trucks);\r\n pointFeature.set(\"zlevel\", segment.zlevel);\r\n pointFeature.set(\"geom_order_id\", geomOrderId);\r\n pointFeature.set(\"segment_order_no\", orderNo);\r\n pointFeatures.push(pointFeature);\r\n return segment\r\n });\r\n\r\n const pointsVectorSource = new VectorSource({\r\n features: pointFeatures,\r\n wrapX: false,\r\n });\r\n\r\n\r\n\r\n const pointsLayer = new VectorLayer({\r\n source: pointsVectorSource,\r\n style: polygonStyles.SectionalPoint,\r\n });\r\n\r\n // add unique name to data layer\r\n pointsLayer.set(\"name\", \"pointlayer\");\r\n\r\n return pointsLayer;\r\n};\r\n\r\nexport const correctAlternativeForMap_backup = (dataAlternative) => {\r\n\r\n if (dataAlternative) {\r\n const newDataAlternatives = JSON.parse(JSON.stringify(dataAlternative))\r\n let toCompareStartIndex = 1\r\n // const oldStartIndex = 0\r\n // const previousNumber = 1\r\n\r\n for (let index = 0; index < newDataAlternatives.length; index++) {\r\n for (let indexDIR = 0; indexDIR < newDataAlternatives[index].directions.length; indexDIR++) {\r\n for (let indexSEG = 0; indexSEG < newDataAlternatives[index].directions[indexDIR].segments.length; indexSEG++) {\r\n\r\n const startIndex = newDataAlternatives[index].directions[indexDIR].segments[indexSEG].startIndex\r\n\r\n for (let indexSEGDATA = 0; indexSEGDATA < newDataAlternatives[index].directions[indexDIR].segments_data.length; indexSEGDATA++) {\r\n if (startIndex === 0) {\r\n newDataAlternatives[index].directions[indexDIR].segments[indexSEG][\"segment_order_no\"] = toCompareStartIndex\r\n newDataAlternatives[index].directions[indexDIR].segments_data[indexSEGDATA][\"segment_order_no\"] = toCompareStartIndex\r\n }\r\n else if (startIndex > toCompareStartIndex) {\r\n toCompareStartIndex = toCompareStartIndex + 1\r\n newDataAlternatives[index].directions[indexDIR].segments[indexSEG][\"segment_order_no\"] = toCompareStartIndex\r\n newDataAlternatives[index].directions[indexDIR].segments_data[indexSEGDATA][\"segment_order_no\"] = toCompareStartIndex\r\n }\r\n else {\r\n newDataAlternatives[index].directions[indexDIR].segments[indexSEG][\"segment_order_no\"] = toCompareStartIndex\r\n newDataAlternatives[index].directions[indexDIR].segments_data[indexSEGDATA][\"segment_order_no\"] = toCompareStartIndex\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return newDataAlternatives\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport const correctAlternativeForMap = (dataAlternative) => {\r\n\r\n if (dataAlternative) {\r\n const newDataAlternatives = JSON.parse(JSON.stringify(dataAlternative))\r\n for (let index = 0; index < newDataAlternatives.length; index++) {\r\n const dirLength = !!newDataAlternatives && !!newDataAlternatives[index] && !!newDataAlternatives[index].directions ? newDataAlternatives[index].directions.length : 0\r\n for (let indexDIR = 0; indexDIR < dirLength; indexDIR++) {\r\n let toCompareStartIndex = 1\r\n let oldStartIndex = 0\r\n const listStartIndex = []\r\n\r\n const segLength = !!dirLength && !!newDataAlternatives[index].directions[indexDIR] && !!newDataAlternatives[index].directions[indexDIR].segments ? newDataAlternatives[index].directions[indexDIR].segments.length : 0\r\n for (let indexSEG = 0; indexSEG < segLength; indexSEG++) {\r\n let startIndex = newDataAlternatives[index].directions[indexDIR].segments[indexSEG].start_index\r\n if (startIndex === 0) {\r\n newDataAlternatives[index].directions[indexDIR].segments[indexSEG][\"segment_order_no\"] = toCompareStartIndex\r\n }\r\n else if (startIndex > oldStartIndex) {\r\n toCompareStartIndex = toCompareStartIndex + 1\r\n oldStartIndex = startIndex\r\n listStartIndex.push(startIndex)\r\n newDataAlternatives[index].directions[indexDIR].segments[indexSEG][\"segment_order_no\"] = toCompareStartIndex\r\n\r\n }\r\n else {\r\n newDataAlternatives[index].directions[indexDIR].segments[indexSEG][\"segment_order_no\"] = toCompareStartIndex\r\n }\r\n }\r\n let orderNumber = 1\r\n const segDataLength = !!dirLength && !!newDataAlternatives[index].directions[indexDIR] && !!newDataAlternatives[index].directions[indexDIR].segments_data ? newDataAlternatives[index].directions[indexDIR].segments_data.length : 0\r\n for (let indexSEGDATA = 0; indexSEGDATA < segDataLength; indexSEGDATA++) {\r\n if (indexSEGDATA === 0) {\r\n newDataAlternatives[index].directions[indexDIR].segments_data[indexSEGDATA][\"segment_order_no\"] = orderNumber\r\n } else if (listStartIndex.includes(indexSEGDATA)) {\r\n orderNumber = orderNumber + 1\r\n newDataAlternatives[index].directions[indexDIR].segments_data[indexSEGDATA][\"segment_order_no\"] = orderNumber\r\n }\r\n else {\r\n newDataAlternatives[index].directions[indexDIR].segments_data[indexSEGDATA][\"segment_order_no\"] = orderNumber\r\n }\r\n }\r\n }\r\n }\r\n return newDataAlternatives\r\n }\r\n\r\n}\r\n/*** Making this for direction */\r\n\r\n\r\n\r\nexport const correctDirectionForMap = (directions) => {\r\n\r\n if (directions) {\r\n\r\n let toCompareStartIndex = 1\r\n // const orderNumber = 1\r\n // const previousNumber = 1\r\n\r\n\r\n for (let i = 0; i < directions.segments.length; i++) {\r\n const startIndex = directions.segments[i].startIndex\r\n\r\n for (let index = 0; index < directions.segments_data.length; index++) {\r\n if (startIndex === 0) {\r\n directions.segments[i][\"segment_order_no\"] = toCompareStartIndex\r\n directions.segments_data[index][\"segment_order_no\"] = toCompareStartIndex\r\n }\r\n else if (startIndex > toCompareStartIndex) {\r\n toCompareStartIndex = toCompareStartIndex + 1\r\n directions.segments[i][\"segment_order_no\"] = toCompareStartIndex\r\n directions.segments_data[index][\"segment_order_no\"] = toCompareStartIndex\r\n }\r\n else {\r\n directions.segments[i][\"segment_order_no\"] = toCompareStartIndex\r\n directions.segments_data[index][\"segment_order_no\"] = toCompareStartIndex\r\n }\r\n }\r\n }\r\n }\r\n\r\n return directions\r\n}\r\n\r\n","import { handleRequest } from \"../constant/helpers\"\r\n\r\n/**\r\n * Get All Presumptions\r\n * @param {*} projectId \r\n * @returns \r\n */\r\nexport const getAllPresumptions = projectId => handleRequest(\"post\", false, {\r\n query: `\r\n query {\r\n projects(project_ids: [${projectId}]) { \r\n presumptions {\r\n presumptions_id\r\n speed_car\r\n speed_truck\r\n cost_increase\r\n gasoline_fuelfactor\r\n gasoline_co2\r\n gasoline_kwh\r\n gasoline_efficiency\r\n gasoline_cost\r\n diesel_fuelfactor\r\n diesel_co2\r\n diesel_kwh\r\n diesel_efficiency\r\n diesel_cost\r\n battery_fuelfactor\r\n battery_co2\r\n battery_kwh\r\n battery_efficiency\r\n battery_cost\r\n inchargeable_hybrid_fuelfactor\r\n inchargeable_hybrid_co2\r\n inchargeable_hybrid_kwh\r\n inchargeable_hybrid_efficiency\r\n inchargeable_hybrid_cost\r\n chargable_hybrid_co2\r\n chargable_hybrid_kwh\r\n chargable_hybrid_efficiency\r\n chargable_hybrid_cost\r\n hydrogen_fuelfactor\r\n hydrogen_co2\r\n hydrogen_kwh\r\n hydrogen_efficiency\r\n hydrogen_cost\r\n iri\r\n mpd\r\n currency\r\n country_id\r\n country_name\r\n iri_increase\r\n mpd_increase\r\n iri_limit\r\n }\r\n }\r\n }\r\n `,\r\n})","import { CURRENCY } from \"../constant\"\r\nimport { getAllPresumptions } from \"../utils/presumption\"\r\nimport { setCountry, setCurrency } from \"./global\"\r\n\r\nexport const SET_ALL_PRESUMPTIONS = 'SET_ALL_PRESUMPTIONS'\r\nexport const SET_PRESUMPTION_PROCESSING = 'SET_PRESUMPTION_PROCESSING'\r\n\r\nexport const setPresumptionIsProcessing = isProcessing => ({\r\n type: SET_PRESUMPTION_PROCESSING,\r\n payload: { isProcessing }\r\n})\r\n\r\nexport const setAllPresumptions = presumptions => ({\r\n type: SET_ALL_PRESUMPTIONS,\r\n payload: {\r\n presumptions,\r\n isProcessing: false\r\n }\r\n})\r\n\r\n\r\n/**\r\n * Fetch All presumptions\r\n * @param {*} projectId \r\n * @returns \r\n */\r\nexport const fetchAllPresumptions = (projectId) => async (dispatch) => {\r\n dispatch(setPresumptionIsProcessing(true))\r\n try {\r\n const resp = await getAllPresumptions(projectId)\r\n if (!!resp && !!resp.data && !!resp.data.data &&\r\n !!resp.data.data.projects && !!resp.data.data.projects.length) {\r\n const alignmentAndPresumptions = resp.data.data.projects[0]\r\n if (!!alignmentAndPresumptions && !!alignmentAndPresumptions.presumptions) {\r\n dispatch(setAllPresumptions(alignmentAndPresumptions.presumptions))\r\n dispatch(setCurrency(\r\n (!!alignmentAndPresumptions.presumptions[0] &&\r\n !!alignmentAndPresumptions.presumptions[0].currency)\r\n ? alignmentAndPresumptions.presumptions[0].currency\r\n : CURRENCY.NORWAY))\r\n dispatch(setCountry(\r\n (!!alignmentAndPresumptions.presumptions[0] &&\r\n !!alignmentAndPresumptions.presumptions[0].country_name)\r\n ? alignmentAndPresumptions.presumptions[0].country_name\r\n : null))\r\n }\r\n } else {\r\n dispatch(setAllPresumptions([]))\r\n return []\r\n }\r\n } catch (e) {\r\n dispatch(setPresumptionIsProcessing(false))\r\n console.log('fetchAllPresumptions Error: ', e)\r\n return e\r\n }\r\n}","import { CURRENCY } from \"../constant\"\r\nimport { getAllAlignmentAndPresumption, getAllAlignments, getAllCapInputs } from \"../utils/alignment\"\r\nimport { correctAlternativeForMap } from \"../utils/maputils\"\r\nimport { setCurrency } from \"./global\"\r\nimport { setAllPresumptions } from \"./presumption\"\r\n\r\nexport const SET_ALL_ALIGNMENTS = 'SET_ALL_ALIGNMENTS'\r\nexport const SET_ALIGNMENT_INFO = 'SET_ALIGNMENT_INFO'\r\nexport const SET_CDR_ALL_ALIGNMENTS = 'SET_CDR_ALL_ALIGNMENTS'\r\nexport const SET_ALIGNMENT_ACTIVE_PAGE = 'SET_ALIGNMENT_ACTIVE_PAGE'\r\nexport const SET_ALIGNMENT_PROCESSING = 'SET_ALIGNMENT_PROCESSING'\r\nexport const SET_CDR_ALIGNMENT_PROCESSING = 'SET_CDR_ALIGNMENT_PROCESSING'\r\nexport const SET_CDR_ALL_ALIGNMENTS_INPUT = 'SET_CDR_ALL_ALIGNMENTS_INPUT'\r\n\r\nexport const setAlignmentIsProcessing = isProcessing => ({\r\n type: SET_ALIGNMENT_PROCESSING,\r\n payload: { isProcessing }\r\n})\r\n\r\nexport const setCDRAlignmentIsProcessing = isCDRProcessing => ({\r\n type: SET_CDR_ALIGNMENT_PROCESSING,\r\n payload: { isCDRProcessing }\r\n})\r\n\r\nexport const setAllAlignments = (alignments, total = 0) => ({\r\n type: SET_ALL_ALIGNMENTS,\r\n payload: {\r\n total,\r\n alignments,\r\n isProcessing: false\r\n }\r\n})\r\n\r\nexport const setAlignmentInfo = (alignmentInfo) => ({\r\n type: SET_ALIGNMENT_INFO,\r\n payload: {\r\n alignmentInfo,\r\n isProcessing: false\r\n }\r\n})\r\n\r\n\r\nexport const setAllCDRAlignments = (cdrAlignments) => ({\r\n type: SET_CDR_ALL_ALIGNMENTS,\r\n payload: {\r\n cdrAlignments,\r\n isCDRProcessing: false\r\n }\r\n})\r\n\r\nexport const setAllCDRAlignmentsInput = (cdrAlignmentsInput) => ({\r\n type: SET_CDR_ALL_ALIGNMENTS_INPUT,\r\n payload: {\r\n cdrAlignmentsInput,\r\n isCDRProcessing: false\r\n }\r\n})\r\n\r\nexport const setAlignmentActivePage = (activePage) => ({\r\n type: SET_ALIGNMENT_ACTIVE_PAGE,\r\n payload: {\r\n activePage\r\n }\r\n})\r\n\r\n\r\n/**\r\n * Fetch All Alignments\r\n * and presumptions\r\n * @param {*} projectId \r\n * @returns \r\n */\r\nexport const fetchAllAlignmentAndPresumptions = (projectId) => async (dispatch) => {\r\n dispatch(setAlignmentIsProcessing(true))\r\n try {\r\n const resp = await getAllAlignmentAndPresumption(projectId)\r\n if (!!resp && !!resp.data && !!resp.data.data &&\r\n !!resp.data.data.projects && !!resp.data.data.projects.length) {\r\n const alignmentAndPresumptions = resp.data.data.projects[0]\r\n\r\n if (!!alignmentAndPresumptions && !!alignmentAndPresumptions.alternatives) {\r\n const filteredAlignments = correctAlternativeForMap(alignmentAndPresumptions.alternatives)\r\n dispatch(setAllAlignments(filteredAlignments))\r\n }\r\n if (!!alignmentAndPresumptions && !!alignmentAndPresumptions.presumptions) {\r\n dispatch(setAllPresumptions(alignmentAndPresumptions.presumptions))\r\n dispatch(setCurrency(\r\n (!!alignmentAndPresumptions.presumptions[0] &&\r\n !!alignmentAndPresumptions.presumptions[0].currency)\r\n ? alignmentAndPresumptions.presumptions[0].currency\r\n : CURRENCY.NORWAY))\r\n }\r\n } else {\r\n dispatch(setAllAlignments([]))\r\n dispatch(setAllPresumptions([]))\r\n return []\r\n }\r\n } catch (e) {\r\n dispatch(setAlignmentIsProcessing(false))\r\n console.log('fetchAllAlignmentAndPresumptions Error: ', e)\r\n return e\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Fetch All Alignments\r\n * and presumptions\r\n * @param {*} projectId \r\n * @param {*} pageNo \r\n * @returns \r\n */\r\nexport const fetchAllAlignments = (projectId, pageNo = 1) => async (dispatch) => {\r\n dispatch(setAlignmentIsProcessing(true))\r\n try {\r\n const resp = await getAllAlignments(projectId, pageNo)\r\n if (!!resp && !!resp.data && !!resp.data.data &&\r\n !!resp.data.data.projects && !!resp.data.data.projects.length) {\r\n const alignmentResp = resp.data.data.projects[0]\r\n\r\n if (!!alignmentResp && !!alignmentResp.alternatives && !!alignmentResp.alternatives.node) {\r\n const filteredAlignments = correctAlternativeForMap(alignmentResp.alternatives.node)\r\n dispatch(setAllAlignments(filteredAlignments, alignmentResp.alternatives.totalAmount))\r\n }\r\n dispatch(setAlignmentActivePage(pageNo))\r\n } else {\r\n dispatch(setAllAlignments([]))\r\n return []\r\n }\r\n } catch (e) {\r\n dispatch(setAlignmentIsProcessing(false))\r\n console.log('fetchAllAlignments Error: ', e)\r\n return e\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Fetch All Alignments\r\n * for CDR page\r\n * @param {*} projectId \r\n * @param {*} pageNo \r\n * @param {*} fetchAll \r\n * @returns \r\n */\r\nexport const fetchAllCDRAlignments = (projectId, pageNo = 1, fetchAll = true) => async (dispatch) => {\r\n dispatch(setCDRAlignmentIsProcessing(true))\r\n try {\r\n const resp = await getAllAlignments(projectId, pageNo, fetchAll)\r\n if (!!resp && !!resp.data && !!resp.data.data &&\r\n !!resp.data.data.projects && !!resp.data.data.projects.length) {\r\n const alignmentResp = resp.data.data.projects[0]\r\n\r\n if (!!alignmentResp && !!alignmentResp.alternatives && !!alignmentResp.alternatives.node) {\r\n const filteredAlignments = correctAlternativeForMap(alignmentResp.alternatives.node)\r\n dispatch(fetchAllCapInputs({\r\n project_id: (projectId).toString()\r\n }, filteredAlignments, projectId))\r\n }\r\n } else {\r\n dispatch(setAllCDRAlignments([]))\r\n return []\r\n }\r\n } catch (e) {\r\n dispatch(setCDRAlignmentIsProcessing(false))\r\n console.log('fetchAllCDRAlignments Error: ', e)\r\n return e\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Fetch All Alignments\r\n * for CDR page\r\n * @param {*} data \r\n * @param {*} alignments \r\n * @param {*} projectId \r\n * @returns \r\n */\r\nexport const fetchAllCapInputs = (data, alignments, projectId) => async (dispatch) => {\r\n dispatch(setCDRAlignmentIsProcessing(true))\r\n try {\r\n const resp = await getAllCapInputs(data)\r\n if (!!resp && !!resp.data && !!resp.data.data &&\r\n !!resp.data.data.CDRValuesByProjectId && !!resp.data.data.CDRValuesByProjectId.length) {\r\n const alignmentResp = resp.data.data.CDRValuesByProjectId\r\n const newResp = await Promise.all(alignments.map(a => {\r\n const result = alignmentResp.find(b => parseInt(b.alternative_id) === parseInt(a.alternative_id))\r\n if (!!result) {\r\n return { ...a, ...result }\r\n }\r\n return a\r\n }))\r\n dispatch(setAllCDRAlignments(newResp))\r\n } else {\r\n\r\n if (!!alignments && alignments.length) {\r\n const newResp = await Promise.all(alignments.map(a => {\r\n return {\r\n ...a, ...{\r\n investment_emssn: \"0\",\r\n is_active: \"1\",\r\n maintainance_emssn: \"0\",\r\n project_id: (projectId).toString()\r\n }\r\n }\r\n }))\r\n dispatch(setAllCDRAlignments(newResp))\r\n } else {\r\n dispatch(setAllCDRAlignments([]))\r\n }\r\n return []\r\n }\r\n } catch (e) {\r\n dispatch(setCDRAlignmentIsProcessing(false))\r\n console.log('fetchAllCapInputs Error: ', e)\r\n return e\r\n }\r\n}","import {\r\n SET_ALIGNMENT_ACTIVE_PAGE, SET_ALIGNMENT_PROCESSING,\r\n SET_CDR_ALL_ALIGNMENTS, SET_ALL_ALIGNMENTS, SET_CDR_ALIGNMENT_PROCESSING,\r\n SET_CDR_ALL_ALIGNMENTS_INPUT, SET_ALIGNMENT_INFO\r\n} from '../actions/alignment'\r\n\r\nconst defaultState = {\r\n isProcessing: false,\r\n isCDRProcessing: false,\r\n alignments: [],\r\n alignmentInfo: {},\r\n cdrAlignments: [],\r\n cdrAlignmentsInput: [],\r\n presumptions: [],\r\n activePage: 1,\r\n total: 0,\r\n project: {}\r\n}\r\n\r\nconst Alignments = (state = defaultState, action) => {\r\n switch (action.type) {\r\n case SET_ALIGNMENT_PROCESSING:\r\n case SET_CDR_ALIGNMENT_PROCESSING:\r\n case SET_ALL_ALIGNMENTS:\r\n case SET_ALIGNMENT_INFO:\r\n case SET_CDR_ALL_ALIGNMENTS:\r\n case SET_CDR_ALL_ALIGNMENTS_INPUT:\r\n case SET_ALIGNMENT_ACTIVE_PAGE:\r\n return Object.assign({}, state, action.payload)\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default Alignments","import { SET_ALL_PRESUMPTIONS, SET_PRESUMPTION_PROCESSING } from '../actions/presumption'\r\n\r\nconst defaultState = {\r\n isProcessing: false,\r\n presumptions: []\r\n}\r\n\r\nconst Presumptions = (state = defaultState, action) => {\r\n switch (action.type) {\r\n case SET_PRESUMPTION_PROCESSING:\r\n case SET_ALL_PRESUMPTIONS:\r\n return Object.assign({}, state, action.payload)\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default Presumptions","import { handleRequest } from \"../constant/helpers\"\r\n\r\n/**\r\n * Fetch project setting By ID\r\n * @param {*} id \r\n * @returns \r\n */\r\nexport const fetchProjSettings = id => handleRequest(\"post\", false, {\r\n query: `\r\n query{\r\n setting(project_id:${parseInt(id)}){\r\n base_comp_thrshld\r\n }\r\n }`\r\n})\r\n\r\n\r\n/**\r\n * Update Project setting\r\n * @param {*} data \r\n * @returns \r\n */\r\nexport const updateProjSettings = data => handleRequest('post', false, {\r\n query: `mutation updateSetting($data:UpdateSettingInput!)\r\n {updateSetting(data: $data){\r\n project_id, base_comp_thrshld,\r\n }}`,\r\n variables: { data }\r\n}, 'application/json')","import { fetchProjSettings, updateProjSettings } from \"../utils/setting\"\r\n\r\nexport const SET_SETTING_PROCESSING = 'SET_SETTING_PROCESSING'\r\nexport const SET_CDR_SETTINGS = 'SET_CDR_SETTINGS'\r\n\r\nexport const setSettingIsProcessing = isLoading => ({\r\n type: SET_SETTING_PROCESSING,\r\n payload: { isLoading }\r\n})\r\n\r\nconst setCDRSettings = cdrSettings => ({\r\n type: SET_CDR_SETTINGS,\r\n payload: { cdrSettings }\r\n})\r\n\r\n\r\n/**\r\n * Get Project Info\r\n * @param {*} id \r\n * @returns \r\n */\r\nexport const getProjectSettingsById = (id) => async (dispatch) => {\r\n dispatch(setSettingIsProcessing(true))\r\n try {\r\n const settingInfo = await fetchProjSettings(id)\r\n dispatch(setSettingIsProcessing(false))\r\n if (!!settingInfo && !!settingInfo.data && !!settingInfo.data.data && !!settingInfo.data.data.setting) {\r\n const resp = settingInfo.data.data.setting\r\n dispatch(setCDRSettings(resp))\r\n }\r\n return settingInfo\r\n } catch (e) {\r\n dispatch(setSettingIsProcessing(false))\r\n console.log('getProjectSettingsById Error: ', e)\r\n return e\r\n }\r\n}\r\n\r\n\r\n\r\n/**\r\n * Update Project Setting\r\n * @param {*} data\r\n * @returns \r\n */\r\n export const updateProjectSettingById = (data) => async (dispatch) => {\r\n dispatch(setSettingIsProcessing(true))\r\n try {\r\n const settingInfo = await updateProjSettings(data)\r\n\r\n dispatch(setSettingIsProcessing(false))\r\n if (!!settingInfo && !!settingInfo.data && !!settingInfo.data.data &&\r\n !!settingInfo.data.data.updateSetting) {\r\n const { base_comp_thrshld } = settingInfo.data.data.updateSetting\r\n dispatch(setCDRSettings({ base_comp_thrshld }))\r\n }\r\n return settingInfo\r\n } catch (e) {\r\n dispatch(setSettingIsProcessing(false))\r\n console.log('updateProjectSettingById Error: ', e)\r\n return e\r\n }\r\n}","import { SET_CDR_SETTINGS, SET_SETTING_PROCESSING } from '../actions/setting'\r\n\r\nconst defaultState = {\r\n isLoading: false,\r\n cdrSettings: {\r\n base_comp_thrshld: 0\r\n }\r\n}\r\n\r\nconst Settings = (state = defaultState, action) => {\r\n switch (action.type) {\r\n case SET_SETTING_PROCESSING:\r\n case SET_CDR_SETTINGS:\r\n return Object.assign({}, state, action.payload)\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default Settings","import { combineReducers } from 'redux'\r\nimport global from './global'\r\nimport projects from './project'\r\nimport alignments from './alignment'\r\nimport presumptions from './presumption'\r\nimport settings from './setting'\r\n\r\nconst rootReducer = combineReducers({\r\n global,\r\n projects,\r\n alignments,\r\n presumptions,\r\n settings\r\n})\r\n\r\nexport default rootReducer\r\n","import { createStore, applyMiddleware, compose } from 'redux'\r\nimport thunk from 'redux-thunk'\r\nimport rootReducer from '../reducers/root_reducer'\r\n\r\nconst composedEnhancers = compose(\r\n applyMiddleware(thunk),\r\n window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__() : f => f\r\n)\r\n\r\nconst store = createStore(rootReducer, undefined, composedEnhancers)\r\n\r\nexport default store\r\n","import axios from \"axios\"\r\nimport { toast } from \"react-toastify\"\r\nimport { CURRENCY, DEFAULT_EPSG } from \".\"\r\nimport { setAutoOut, setIsLicense } from \"../actions/global\"\r\nimport store from \"../store\"\r\nimport { fuelDistributionCarsFinland, fuelDistributionCarsNorway, fuelDistributionCarsSweden, fuelDistributionTrucksFinland, fuelDistributionTrucksNorway, fuelDistributionTrucksSweden } from \"../utils/aiRequestBodyUtils\"\r\nimport { colorCodes } from \"./colors\"\r\n\r\nconst {\r\n RED_1, RICH_BLACK, BLUE_1, BLUE_3, BLUE_4, BLUE_5, BLUE_6,\r\n GREEN_1, GREEN_2, GREEN_3, GREEN_4, GREEN_5, TEAL,\r\n LIGHT_CYAN, GREY_3, AQUA, WATER_SPOUT, WHITE_1\r\n} = colorCodes\r\n\r\nconst { NORWAY, SWEDISH, DANISH, FINNISH } = CURRENCY\r\n\r\n/**\r\n * Allowed only last\r\n * two digit after\r\n * decimal value\r\n * @param {*} val \r\n * @returns \r\n */\r\nexport const floatWithDeci = val => parseFloat(parseFloat(val).toFixed(2))\r\n\r\n\r\n/**\r\n * Get Opposite Direction\r\n * @param {String} dir \r\n * @returns \r\n */\r\nexport const oppositeDir = dir => {\r\n switch (dir) {\r\n case 'East':\r\n return 'West'\r\n case 'West':\r\n return 'East'\r\n case 'North':\r\n return 'South'\r\n case 'South':\r\n return 'North'\r\n default:\r\n return null\r\n }\r\n}\r\n\r\n/**\r\n * Check Coordinate\r\n * System value\r\n * @param {String} val \r\n * @returns \r\n */\r\nexport const isCordValid = val => {\r\n let isValid = false\r\n if (!!val && ((val.length === 9) || (val.length === 10)) &&\r\n val.startsWith('EPSG:') &&\r\n ((parseInt(val.substr(5)) >= 1024) &&\r\n (parseInt(val.substr(5)) <= 32767)) &&\r\n /^\\d+$/.test(val.substr(5))\r\n ) {\r\n isValid = true\r\n }\r\n return isValid\r\n}\r\n\r\n/**\r\n * Handle CSV Array\r\n * @param {Array} data \r\n * @returns \r\n */\r\nexport const handleCSVArr = data => {\r\n const arrResp = [];\r\n data.map((row, index) => {\r\n if (index !== 0) {\r\n arrResp.push({\r\n id: !!row[0] ? parseInt(row[0]) : 0,\r\n chainage: !!row[1] ? parseFloat(row[1]) : 0,\r\n zlevel: !!row[2] ? parseFloat(row[2]) : 0,\r\n radius: !!row[3] ? parseFloat(row[3]) : 0,\r\n easting: !!row[4] ? parseFloat(row[4]) : 0,\r\n northing: !!row[5] ? parseFloat(row[5]) : 0,\r\n coordinate_system: !!row[6] && !!isCordValid(row[6]) ? row[6] : DEFAULT_EPSG,\r\n direction: !!row[7] ? row[7] : '',\r\n direction_nr: !!row[8] ? parseInt(row[8]) : 0,\r\n alternative_name: !!row[9] ? row[9] : '',\r\n segment_id: !!row[10] ? parseInt(row[10]) : 0,\r\n intersection: !!row[11] ? parseInt(row[11]) : 0\r\n })\r\n }\r\n return false\r\n })\r\n return arrResp\r\n}\r\n\r\n\r\n/**\r\n * Handle request\r\n * @param {*} method \r\n * @param {*} serverUrl \r\n * @param {*} data \r\n * @param {*} contentType \r\n * @param {*} acceptType \r\n * @returns \r\n */\r\nexport const handleRequest = async (method, serverUrl = false, data, contentType = false, acceptType = false) => {\r\n const apiAccessTokenObj = JSON.parse(localStorage.getItem(\"apiAccessTokenObj\"))\r\n return new Promise((resolve, reject) => {\r\n axios({\r\n method,\r\n url: !!serverUrl ? serverUrl : process.env.REACT_APP_API_URL,\r\n headers: {\r\n ...(!!apiAccessTokenObj && { 'Authorization': 'Bearer ' + apiAccessTokenObj.accessToken }),\r\n ...(acceptType && { 'Accept': acceptType }),\r\n ...(contentType && { 'Content-Type': contentType })\r\n },\r\n ...(!!data && { data })\r\n })\r\n .then(result => {\r\n store.dispatch(setAutoOut(false))\r\n return resolve(result)\r\n })\r\n .catch(e => {\r\n if (!!e && !!e.response && !!e.response.status && e.response.status === 401) {\r\n store.dispatch(setAutoOut(true))\r\n\r\n if (!!e.response.data.code && (e.response.data.code === 'NO_LICENSE')) {\r\n store.dispatch(setIsLicense(false))\r\n }\r\n }\r\n return reject(e)\r\n })\r\n })\r\n}\r\n\r\n/**\r\n * Chart Size for \r\n * making responsive\r\n * @param {*} width \r\n * @returns \r\n */\r\nexport const chartSizeAccToWidth = width => {\r\n if (width >= 1536) {\r\n return 20\r\n } else if (width >= 1280) {\r\n return 11\r\n } else if (width >= 1097) {\r\n return 8\r\n } else if (width >= 900) {\r\n return 7\r\n } else if (width >= 640) {\r\n return 4\r\n } else if (width < 500) {\r\n return 5\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Draw Vertical line\r\n * in graph\r\n */\r\nexport const drawVerticalLine = {\r\n getLinePosition: function (chart) {\r\n const { data } = chart.getDatasetMeta(0); // first dataset is used to discover X coordinate of a point\r\n const chartData = !!chart && !!chart.config && !!chart.config.data && !!chart.config.data.labels ? chart.config.data.labels : []\r\n const lineIndex = !!chart && !!chart.config && !!chart.config.lineAtIndex && !!chart.config.lineAtIndex[0] ? chart.config.lineAtIndex[0] : false\r\n\r\n if (!!chartData && !!lineIndex) {\r\n const lineIndexVal = chartData.indexOf(lineIndex)\r\n if ((lineIndexVal > -1) && !!data && !!data[lineIndexVal]) {\r\n return data[lineIndexVal]._model.x;\r\n }\r\n }\r\n },\r\n renderVerticalLine: function (chartInstance, pointIndex) {\r\n const lineLeftOffset = this.getLinePosition(chartInstance, pointIndex);\r\n const scale = chartInstance.scales['y-axis-0'];\r\n const context = chartInstance.chart.ctx;\r\n\r\n // render vertical line\r\n context.beginPath();\r\n context.strokeStyle = RED_1;\r\n context.moveTo(lineLeftOffset, scale.top);\r\n context.lineTo(lineLeftOffset, scale.bottom);\r\n context.stroke();\r\n },\r\n afterDatasetsDraw: function (chart) {\r\n if (chart.config.lineAtIndex) {\r\n chart.config.lineAtIndex.forEach(pointIndex => this.renderVerticalLine(chart, pointIndex));\r\n }\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Retrieve Project\r\n * to localStorage\r\n * @returns \r\n */\r\nexport const projectInfoToStorage = () => {\r\n const storageProj = localStorage.getItem('selectedProject')\r\n if (!!storageProj && storageProj !== 'undefined') {\r\n const retrievedData = JSON.parse(storageProj)\r\n if (storageProj && !!retrievedData && !!retrievedData.project_id) {\r\n return retrievedData\r\n }\r\n }\r\n return false\r\n}\r\n\r\n\r\n/**\r\n * Sleep function\r\n * for some delay\r\n * @param {*} ms \r\n * @returns \r\n */\r\nexport const sleep = (ms = 3000) => new Promise(resolve => setTimeout(() => resolve(true), ms))\r\n\r\n\r\n/**\r\n * Return presumtion\r\n * Object response\r\n * @param {*} p \r\n * @param {*} fullObj \r\n * @returns \r\n */\r\nexport const presumptionObj = (p = {}, fullObj = true) => {\r\n return {\r\n Speed_car: (typeof p.speed_car !== 'undefined') ? p.speed_car : 80,\r\n Speed_truck: (typeof p.speed_truck !== 'undefined') ? p.speed_truck : 80,\r\n cost_increase: (typeof p.cost_increase !== 'undefined') ? p.cost_increase : 0.01,\r\n gasoline_fuelfactor: (typeof p.gasoline_fuelfactor !== 'undefined') ? p.gasoline_fuelfactor : 1,\r\n gasoline_co2: (typeof p.gasoline_co2 !== 'undefined') ? p.gasoline_co2 : 2.85,\r\n gasoline_kwh: (typeof p.gasoline_kwh !== 'undefined') ? p.gasoline_kwh : 9.1,\r\n gasoline_efficiency: (typeof p.gasoline_efficiency !== 'undefined') ? p.gasoline_efficiency : 0.25,\r\n gasoline_cost: (typeof p.gasoline_cost !== 'undefined') ? p.gasoline_cost : 16,\r\n diesel_fuelfactor: (typeof p.diesel_fuelfactor !== 'undefined') ? p.diesel_fuelfactor : 1,\r\n diesel_co2: (typeof p.diesel_co2 !== 'undefined') ? p.diesel_co2 : 2.73,\r\n diesel_kwh: (typeof p.diesel_kwh !== 'undefined') ? p.diesel_kwh : 9.8,\r\n diesel_efficiency: (typeof p.diesel_efficiency !== 'undefined') ? p.diesel_efficiency : 0.35,\r\n diesel_cost: (typeof p.diesel_cost !== 'undefined') ? p.diesel_cost : 16,\r\n battery_fuelfactor: (typeof p.battery_fuelfactor !== 'undefined') ? p.battery_fuelfactor : 0,\r\n battery_co2: (typeof p.battery_co2 !== 'undefined') ? p.battery_co2 : 0.0,\r\n battery_kwh: (typeof p.battery_kwh !== 'undefined') ? p.battery_kwh : 9.8,\r\n battery_efficiency: (typeof p.battery_efficiency !== 'undefined') ? p.battery_efficiency : 1,\r\n battery_cost: (typeof p.battery_cost !== 'undefined') ? p.battery_cost : 0,\r\n inchargeable_hybrid_fuelfactor: (typeof p.inchargeable_hybrid_fuelfactor !== 'undefined') ? p.inchargeable_hybrid_fuelfactor : 1,\r\n inchargeable_hybrid_co2: (typeof p.inchargeable_hybrid_co2 !== 'undefined') ? p.inchargeable_hybrid_co2 : 2.85,\r\n inchargeable_hybrid_kwh: (typeof p.inchargeable_hybrid_kwh !== 'undefined') ? p.inchargeable_hybrid_kwh : 9.8,\r\n inchargeable_hybrid_efficiency: (typeof p.inchargeable_hybrid_efficiency !== 'undefined') ? p.inchargeable_hybrid_efficiency : 0.35,\r\n inchargeable_hybrid_cost: (typeof p.inchargeable_hybrid_cost !== 'undefined') ? p.inchargeable_hybrid_cost : 16,\r\n chargeable_hybrid_fuelfactor: (typeof p.chargeable_hybrid_fuelfactor !== 'undefined') ? p.chargeable_hybrid_fuelfactor : 1,\r\n chargeable_hybrid_co2: (typeof p.chargable_hybrid_co2 !== 'undefined') ? p.chargable_hybrid_co2 : 2.85,\r\n chargeable_hybrid_kwh: (typeof p.chargeable_hybrid_kwh !== 'undefined') ? p.chargeable_hybrid_kwh : 9.8,\r\n chargeable_hybrid_efficiency: (typeof p.chargeable_hybrid_efficiency !== 'undefined') ? p.chargeable_hybrid_efficiency : 0.35,\r\n chargeable_hybrid_cost: (typeof p.chargeable_hybrid_cost !== 'undefined') ? p.chargeable_hybrid_cost : 16,\r\n hydrogen_fuelfactor: (typeof p.hydrogen_fuelfactor !== 'undefined') ? p.hydrogen_fuelfactor : 0,\r\n hydrogen_co2: (typeof p.hydrogen_co2 !== 'undefined') ? p.hydrogen_co2 : 0.0,\r\n hydrogen_kwh: (typeof p.hydrogen_kwh !== 'undefined') ? p.hydrogen_kwh : 9.8,\r\n hydrogen_efficiency: (typeof p.hydrogen_efficiency !== 'undefined') ? p.hydrogen_efficiency : 1,\r\n hydrogen_cost: (typeof p.hydrogen_cost !== 'undefined') ? p.hydrogen_cost : 0,\r\n iri: (typeof p.iri !== 'undefined') ? p.iri : 1.0,\r\n mpd: (typeof p.mpd !== 'undefined') ? p.mpd : 1.0,\r\n ...(!!fullObj && {\r\n iri_increase: (typeof p.iri_increase !== 'undefined') ? p.iri_increase : 1.0,\r\n mpd_increase: (typeof p.mpd_increase !== 'undefined') ? p.mpd_increase : 1.0,\r\n iri_limit: (typeof p.iri_limit !== 'undefined') ? p.iri_limit : 1.0\r\n })\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Get Fuel distribution\r\n * data on bases of currency\r\n * @param {*} currency \r\n * @returns \r\n */\r\nexport const getFuelDistOnCurrency = currency => {\r\n let fuelDistributionCars = null\r\n let fuelDistributionTrucks = null\r\n switch (currency) {\r\n case NORWAY:\r\n fuelDistributionCars = fuelDistributionCarsNorway\r\n fuelDistributionTrucks = fuelDistributionTrucksNorway\r\n break;\r\n case DANISH:\r\n case FINNISH:\r\n fuelDistributionCars = fuelDistributionCarsFinland\r\n fuelDistributionTrucks = fuelDistributionTrucksFinland\r\n break;\r\n case SWEDISH:\r\n fuelDistributionCars = fuelDistributionCarsSweden\r\n fuelDistributionTrucks = fuelDistributionTrucksSweden\r\n break;\r\n default:\r\n break;\r\n }\r\n return { fuelDistributionCars, fuelDistributionTrucks }\r\n}\r\n\r\nexport const scaleLabelConfig = labelString => {\r\n return {\r\n display: true,\r\n labelString,\r\n fontColor: BLUE_1,\r\n fontSize: 18\r\n }\r\n}\r\n\r\nexport const scaleXCommonConfig = labelString => {\r\n return {\r\n scaleLabel: scaleLabelConfig(labelString),\r\n ticks: {\r\n fontSize: 13,\r\n fontColor: GREY_3\r\n }\r\n }\r\n}\r\n\r\nexport const scaleYCommonConfig = labelString => {\r\n return {\r\n scaleLabel: scaleLabelConfig(labelString),\r\n ticks: {\r\n fontSize: 12,\r\n fontColor: GREY_3,\r\n beginAtZero: true,\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const getColorForMultiChart = (index = 0) => {\r\n const remainderIndex = index % 15\r\n const colorList = [BLUE_3, GREEN_2, RICH_BLACK, BLUE_4, GREEN_4, TEAL, BLUE_5, GREEN_1, AQUA, BLUE_1, GREEN_3, LIGHT_CYAN, BLUE_6, GREEN_5, WATER_SPOUT, WHITE_1]\r\n return colorList[remainderIndex]\r\n}\r\n\r\n\r\n/**\r\n * Replace some specail\r\n * character to coordinate\r\n * HINT: We'll revert that change after BE issue fixed\r\n * For now, we're receiving unwanted character in coordinate value\r\n * @param {*} val \r\n * @returns \r\n */\r\nexport const replaceCordiStr = (val = '') => (val.replaceAll('#IND', '0')).replaceAll('#INF', '0')\r\n\r\n\r\n/**\r\n * Get Chainage value\r\n * for start distance\r\n * @param {*} idx \r\n * @param {*} segments \r\n * @returns \r\n */\r\nexport const getStartDistanceToSegment = (idx, segments) => {\r\n if ((idx !== 'undefined') && !!segments && !!segments.length) {\r\n if (!!segments[idx] && !!segments[idx]['chainage']) {\r\n return segments[idx]['chainage']\r\n }\r\n }\r\n return 0\r\n}\r\n\r\n/**\r\n * Get Chainage step\r\n * value in between two\r\n * @param {*} segments \r\n * @returns \r\n */\r\nexport const getStepValue = segments => {\r\n if (!!segments && segments.length > 1) {\r\n if ((segments[0]['chainage'] !== 'undefined') && (segments[1]['chainage'] !== 'undefined')) {\r\n return parseInt(segments[1]['chainage'] - segments[0]['chainage'])\r\n }\r\n }\r\n return 0\r\n}\r\n\r\n\r\n/**\r\n * Get min and max\r\n * chainage value\r\n * @param {*} segments \r\n * @returns \r\n */\r\nexport const getMinMaxChainageVal = segments => {\r\n if (!!segments && segments.length > 1) {\r\n return {\r\n ...({ minChainage: (segments[0]['chainage'] !== 'undefined') ? segments[0]['chainage'] : 0 }),\r\n ...({ maxChainage: (segments[segments.length - 1]['chainage'] !== 'undefined') ? segments[segments.length - 1]['chainage'] : 0 })\r\n }\r\n }\r\n return { minChainage: 0, maxChainage: 0 }\r\n}\r\n\r\n\r\n/**\r\n * Flash Error message\r\n * @param {*} e \r\n * @returns \r\n */\r\nexport const flashErrMsg = e => {\r\n if (!!e && !!e.response && !!e.response.data && !!e.response.data.message) {\r\n toast.error(e.response.data.message)\r\n } else if (!!e && !!e.message) {\r\n toast.error(e.message)\r\n }\r\n return null\r\n}\r\n","import React, { useContext } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { DropdownButton, Dropdown, Container, NavDropdown } from 'react-bootstrap'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport FuelSaveGlobalContext from '../../context/FuelSaveGlobalContext'\r\nimport ACTIONS from '../../utils/action'\r\nimport Icon from './Icons'\r\nimport { handleRequest } from '../../constant/helpers'\r\nimport { setProjectInfo, setProjectIsProcessing } from '../../actions/project'\r\n\r\n\r\nconst NavBarLogin = ({ logoutCallback, user }) => {\r\n const { projects } = useSelector(state => state.projects)\r\n const dispatch = useDispatch()\r\n const {\r\n projectNumberDispatch,\r\n globalProjectName, projectNameDispatch,\r\n globalBrandCrumb,\r\n navSideBarOpen\r\n } = useContext(FuelSaveGlobalContext);\r\n const { t } = useTranslation();\r\n\r\n const getProjectById = async (id) => {\r\n try {\r\n dispatch(setProjectIsProcessing(true))\r\n const data = await handleRequest(\"post\", false, {\r\n query: `\r\n query{\r\n projects(project_ids:${id}){\r\n project_name\r\n project_id,\r\n start_year,\r\n end_year\r\n }\r\n }`\r\n })\r\n dispatch(setProjectIsProcessing(false))\r\n if (!!data && !!data.data && !!data.data.data && !!data.data.data.projects) {\r\n const resp = data.data.data.projects\r\n localStorage.setItem('selectedProject', JSON.stringify(resp[0]))\r\n dispatch(setProjectInfo(resp[0]))\r\n projectNameDispatch({ type: ACTIONS.PROJECT_NAME_CHANGE, payload: resp[0].project_name });\r\n projectNumberDispatch({ type: ACTIONS.PROJECT_NAME_CHANGE, payload: resp[0].project_id });\r\n return resp\r\n }\r\n return []\r\n } catch (e) {\r\n dispatch(setProjectIsProcessing(false))\r\n console.log('getProjectById Error: ', e)\r\n return e\r\n }\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n

{globalBrandCrumb}

\r\n
\r\n
\r\n
\r\n \r\n {projects ? projects.map((name) => (\r\n {name.project_name}\r\n )) : null}\r\n \r\n {user}}>\r\n window.open(require('./manual.pdf').default, \"_blank\")}>\r\n {t('User Manual')}\r\n \r\n \r\n {t('Logout')}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default NavBarLogin","import React from \"react\"\r\nimport { Button } from \"react-bootstrap\"\r\nimport { Link } from \"react-router-dom\"\r\nimport \"./login.scss\"\r\nimport waywizeLogo from \"../../../assets/Waywize-logotype-white-green.png\"\r\n\r\nconst Welcome = ({ authButtonMethod }) => (\r\n
\r\n
\r\n
\r\n \"Waywize\"\r\n
\r\n
\r\n

\r\n {\"Welcome to \"}\r\n FuelSave\r\n {false && BETA}\r\n

\r\n
\r\n
\r\n
\r\n {\"We can help you to reduce fuel and energy consumption!\"}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Copyright © 2021 · Waywize · All Rights Reserved\r\n \r\n
\r\n
\r\n About\r\n Terms of Service\r\n
\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default Welcome\r\n","export default \"data:image/png;base64,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\"","import React from 'react'\r\nimport './index.scss'\r\n\r\nconst SpinLoader = () => (\r\n
\r\n \"Loading\"\r\n
\r\n)\r\n\r\nexport default SpinLoader","import { Fragment } from \"react\"\r\nimport { PER_PAGE } from \"../../../constant\"\r\nimport \"./index.scss\"\r\n\r\nconst TablePagination = ({\r\n activePage, handlePageChange, total, perPage = PER_PAGE,\r\n}) => {\r\n\r\n const numberOfPages = Math.ceil(total / perPage)\r\n if (!!total === false || numberOfPages <= 1) return null\r\n\r\n const doPaging = (activePage, numberOfPages) => {\r\n let pageNumberSet = []\r\n\r\n if (numberOfPages <= 6) {\r\n for (var i = 1; i <= numberOfPages; i++) {\r\n pageNumberSet.push(i)\r\n }\r\n }\r\n else {\r\n\r\n // Always print first page button\r\n pageNumberSet.push(1)\r\n\r\n // Print \"...\" if activePage is > 3\r\n if (activePage > 3) {\r\n pageNumberSet.push('...')\r\n }\r\n\r\n // special case where last page is selected...\r\n if (activePage === numberOfPages) {\r\n pageNumberSet.push(activePage - 2)\r\n }\r\n\r\n\r\n // Print previous number button if activePage > 3\r\n if (activePage > 2) {\r\n pageNumberSet.push(activePage - 1)\r\n }\r\n\r\n //Print current page number button as long as it not the first or last page\r\n if (activePage !== 1 && activePage !== numberOfPages) {\r\n pageNumberSet.push(activePage)\r\n }\r\n\r\n //print next number button if activePage < lastPage - 3\r\n if (activePage < numberOfPages - 1) {\r\n pageNumberSet.push(activePage + 1)\r\n }\r\n\r\n // special case where first page is selected...\r\n if (activePage === 1) {\r\n pageNumberSet.push(activePage + 2)\r\n }\r\n\r\n\r\n //print \"...\" if activePage is < lastPage -2\r\n if (activePage < numberOfPages - 2) {\r\n pageNumberSet.push('...')\r\n }\r\n\r\n //Always print last page button if there is more than 1 page\r\n if (numberOfPages > 1) {\r\n pageNumberSet.push(numberOfPages)\r\n }\r\n }\r\n return pageNumberSet\r\n }\r\n\r\n\r\n const generatePages = numberOfPages => {\r\n const uniqueArray = doPaging(activePage, numberOfPages)\r\n\r\n return uniqueArray.map((page, index) =>\r\n \r\n {\r\n typeof page === 'number' ?\r\n handlePageChange(page)}\r\n >\r\n {page}\r\n :\r\n {page}\r\n }\r\n \r\n )\r\n }\r\n\r\n return (\r\n
\r\n {' '}\r\n {generatePages(numberOfPages)}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default TablePagination","import React, { Fragment, useContext, useState } from \"react\"\r\nimport { useDispatch, useSelector } from \"react-redux\"\r\nimport FuelSaveGlobalContext from \"../../../../context/FuelSaveGlobalContext\"\r\nimport SpinLoader from \"../../../common/SpinLoader\"\r\nimport TablePagination from \"../../../common/TablePagination\"\r\nimport { fetchAllAlignments } from \"../../../../actions/alignment\"\r\n\r\nconst AlignmentPageWidget = () => {\r\n const dispatch = useDispatch()\r\n const [isLoading, setIsLoading] = useState(false)\r\n const { total, activePage } = useSelector(state => state.alignments)\r\n const { globalProjectNumber } = useContext(FuelSaveGlobalContext)\r\n\r\n const fetchPaginatedRecords = async (page) => {\r\n setIsLoading(true)\r\n try {\r\n await dispatch(fetchAllAlignments(globalProjectNumber, page))\r\n setIsLoading(false)\r\n } catch (e) {\r\n setIsLoading(false)\r\n console.log('Fetch PaginatedRecords:', e)\r\n }\r\n }\r\n\r\n return (\r\n \r\n {!!isLoading && }\r\n fetchPaginatedRecords(page)} total={total} />\r\n \r\n )\r\n}\r\n\r\nexport default AlignmentPageWidget\r\n","\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Table } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport \"./dailysums.css\"\r\nimport TextRotateUpOutlinedIcon from '@material-ui/icons/TextRotateUpOutlined';\r\nimport TextRotationDownOutlinedIcon from '@material-ui/icons/TextRotationDownOutlined';\r\nimport AlignmentPageWidget from '../../summary/AlignmentPageWidget';\r\n\r\n\r\nconst DailySums = ({ alternativeDailySums, dataQuerySearch, searchDefaultValue }) => {\r\n\r\n const { currency } = useSelector(state => state.global)\r\n\r\n const convertToLowerCase = (initialList, altDailySum) => {\r\n const randomList = [\"\"]\r\n if (initialList) {\r\n initialList.map((item) => {\r\n randomList.push(item.toLowerCase())\r\n return item\r\n })\r\n }\r\n else {\r\n altDailySum.map((item) => {\r\n randomList.push(item.name.toLowerCase())\r\n return item\r\n })\r\n }\r\n return randomList\r\n }\r\n\r\n const searchDefaultVal = convertToLowerCase(searchDefaultValue, alternativeDailySums)\r\n\r\n //const [sortedField, setSortedField] = useState(null);\r\n const [sortConfig, setSortConfig] = React.useState(null);\r\n const [sortedDailySums, setSortedDailySums] = useState([])\r\n // const [sortConfigIcon, setSortConfigIcon] = useState(null)\r\n\r\n useEffect(() => {\r\n setSortedDailySums(alternativeDailySums)\r\n\r\n // eslint-disable-next-line\r\n }, [alternativeDailySums])\r\n\r\n const requestSort = key => {\r\n\r\n let direction = 'ascending';\r\n if (sortConfig !== null) {\r\n if (sortConfig.key === key && sortConfig.direction === 'ascending') {\r\n direction = 'descending';\r\n setSortConfig({ key, direction });\r\n }\r\n else {\r\n direction = 'ascending';\r\n setSortConfig({ key, direction });\r\n }\r\n } else {\r\n //to check the direction\r\n direction = 'ascending';\r\n setSortConfig({ key, direction });\r\n }\r\n\r\n const newlist = [...alternativeDailySums]\r\n if (newlist !== null && sortConfig !== null) {\r\n newlist.sort((a, b) => {\r\n if (a[sortConfig.key] < b[sortConfig.key]) {\r\n return sortConfig.direction === 'ascending' ? -1 : 1;\r\n }\r\n if (a[sortConfig.key] > b[sortConfig.key]) {\r\n return sortConfig.direction === 'ascending' ? 1 : -1;\r\n }\r\n return 0;\r\n });\r\n\r\n setSortedDailySums(newlist)\r\n }\r\n }\r\n\r\n\r\n return (\r\n (sortedDailySums &&\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {sortedDailySums\r\n .filter(item => {\r\n //return item.name.toLowerCase().includes(dataQuerySearch.toLowerCase()) && item.name.toLowerCase().includes(dropQuerySearch.toLowerCase())\r\n return item.name.toLowerCase().includes(dataQuerySearch.toLowerCase()) && (searchDefaultVal).includes(item.name.toLowerCase())\r\n })\r\n .map(({ name, daily_fuel, daily_CO2, daily_energy, daily_cost }, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n
\r\n S.No\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{index + 1}{name}{daily_fuel}{daily_CO2}{daily_energy}{`${daily_cost} ${currency}`}
\r\n {!!sortedDailySums && !!sortedDailySums.length && }\r\n \r\n )\r\n )\r\n\r\n}\r\n\r\nexport default DailySums","import React, { useState, useEffect } from 'react';\r\nimport { Table } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport './bothdirections.css';\r\nimport TextRotateUpOutlinedIcon from '@material-ui/icons/TextRotateUpOutlined';\r\nimport TextRotationDownOutlinedIcon from '@material-ui/icons/TextRotationDownOutlined';\r\nimport '../dailysums/dailysums.css'\r\nimport AlignmentPageWidget from '../../summary/AlignmentPageWidget';\r\n\r\n\r\nconst BothDirectionTable = ({ bothDirectionsDailys, dataQuerySearch, searchDefaultValue }) => {\r\n const { currency } = useSelector(state => state.global)\r\n\r\n const convertToLowerCase = (initialList, bothDirDailys) => {\r\n const randomList = [\"\"]\r\n if (initialList) {\r\n initialList.map((item) => {\r\n randomList.push(item.toLowerCase())\r\n return item\r\n })\r\n }\r\n else {\r\n bothDirDailys.map((item) => {\r\n randomList.push(item.name.toLowerCase())\r\n return item\r\n })\r\n }\r\n return randomList\r\n }\r\n\r\n const searchDefaultVal = convertToLowerCase(searchDefaultValue, bothDirectionsDailys)\r\n\r\n const [sortConfig, setSortConfig] = React.useState(null);\r\n const [sortedBothSums, setSortedBothSums] = useState([...bothDirectionsDailys])\r\n const [localCombinedBothDirectin, setLocalCombinedBothDirectin] = useState(null)\r\n\r\n const requestSort = key => {\r\n\r\n let direction = 'ascending';\r\n if (sortConfig !== null) {\r\n if (sortConfig.key === key && sortConfig.direction === 'ascending') {\r\n direction = 'descending';\r\n setSortConfig({ key, direction });\r\n }\r\n else {\r\n direction = 'ascending';\r\n setSortConfig({ key, direction });\r\n }\r\n } else {\r\n direction = 'ascending';\r\n setSortConfig({ key, direction });\r\n }\r\n\r\n const newlist = [...localCombinedBothDirectin]\r\n if (newlist !== null && sortConfig !== null) {\r\n newlist.sort((a, b) => {\r\n if (a[sortConfig.key] < b[sortConfig.key]) {\r\n return sortConfig.direction === 'ascending' ? -1 : 1;\r\n }\r\n if (a[sortConfig.key] > b[sortConfig.key]) {\r\n return sortConfig.direction === 'ascending' ? 1 : -1;\r\n }\r\n return 0;\r\n });\r\n\r\n setSortedBothSums(newlist)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n\r\n const combinedBothDirectin = []\r\n bothDirectionsDailys.map((element) => {\r\n combinedBothDirectin.push({\r\n \"name\": element.name,\r\n \"alternative_id\": element.alternative_id,\r\n \"direction_name\": element.direction_name1,\r\n \"daily_fuel\": element.daily_fuel1,\r\n \"daily_CO2\": element.daily_CO21,\r\n \"daily_energy\": element.daily_energy1,\r\n \"daily_cost\": element.daily_cost1\r\n })\r\n\r\n combinedBothDirectin.push({\r\n \"name\": element.name,\r\n \"alternative_id\": element.alternative_id,\r\n \"direction_name\": element.direction_name2,\r\n \"daily_fuel\": element.daily_fuel2,\r\n \"daily_CO2\": element.daily_CO22,\r\n \"daily_energy\": element.daily_energy2,\r\n \"daily_cost\": element.daily_cost2\r\n })\r\n return element\r\n })\r\n setLocalCombinedBothDirectin(combinedBothDirectin)\r\n setSortedBothSums(combinedBothDirectin)\r\n\r\n // eslint-disable-next-line\r\n }, [bothDirectionsDailys])\r\n\r\n\r\n return (sortedBothSums !== null &&\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {sortedBothSums\r\n .filter(item => {\r\n return item.name.toLowerCase().includes(dataQuerySearch.toLowerCase()) && (searchDefaultVal).includes(item.name.toLowerCase())\r\n })\r\n .map(({ name, direction_name, daily_fuel, daily_CO2, daily_energy, daily_cost }, i) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{name}{direction_name}{daily_fuel}{daily_CO2}{daily_energy}{`${daily_cost} ${currency}`}
\r\n {!!sortedBothSums && !!sortedBothSums.length && }\r\n \r\n )\r\n}\r\n\r\nexport default BothDirectionTable\r\n","import React, { useState, useEffect, useRef, useContext } from \"react\";\r\nimport { Map, View } from \"ol\";\r\nimport * as proj from \"ol/proj\";\r\nimport TileLayer from \"ol/layer/Tile\";\r\nimport XYZ from 'ol/source/XYZ';\r\nimport Select from 'ol/interaction/Select';\r\nimport Overlay from 'ol/Overlay.js';\r\nimport { getCentreCoord, createPointDataLayer, normalDistribution, createPointDataLayerComparitive } from '../../../../utils/maputils';\r\nimport './map.css';\r\nimport axios from 'axios'\r\n\r\nimport FuelSaveGlobalContext from '../../../../context/FuelSaveGlobalContext';\r\n\r\n\r\n\r\nfunction ComparisonMap(props) {\r\n\r\n //const directions = props.compareAlternative ? props.compareAlternative : props.baseAlternative;\r\n\r\n //Making it so that the direction will only be based on the baseAlternative and we will add a layer of compareAlternative\r\n\r\n const directions = props.baseAlternative ? props.baseAlternative : null;\r\n const comparitiveDirection = props.compareAlternative ? props.compareAlternative : null;\r\n\r\n const {\r\n // mapCoordinateId, setMapCoordinateId,\r\n // mapCentreIdData, setMapCentreIdData,\r\n // chainage, \r\n setChainage,\r\n // fcCar, \r\n setFcCar,\r\n // fcTrucks, \r\n setFcTrucks,\r\n // hilliness, \r\n setHilliness,\r\n // speedProfileCars, \r\n setSpeedProfileCars,\r\n // speedProfileTrucks, \r\n setSpeedProfileTrucks,\r\n // zlevel, \r\n setZlevel,\r\n // curvature, \r\n setCurvature,\r\n // segment, \r\n setSegment,\r\n apiAccessToken\r\n\r\n } = useContext(FuelSaveGlobalContext);\r\n\r\n const segments = directions.segments_data ? directions.segments : null\r\n const segments_data = directions.segments_data ? directions.segments_data : null\r\n //const fc_data = directions.fc_data\r\n const { perc75, perc50, perc25 } = normalDistribution(segments_data)\r\n const centreCoord = segments_data && segments_data.length > 0 ? getCentreCoord(directions) : [0, 0];\r\n const posCentre = proj.fromLonLat(segments_data && segments_data.length > 0 ? centreCoord.coordinates : centreCoord);\r\n\r\n\r\n const overlayRef = useRef(null);\r\n const [map, setMap] = useState();\r\n const [zoom, setZoom] = useState(11);\r\n const mapElement = useRef();\r\n\r\n function customLoader(tile, src) {\r\n\r\n axios({\r\n method: 'get',\r\n url: src,\r\n headers:{\r\n 'Authorization': `Bearer ${apiAccessToken.accessToken}`\r\n }\r\n \r\n }).then((response)=>{\r\n tile.getImage().src = response.data;\r\n })\r\n\r\n }\r\n\r\n useEffect(() => {\r\n if (props.accordinOpen) {\r\n\r\n //creating the source first\r\n let urlVal = process.env.REACT_APP_API_URL\r\n urlVal = urlVal.replace('/graphql', '')\r\n\r\n const XYZSource = new XYZ({\r\n url: `${urlVal}/apimaptiler/?url=api.maptiler.com/maps/voyager/{z}/{x}/{y}.png`\r\n })\r\n XYZSource.setTileLoadFunction(customLoader)\r\n\r\n const bgLayer = new TileLayer({\r\n source: XYZSource\r\n });\r\n \r\n const initialMap = new Map({\r\n target: mapElement.current,\r\n layers: [\r\n bgLayer\r\n ],\r\n view: new View({\r\n center: posCentre,\r\n zoom: zoom\r\n }),\r\n pixelRatio: 1.0\r\n });\r\n\r\n let select = null;\r\n let selectSingleClick = new Select();\r\n\r\n const overlay = new Overlay({\r\n position: posCentre,\r\n element: overlayRef.current,\r\n positioning: \"center-center\",\r\n stopEvent: false\r\n });\r\n\r\n initialMap.on('singleclick', function (evt) {\r\n let coordinate = evt.coordinate;\r\n overlay.setPosition(coordinate)\r\n }\r\n );\r\n\r\n if (select !== null) {\r\n initialMap.removeInteraction(select)\r\n }\r\n select = selectSingleClick;\r\n\r\n if (select !== null) {\r\n initialMap.addInteraction(select);\r\n select.on('select', function (e) {\r\n\r\n if (e.selected[0]) {\r\n //setMapCoordinateId(e.selected[0].values_.geom_order_id);\r\n props.handleStateChange(\"localMapCoordinateId\", e.selected[0].values_.geom_order_id)\r\n props.setLineAtIndex(e.selected[0].values_.chainage)\r\n setChainage(e.selected[0].values_.chainage);\r\n setFcCar(e.selected[0].values_.fuelconsumption_car);\r\n setFcTrucks(e.selected[0].values_.fuelconsumption_trucks);\r\n setHilliness(e.selected[0].values_.hilliness);\r\n setSpeedProfileCars(e.selected[0].values_.speedprofile_car);\r\n setSpeedProfileTrucks(e.selected[0].values_.speedprofile_trucks);\r\n setZlevel(e.selected[0].values_.zlevel);\r\n setCurvature(null);\r\n setSegment(e.selected[0].values_.segment_order_no);\r\n\r\n } else {\r\n //setMapCoordinateId(null);\r\n props.handleStateChange(\"localMapCoordinateId\", null)\r\n setChainage(null);\r\n setFcCar(null);\r\n setFcTrucks(null);\r\n setHilliness(null);\r\n setSpeedProfileCars(null);\r\n setSpeedProfileTrucks(null);\r\n setZlevel(null);\r\n setCurvature(null);\r\n setSegment(null);\r\n }\r\n });\r\n }\r\n\r\n initialMap.on(\"moveend\", () => {\r\n setZoom(initialMap.getView().getZoom());\r\n });\r\n\r\n initialMap.on('zoomend', function () {\r\n setZoom(initialMap.getView().getZoom());\r\n });\r\n\r\n let layersToRemove = [];\r\n\r\n initialMap.getLayers().forEach(function (layer) {\r\n if (layer.get('name') !== undefined && layer.get('name').includes('pointlayer')) {\r\n layersToRemove.push(layer)\r\n }\r\n })\r\n\r\n let len = layersToRemove.length;\r\n for (let i = 0; i < len; i++) {\r\n initialMap.removeLayer(layersToRemove[i]);\r\n }\r\n\r\n\r\n const mapLayer = segments_data.length != null ? createPointDataLayer(segments_data, segments, perc75, perc50, perc25, zoom) : null;\r\n\r\n if (mapLayer) {\r\n initialMap.addLayer(mapLayer)\r\n }\r\n\r\n\r\n setMap(initialMap);\r\n }\r\n\r\n // eslint-disable-next-line\r\n }, [props.accordinOpen]);\r\n\r\n useEffect(() => {\r\n if (map && props.accordinOpen) {\r\n const directions = props.baseAlternative;\r\n const segments = directions && directions.segments_data ? directions.segments : null;\r\n const segments_data = directions.segments_data ? directions.segments_data : null;\r\n const centreCoord = segments_data && segments_data.length > 0 ? getCentreCoord(directions) : [0, 0];\r\n const posCentre = proj.fromLonLat(segments_data && segments_data.length > 0 ? centreCoord.coordinates : centreCoord);\r\n let layersToRemove = [];\r\n map.getLayers().forEach(function (layer) {\r\n if (\r\n layer.get(\"name\") !== undefined &&\r\n layer.get(\"name\").includes(\"pointlayer\")\r\n ) {\r\n layersToRemove.push(layer);\r\n }\r\n });\r\n\r\n let len = layersToRemove.length;\r\n for (let i = 0; i < len; i++) {\r\n map.removeLayer(layersToRemove[i]);\r\n }\r\n\r\n const mapLayer = segments_data.length != null ? createPointDataLayer(segments_data, segments, perc75, perc50, perc25, zoom) : null;\r\n if (mapLayer) {\r\n map.addLayer(mapLayer);\r\n }\r\n map.getView().setCenter(posCentre);\r\n\r\n }\r\n\r\n // eslint-disable-next-line\r\n }, [props.baseAlternative, props.accordinOpen])\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (map && props.accordinOpen) {\r\n let layersToRemove = [];\r\n map.getLayers().forEach(function (layer) {\r\n if (layer.get('name') !== undefined && layer.get('name').includes('pointlayer')) {\r\n layersToRemove.push(layer)\r\n }\r\n })\r\n\r\n let len = layersToRemove.length;\r\n for (let i = 0; i < len; i++) {\r\n map.removeLayer(layersToRemove[i]);\r\n }\r\n\r\n const mapLayer = segments_data.length != null ? createPointDataLayer(segments_data, segments, perc75, perc50, perc25, zoom) : null;\r\n\r\n if (mapLayer) {\r\n map.addLayer(mapLayer)\r\n }\r\n\r\n /*****Adding comparitive map as well */\r\n // Todo: Convert it into a funciton to use it later\r\n\r\n if (map && props.compareAlternative) {\r\n const directions = props.compareAlternative;\r\n const segments = directions && directions.segments_data ? directions.segments : null;\r\n const segments_data = directions.segments_data ? directions.segments_data : null;\r\n const centreCoord = segments_data && segments_data.length > 0 ? getCentreCoord(directions) : [0, 0];\r\n const posCentre = proj.fromLonLat(segments_data && segments_data.length > 0 ? centreCoord.coordinates : centreCoord);\r\n let layersToRemove = [];\r\n map.getLayers().forEach(function (layer) {\r\n if (\r\n layer.get(\"name\") !== undefined &&\r\n layer.get(\"name\").includes(\"pointlayerComparitive\")\r\n ) {\r\n layersToRemove.push(layer);\r\n }\r\n });\r\n\r\n let len = layersToRemove.length;\r\n for (let i = 0; i < len; i++) {\r\n map.removeLayer(layersToRemove[i]);\r\n }\r\n\r\n const mapLayer = segments_data.length != null ? createPointDataLayerComparitive(segments_data, segments, perc75, perc50, perc25, zoom) : null;\r\n if (mapLayer) {\r\n map.addLayer(mapLayer);\r\n }\r\n map.getView().setCenter(posCentre);\r\n\r\n }\r\n\r\n // zoom to map if chart is clicked\r\n if (props.localMapCentreIdData) {\r\n const coord = JSON.parse(props.localMapCentreIdData.geom)\r\n const newCentreCoord = proj.fromLonLat(coord.coordinates);\r\n map.getView().setCenter(newCentreCoord);\r\n map.getView().setZoom(15);\r\n\r\n //setMapCentreIdData(null);\r\n props.handleStateChange(\"localMapCentreIdData\", null)\r\n\r\n //setMapCoordinateId(mapCentreIdData ? mapCentreIdData.geom_order_id : null);\r\n props.handleStateChange(\"localMapCoordinateId\", props.localMapCentreIdData ? props.localMapCentreIdData.geom_order_id : null)\r\n setChainage(props.localMapCentreIdData ? props.localMapCentreIdData.chainage : null);\r\n setFcCar(props.localMapCentreIdData ? props.localMapCentreIdData.fuelconsumption_car : null);\r\n setFcTrucks(props.localMapCentreIdData ? props.localMapCentreIdData.fuelconsumption_trucks : null);\r\n setHilliness(props.localMapCentreIdData ? props.localMapCentreIdData.hilliness : null);\r\n setSpeedProfileCars(props.localMapCentreIdData ? props.localMapCentreIdData.speedprofile_car : null);\r\n setSpeedProfileTrucks(props.localMapCentreIdData ? props.localMapCentreIdData.speedprofile_trucks : null);\r\n setZlevel(props.localMapCentreIdData ? props.localMapCentreIdData.zlevel : null);\r\n setCurvature(null);\r\n setSegment(props.localMapCentreIdData ? props.localMapCentreIdData.segment_order_no : null);\r\n\r\n }\r\n }\r\n\r\n // eslint-disable-next-line\r\n }, [zoom, props.localMapCentreIdData, props.accordinOpen])\r\n\r\n useEffect(() => {\r\n if (map && comparitiveDirection && props.accordinOpen) {\r\n const directions = comparitiveDirection;\r\n const segments = directions && directions.segments_data ? directions.segments : null;\r\n const segments_data = directions.segments_data ? directions.segments_data : null;\r\n const centreCoord = segments_data && segments_data.length > 0 ? getCentreCoord(directions) : [0, 0];\r\n const posCentre = proj.fromLonLat(segments_data && segments_data.length > 0 ? centreCoord.coordinates : centreCoord);\r\n let layersToRemove = [];\r\n map.getLayers().forEach(function (layer) {\r\n if (\r\n layer.get(\"name\") !== undefined &&\r\n layer.get(\"name\").includes(\"pointlayerComparitive\")\r\n ) {\r\n layersToRemove.push(layer);\r\n }\r\n });\r\n\r\n let len = layersToRemove.length;\r\n for (let i = 0; i < len; i++) {\r\n map.removeLayer(layersToRemove[i]);\r\n }\r\n\r\n const mapLayer = segments_data.length != null ? createPointDataLayerComparitive(segments_data, segments, perc75, perc50, perc25, zoom) : null;\r\n if (mapLayer) {\r\n map.addLayer(mapLayer);\r\n }\r\n map.getView().setCenter(posCentre);\r\n\r\n }\r\n\r\n if (map && !props.compareAlternative) {\r\n let layersToRemove = [];\r\n map.getLayers().forEach(function (layer) {\r\n if (\r\n layer.get(\"name\") !== undefined &&\r\n layer.get(\"name\").includes(\"pointlayerComparitive\")\r\n ) {\r\n layersToRemove.push(layer);\r\n }\r\n });\r\n\r\n let len = layersToRemove.length;\r\n for (let i = 0; i < len; i++) {\r\n map.removeLayer(layersToRemove[i]);\r\n }\r\n }\r\n\r\n // eslint-disable-next-line\r\n }, [props.compareAlternative, props.accordinOpen])\r\n\r\n //This is needed to fix map\r\n useEffect(() => {\r\n if (map) {\r\n map.updateSize();\r\n }\r\n });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ComparisonMap;","const rangeArr = [\r\n { max: 100, dividend: 10 },\r\n { max: 1000, dividend: 100 },\r\n { max: 2000, dividend: 200 },\r\n { max: 3000, dividend: 300 },\r\n { max: 4000, dividend: 400 },\r\n { max: 5000, dividend: 500 },\r\n { max: 6000, dividend: 600 },\r\n { max: 7000, dividend: 700 },\r\n { max: 8000, dividend: 800 },\r\n { max: 9000, dividend: 900 },\r\n { max: 10000, dividend: 1000 },\r\n { max: 20000, dividend: 2000 },\r\n { max: 30000, dividend: 3000 },\r\n { max: 40000, dividend: 4000 },\r\n { max: 50000, dividend: 5000 },\r\n { max: 60000, dividend: 6000 },\r\n { max: 70000, dividend: 7000 },\r\n { max: 80000, dividend: 8000 },\r\n { max: 90000, dividend: 9000 },\r\n { max: 100000, dividend: 10000 },\r\n { max: 200000, dividend: 20000 },\r\n { max: 300000, dividend: 30000 },\r\n { max: 400000, dividend: 40000 },\r\n { max: 500000, dividend: 50000 },\r\n { max: 600000, dividend: 60000 },\r\n { max: 700000, dividend: 70000 },\r\n { max: 800000, dividend: 80000 },\r\n { max: 900000, dividend: 90000 },\r\n { max: 1000000, dividend: 100000 },\r\n { max: 2000000, dividend: 200000 },\r\n { max: 3000000, dividend: 300000 },\r\n { max: 4000000, dividend: 400000 },\r\n { max: 5000000, dividend: 500000 },\r\n { max: 6000000, dividend: 600000 },\r\n { max: 7000000, dividend: 700000 },\r\n { max: 8000000, dividend: 800000 },\r\n { max: 9000000, dividend: 900000 },\r\n { max: 10000000, dividend: 1000000 }\r\n]\r\n\r\nconst arraySlab = multi => {\r\n let arr = []\r\n for (let i = 1; i <= 10; i++) {\r\n arr.push(i * multi)\r\n }\r\n return arr\r\n}\r\n\r\n/**\r\n * Create slab diffrence\r\n * array for chart's x-axis\r\n * @param {*} maxVal \r\n * @returns \r\n */\r\nexport const newSlabDiff = maxVal => {\r\n if (!maxVal) return [] // Return blank array if value not found\r\n\r\n for (var i = 0; i <= rangeArr.length; i++) {\r\n if (maxVal <= rangeArr[i].max) {\r\n return arraySlab(rangeArr[i].dividend)\r\n }\r\n }\r\n\r\n return []\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Bar, defaults } from 'react-chartjs-2'\r\nimport { useSelector } from 'react-redux';\r\nimport { colorCodes } from '../../../../constant/colors';\r\nimport { chartSizeAccToWidth } from '../../../../constant/helpers';\r\n// import FuelSaveGlobalContext from '../../../../context/FuelSaveGlobalContext';\r\nimport './chartMixed.css';\r\n// import { useTranslation } from \"react-i18next\"\r\n// import _ from 'lodash';\r\nimport { newSlabDiff } from './common';\r\n\r\n\r\n// \"chart.js\": \"^2.8.0\",\r\n// \"react-chartjs-2\": \"^2.7.6\",\r\ndefaults.global.defaultFontFamily = 'MediumSizeFont';\r\nconst { BLUE_3, WHITE_1, GREEN_2 } = colorCodes\r\nconst barChartOptions = {\r\n\r\n // title: { text: 'Energy consumption along road [l/100km, average over 20 meter sections]', display: true },\r\n tooltips: {\r\n titleFontSize: chartSizeAccToWidth(window.innerWidth),\r\n bodyFontSize: chartSizeAccToWidth(window.innerWidth)\r\n },\r\n lineTension: 2,\r\n scaleOverride: true,\r\n // scaleSteps: 200,\r\n // scaleStepWidth: 200,\r\n scaleShowLabels: true,\r\n scales: {\r\n xAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'FC',\r\n\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: WHITE_1,\r\n display: true,\r\n beginAtZero: true,\r\n maxTicksLimit: 10,\r\n stepSize: 100,\r\n min: 0,\r\n max: 10,\r\n\r\n },\r\n\r\n stacked: false,\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'chainage'\r\n\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: WHITE_1,\r\n suggestedMin: 0,\r\n suggestedMax: 100,\r\n maxTicksLimit: 10,\r\n display: true,\r\n stepSize: 10\r\n },\r\n stacked: false,\r\n },\r\n ],\r\n },\r\n};\r\n\r\n\r\n\r\n// const barChartData = {\r\n// labels: ['a', 'b', 'c', 'd', 'e'],\r\n// datasets: [\r\n// {\r\n// label: 'Active',\r\n// backgroundColor: 'rgba(255, 0, 0, 0.3)',\r\n// // stack: '2',\r\n// data: [100, 300, 400, 100, 200]\r\n// },\r\n// {\r\n// label: 'Banned',\r\n// backgroundColor: '#0cc2aa',\r\n// // stack: '2',\r\n// data: [200, 200, 400, 300, 200]\r\n// },\r\n// ],\r\n// }\r\n\r\nconst data = {\r\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],\r\n datasets: [\r\n {\r\n type: 'line',\r\n label: 'Alternative 2',\r\n borderColor: 'rgb(54, 162, 235)',\r\n borderWidth: 2,\r\n fill: true,\r\n data: [200, 200, 400, 300, 200, 100],\r\n },\r\n {\r\n type: 'line',\r\n label: 'Alternative 1 line',\r\n backgroundColor: 'rgb(255, 99, 132)',\r\n data: [150, 100, 200, 200, 100, 200],\r\n borderColor: 'white',\r\n borderWidth: 2,\r\n },\r\n ],\r\n}\r\n\r\nconst datasetKeyProvider = () => {\r\n return btoa(Math.random()).substring(0, 12)\r\n}\r\n\r\nconst compareChainage = (a, b) => {\r\n if (a.chainage < b.chainage) {\r\n return -1;\r\n }\r\n if (a.chainage > b.chainage) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\n\r\nconst ChartMixedEnergyConsumptionAlongRoad = ({\r\n baseAlternative, compareAlternative,\r\n handleStateChange, setLineAtIndex, lineAtIndex\r\n}) => {\r\n\r\n // const {\r\n // mapCoordinateId, setMapCoordinateId,\r\n // mapCentreIdData, setMapCentreIdData\r\n // } = useContext(FuelSaveGlobalContext)\r\n\r\n // const { t, i18n } = useTranslation();\r\n\r\n const { winWidth } = useSelector(state => state.global)\r\n const [chartData, setChartData] = useState(data);\r\n const [chartOptions, setChartOptions] = useState(barChartOptions);\r\n // const [mapData, setMapData] = useState(null);\r\n\r\n useEffect(() => {\r\n async function createChart() {\r\n const baseChainageLabels = []\r\n const baseFCTrucksData = []\r\n const baseFCCarsData = []\r\n const compareFCTrucksData = []\r\n const compareFCCarsData = []\r\n\r\n const baseSegmentsData = baseAlternative.segments_data;\r\n baseSegmentsData.sort(compareChainage);\r\n\r\n const mapPointData = []\r\n\r\n let index = 0\r\n\r\n baseSegmentsData.map(segment => {\r\n\r\n let n = 0;\r\n while (n < 4) {\r\n baseChainageLabels.push(segment.chainage)\r\n baseFCTrucksData.push(segment.fuelconsumption_trucks)\r\n baseFCCarsData.push(segment.fuelconsumption_car)\r\n mapPointData.push({\r\n 'index': (index + n),\r\n 'chainage': segment.chainage,\r\n 'segment_order_no': segment.segment_order_no,\r\n 'fuelconsumption_trucks': segment.fuelconsumption_trucks,\r\n 'hilliness': segment.hilliness,\r\n 'speedprofile_car': segment.speedprofile_car,\r\n 'fuelconsumption_car': segment.fuelconsumption_car,\r\n 'speedprofile_trucks': segment.speedprofile_trucks,\r\n 'geom_order_id': segment.geom_order_id,\r\n 'geom': segment.geom,\r\n })\r\n n++;\r\n }\r\n index = index + 4;\r\n return segment\r\n })\r\n // setMapData(mapPointData);\r\n\r\n if (compareAlternative) {\r\n\r\n const compareSegmentsData = compareAlternative.segments_data;\r\n compareSegmentsData.sort(compareChainage);\r\n\r\n compareSegmentsData.map(segment => {\r\n\r\n let n = 0;\r\n while (n < 4) {\r\n compareFCTrucksData.push(segment.fuelconsumption_trucks)\r\n compareFCCarsData.push(segment.fuelconsumption_car)\r\n n++;\r\n }\r\n\r\n return segment\r\n })\r\n }\r\n\r\n // const compareDir = compareAlternative ? compareAlternative.direction : ''\r\n\r\n const data = {\r\n labels: baseChainageLabels,\r\n datasets: [\r\n {\r\n type: 'line',\r\n label: 'Base Chainage trucks ',// + (baseAlternative ? baseAlternative.direction : ''),\r\n labelColor: WHITE_1,\r\n borderColor: BLUE_3,\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: false,\r\n data: baseFCTrucksData\r\n },\r\n {\r\n type: 'bar',\r\n label: 'Base Chainage cars ',// + compareDir,\r\n borderColor: GREEN_2,\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: false,\r\n data: baseFCCarsData\r\n },\r\n /*{\r\n type: 'line',\r\n label: 'Compare Chainage trucks ' + compareDir,\r\n borderColor: 'rgb(255, 99, 132)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: true,\r\n data: compareFCTrucksData\r\n },\r\n {\r\n type: 'line',\r\n label: 'Compare Chainage cars ' + compareDir,\r\n borderColor: 'rgb(255,102,102)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: true,\r\n data: compareFCCarsData\r\n },*/\r\n // {\r\n // type: 'bar',\r\n // label: ' ',\r\n // labelColor: WHITE_1,\r\n // borderColor: 'rgb(0,0,0, 0.1)',\r\n // borderWidth: 1,\r\n // pointRadius: 1,\r\n // pointHoverRadius: 1,\r\n // fill: false,\r\n // data: baseFCTrucksData\r\n // },\r\n ]\r\n }\r\n\r\n if (compareAlternative) {\r\n const objectCompareFCTrucksData = {\r\n type: 'line',\r\n label: 'Compare Chainage trucks ', //+ compareDir,\r\n borderColor: '#9eabed',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: false,\r\n data: compareFCTrucksData\r\n }\r\n\r\n data.datasets.push(objectCompareFCTrucksData)\r\n\r\n const objectCompareFCCarsData = {\r\n type: 'bar',\r\n label: 'Compare Chainage cars ', //+ compareDir,\r\n borderColor: '#9cfad6',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: true,\r\n data: compareFCCarsData\r\n }\r\n\r\n data.datasets.push(objectCompareFCCarsData)\r\n\r\n }\r\n\r\n\r\n const barChartOptions = {\r\n animation: {\r\n duration: 0\r\n },\r\n legend: {\r\n labels: {\r\n fontColor: \"black\",\r\n fontSize: chartSizeAccToWidth(window.innerWidth)\r\n },\r\n position: 'bottom'\r\n },\r\n events: ['click'],\r\n tooltipEvents: [\"mousemove\", \"touchstart\", \"touchmove\", \"click\"],\r\n tooltips: {\r\n titleFontSize: chartSizeAccToWidth(window.innerWidth),\r\n bodyFontSize: chartSizeAccToWidth(window.innerWidth),\r\n },\r\n\r\n onHover: function (evt, element) {\r\n\r\n },\r\n onClick: function (evt, element) {\r\n if (element[0]) {\r\n // const chart = element[0]._chart\r\n const index = element[0]._index\r\n // const activePoints = chart.getElementsAtEventForMode(evt, 'point', chart.options);\r\n // const firstPoint = activePoints[0];\r\n // const label = chart.data.labels[firstPoint._index];\r\n // const value = chart.data.datasets[firstPoint._datasetIndex].data[firstPoint._index];\r\n //setMapCentreIdData(mapPointData[index]);\r\n handleStateChange(\"localMapCentreIdData\", mapPointData[index])\r\n setLineAtIndex(false)\r\n }\r\n },\r\n lineTension: 2,\r\n scaleOverride: true,\r\n scaleShowLabels: true,\r\n scales: {\r\n xAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n fontColor: BLUE_3,\r\n labelString: 'Chainage',\r\n fontSize: chartSizeAccToWidth(window.innerWidth)\r\n\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: BLUE_3,\r\n display: true,\r\n beginAtZero: true,\r\n maxTicksLimit: 20,\r\n stepSize: 10,\r\n min: 0,\r\n max: 10,\r\n fontSize: chartSizeAccToWidth(window.innerWidth)\r\n },\r\n gridLines: {\r\n display: false\r\n },\r\n stacked: false,\r\n afterBuildTicks: function (mychart) {\r\n mychart.options.ticks.maxTicksLimit = mychart.max\r\n const indexCollection = []\r\n mychart.chart.config.lineAtIndex = !!lineAtIndex ? [parseInt(lineAtIndex)] : []\r\n newSlabDiff(mychart.max).map(ins => indexCollection.push((mychart.ticks).indexOf(ins)))\r\n mychart.options.ticks.callback = function (label, i) {\r\n return indexCollection.includes(i) ? label : '';\r\n }\r\n }\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n fontColor: BLUE_3,\r\n labelString: 'Fuel Consumption',\r\n fontSize: chartSizeAccToWidth(window.innerWidth)\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: BLUE_3,\r\n suggestedMin: 0,\r\n suggestedMax: 60,\r\n maxTicksLimit: 10,\r\n display: true,\r\n stepSize: 10,\r\n fontSize: chartSizeAccToWidth(window.innerWidth)\r\n },\r\n gridLines: {\r\n display: false\r\n },\r\n stacked: false,\r\n },\r\n ],\r\n },\r\n }\r\n setChartData(data);\r\n setChartOptions(barChartOptions);\r\n }\r\n\r\n createChart()\r\n\r\n // eslint-disable-next-line\r\n }, [baseAlternative, compareAlternative, winWidth, lineAtIndex])\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default ChartMixedEnergyConsumptionAlongRoad","import { newSlabDiff } from \"../views/content/comparison/maps/common\";\r\n\r\nexport const compareChainage = (a, b) => {\r\n if (a.chainage < b.chainage) {\r\n return -1;\r\n }\r\n if (a.chainage > b.chainage) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nexport const compareYear = (a, b) => {\r\n if (a.year < b.year) {\r\n return -1;\r\n }\r\n if (a.year > b.year) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nexport const getGroundLevelAlongRoadLayers = (baseAlternative) => {\r\n\r\n // -6 = dark blue, -3 = light blue, 0 = grey, 3 = light red, 6 = dark red\r\n\r\n const baseChainageLabels = []\r\n\r\n const baseLevelDarkBlueData = []\r\n const baseLevelBlueData = []\r\n const baseLevelGreyBlueData = []\r\n const baseLevelGreyData = []\r\n const baseLevelGreyRedData = []\r\n const baseLevelRedData = []\r\n const baseLevelDarkRedData = []\r\n\r\n const baseLevelData = []\r\n const mapPointData = []\r\n\r\n if (baseAlternative) {\r\n const baseSegmentsData = baseAlternative.segments_data;\r\n baseSegmentsData.sort(compareChainage);\r\n let index = 0\r\n\r\n baseSegmentsData.map(segment => {\r\n const thresHoldLeft3 = -6\r\n const thresHoldLeft2 = -4\r\n const thresHoldLeft1 = -2\r\n const thresHoldMiddle = 0\r\n const thresHoldRight1 = 2\r\n const thresHoldRight2 = 4\r\n const thresHoldRight3 = 6\r\n\r\n let n = 0;\r\n\r\n //console.log(segment.hilliness, \"segment hilliness\")\r\n\r\n while (n < 2) {\r\n baseChainageLabels.push(segment.chainage)\r\n\r\n if (segment.hilliness < thresHoldLeft3) {\r\n baseLevelDarkBlueData.push(segment.zlevel)\r\n baseLevelBlueData.push(null)\r\n baseLevelGreyBlueData.push(null)\r\n baseLevelGreyData.push(null)\r\n baseLevelGreyRedData.push(null)\r\n baseLevelRedData.push(null)\r\n baseLevelDarkRedData.push(null)\r\n }\r\n else if (segment.hilliness >= thresHoldLeft3 && segment.hilliness < thresHoldLeft2) {\r\n baseLevelDarkBlueData.push(null)\r\n baseLevelBlueData.push(segment.zlevel)\r\n baseLevelGreyBlueData.push(null)\r\n baseLevelGreyData.push(null)\r\n baseLevelGreyRedData.push(null)\r\n baseLevelRedData.push(null)\r\n baseLevelDarkRedData.push(null)\r\n }\r\n else if (segment.hilliness >= thresHoldLeft2 && segment.hilliness < thresHoldLeft1) {\r\n baseLevelDarkBlueData.push(null)\r\n baseLevelBlueData.push(null)\r\n baseLevelGreyBlueData.push(segment.zlevel)\r\n baseLevelGreyData.push(null)\r\n baseLevelGreyRedData.push(null)\r\n baseLevelRedData.push(null)\r\n baseLevelDarkRedData.push(null)\r\n }\r\n else if (segment.hilliness === thresHoldMiddle) {\r\n baseLevelDarkBlueData.push(null)\r\n baseLevelBlueData.push(null)\r\n baseLevelGreyBlueData.push(null)\r\n baseLevelGreyData.push(segment.zlevel)\r\n baseLevelGreyRedData.push(null)\r\n baseLevelRedData.push(null)\r\n baseLevelDarkRedData.push(null)\r\n }\r\n else if (segment.hilliness >= thresHoldRight1 && segment.hilliness < thresHoldRight2) {\r\n baseLevelDarkBlueData.push(null)\r\n baseLevelBlueData.push(null)\r\n baseLevelGreyBlueData.push(null)\r\n baseLevelGreyData.push(null)\r\n baseLevelGreyRedData.push(segment.zlevel)\r\n baseLevelRedData.push(null)\r\n baseLevelDarkRedData.push(null)\r\n }\r\n else if (segment.hilliness >= thresHoldRight2 && segment.hilliness < thresHoldRight3) {\r\n baseLevelDarkBlueData.push(null)\r\n baseLevelBlueData.push(null)\r\n baseLevelGreyBlueData.push(null)\r\n baseLevelGreyData.push(null)\r\n baseLevelGreyRedData.push(null)\r\n baseLevelRedData.push(segment.zlevel)\r\n baseLevelDarkRedData.push(null)\r\n }\r\n else if (segment.hilliness >= thresHoldRight3) {\r\n baseLevelDarkBlueData.push(null)\r\n baseLevelBlueData.push(null)\r\n baseLevelGreyBlueData.push(null)\r\n baseLevelGreyData.push(null)\r\n baseLevelGreyRedData.push(null)\r\n baseLevelRedData.push(null)\r\n baseLevelDarkRedData.push(segment.zlevel)\r\n }\r\n else {\r\n baseLevelDarkBlueData.push(null)\r\n baseLevelBlueData.push(null)\r\n baseLevelGreyBlueData.push(null)\r\n baseLevelGreyData.push(segment.zlevel)\r\n baseLevelGreyRedData.push(null)\r\n baseLevelRedData.push(null)\r\n baseLevelDarkRedData.push(null)\r\n\r\n }\r\n\r\n\r\n baseLevelData.push(segment.zlevel)\r\n\r\n mapPointData.push({\r\n 'index': (index + n),\r\n 'chainage': segment.chainage,\r\n 'segment_order_no': segment.segment_order_no,\r\n 'fuelconsumption_trucks': segment.fuelconsumption_trucks,\r\n 'hilliness': segment.hilliness,\r\n 'speedprofile_car': segment.speedprofile_car,\r\n 'fuelconsumption_car': segment.fuelconsumption_car,\r\n 'speedprofile_trucks': segment.speedprofile_trucks,\r\n 'geom_order_id': segment.geom_order_id,\r\n 'geom': segment.geom,\r\n 'zlevel': segment.zlevel\r\n })\r\n n++;\r\n }\r\n index = index + 2;\r\n return segment\r\n })\r\n }\r\n\r\n return [\r\n baseChainageLabels,\r\n baseLevelDarkBlueData,\r\n baseLevelBlueData,\r\n baseLevelGreyBlueData,\r\n baseLevelGreyData,\r\n baseLevelGreyRedData,\r\n baseLevelRedData,\r\n baseLevelDarkRedData,\r\n baseLevelData,\r\n mapPointData\r\n ]\r\n}\r\n\r\nexport const getGroundLevelAlongRoadDataSets = (\r\n\r\n baseAlternative,\r\n compareAlternative,\r\n baseLevelData,\r\n baseLevelDarkBlueData,\r\n baseLevelBlueData,\r\n baseLevelGreyBlueData,\r\n baseLevelGreyData,\r\n baseLevelGreyRedData,\r\n baseLevelRedData,\r\n baseLevelDarkRedData,\r\n compareChainageLabels,\r\n compareLevelData,\r\n compareLevelDarkBlueData,\r\n compareLevelBlueData,\r\n compareLevelGreyBlueData,\r\n compareLevelGreyData,\r\n compareLevelGreyRedData,\r\n compareLevelRedData,\r\n compareLevelDarkRedData,\r\n\r\n) => {\r\n\r\n const compareDir = compareAlternative ? compareAlternative.direction : ''\r\n\r\n return [\r\n {\r\n type: 'bar',\r\n label: 'Base level ' + (baseAlternative ? baseAlternative.direction : ''),\r\n labelColor: \"white\",\r\n //borderColor: 'rgb(193, 66, 66)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: false,\r\n //backgroundColor : \"rgb(193, 66, 66,0.8)\",\r\n data: baseLevelData\r\n },\r\n //dark blue\r\n\r\n {\r\n type: 'line',\r\n label: 'Compare zlevel ' + compareDir,\r\n borderColor: 'rgb(255,255,255,0.1)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(255,255,255,0.01)\",\r\n data: compareLevelData\r\n },\r\n {\r\n type: 'line',\r\n label: 'Base < -4',\r\n labelColor: \"white\",\r\n borderColor: 'rgb(0,0,102)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(0,0,102,0.8)\",\r\n data: baseLevelDarkBlueData\r\n },\r\n // blue\r\n {\r\n type: 'line',\r\n label: 'Base < -2',\r\n labelColor: \"white\",\r\n borderColor: 'rgb(0,0,255)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(7,9,150,0.8)\",\r\n data: baseLevelBlueData\r\n },\r\n // grey blue\r\n {\r\n type: 'line',\r\n label: ' Base < -0.3 ' + (baseAlternative ? baseAlternative.direction : ''),\r\n labelColor: \"white\",\r\n borderColor: 'rgb(102,102,255)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(102,102,255,0.8)\",\r\n data: baseLevelGreyBlueData\r\n },\r\n // grey\r\n {\r\n type: 'line',\r\n label: 'Base 0 ' + (baseAlternative ? baseAlternative.direction : ''),\r\n labelColor: \"white\",\r\n borderColor: 'rgb(128,128,128)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(128,128,128,0.8)\",\r\n data: baseLevelGreyData\r\n },\r\n //grey red\r\n {\r\n type: 'line',\r\n label: 'Base > 0.3 ' + (baseAlternative ? baseAlternative.direction : ''),\r\n labelColor: \"white\",\r\n borderColor: 'rgb(193, 66, 66)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(193, 66, 66,0.8)\",\r\n data: baseLevelGreyRedData\r\n },\r\n //red\r\n {\r\n type: 'line',\r\n label: 'Base > 2',\r\n labelColor: \"white\",\r\n borderColor: 'rgb(255,0,0)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(255,51,51,0.8)\",\r\n data: baseLevelRedData\r\n },\r\n {\r\n type: 'line',\r\n label: 'Base > 4 ' + (baseAlternative ? baseAlternative.direction : ''),\r\n labelColor: \"white\",\r\n borderColor: 'rgb(204,0,0)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(204,0,0,0.8)\",\r\n data: baseLevelDarkRedData\r\n },\r\n\r\n\r\n {\r\n type: 'line',\r\n label: 'Compare < -4',\r\n labelColor: \"white\",\r\n borderColor: 'rgb(0,0,102)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(0,0,102,0.8)\",\r\n data: compareLevelDarkBlueData\r\n },\r\n // blue\r\n {\r\n type: 'line',\r\n label: 'Compare < -2',\r\n labelColor: \"white\",\r\n borderColor: 'rgb(0,0,255)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(7,9,150,0.8)\",\r\n data: compareLevelBlueData\r\n },\r\n // grey blue\r\n {\r\n type: 'line',\r\n label: ' Compare < -0.3 ' + (baseAlternative ? baseAlternative.direction : ''),\r\n labelColor: \"white\",\r\n borderColor: 'rgb(102,102,255)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(102,102,255,0.8)\",\r\n data: compareLevelGreyBlueData\r\n },\r\n // grey\r\n {\r\n type: 'line',\r\n label: 'Compare = 0 ' + (baseAlternative ? baseAlternative.direction : ''),\r\n labelColor: \"white\",\r\n borderColor: 'rgb(128,128,128)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(128,128,128,0.8)\",\r\n data: compareLevelGreyData\r\n },\r\n //grey red\r\n {\r\n type: 'line',\r\n label: 'Compare > 0.3 ' + (baseAlternative ? baseAlternative.direction : ''),\r\n labelColor: \"white\",\r\n borderColor: 'rgb(193, 66, 66)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(193, 66, 66,0.8)\",\r\n data: compareLevelGreyRedData\r\n },\r\n //red\r\n {\r\n type: 'line',\r\n label: 'Compare > 2',\r\n labelColor: \"white\",\r\n borderColor: 'rgb(255,0,0)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(255,51,51,0.8)\",\r\n data: compareLevelRedData\r\n },\r\n {\r\n type: 'line',\r\n label: 'Compare > 4 ' + (baseAlternative ? baseAlternative.direction : ''),\r\n labelColor: \"white\",\r\n borderColor: 'rgb(204,0,0)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 3,\r\n fill: true,\r\n backgroundColor: \"rgb(204,0,0,0.8)\",\r\n data: compareLevelDarkRedData\r\n },\r\n ]\r\n}\r\n\r\nexport const legend = {\r\n display: false,\r\n position: 'bottom',\r\n labels: {\r\n fontColor: \"white\",\r\n fontSize: 14,\r\n display: false\r\n }\r\n}\r\n\r\nexport const tooltips = {\r\n titleFontSize: 18,\r\n bodyFontSize: 18,\r\n}\r\n\r\nexport const xAxes = [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n fontColor: \"#172679\",\r\n labelString: 'Chainage',\r\n fontSize: 25\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: \"#172679\",\r\n display: true,\r\n //beginAtZero: true,\r\n min: 0,\r\n max: 10,\r\n maxTicksLimit: 10,\r\n stepSize: 100,\r\n fontSize: 20\r\n },\r\n stacked: false,\r\n afterBuildTicks: function (mychart) {\r\n mychart.options.ticks.maxTicksLimit = mychart.max\r\n const indexCollection = []\r\n newSlabDiff(mychart.max).map(ins => indexCollection.push((mychart.ticks).indexOf(ins)))\r\n mychart.options.ticks.callback = function (label, i) {\r\n return indexCollection.includes(i) ? label : '';\r\n }\r\n }\r\n },\r\n]\r\n\r\nexport const yAxes = [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n fontColor: \"white\",\r\n labelString: 'Fuel Consumption',\r\n fontSize: 25\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: \"white\",\r\n suggestedMin: 0,\r\n suggestedMax: 60,\r\n maxTicksLimit: 10,\r\n display: true,\r\n stepSize: 10,\r\n fontSize: 20\r\n },\r\n stacked: false,\r\n },\r\n]","import React, { useState, useEffect } from 'react';\r\nimport { Bar, defaults } from 'react-chartjs-2'\r\nimport { useSelector } from 'react-redux'\r\n// import FuelSaveGlobalContext from '../../../../context/FuelSaveGlobalContext';\r\nimport './chartMixed.css';\r\n// import { useTranslation } from \"react-i18next\"\r\n// import _ from 'lodash';\r\nimport { legend, tooltips, getGroundLevelAlongRoadLayers, getGroundLevelAlongRoadDataSets } from '../../../../utils/chartutils';\r\nimport { chartCommonConfig } from '../../../../constant';\r\nimport { chartSizeAccToWidth } from '../../../../constant/helpers';\r\nimport { newSlabDiff } from './common';\r\nimport { colorCodes } from '../../../../constant/colors';\r\n\r\n// \"chart.js\": \"^2.8.0\",\r\n// \"react-chartjs-2\": \"^2.7.6\",\r\n\r\ndefaults.global.defaultFontFamily = 'MediumSizeFont';\r\n\r\nconst { BLUE_3 } = colorCodes\r\nconst barChartOptions = {\r\n ...chartCommonConfig,\r\n animation: {\r\n duration: 0\r\n },\r\n // title: { text: 'Energy consumption along road [l/100km, average over 20 meter sections]', display: true },\r\n tooltips: {\r\n titleFontSize: 20,\r\n bodyFontSize: 20\r\n },\r\n lineTension: 2,\r\n scaleOverride: true,\r\n // scaleSteps: 200,\r\n // scaleStepWidth: 200,\r\n scaleShowLabels: true,\r\n scales: {\r\n xAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'FC',\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: BLUE_3,\r\n display: true,\r\n beginAtZero: true,\r\n min: 0,\r\n max: 10,\r\n\r\n },\r\n gridLines: {\r\n display: false\r\n },\r\n\r\n stacked: false,\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'chainage',\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: \"white\",\r\n suggestedMin: 0,\r\n suggestedMax: 60,\r\n maxTicksLimit: 10,\r\n display: true,\r\n stepSize: 10\r\n },\r\n gridLines: {\r\n display: false\r\n },\r\n stacked: false,\r\n },\r\n ],\r\n },\r\n};\r\n\r\nconst data = {\r\n labels: ['not found'],\r\n datasets: [\r\n {\r\n type: 'line',\r\n label: 'Alternative 2',\r\n //borderColor: 'rgb(54, 162, 235)',\r\n //borderWidth: 2,\r\n fill: false,\r\n data: [null],\r\n },\r\n {\r\n type: 'line',\r\n label: 'Alternative 1 line',\r\n // backgroundColor: 'rgb(255, 99, 132)',\r\n data: [null],\r\n borderColor: 'white',\r\n //borderWidth: 2,\r\n },\r\n ],\r\n}\r\n\r\n\r\n// const compareChainage = (a, b) => {\r\n// if (a.chainage < b.chainage) {\r\n// return -1;\r\n// }\r\n// if (a.chainage > b.chainage) {\r\n// return 1;\r\n// }\r\n// return 0;\r\n// }\r\n\r\n\r\nconst ChartMixedGroundLevelAlongRoad = ({\r\n baseAlternative, compareAlternative,\r\n handleStateChange, setLineAtIndex, lineAtIndex\r\n}) => {\r\n\r\n // const {\r\n // mapCoordinateId, setMapCoordinateId,\r\n // mapCentreIdData, setMapCentreIdData\r\n // } = useContext(FuelSaveGlobalContext)\r\n\r\n // const { t, i18n } = useTranslation();\r\n const { winWidth } = useSelector(state => state.global)\r\n const [chartData, setChartData] = useState(data);\r\n const [chartOptions, setChartOptions] = useState(barChartOptions);\r\n // const [mapData, setMapData] = useState(null);\r\n\r\n useEffect(() => {\r\n async function createChart() {\r\n\r\n const [baseChainageLabels,\r\n baseLevelDarkBlueData,\r\n baseLevelBlueData,\r\n baseLevelGreyBlueData,\r\n baseLevelGreyData,\r\n baseLevelGreyRedData,\r\n baseLevelRedData,\r\n baseLevelDarkRedData,\r\n baseLevelData,\r\n mapPointData] = getGroundLevelAlongRoadLayers(baseAlternative);\r\n\r\n // setMapData(mapPointData);\r\n\r\n const [\r\n compareChainageLabels,\r\n compareLevelDarkBlueData,\r\n compareLevelBlueData,\r\n compareLevelGreyBlueData,\r\n compareLevelGreyData,\r\n compareLevelGreyRedData,\r\n compareLevelRedData,\r\n compareLevelDarkRedData,\r\n compareLevelData,\r\n // compareMapPointData\r\n ] = getGroundLevelAlongRoadLayers(compareAlternative);\r\n\r\n const data = {\r\n labels: baseChainageLabels,\r\n datasets: getGroundLevelAlongRoadDataSets(\r\n baseAlternative,\r\n compareAlternative,\r\n baseLevelData,\r\n baseLevelDarkBlueData,\r\n baseLevelBlueData,\r\n baseLevelGreyBlueData,\r\n baseLevelGreyData,\r\n baseLevelGreyRedData,\r\n baseLevelRedData,\r\n baseLevelDarkRedData,\r\n compareChainageLabels,\r\n compareLevelData,\r\n compareLevelDarkBlueData,\r\n compareLevelBlueData,\r\n compareLevelGreyBlueData,\r\n compareLevelGreyData,\r\n compareLevelGreyRedData,\r\n compareLevelRedData,\r\n compareLevelDarkRedData)\r\n }\r\n\r\n const barChartOptions = {\r\n ...chartCommonConfig,\r\n animation: {\r\n duration: 0\r\n },\r\n legend: legend,\r\n events: ['click'],\r\n tooltipEvents: [\"mousemove\", \"touchstart\", \"touchmove\", \"click\"],\r\n tooltips: tooltips,\r\n onHover: function (evt, element) {\r\n },\r\n onClick: function (evt, element) {\r\n if (element[0]) {\r\n // const chart = element[0]._chart\r\n const index = element[0]._index\r\n // const activePoints = chart.getElementsAtEventForMode(evt, 'point', chart.options);\r\n // const firstPoint = activePoints[0];\r\n // const label = chart.data.labels[firstPoint._index];\r\n // const value = chart.data.datasets[firstPoint._datasetIndex].data[firstPoint._index];\r\n //setMapCentreIdData(mapPointData[index]);\r\n handleStateChange(\"localMapCentreIdData\", mapPointData[index])\r\n setLineAtIndex(false)\r\n }\r\n },\r\n lineTension: 2,\r\n scaleOverride: true,\r\n scaleShowLabels: true,\r\n scales: {\r\n xAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n fontColor: BLUE_3,\r\n labelString: 'Chainage',\r\n fontSize: chartSizeAccToWidth(winWidth),\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: BLUE_3,\r\n display: true,\r\n min: 0,\r\n max: 10,\r\n maxTicksLimit: 10,\r\n stepSize: 100,\r\n fontSize: chartSizeAccToWidth(winWidth),\r\n },\r\n stacked: false,\r\n afterBuildTicks: function (mychart) {\r\n mychart.options.ticks.maxTicksLimit = mychart.max\r\n const indexCollection = []\r\n mychart.chart.config.lineAtIndex = !!lineAtIndex ? [parseInt(lineAtIndex)] : []\r\n newSlabDiff(mychart.max).map(ins => indexCollection.push((mychart.ticks).indexOf(ins)))\r\n mychart.options.ticks.callback = function (label, i) {\r\n return indexCollection.includes(i) ? label : '';\r\n }\r\n }\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n fontColor: BLUE_3,\r\n labelString: 'Meters',\r\n fontSize: chartSizeAccToWidth(window.innerWidth)\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: BLUE_3,\r\n suggestedMin: 0,\r\n suggestedMax: 60,\r\n maxTicksLimit: 10,\r\n display: true,\r\n stepSize: 10,\r\n fontSize: chartSizeAccToWidth(window.innerWidth)\r\n },\r\n stacked: false,\r\n },\r\n ],\r\n },\r\n }\r\n setChartData(data);\r\n setChartOptions(barChartOptions);\r\n }\r\n\r\n createChart()\r\n\r\n // eslint-disable-next-line\r\n }, [baseAlternative, compareAlternative, winWidth, lineAtIndex])\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ChartMixedGroundLevelAlongRoad","import React, { useState, useEffect } from 'react';\r\nimport { Bar, defaults } from 'react-chartjs-2'\r\nimport { useSelector } from 'react-redux';\r\nimport { chartCommonConfig } from '../../../../constant';\r\nimport { colorCodes } from '../../../../constant/colors';\r\nimport { chartSizeAccToWidth } from '../../../../constant/helpers';\r\nimport './chartMixed.css';\r\nimport { newSlabDiff } from './common';\r\n\r\n\r\n// \"chart.js\": \"^2.8.0\",\r\n// \"react-chartjs-2\": \"^2.7.6\",\r\n\r\ndefaults.global.defaultFontFamily = 'MediumSizeFont';\r\nconst { WHITE_1, BLACK_1, BLUE_3, GREEN_2 } = colorCodes\r\nconst barChartOptions = {\r\n ...chartCommonConfig,\r\n maintainAspectRatio: false,\r\n\r\n // title: { text: 'Energy consumption along road [l/100km, average over 20 meter sections]', display: true },\r\n tooltips: {\r\n titleFontSize: 20,\r\n bodyFontSize: 20\r\n },\r\n lineTension: 2,\r\n scaleOverride: true,\r\n // scaleSteps: 200,\r\n // scaleStepWidth: 200,\r\n scaleShowLabels: true,\r\n scales: {\r\n xAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'FC',\r\n\r\n },\r\n scaleFontSize: 50,\r\n ticks: {\r\n fontColor: BLACK_1,\r\n display: true,\r\n beginAtZero: true,\r\n min: 0,\r\n max: 10,\r\n },\r\n stacked: false,\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'chainage'\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: BLACK_1,\r\n suggestedMin: 0,\r\n suggestedMax: 60,\r\n maxTicksLimit: 10,\r\n display: true,\r\n stepSize: 10\r\n },\r\n stacked: false,\r\n },\r\n ],\r\n },\r\n};\r\n\r\n// const barChartData = {\r\n// labels: ['a', 'b', 'c', 'd', 'e'],\r\n// datasets: [\r\n// {\r\n// label: 'Active',\r\n// backgroundColor: 'rgba(255, 0, 0, 0.3)',\r\n// // stack: '2',\r\n// data: [100, 300, 400, 100, 200]\r\n// },\r\n// {\r\n// label: 'Banned',\r\n// backgroundColor: '#0cc2aa',\r\n// // stack: '2',\r\n// data: [200, 200, 400, 300, 200]\r\n// },\r\n// ],\r\n// }\r\n\r\nconst data = {\r\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],\r\n datasets: [\r\n {\r\n type: 'line',\r\n label: 'Alternative 2',\r\n borderColor: 'rgb(54, 162, 235)',\r\n borderWidth: 2,\r\n fill: true,\r\n data: [200, 200, 400, 300, 200, 100],\r\n },\r\n {\r\n type: 'line',\r\n label: 'Alternative 1 line',\r\n backgroundColor: 'rgb(255, 99, 132)',\r\n data: [150, 100, 200, 200, 100, 200],\r\n borderColor: 'white',\r\n borderWidth: 2,\r\n },\r\n ],\r\n}\r\n\r\nconst compareChainage = (a, b) => {\r\n if (a.chainage < b.chainage) {\r\n return -1;\r\n }\r\n if (a.chainage > b.chainage) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nconst ChartMixedAverageCurvatureAndSpeed = ({\r\n baseAlternative, compareAlternative,\r\n setLineAtIndex, lineAtIndex, handleStateChange\r\n}) => {\r\n\r\n // const {\r\n // mapCoordinateId, setMapCoordinateId,\r\n // mapCentreIdData, setMapCentreIdData\r\n // } = useContext(FuelSaveGlobalContext)\r\n\r\n // console.log(baseAlternative,\"baseAlternative\")\r\n const [chartData, setChartData] = useState(data);\r\n const [chartOptions, setChartOptions] = useState(barChartOptions);\r\n // const [mapData, setMapData] = useState(null);\r\n\r\n const { winWidth } = useSelector(state => state.global)\r\n\r\n useEffect(() => {\r\n async function createChart() {\r\n const baseChainageLabels = []\r\n\r\n // curvature\r\n const baseCurvatureData = []\r\n // baseSpeedCarsData\r\n const baseSpeedCarsData = []\r\n\r\n // compareCurvatureData\r\n const compareCurvatureData = []\r\n //compareSpeedCarsData\r\n const compareSpeedCarsData = []\r\n\r\n const baseSegmentsData = baseAlternative.segments_data;\r\n baseSegmentsData.sort(compareChainage);\r\n\r\n const mapPointData = []\r\n\r\n let index = 0\r\n\r\n baseSegmentsData.map(segment => {\r\n let n = 0;\r\n while (n < 4) {\r\n baseChainageLabels.push(segment.chainage)\r\n baseCurvatureData.push(segment.curvature)\r\n baseSpeedCarsData.push(segment.speedprofile_car)\r\n mapPointData.push({\r\n 'index': (index + n),\r\n 'chainage': segment.chainage,\r\n 'segment_order_no': segment.segment_order_no,\r\n 'fuelconsumption_trucks': segment.fuelconsumption_trucks,\r\n 'hilliness': segment.hilliness,\r\n 'speedprofile_car': segment.speedprofile_car,\r\n 'fuelconsumption_car': segment.fuelconsumption_car,\r\n 'speedprofile_trucks': segment.speedprofile_trucks,\r\n 'geom_order_id': segment.geom_order_id,\r\n 'geom': segment.geom,\r\n })\r\n n++;\r\n }\r\n index = index + 4;\r\n return segment\r\n })\r\n // setMapData(mapPointData);\r\n\r\n if (compareAlternative) {\r\n\r\n const compareSegmentsData = compareAlternative.segments_data;\r\n compareSegmentsData.sort(compareChainage);\r\n\r\n compareSegmentsData.map(segment => {\r\n\r\n let n = 0;\r\n while (n < 4) {\r\n compareCurvatureData.push(segment.curvature)\r\n compareSpeedCarsData.push(segment.speedprofile_car)\r\n n++;\r\n }\r\n\r\n return segment\r\n })\r\n }\r\n\r\n const compareDir = compareAlternative ? compareAlternative.direction : ''\r\n\r\n const data = {\r\n labels: baseChainageLabels,\r\n datasets: [\r\n {\r\n type: 'line',\r\n label: 'Base curvature ' + (baseAlternative ? baseAlternative.direction : ''),\r\n labelColor: WHITE_1,\r\n borderColor: BLUE_3,\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: false,\r\n data: baseCurvatureData\r\n },\r\n {\r\n type: 'line',\r\n label: 'Base speed cars ' + compareDir,\r\n borderColor: GREEN_2,\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: false,\r\n data: baseSpeedCarsData\r\n },\r\n\r\n /* {\r\n type: 'line',\r\n label: 'Compare curvature ' + compareDir,\r\n borderColor: 'rgb(255, 99, 132)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: true,\r\n data: compareCurvatureData\r\n },\r\n \r\n {\r\n type: 'line',\r\n label: 'Compare speed ' + compareDir,\r\n borderColor: 'rgb(255,102,102)',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: true,\r\n data: compareSpeedCarsData\r\n },*/\r\n ]\r\n }\r\n\r\n if (compareAlternative) {\r\n data.datasets.push({\r\n type: 'line',\r\n label: 'Compare curvature ' + compareDir,\r\n borderColor: '#9eabed',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: false,\r\n data: compareCurvatureData\r\n })\r\n data.datasets.push({\r\n type: 'line',\r\n label: 'Compare speed ' + compareDir,\r\n borderColor: '#9cfad6',\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: false,\r\n data: compareSpeedCarsData\r\n })\r\n }\r\n\r\n\r\n const barChartOptions = {\r\n ...chartCommonConfig,\r\n maintainAspectRatio: false,\r\n animation: {\r\n duration: 0\r\n },\r\n legend: {\r\n labels: {\r\n fontColor: BLUE_3,\r\n fontSize: chartSizeAccToWidth(window.innerWidth)\r\n },\r\n position: 'bottom'\r\n },\r\n // title: {\r\n // // text: 'Energy consumption along road [l/100km, average over 20 meter sections]',\r\n // fontColor: WHITE_1,\r\n // displayBLUE_3 // },\r\n events: ['click'],\r\n tooltipEvents: [\"mousemove\", \"touchstart\", \"touchmove\", \"click\"],\r\n tooltips: {\r\n titleFontSize: chartSizeAccToWidth(window.innerWidth),\r\n bodyFontSize: chartSizeAccToWidth(window.innerWidth),\r\n },\r\n\r\n onHover: function (evt, element) {\r\n\r\n },\r\n onClick: function (evt, element) {\r\n if (element[0]) {\r\n // const chart = element[0]._chart\r\n const index = element[0]._index\r\n // const activePoints = chart.getElementsAtEventForMode(evt, 'point', chart.options);\r\n // const firstPoint = activePoints[0];\r\n // const label = chart.data.labels[firstPoint._index];\r\n // const value = chart.data.datasets[firstPoint._datasetIndex].data[firstPoint._index];\r\n //setMapCentreIdData(mapPointData[index]); \r\n handleStateChange(\"localMapCentreIdData\", mapPointData[index])\r\n setLineAtIndex(false)\r\n }\r\n },\r\n lineTension: 2,\r\n scaleOverride: true,\r\n scaleShowLabels: true,\r\n scales: {\r\n xAxes: [\r\n {\r\n scaleLabel: {\r\n //display: true,\r\n fontColor: BLUE_3,\r\n labelString: 'Chainage',\r\n fontSize: chartSizeAccToWidth(window.innerWidth)\r\n },\r\n scaleFontSize: 50,\r\n ticks: {\r\n fontColor: BLUE_3,\r\n //display: true,\r\n beginAtZero: true,\r\n maxTicksLimit: 10,\r\n stepSize: 10,\r\n fontSize: chartSizeAccToWidth(window.innerWidth)\r\n // min: 0,\r\n //max: 10000,\r\n },\r\n gridLines: {\r\n display: false\r\n },\r\n stacked: false,\r\n afterBuildTicks: function (mychart) {\r\n mychart.options.ticks.maxTicksLimit = mychart.max\r\n mychart.chart.config.lineAtIndex = !!lineAtIndex ? [parseInt(lineAtIndex)] : []\r\n const indexCollection = []\r\n newSlabDiff(mychart.max).map(ins => indexCollection.push((mychart.ticks).indexOf(ins)))\r\n mychart.options.ticks.callback = function (label, i) {\r\n return indexCollection.includes(i) ? label : '';\r\n }\r\n }\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n scaleLabel: {\r\n //display: true,\r\n fontColor: BLUE_3,\r\n labelString: 'Speed (km/h)',\r\n fontSize: chartSizeAccToWidth(window.innerWidth)\r\n },\r\n scaleFontSize: 90,\r\n ticks: {\r\n fontColor: BLUE_3,\r\n suggestedMin: 0,\r\n suggestedMax: 180,\r\n maxTicksLimit: 10,\r\n //display: true,\r\n stepSize: 10,\r\n max: 120,\r\n fontSize: chartSizeAccToWidth(window.innerWidth)\r\n },\r\n gridLines: {\r\n display: false\r\n },\r\n stacked: false,\r\n },\r\n ],\r\n },\r\n }\r\n setChartData(data);\r\n setChartOptions(barChartOptions);\r\n }\r\n\r\n createChart()\r\n\r\n // eslint-disable-next-line\r\n }, [baseAlternative, compareAlternative, winWidth, lineAtIndex])\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ChartMixedAverageCurvatureAndSpeed","import React, { useState, useEffect, useContext } from \"react\";\r\nimport { Chart } from 'react-chartjs-2'\r\nimport { useSelector } from \"react-redux\";\r\nimport ComparisonMap from \"./ComparisonMap\";\r\nimport ChartMixedEnergyConsumptionAlongRoad from \"./ChartMixedEnergyConsumptionAlongRoad\";\r\nimport ChartMixedGroundLevelAlongRoad from \"./ChartMixedGroundLevelAlongRoad\";\r\nimport ChartMixedAverageCurvatureAndSpeed from \"./ChartMixedAverageCurvatureAndSpeed\";\r\n// import InputLabel from \"@material-ui/core/InputLabel\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport FormHelperText from \"@material-ui/core/FormHelperText\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport Select from \"@material-ui/core/Select\";\r\n// import FilterListRoundedIcon from \"@material-ui/icons/FilterListRounded\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n Container,\r\n // Button,\r\n Table,\r\n Row,\r\n Col,\r\n} from \"react-bootstrap\";\r\nimport FuelSaveGlobalContext from \"../../../../context/FuelSaveGlobalContext\";\r\n// import { Slider } from \"@material-ui/core\";\r\nimport _ from \"lodash\";\r\nimport \"./map.css\";\r\nimport \"./filter.css\";\r\nimport './Slider.css';\r\nimport './map.scss'\r\n\r\n//Material UI Imports\r\nimport Accordion from \"@material-ui/core/Accordion\";\r\nimport AccordionSummary from \"@material-ui/core/AccordionSummary\";\r\nimport AccordionDetails from \"@material-ui/core/AccordionDetails\";\r\n// import Typography from \"@material-ui/core/Typography\";\r\n// import ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport ExpandMoreOutlinedIcon from \"@material-ui/icons/ExpandMoreOutlined\";\r\nimport ExpandLessOutlinedIcon from \"@material-ui/icons/ExpandLessOutlined\";\r\n\r\nimport Card from \"@material-ui/core/Card\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport { drawVerticalLine } from \"../../../../constant/helpers\";\r\nimport { colorCodes } from \"../../../../constant/colors\";\r\n\r\n// const generateKey = (pre) => {\r\n// return `${pre}_${new Date().getTime()}`;\r\n// };\r\n\r\n// const roundToTwoDecimals = (number) => {\r\n// return Math.round(number * 100) / 100;\r\n// };\r\n\r\nChart.plugins.register(drawVerticalLine)\r\n\r\nconst { WHITE_1, BLACK_1 } = colorCodes\r\nconst MapsDir1 = (props) => {\r\n const [baseAlternative, setBaseAlternative] = useState(null);\r\n const [baseAlternativeId, setBaseAlternativeId] = useState(null);\r\n const [baseAlternativeDirName, setBaseAlternativeDirName] = useState(null);\r\n // const [baseAlternativeName, setBaseAlternativeName] = useState(null);\r\n\r\n const [compareAlternative, setCompareAlternative] = useState(null);\r\n const [compareAlternativeId, setCompareAlternativeId] = useState(null);\r\n const [compareAlternativeDirName, setCompareAlternativeDirName] =\r\n useState(null);\r\n // const [compareAlternativeName, setCompareAlternativeName] = useState(null);\r\n\r\n // const [alternativeChainageMin, setAlternativeChainageMin] = useState(null);\r\n // const [alternativeChainageMax, setAlternativeChainageMax] = useState(null);\r\n\r\n // const [alternativeFCHeavyMin, setAlternativeFCHeavyMin] = useState(null);\r\n // const [alternativeFCHeavyMax, setAlternativeFCHeavyyMax] = useState(null);\r\n\r\n const [lengthSliderRange, setLengthSliderRange] = useState([0, 100]);\r\n const [fcHeavySliderRange, setFcHeavySliderRange] = useState([0, 100]);\r\n\r\n const [filteredBaseAlternative, setFilteredBaseAlternative] = useState(null);\r\n const [filteredCompareAlternative, setFilteredCompareAlternative] =\r\n useState(null); //\r\n\r\n // const [filter, setFilter] = useState(false);\r\n // const [drawCharts, setDrawCharts] = useState(true);\r\n const drawCharts = true\r\n\r\n // local state for local Map data management\r\n const [localMapCentreIdData, setLocalMapCentreIdData] = useState(null);\r\n // const [localPreviousMapCentreIdData, setLocalPreviousMapCentreIdData] =\r\n // useState(null);\r\n const [localMapCoordinateId, setLocalMapCoordinateId] = useState(null);\r\n const [lineAtIndex, setLineAtIndex] = useState(false);\r\n\r\n const [alternativeSelect, setAlternativeSelect] = useState(\r\n \"Choose an Alternative\"\r\n );\r\n const [open, setOpen] = useState(false);\r\n const [accordinOpen, setAccordinOpen] = useState(false);\r\n const [localAllMapAlternatives, setLocalAllMapAlternatives] = useState([\"\"]);\r\n const [localBothDirectionsDailys, setLocalBothDirectionsDailys] =\r\n useState(false);\r\n\r\n const {\r\n // mapCoordinateId, setMapCoordinateId,\r\n // mapCentreIdData, setMapCentreIdData,\r\n // chainage,\r\n // setChainage,\r\n // fcCar,\r\n // setFcCar,\r\n // fcTrucks,\r\n // setFcTrucks,\r\n // hilliness,\r\n // setHilliness,\r\n // speedProfileCars,\r\n // setSpeedProfileCars,\r\n // speedProfileTrucks,\r\n // setSpeedProfileTrucks,\r\n // zlevel,\r\n // setZlevel,\r\n // curvature,\r\n // setCurvature,\r\n // segment,\r\n // setSegment,\r\n globalProjectNumber,\r\n } = useContext(FuelSaveGlobalContext);\r\n const { currency } = useSelector(state => state.global)\r\n\r\n function handleStateChange(stateType, settingState) {\r\n switch (stateType) {\r\n case \"localMapCentreIdData\":\r\n setLocalMapCentreIdData(settingState);\r\n break;\r\n case \"localMapCoordinateId\":\r\n setLocalMapCoordinateId(settingState);\r\n break;\r\n // case \"localPreviousMapCentreIdData\":\r\n // setLocalPreviousMapCentreIdData(settingState);\r\n // break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n const alternatives = props.mapAlternatives;\r\n //const alternatives = props.alternatives;\r\n const bothDirectionsDailys = props.bothDirectionsDailys;\r\n const allBothDirectionsDailys = props.allBothDirectionsDailys;\r\n\r\n const filterByBoth = (alternative) => {\r\n //console.log('base_alternative_before_filtering:', baseAlternative)\r\n const segmentsData = alternative.segments_data;\r\n\r\n const filteredByLength = segmentsData.filter((a) => {\r\n return (\r\n a.chainage >= lengthSliderRange[0] && a.chainage <= lengthSliderRange[1]\r\n );\r\n });\r\n\r\n const filteredSegmentsData = filteredByLength.filter((a) => {\r\n return (\r\n a.fuelconsumption_trucks >= fcHeavySliderRange[0] &&\r\n a.fuelconsumption_trucks <= fcHeavySliderRange[1]\r\n );\r\n });\r\n\r\n if (filteredSegmentsData) {\r\n return {\r\n direction: alternative.direction,\r\n directions_id: alternative.directions_id,\r\n segments: alternative.segments,\r\n segments_data: filteredSegmentsData,\r\n };\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleMinAndMax = (alternative1, alternative2, attribute) => {\r\n const arr = _.map(alternative1.segments_data, attribute);\r\n const asc = arr.sort((a, b) => a - b);\r\n\r\n if (alternative2 !== null) {\r\n const arr2 = _.map(alternative2.segments_data, attribute);\r\n const asc2 = arr2.sort((a, b) => a - b);\r\n const min1 = asc[attribute === \"chainage\" ? 0 : 1];\r\n const min2 = asc2[attribute === \"chainage\" ? 0 : 1];\r\n const max1 = asc[asc.length - 1];\r\n const max2 = asc2[asc2.length - 1];\r\n\r\n const newMin = min1 > min2 ? min1 : min2;\r\n const newMax = max1 > max2 ? max1 : max2;\r\n\r\n if (attribute === \"chainage\") {\r\n setLengthSliderRange([newMin, newMax]);\r\n // setAlternativeChainageMin(Math.round(min1 > min2 ? min1 : min2));\r\n // setAlternativeChainageMax(Math.floor(max1 > max2 ? max1 : max2));\r\n } else {\r\n setFcHeavySliderRange([newMin, newMax]);\r\n // setAlternativeFCHeavyMin(Math.round(min1 > min2 ? min1 : min2));\r\n // setAlternativeFCHeavyyMax(Math.floor(max1 > max2 ? max1 : max2));\r\n }\r\n } else {\r\n if (attribute === \"chainage\") {\r\n // setAlternativeChainageMin(Math.round(asc[0]));\r\n // setAlternativeChainageMax(Math.floor(asc[asc.length - 1]));\r\n\r\n setLengthSliderRange([asc[0], asc[asc.length - 1]]);\r\n } else {\r\n // setAlternativeFCHeavyMin(Math.round(asc[1]));\r\n // setAlternativeFCHeavyyMax(Math.floor(asc[asc.length - 1]));\r\n setFcHeavySliderRange([asc[1], asc[asc.length - 1]]);\r\n }\r\n }\r\n };\r\n\r\n function reset() {\r\n setBaseAlternative(null);\r\n setFilteredBaseAlternative(null);\r\n setBaseAlternativeId(null);\r\n setBaseAlternativeDirName(null);\r\n // setBaseAlternativeName(null);\r\n setCompareAlternative(null);\r\n setCompareAlternativeId(null);\r\n setCompareAlternativeDirName(null);\r\n // setCompareAlternativeName(null);\r\n setFilteredCompareAlternative(null);\r\n }\r\n\r\n function handleFirstAlternativeClick(alternative, alternative_id, direction) {\r\n handleMinAndMax(alternative, null, \"chainage\");\r\n handleMinAndMax(alternative, null, \"fuelconsumption_trucks\");\r\n //Common function\r\n //handleMinAndMax(alternative, alternative, 'chainage');\r\n //handleMinAndMax(alternative, null, 'fuelconsumption_trucks');\r\n\r\n //The first direction\r\n setBaseAlternative(alternative);\r\n setFilteredBaseAlternative(alternative);\r\n setBaseAlternativeId(alternative_id);\r\n setBaseAlternativeDirName(direction);\r\n // setBaseAlternativeName(alternative_id + \" \" + direction);\r\n\r\n // The second direction\r\n\r\n //handleMinAndMax(alternative, alternative, 'chainage');\r\n //handleMinAndMax(alternative, null, 'fuelconsumption_trucks');\r\n\r\n // setFilteredCompareAlternative(alternative);\r\n // setCompareAlternative(alternative);\r\n // setCompareAlternativeId(alternative_id);\r\n // setCompareAlternativeDirName(direction);\r\n // setCompareAlternativeName(alternative_id + ' ' + direction);\r\n\r\n setCompareAlternative(null);\r\n setCompareAlternativeId(null);\r\n setCompareAlternativeDirName(null);\r\n // setCompareAlternativeName(null);\r\n setFilteredCompareAlternative(null);\r\n }\r\n\r\n function handleSecondAlternativeClick(\r\n alternative,\r\n alternative_id,\r\n direction\r\n ) {\r\n handleMinAndMax(baseAlternative, alternative, \"chainage\");\r\n handleMinAndMax(baseAlternative, null, \"fuelconsumption_trucks\");\r\n setFilteredCompareAlternative(alternative);\r\n setCompareAlternative(alternative);\r\n setCompareAlternativeId(alternative_id);\r\n setCompareAlternativeDirName(direction);\r\n // setCompareAlternativeName(alternative_id + \" \" + direction);\r\n }\r\n\r\n const handleChangeSelector = (event) => {\r\n const input = event.target.value;\r\n if (input === \"reset\") {\r\n reset();\r\n setAlternativeSelect(\"\");\r\n setAccordinOpen(true);\r\n } else {\r\n setAlternativeSelect(input);\r\n handleSecondAlternativeClick(\r\n input.directions[props.selected_direction],\r\n input.alternative_id,\r\n input.directions[props.selected_direction].direction\r\n );\r\n setAccordinOpen(true);\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleFunctionOutput = (bothDirectionsDailys) => {\r\n const dailyResults = bothDirectionsDailys.map(\r\n ({\r\n name,\r\n alternative_id,\r\n direction_name1,\r\n // direction_name2,\r\n daily_fuel1,\r\n daily_CO21,\r\n daily_energy1,\r\n daily_cost1,\r\n daily_fuel2,\r\n daily_CO22,\r\n daily_energy2,\r\n daily_cost2,\r\n }) => {\r\n if (baseAlternativeId && alternative_id === baseAlternativeId) {\r\n if (direction_name1 === baseAlternativeDirName) {\r\n return {\r\n name: name,\r\n alternative: 1,\r\n daily_fuel: daily_fuel1,\r\n daily_CO2: daily_CO21,\r\n daily_energy: daily_energy1,\r\n daily_cost: daily_cost1,\r\n };\r\n } else {\r\n return {\r\n name: name,\r\n alternative: 1,\r\n daily_fuel: daily_fuel2,\r\n daily_CO2: daily_CO22,\r\n daily_energy: daily_energy2,\r\n daily_cost: daily_cost2,\r\n };\r\n }\r\n } else {\r\n /*if (compareAlternativeId && alternative_id === compareAlternativeId) {\r\n if (direction_name1 === compareAlternativeDirName) {\r\n return {\r\n 'name': name,\r\n 'alternative': 2,\r\n 'daily_fuel': daily_fuel1,\r\n 'daily_CO2': daily_CO21,\r\n 'daily_energy': daily_energy1,\r\n 'daily_cost': daily_cost1\r\n }\r\n } else {\r\n return {\r\n 'name': name,\r\n 'alternative': 2,\r\n 'daily_fuel': daily_fuel2,\r\n 'daily_CO2': daily_CO22,\r\n 'daily_energy': daily_energy2,\r\n 'daily_cost': daily_cost2\r\n }\r\n }\r\n }*/\r\n return null;\r\n }\r\n }\r\n );\r\n\r\n let alternative1Results = null;\r\n let alternative2Results = null;\r\n // get alternative 1 and 2\r\n\r\n if (dailyResults[0] || dailyResults[1]) {\r\n dailyResults.forEach((alternative) => {\r\n if (alternative && alternative.alternative === 1) {\r\n alternative1Results = alternative;\r\n }\r\n if (alternative && alternative.alternative === 2) {\r\n alternative2Results = alternative;\r\n }\r\n });\r\n }\r\n\r\n if (alternative1Results && alternative2Results) {\r\n return (\r\n <>\r\n {alternative1Results.name}\r\n \r\n {alternative1Results.daily_CO2 - alternative2Results.daily_CO2}\r\n \r\n \r\n {alternative1Results.daily_energy -\r\n alternative2Results.daily_energy}\r\n \r\n \r\n {`${alternative1Results.daily_cost - alternative2Results.daily_cost\r\n } ${currency}`}\r\n {/* {alternative1Results.daily_cost - alternative2Results.daily_cost} */}\r\n \r\n \r\n );\r\n }\r\n if (alternative1Results && alternative2Results == null) {\r\n return (\r\n <>\r\n {alternative1Results.name}\r\n {alternative1Results.daily_fuel}\r\n {alternative1Results.daily_CO2}\r\n {alternative1Results.daily_energy}\r\n \r\n {`${alternative1Results.daily_cost} ${currency}`}\r\n {/* {alternative1Results.daily_cost} */}\r\n \r\n \r\n );\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n const insertCompareAlternativeTable = () => {\r\n const comparitiveDirectionDailys = allBothDirectionsDailys.filter(\r\n (item) => item.alternative_id === compareAlternativeId\r\n );\r\n const dailyResults = comparitiveDirectionDailys.map(\r\n ({\r\n name,\r\n // alternative_id,\r\n direction_name1,\r\n // direction_name2,\r\n daily_fuel1,\r\n daily_CO21,\r\n daily_energy1,\r\n daily_cost1,\r\n daily_fuel2,\r\n daily_CO22,\r\n daily_energy2,\r\n daily_cost2,\r\n }) => {\r\n if (compareAlternativeId) {\r\n if (direction_name1 === compareAlternativeDirName) {\r\n return {\r\n name: name,\r\n alternative: 2,\r\n daily_fuel: daily_fuel1,\r\n daily_CO2: daily_CO21,\r\n daily_energy: daily_energy1,\r\n daily_cost: daily_cost1,\r\n };\r\n } else {\r\n return {\r\n name: name,\r\n alternative: 2,\r\n daily_fuel: daily_fuel2,\r\n daily_CO2: daily_CO22,\r\n daily_energy: daily_energy2,\r\n daily_cost: daily_cost2,\r\n };\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n );\r\n\r\n let alternative1Results = null;\r\n let alternative2Results = null;\r\n // get alternative 1 and 2\r\n\r\n if (dailyResults[0] || dailyResults[1]) {\r\n dailyResults.forEach((alternative) => {\r\n if (alternative && alternative.alternative === 1) {\r\n alternative1Results = alternative;\r\n }\r\n if (alternative && alternative.alternative === 2) {\r\n alternative2Results = alternative;\r\n }\r\n });\r\n }\r\n\r\n if (alternative1Results && alternative2Results) {\r\n return (\r\n <>\r\n {alternative1Results.name}\r\n \r\n {alternative1Results.daily_CO2 - alternative2Results.daily_CO2}\r\n \r\n \r\n {alternative1Results.daily_energy -\r\n alternative2Results.daily_energy}\r\n \r\n \r\n {`${alternative1Results.daily_cost - alternative2Results.daily_cost\r\n } ${currency}`}\r\n {/* {alternative1Results.daily_cost - alternative2Results.daily_cost} */}\r\n \r\n \r\n );\r\n }\r\n if (alternative2Results && alternative1Results == null) {\r\n return (\r\n <>\r\n {alternative2Results.name}\r\n {alternative2Results.daily_fuel}\r\n {alternative2Results.daily_CO2}\r\n {alternative2Results.daily_energy}\r\n \r\n {`${alternative2Results.daily_cost} ${currency}`}\r\n {/* {alternative1Results.daily_cost} */}\r\n \r\n \r\n );\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n // function valuetext(value) {\r\n // return `${value}°C`;\r\n // }\r\n\r\n // const handleLengthChange = (event, newValue) => {\r\n // //setAlternativeChainageMin(newValue[0]);\r\n // setDrawCharts(false);\r\n // setLengthSliderRange(newValue);\r\n // setDrawCharts(true);\r\n // };\r\n\r\n // const handleFCHeavyChange = (event, newValue) => {\r\n // setDrawCharts(false);\r\n // setFcHeavySliderRange(Math.round(newValue));\r\n // setDrawCharts(true);\r\n // };\r\n\r\n // const handleFilter = (event) => {\r\n // // const filtered = filterByBoth(baseAlternative);\r\n // // setFilteredBaseAlternative(filtered);\r\n // setDrawCharts(true);\r\n // };\r\n\r\n const useStyles = makeStyles((theme) => ({\r\n formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: 200,\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2),\r\n },\r\n fontSelection: {\r\n fontSize: \"20px\",\r\n fontWeight: \"bold\",\r\n },\r\n }));\r\n\r\n const handleChangeAcc = () => {\r\n setAccordinOpen(!accordinOpen);\r\n };\r\n\r\n const classes = useStyles();\r\n\r\n const [lengthMin, setLengthMin] = useState(null);\r\n const [lengthMax, setLengthMax] = useState(null);\r\n\r\n const [fcMin, setFcMin] = useState(null);\r\n const [fcMax, setFcMax] = useState(null);\r\n\r\n // useEffect(() => {\r\n\r\n // if (baseAlternative) {\r\n // setFilteredCompareAlternative(baseAlternative)\r\n // }\r\n\r\n // }, [])\r\n\r\n // useEffect(() => {\r\n // reset();\r\n // }, [globalProjectNumber]);\r\n\r\n useEffect(() => {\r\n if (props.allMapAlternatives) {\r\n setLocalAllMapAlternatives(props.allMapAlternatives);\r\n setLocalBothDirectionsDailys(props.bothDirectionsDailys);\r\n }\r\n }, [globalProjectNumber, props]);\r\n\r\n useEffect(() => {\r\n //console.log('filter base:', baseAlternative)\r\n //console.log('filter compare:', compareAlternative)\r\n\r\n if (baseAlternative) {\r\n let filtered = baseAlternative;\r\n if (\r\n lengthSliderRange[0] !== lengthMin ||\r\n lengthSliderRange[1] !== lengthMax ||\r\n fcHeavySliderRange[0] !== fcMin ||\r\n fcHeavySliderRange[1] !== fcMax\r\n ) {\r\n filtered = filterByBoth(baseAlternative);\r\n }\r\n //console.log('base_alternative_after_filtering:', filtered)\r\n setFilteredBaseAlternative(filtered);\r\n }\r\n if (compareAlternative) {\r\n let filtered = compareAlternative;\r\n if (\r\n lengthSliderRange[0] !== lengthMin ||\r\n lengthSliderRange[1] !== lengthMax ||\r\n fcHeavySliderRange[0] !== fcMin ||\r\n fcHeavySliderRange[1] !== fcMax\r\n ) {\r\n filtered = filterByBoth(compareAlternative);\r\n }\r\n\r\n setFilteredCompareAlternative(filtered);\r\n }\r\n\r\n setLengthMin(lengthSliderRange[0]);\r\n setLengthMax(lengthSliderRange[1]);\r\n setFcMin(fcHeavySliderRange[0]);\r\n setFcMax(fcHeavySliderRange[1]);\r\n\r\n // const filteredAlternative = filterByLength(baseAlternative)\r\n\r\n // eslint-disable-next-line\r\n }, [fcHeavySliderRange, lengthSliderRange]);\r\n\r\n useEffect(() => {\r\n if (alternatives) {\r\n handleFirstAlternativeClick(\r\n alternatives[0].directions[props.selected_direction],\r\n alternatives[0].alternative_id,\r\n alternatives[0].directions[props.selected_direction].direction\r\n );\r\n //handleFirstAlternativeClick(alternatives[0].directions[1], alternatives[0].alternative_id, alternatives[0].directions[1].direction)\r\n }\r\n /*if (baseAlternativeId !== alternatives[0].alternative_id && baseAlternativeDirName === alternatives[0].directions[0].direction) {\r\n handleSecondAlternativeClick(alternatives[0].directions[0], alternatives[0].alternative_id, alternatives[0].directions[0].direction)\r\n handleSecondAlternativeClick(alternatives[0].directions[1], alternatives[0].alternative_id, alternatives[0].directions[1].direction)\r\n }*/\r\n\r\n // eslint-disable-next-line\r\n }, [alternatives]);\r\n\r\n return (\r\n baseAlternative &&\r\n localBothDirectionsDailys && (\r\n \r\n
\r\n \r\n }\r\n //onClick={handleChangeAcc}\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n >\r\n \r\n \r\n \r\n
\r\n {localAllMapAlternatives.length !== null &&\r\n localBothDirectionsDailys[0] !== undefined ? (\r\n \r\n {/* Alignment Comparison */}\r\n \r\n {localBothDirectionsDailys[0] !== undefined &&\r\n localAllMapAlternatives\r\n .filter((item) => {\r\n return (\r\n item.alternative_id !==\r\n localBothDirectionsDailys[0].alternative_id\r\n );\r\n })\r\n .map((a, index) => {\r\n return (\r\n \r\n Alignment: {a.name}{\" \"}\r\n {\r\n a.directions[props.selected_direction]\r\n .direction\r\n }\r\n \r\n );\r\n })}\r\n Reset\r\n \r\n \r\n Alignment Comparison\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {/*
*/}\r\n {/* */}\r\n {/*
*/}\r\n {/* {baseAlternative && (\r\n \r\n <>\r\n \r\n Alternative length start - end\r\n \r\n \r\n\r\n \r\n Alternatives fuel consumption heavy min-max\r\n \r\n \r\n \r\n \r\n )} */}\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n {baseAlternative && (\r\n \r\n \r\n \r\n \r\n Alignment Details - {alternatives[0].name}{\" \"}\r\n {\r\n alternatives[0].directions[\r\n props.selected_direction\r\n ].direction\r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {bothDirectionsDailys &&\r\n handleFunctionOutput(bothDirectionsDailys)}\r\n \r\n {!!compareAlternative && {insertCompareAlternativeTable()}}\r\n \r\n \r\n
File NameFuel [litres]CO2 [kg]Energy [kWh]Cost
\r\n )}\r\n \r\n \r\n \r\n {!accordinOpen ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {accordinOpen ?\r\n <>\r\n
\r\n
\r\n \r\n \r\n {drawCharts && filteredBaseAlternative && (\r\n <>\r\n
\r\n Average curvature and speed\r\n
\r\n \r\n \r\n )}\r\n
\r\n
\r\n\r\n
\r\n {!drawCharts && (\r\n
Filtering average curvature and speed...
\r\n )}\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n {drawCharts && filteredBaseAlternative && (\r\n <>\r\n
\r\n Alternatives map\r\n
\r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n\r\n
{!drawCharts &&
Filtering map...
}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {drawCharts && filteredBaseAlternative && (\r\n <>\r\n
\r\n Energy consumption along road l/100km, average\r\n over 20 meter sections\r\n
\r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n {!drawCharts && (\r\n
Filtering Energy consumption along road...
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n {drawCharts && filteredBaseAlternative && (\r\n <>\r\n
\r\n Ground level along road\r\n
\r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n {!drawCharts && (\r\n
Filtering Ground level along road...
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n :\r\n \"\"}\r\n
\r\n
\r\n
\r\n )\r\n );\r\n};\r\n\r\nexport default MapsDir1;\r\n","import React, { Fragment } from 'react';\r\nimport MapsDir1 from \"./Maps\"\r\n\r\nconst InitiateMaps = (props) => {\r\n\r\n const convertToLowerCase = (initialList, actualList) => {\r\n const randomList = [\"Test\"]\r\n if (initialList) {\r\n initialList.map((item) => (\r\n randomList.push(item.toLowerCase())\r\n ))\r\n }\r\n else {\r\n actualList.map((item) => {\r\n randomList.push(item.name.toLowerCase())\r\n return item\r\n })\r\n }\r\n return randomList\r\n }\r\n\r\n //const alternatives = props.alternatives\r\n const bothDirectionsDailys = props.bothDirectionsDailys\r\n const mapAlternatives = props.mapAlternatives\r\n\r\n const dataQuerySearch = props.dataQuerySearch\r\n const searchDefaultValue = convertToLowerCase(props.searchDefaultValue, mapAlternatives)\r\n\r\n\r\n\r\n return (\r\n\r\n (mapAlternatives && mapAlternatives.filter(item => {\r\n //return item.name.toLowerCase().includes(dataQuerySearch.toLowerCase()) && item.name.toLowerCase().includes(dropQuerySearch.toLowerCase())\r\n return item.name.toLowerCase().includes(dataQuerySearch.toLowerCase()) && (searchDefaultValue).includes(item.name.toLowerCase())\r\n })\r\n .map((item, idx) => (\r\n //Need to have both directions individually here\r\n \r\n dir.name === item.name)}\r\n mapAlternatives={mapAlternatives.filter(mapA => mapA.name === item.name)}\r\n allMapAlternatives={mapAlternatives}\r\n allBothDirectionsDailys={bothDirectionsDailys}\r\n selected_direction={0} />\r\n dir.name === item.name)}\r\n mapAlternatives={mapAlternatives.filter(mapA => mapA.name === item.name)}\r\n allMapAlternatives={mapAlternatives}\r\n allBothDirectionsDailys={bothDirectionsDailys}\r\n selected_direction={1} />\r\n \r\n\r\n ))\r\n )\r\n );\r\n}\r\n\r\nexport default InitiateMaps;","import React, { useState, useEffect, useContext } from 'react'\r\nimport DailySums from './dailysums/DailySums';\r\nimport axios from 'axios';\r\n// import AlternativeTableRow from './dailysums/AlternativeTableRow';\r\n// import BothDirectionCard from './bothdirection/BothDirectionCard';\r\nimport BothDirectionTable from './bothdirection/BothDirectionTable';\r\n// import Maps from './maps/Maps';\r\nimport { useForm } from \"react-hook-form\";\r\nimport Chip from '@material-ui/core/Chip';\r\nimport { requestBody, requestBody2 } from '../../../utils/aiRequestBodyUtils';\r\nimport {\r\n Container,\r\n Row,\r\n // Col,\r\n Tab,\r\n // Button,\r\n // Spinner,\r\n Tabs,\r\n Dropdown,\r\n DropdownButton,\r\n FormControl,\r\n InputGroup\r\n} from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport _ from 'lodash';\r\nimport './Comparison.css';\r\nimport FuelSaveGlobalContext from '../../../context/FuelSaveGlobalContext';\r\nimport InitiateMaps from './maps/InitiationMap';\r\nimport SpinLoader from '../../common/SpinLoader';\r\nimport { flashErrMsg, presumptionObj } from '../../../constant/helpers';\r\nimport './Comparison.css'\r\n\r\nconst dummyData = [{ \"daily_fuel\": 10235.77191787462, \"daily_CO2\": 28282.744636709584, \"daily_energy\": 313084.9598411531, \"daily_cost\": 163772.3506859939 }]\r\n\r\n\r\nconst DailyComparison = () => {\r\n\r\n const {\r\n // mapCoordinateId, setMapCoordinateId,\r\n // mapCentreIdData, setMapCentreIdData,\r\n // chainage, setChainage,\r\n // fcCar, setFcCar,\r\n // fcTrucks, setFcTrucks,\r\n // hilliness, setHilliness,\r\n // speedProfileCars, setSpeedProfileCars,\r\n // speedProfileTrucks, setSpeedProfileTrucks,\r\n // zlevel, setZlevel,\r\n // curvature, setCurvature,\r\n // segment, setSegment,\r\n // globalBrandCrumb, \r\n setGlobalBrandCrumb,\r\n } = useContext(FuelSaveGlobalContext);\r\n const { carConfig, truckConfig } = useSelector(state => state.global)\r\n const { alignments, isProcessing } = useSelector(state => state.alignments)\r\n const { presumptions } = useSelector(state => state.presumptions)\r\n\r\n const [alternativeDailySums, setAlternativeDailySums] = useState(null);\r\n const [bothDirectionsDailys, setBothDirectionsDailys] = useState(null);\r\n const [mapAlternatives, setMapAlternatives] = useState(null);\r\n // const [dailyFuel, setDailyFuel] = useState(null);\r\n // const [dailyCo2, setDailyCo2] = useState(null);\r\n // const [dailyEnergy, setDailyEnergy] = useState(null);\r\n // const [dailyCost, setDailyCost] = useState(null);\r\n // const [cardViewOn, setCardViewOn] = useState(true);\r\n // const [dropQuerySearch, setDropQuerySearch] = useState('');\r\n const [dataQuerySearch, setDataQuerySearch] = useState('');\r\n const [searchDefaultValue, setSearchDefaultValue] = useState('');\r\n const [key, setKey] = useState('dailySum');\r\n const [localLoading, setlocalLoading] = useState(false)\r\n\r\n // const toggleView = () => {\r\n // setCardViewOn(!cardViewOn)\r\n // }\r\n const { register, watch } = useForm();\r\n\r\n const getDailyData = async (direction1Name, direction2Name, startYearData, endYearData, segmentsDir1, segmentsDir2, segmentsDataDir1, segmentsDataDir2, presumptionsData) => {\r\n\r\n const presumptions = presumptionObj(presumptionsData[0])\r\n\r\n const startYear = startYearData ? startYearData : 2020\r\n const endYear = endYearData ? endYearData : 2041\r\n // const endYear = startYear + 20 //C wants the end year uneffected!\r\n\r\n const requestBodyDir1 = {\r\n \"return_option\": 1,\r\n \"start_year\": startYear,\r\n \"end_year\": endYear,\r\n \"fuel_distribution_cars\": carConfig,\r\n \"fuel_distribution_trucks\": truckConfig,\r\n \"sensitivity_param_factors\": {\r\n \"speed\": 1,\r\n \"fuelprice\": 1,\r\n \"emission\": 1,\r\n \"AADTheavy\": 1\r\n },\r\n \"presumptions\": presumptions,\r\n 'segments': segmentsDir1,\r\n 'segments_data': segmentsDataDir1\r\n }\r\n\r\n const requestBodyDir2 = {\r\n \"return_option\": 1,\r\n \"start_year\": startYear,\r\n \"end_year\": endYear,\r\n \"fuel_distribution_cars\": carConfig,\r\n \"fuel_distribution_trucks\": truckConfig,\r\n \"sensitivity_param_factors\": {\r\n \"speed\": 1,\r\n \"fuelprice\": 1,\r\n \"emission\": 1,\r\n \"AADTheavy\": 1\r\n },\r\n \"presumptions\": presumptions,\r\n 'segments': segmentsDir2,\r\n 'segments_data': segmentsDataDir2\r\n }\r\n\r\n const requestBodyDir1Option1 = {\r\n \"return_option\": 2,\r\n \"start_year\": startYear,\r\n \"end_year\": endYear,\r\n \"fuel_distribution_cars\": carConfig,\r\n \"fuel_distribution_trucks\": truckConfig,\r\n \"sensitivity_param_factors\": {\r\n \"speed\": 1,\r\n \"fuelprice\": 1,\r\n \"emission\": 1,\r\n \"AADTheavy\": 1\r\n },\r\n \"presumptions\": presumptions,\r\n 'segments': segmentsDir1,\r\n 'segments_data': segmentsDataDir1\r\n }\r\n\r\n const requestBodyDir2Option2 = {\r\n \"return_option\": 2,\r\n \"start_year\": startYear,\r\n \"end_year\": endYear,\r\n \"fuel_distribution_cars\": carConfig,\r\n \"fuel_distribution_trucks\": truckConfig,\r\n \"sensitivity_param_factors\": {\r\n \"speed\": 1,\r\n \"fuelprice\": 1,\r\n \"emission\": 1,\r\n \"AADTheavy\": 1\r\n },\r\n \"presumptions\": presumptions,\r\n 'segments': segmentsDir2,\r\n 'segments_data': segmentsDataDir2\r\n }\r\n\r\n const config = {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n };\r\n\r\n const AI_API_KEY = process.env.REACT_APP_AI_FUNCTION_API_KEY\r\n\r\n const urlToken = process.env.REACT_APP_AI_FUNCTION_URL + '/api/HttpTrigger1?code=' + AI_API_KEY;\r\n\r\n try {\r\n setlocalLoading(true)\r\n const [responseDir1, responseDir2, responseDir1Option2, responseDir2Option2] = await Promise.all([\r\n axios.post(urlToken,\r\n endYear ? requestBodyDir1 : requestBody,\r\n config\r\n ),\r\n axios.post(urlToken,\r\n endYear ? requestBodyDir2 : requestBody,\r\n config\r\n ),\r\n axios.post(urlToken,\r\n endYear ? requestBodyDir1Option1 : requestBody2,\r\n config\r\n ),\r\n axios.post(urlToken,\r\n endYear ? requestBodyDir2Option2 : requestBody2,\r\n config\r\n )\r\n ])\r\n\r\n const sumDailyFuel = Math.round(responseDir1.data.daily_fuel + responseDir2.data.daily_fuel)\r\n const sumDailyCO2 = Math.round(responseDir1.data.daily_CO2 + responseDir2.data.daily_CO2)\r\n const sumDailyEnergy = Math.round(responseDir1.data.daily_energy + responseDir2.data.daily_energy)\r\n\r\n const sumDailyCost = Math.round(responseDir1.data.daily_cost + responseDir2.data.daily_cost)\r\n\r\n // setDailyFuel(sumDailyFuel)\r\n // setDailyCo2(sumDailyCO2)\r\n // setDailyEnergy(sumDailyEnergy)\r\n // setDailyCost(sumDailyCost)\r\n\r\n setlocalLoading(false)\r\n return {\r\n 'daily_CO2': sumDailyCO2,\r\n 'daily_cost': sumDailyCost,\r\n 'daily_energy': sumDailyEnergy,\r\n 'daily_fuel': sumDailyFuel,\r\n 'direction_name1': direction1Name,\r\n 'direction_name2': direction2Name,\r\n 'daily_fuel1': Math.round(responseDir1.data.daily_fuel),\r\n 'daily_CO21': Math.round(responseDir1.data.daily_CO2),\r\n 'daily_energy1': Math.round(responseDir1.data.daily_energy),\r\n 'daily_cost1': Math.round(responseDir1.data.daily_cost),\r\n 'daily_fuel2': Math.round(responseDir2.data.daily_fuel),\r\n 'daily_CO22': Math.round(responseDir2.data.daily_CO2),\r\n 'daily_energy2': Math.round(responseDir2.data.daily_energy),\r\n 'daily_cost2': Math.round(responseDir2.data.daily_cost),\r\n 'segment_results_dir1': responseDir1Option2.data.segment_results,\r\n 'segment_results_dir2': responseDir2Option2.data.segment_results\r\n }\r\n }\r\n catch (err) {\r\n // throw new Error('Unable to get a response.')\r\n // setDailyFuel(null)\r\n // setDailyCo2(null)\r\n // setDailyEnergy(null)\r\n // setDailyCost(null)\r\n flashErrMsg(err)\r\n setlocalLoading(false)\r\n return null\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n\r\n async function setData() {\r\n setlocalLoading(true)\r\n if (!alignments || !presumptions) {\r\n return\r\n }\r\n\r\n const alternativeDailySums = []\r\n const bothDirectionsDailys = []\r\n const mapAlternatives = []\r\n\r\n // use for loop to keep the order\r\n for (let index = 0; index < alignments.length; index++) {\r\n const alternative = alignments[index]\r\n\r\n const dailyData = await getDailyData(\r\n alternative.directions[0].direction,\r\n alternative.directions[1].direction,\r\n alternative.start_year,\r\n alternative.end_year,\r\n alternative.directions[0].segments,\r\n alternative.directions[1].segments,\r\n alternative.directions[0].segments_data,\r\n alternative.directions[1].segments_data,\r\n presumptions);\r\n\r\n if (!dailyData) {\r\n return false\r\n }\r\n\r\n alternativeDailySums.push({\r\n 'name': alternative.name,\r\n 'alternative_id': alternative.alternative_id,\r\n 'daily_fuel': dailyData.daily_fuel,\r\n 'daily_CO2': dailyData.daily_CO2,\r\n 'daily_energy': dailyData.daily_energy,\r\n 'daily_cost': dailyData.daily_cost\r\n })\r\n\r\n bothDirectionsDailys.push({\r\n 'name': alternative.name,\r\n 'alternative_id': alternative.alternative_id,\r\n 'direction_name1': dailyData.direction_name1,\r\n 'direction_name2': dailyData.direction_name2,\r\n 'daily_fuel1': dailyData.daily_fuel1,\r\n 'daily_CO21': dailyData.daily_CO21,\r\n 'daily_energy1': dailyData.daily_energy1,\r\n 'daily_cost1': dailyData.daily_cost1,\r\n 'daily_fuel2': dailyData.daily_fuel2,\r\n 'daily_CO22': dailyData.daily_CO22,\r\n 'daily_energy2': dailyData.daily_energy2,\r\n 'daily_cost2': dailyData.daily_cost2\r\n })\r\n\r\n // loop segments data\r\n\r\n const segments_data_dir1 = alternative.directions[0].segments_data\r\n const fc_data1 = dailyData.segment_results_dir1\r\n const segmentsDataDir1 = segments_data_dir1.map(segment => {\r\n\r\n const segmentId = segment.segment_data_id;\r\n const object = _.find(fc_data1, (elem) => {\r\n return elem.segment_data_id.toString() === segmentId ? elem : null;\r\n });\r\n\r\n return {\r\n 'a_intersection': segment.a_intersection,\r\n 'geom': segment.geom,\r\n 'geom_order_id': segment.geom_order_id,\r\n 'radius': segment.radius,\r\n 'segment_data_id': segment.segment_data_id,\r\n 'segment_order_no': segment.segment_order_no,\r\n 'zlevel': segment.zlevel,\r\n 'chainage': segment ? segment.chainage : null,\r\n 'curvature': object ? object.curvature : null,\r\n 'fuelconsumption_car': object ? object.fuelconsumption_car : null,\r\n 'fuelconsumption_trucks': object ? object.fuelconsumption_trucks : null,\r\n 'hilliness': object ? object.hilliness : null,\r\n 'speedprofile_car': object ? object.speedprofile_car : null,\r\n 'speedprofile_trucks': object ? object.speedprofile_trucks : null\r\n }\r\n })\r\n const segments_data_dir2 = alternative.directions[1].segments_data\r\n const fc_data2 = dailyData.segment_results_dir2\r\n const segmentsDataDir2 = segments_data_dir2.map(segment => {\r\n\r\n const segmentId = segment.segment_data_id;\r\n const object = _.find(fc_data2, (elem) => {\r\n return elem.segment_data_id.toString() === segmentId ? elem : null;\r\n });\r\n\r\n return {\r\n 'a_intersection': segment.a_intersection,\r\n // HINT: it's duplicate\r\n // 'chainage': segment.chainage,\r\n 'geom': segment.geom,\r\n 'geom_order_id': segment.geom_order_id,\r\n 'radius': segment.radius,\r\n 'segment_data_id': segment.segment_data_id,\r\n 'segment_order_no': segment.segment_order_no,\r\n 'zlevel': segment.zlevel,\r\n 'chainage': object ? object.chainage : null,\r\n 'curvature': object ? object.curvature : null,\r\n 'fuelconsumption_car': object ? object.fuelconsumption_car : null,\r\n 'fuelconsumption_trucks': object ? object.fuelconsumption_trucks : null,\r\n 'hilliness': object ? object.hilliness : null,\r\n 'speedprofile_car': object ? object.speedprofile_car : null,\r\n 'speedprofile_trucks': object ? object.speedprofile_trucks : null\r\n }\r\n })\r\n\r\n mapAlternatives.push({\r\n 'name': alternative.name,\r\n 'alternative_id': alternative.alternative_id,\r\n 'start_year': alternative.start_year,\r\n 'end_year': alternative.end_year,\r\n 'directions': [\r\n {\r\n 'directions_id': alternative.directions[0].directions_id,\r\n 'direction': alternative.directions[0].direction,\r\n 'segments': alternative.directions[0].segments,\r\n 'segments_data': segmentsDataDir1,\r\n 'fc_data': dailyData.segment_results_dir1\r\n }\r\n ,\r\n {\r\n 'directions_id': alternative.directions[1].directions_id,\r\n 'direction': alternative.directions[1].direction,\r\n 'segments': alternative.directions[1].segments,\r\n 'segments_data': segmentsDataDir2,\r\n 'fc_data': dailyData.segment_results_dir2\r\n }\r\n ]\r\n\r\n })\r\n }\r\n\r\n setMapAlternatives(mapAlternatives)\r\n setAlternativeDailySums(alternativeDailySums)\r\n setBothDirectionsDailys(bothDirectionsDailys)\r\n setlocalLoading(false)\r\n }\r\n setData();\r\n\r\n // eslint-disable-next-line\r\n }, [alignments]);\r\n\r\n useEffect(() => {\r\n setGlobalBrandCrumb(\"Comparison\")\r\n\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n\r\n /*useEffect(() => {\r\n const dataQuerySearch_Maps = \r\n }, [])*/\r\n\r\n\r\n /*return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n cardViewOn ?\r\n\r\n (alternativeDailySums ?\r\n \r\n :\r\n <>\r\n
Loading...
\r\n \r\n Loading...\r\n \r\n \r\n\r\n )\r\n\r\n :\r\n (alternativeDailySums ?\r\n \r\n :\r\n <>\r\n
Loading...
\r\n \r\n Loading...\r\n \r\n \r\n )\r\n }\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {cardViewOn ?\r\n (bothDirectionsDailys ?\r\n bothDirectionsDailys.map(({ alternative_id, direction_name1, direction_name2, daily_fuel1, daily_CO21, daily_energy1, daily_cost1, daily_fuel2, daily_CO22, daily_energy2, daily_cost2 }) => (\r\n \r\n \r\n \r\n ))\r\n\r\n :\r\n <>\r\n
Loading...
\r\n \r\n Loading...\r\n \r\n \r\n\r\n )\r\n :\r\n (bothDirectionsDailys ?\r\n \r\n :\r\n <>\r\n
Loading...
\r\n \r\n Loading...\r\n \r\n \r\n )\r\n }\r\n
\r\n
\r\n \r\n {alignments && bothDirectionsDailys && mapAlternatives &&\r\n \r\n }\r\n \r\n \r\n\r\n\r\n )*/\r\n\r\n const handleDropSearch = (e, data) => {\r\n // const searchdata = watch()\r\n // setDropQuerySearch(data.target.innerText)\r\n //setDataQuerySearch(data.target.innerText)\r\n //Todo: You can make it a list later\r\n if (searchDefaultValue) {\r\n if (!searchDefaultValue.includes(data.target.innerText))\r\n setSearchDefaultValue([...searchDefaultValue, data.target.innerText])\r\n }\r\n else {\r\n setSearchDefaultValue([data.target.innerText])\r\n }\r\n }\r\n\r\n\r\n const handleDataSearch = (e, data) => {\r\n const searchdata = watch()\r\n setDataQuerySearch(searchdata.DateSearch)\r\n }\r\n\r\n const handleClear = (deletedItem) => {\r\n setDataQuerySearch(\"\")\r\n //setDropQuerySearch(\"\")\r\n const newList = searchDefaultValue.filter((item) => item !== deletedItem)\r\n if (newList.length === 0) {\r\n setSearchDefaultValue(\"\")\r\n }\r\n else {\r\n setSearchDefaultValue([...newList])\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {alternativeDailySums && alternativeDailySums\r\n .filter(item => {\r\n return item.name.toLowerCase().includes(dataQuerySearch.toLowerCase())\r\n })\r\n .map((alternative_id, index) =>\r\n {alternative_id.name}\r\n )}\r\n \r\n \r\n \r\n {(searchDefaultValue.length) ?\r\n <>\r\n \r\n
\r\n {searchDefaultValue.map((item, i) =>\r\n handleClear(item)} />)}\r\n
\r\n
\r\n
\r\n : <>}\r\n
\r\n {(!!localLoading || !!isProcessing) && }\r\n setKey(k)}>\r\n \r\n {alternativeDailySums && }\r\n \r\n \r\n {bothDirectionsDailys && }\r\n \r\n \r\n {alignments && bothDirectionsDailys && mapAlternatives &&\r\n\r\n //bothDirectionsDailys.filter()\r\n \r\n }\r\n \r\n \r\n
\r\n )\r\n\r\n}\r\n\r\nexport default DailyComparison;","import React, { useState, useEffect, useRef, useContext } from \"react\";\r\nimport { Map, View } from \"ol\";\r\nimport * as proj from \"ol/proj\";\r\nimport TileLayer from \"ol/layer/Tile\";\r\nimport XYZ from \"ol/source/XYZ\";\r\nimport Select from \"ol/interaction/Select\";\r\nimport Overlay from \"ol/Overlay.js\";\r\nimport {\r\n getCentreCoord,\r\n createSectionalPointLayer,\r\n createSectionalComparePointLayer,\r\n} from \"../../../utils/maputils\";\r\nimport \"./map.css\";\r\nimport axios from 'axios'\r\n\r\nimport FuelSaveGlobalContext from \"../../../context/FuelSaveGlobalContext\";\r\n\r\nfunction SectionalAnalysisMap(props) {\r\n const directions = props.baseAlternative;\r\n // const comparedirections = props.compareAlternative;\r\n\r\n const {\r\n // mapCoordinateId,\r\n // setMapCoordinateId,\r\n // mapCentreIdData,\r\n // setMapCentreIdData,\r\n // previousMapCentreIdData,\r\n // setPreviousMapCentreIdData,\r\n // chainage,\r\n setChainage,\r\n // fcCar,\r\n setFcCar,\r\n // fcTrucks,\r\n setFcTrucks,\r\n // hilliness,\r\n setHilliness,\r\n // speedProfileCars,\r\n setSpeedProfileCars,\r\n // speedProfileTrucks,\r\n setSpeedProfileTrucks,\r\n // zlevel,\r\n setZlevel,\r\n // curvature,\r\n setCurvature,\r\n // segment,\r\n setSegment,\r\n apiAccessToken\r\n // editSectionalAnalysisChart,\r\n // setEditSectionalAnalysisChart,\r\n } = useContext(FuelSaveGlobalContext);\r\n\r\n const segments = directions && directions.segments_data ? directions.segments : null;\r\n const segments_data = directions.segments_data ? directions.segments_data : null;\r\n const centreCoord = segments_data && segments_data.length > 0 ? getCentreCoord(directions) : [0, 0];\r\n const posCentre = proj.fromLonLat(segments_data && segments_data.length > 0 ? centreCoord.coordinates : centreCoord);\r\n\r\n const overlayRef = useRef(null);\r\n const [map, setMap] = useState();\r\n const [zoom, setZoom] = useState(11);\r\n const mapElement = useRef();\r\n\r\n function customLoader(tile, src) {\r\n\r\n axios({\r\n method: 'get',\r\n url: src,\r\n headers:{\r\n 'Authorization': `Bearer ${apiAccessToken.accessToken}`\r\n }\r\n \r\n }).then((response)=>{\r\n tile.getImage().src = response.data;\r\n })\r\n\r\n }\r\n\r\n useEffect(() => {\r\n let urlVal = process.env.REACT_APP_API_URL\r\n urlVal = urlVal.replace('/graphql', '')\r\n\r\n const XYZSource = new XYZ({\r\n url: `${urlVal}/apimaptiler/?url=api.maptiler.com/maps/voyager/{z}/{x}/{y}.png`\r\n })\r\n\t\tXYZSource.setTileLoadFunction(customLoader);\r\n\r\n\t\tconst bgLayer = new TileLayer({\r\n\t\t\tsource: XYZSource,\r\n\t\t});\r\n\r\n const initialMap = new Map({\r\n target: mapElement.current,\r\n layers: [bgLayer],\r\n view: new View({\r\n center: posCentre,\r\n zoom: zoom,\r\n }),\r\n pixelRatio: 1.0\r\n });\r\n\r\n let select = null;\r\n let selectSingleClick = new Select();\r\n\r\n const overlay = new Overlay({\r\n position: posCentre,\r\n element: overlayRef.current,\r\n positioning: \"center-center\",\r\n stopEvent: false,\r\n });\r\n\r\n initialMap.on(\"singleclick\", function (evt) {\r\n // props.setMapRef(mapElement)\r\n let coordinate = evt.coordinate;\r\n overlay.setPosition(coordinate);\r\n props.settingCoordinate(Math.round(coordinate[0]), Math.round(coordinate[1]))\r\n });\r\n\r\n if (select !== null) {\r\n initialMap.removeInteraction(select);\r\n }\r\n select = selectSingleClick;\r\n\r\n if (select !== null) {\r\n initialMap.addInteraction(select);\r\n select.on(\"select\", function (e) {\r\n if (e.selected[0]) {\r\n //setMapCoordinateId(e.selected[0].values_.geom_order_id);\r\n props.handleStateChange('localMapCoordinateId', e.selected[0].values_.geom_order_id)\r\n setChainage(e.selected[0].values_.chainage);\r\n setFcCar(e.selected[0].values_.fuelconsumption_car);\r\n setFcTrucks(e.selected[0].values_.fuelconsumption_trucks);\r\n setHilliness(e.selected[0].values_.hilliness);\r\n setSpeedProfileCars(e.selected[0].values_.speedprofile_car);\r\n setSpeedProfileTrucks(e.selected[0].values_.speedprofile_trucks);\r\n setZlevel(e.selected[0].values_.zlevel);\r\n setCurvature(null);\r\n setSegment(e.selected[0].values_.segment_order_no);\r\n } else {\r\n //setMapCoordinateId(null);\r\n props.handleStateChange('localMapCoordinateId', null)\r\n setChainage(null);\r\n setFcCar(null);\r\n setFcTrucks(null);\r\n setHilliness(null);\r\n setSpeedProfileCars(null);\r\n setSpeedProfileTrucks(null);\r\n setZlevel(null);\r\n setCurvature(null);\r\n setSegment(null);\r\n }\r\n });\r\n }\r\n\r\n initialMap.on(\"moveend\", () => {\r\n setZoom(initialMap.getView().getZoom());\r\n });\r\n\r\n initialMap.on(\"zoomend\", function () {\r\n setZoom(initialMap.getView().getZoom());\r\n });\r\n\r\n let layersToRemove = [];\r\n\r\n initialMap.getLayers().forEach(function (layer) {\r\n if (\r\n layer.get(\"name\") !== undefined &&\r\n layer.get(\"name\").includes(\"pointlayer\")\r\n ) {\r\n layersToRemove.push(layer);\r\n }\r\n });\r\n\r\n let len = layersToRemove.length;\r\n for (let i = 0; i < len; i++) {\r\n initialMap.removeLayer(layersToRemove[i]);\r\n }\r\n\r\n\r\n const mapLayer =\r\n segments_data.length != null\r\n ? createSectionalPointLayer(segments_data, segments, zoom)\r\n : null;\r\n\r\n if (mapLayer) {\r\n initialMap.addLayer(mapLayer);\r\n }\r\n\r\n setMap(initialMap);\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (map) {\r\n const directions = props.baseAlternative;\r\n const segments = directions && directions.segments_data ? directions.segments : null;\r\n const segments_data = directions.segments_data ? directions.segments_data : null;\r\n const centreCoord = segments_data && segments_data.length > 0 ? getCentreCoord(directions) : [0, 0];\r\n const posCentre = proj.fromLonLat(segments_data && segments_data.length > 0 ? centreCoord.coordinates : centreCoord);\r\n let layersToRemove = [];\r\n map.getLayers().forEach(function (layer) {\r\n if (\r\n layer.get(\"name\") !== undefined &&\r\n layer.get(\"name\").includes(\"pointlayer\")\r\n ) {\r\n layersToRemove.push(layer);\r\n }\r\n });\r\n\r\n let len = layersToRemove.length;\r\n for (let i = 0; i < len; i++) {\r\n map.removeLayer(layersToRemove[i]);\r\n }\r\n\r\n const mapLayer =\r\n segments_data.length != null\r\n ? createSectionalPointLayer(segments_data, segments, zoom)\r\n : null;\r\n\r\n if (mapLayer) {\r\n map.addLayer(mapLayer);\r\n }\r\n map.getView().setCenter(posCentre);\r\n }\r\n // eslint-disable-next-line\r\n }, [props.baseAlternative])\r\n\r\n useEffect(() => {\r\n\r\n if (map) {\r\n let layersToRemove = [];\r\n map.getLayers().forEach(function (layer) {\r\n if (\r\n layer.get(\"name\") !== undefined &&\r\n layer.get(\"name\").includes(\"pointlayer\")\r\n ) {\r\n layersToRemove.push(layer);\r\n }\r\n });\r\n\r\n let len = layersToRemove.length;\r\n for (let i = 0; i < len; i++) {\r\n map.removeLayer(layersToRemove[i]);\r\n }\r\n\r\n\r\n const mapLayer =\r\n segments_data.length != null\r\n ? createSectionalPointLayer(segments_data, segments, zoom)\r\n : null;\r\n\r\n if (mapLayer) {\r\n map.addLayer(mapLayer);\r\n }\r\n if (props.localPreviousMapCentreIdData && props.localPreviousMapCentreIdData[0] && props.localPreviousMapCentreIdData[1]) {\r\n const mapCompareLayer =\r\n segments_data.length != null\r\n ? createSectionalComparePointLayer(\r\n segments_data,\r\n segments,\r\n zoom,\r\n props.localPreviousMapCentreIdData[0],\r\n props.localPreviousMapCentreIdData[1]\r\n )\r\n : null;\r\n if (mapCompareLayer) {\r\n map.addLayer(mapCompareLayer);\r\n }\r\n }\r\n\r\n // zoom to map if chart is clicked\r\n if (props.localPreviousMapCentreIdData && props.localPreviousMapCentreIdData[0]) {\r\n\r\n const mapCentreIdData = props.localPreviousMapCentreIdData[0];\r\n\r\n //setMapCentreIdData(null);\r\n props.handleStateChange('localMapCentreIdData', null)\r\n\r\n /*setMapCoordinateId(\r\n mapCentreIdData ? mapCentreIdData.geom_order_id : null\r\n );*/\r\n\r\n props.handleStateChange('localMapCoordinateId', mapCentreIdData ? mapCentreIdData.geom_order_id : null)\r\n\r\n setChainage(mapCentreIdData ? mapCentreIdData.chainage : null);\r\n setFcCar(mapCentreIdData ? mapCentreIdData.fuelconsumption_car : null);\r\n setFcTrucks(\r\n mapCentreIdData ? mapCentreIdData.fuelconsumption_trucks : null\r\n );\r\n setHilliness(mapCentreIdData ? mapCentreIdData.hilliness : null);\r\n setSpeedProfileCars(\r\n mapCentreIdData ? mapCentreIdData.speedprofile_car : null\r\n );\r\n setSpeedProfileTrucks(mapCentreIdData ? mapCentreIdData.speedprofile_trucks : null)\r\n setZlevel(mapCentreIdData ? mapCentreIdData.zlevel : null);\r\n setCurvature(null);\r\n setSegment(mapCentreIdData ? mapCentreIdData.segment_order_no : null);\r\n }\r\n }\r\n // eslint-disable-next-line\r\n }, [zoom, props.localPreviousMapCentreIdData]);\r\n\r\n // useEffect(() => {\r\n // props.setMapRef(mapElement)\r\n // })\r\n\r\n\r\n return
\r\n
\r\n
\r\n}\r\n\r\nexport default SectionalAnalysisMap;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Bar } from \"react-chartjs-2\";\r\n// import FuelSaveGlobalContext from \"../../../context/FuelSaveGlobalContext\";\r\nimport \"./chartMixedsectional.css\";\r\n// import { useTranslation } from \"react-i18next\";\r\n// import _ from \"lodash\";\r\nimport {\r\n legend,\r\n tooltips,\r\n xAxes,\r\n yAxes,\r\n compareChainage,\r\n} from \"../../../utils/chartutils\";\r\n\r\n// \"chart.js\": \"^2.8.0\",\r\n// \"react-chartjs-2\": \"^2.7.6\",\r\n\r\nconst barChartOptions = {\r\n animation: {\r\n duration: 0,\r\n },\r\n // title: { text: 'Energy consumption along road [l/100km, average over 20 meter sections]', display: true },\r\n tooltips: {\r\n titleFontSize: 20,\r\n bodyFontSize: 20,\r\n },\r\n lineTension: 2,\r\n scaleOverride: true,\r\n // scaleSteps: 200,\r\n // scaleStepWidth: 200,\r\n scaleShowLabels: true,\r\n scales: {\r\n xAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n labelString: \"FC\",\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: \"white\",\r\n display: true,\r\n beginAtZero: true,\r\n min: 0,\r\n max: 10,\r\n },\r\n\r\n stacked: false,\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n labelString: \"chainage\",\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: \"white\",\r\n suggestedMin: 0,\r\n suggestedMax: 60,\r\n maxTicksLimit: 10,\r\n display: true,\r\n stepSize: 10,\r\n },\r\n stacked: false,\r\n },\r\n ],\r\n },\r\n};\r\n\r\nconst data = {\r\n labels: [\"not found\"],\r\n datasets: [\r\n {\r\n type: \"line\",\r\n label: \"Alternative 2\",\r\n //borderColor: 'rgb(54, 162, 235)',\r\n //borderWidth: 2,\r\n fill: false,\r\n data: [null],\r\n },\r\n {\r\n type: \"line\",\r\n label: \"Alternative 1 line\",\r\n // backgroundColor: 'rgb(255, 99, 132)',\r\n data: [null],\r\n borderColor: \"white\",\r\n //borderWidth: 2,\r\n },\r\n ],\r\n};\r\n\r\nconst ChartMixedGroundLevelAlongRoad = (props) => {\r\n // const {\r\n // mapCoordinateId,\r\n // setMapCoordinateId,\r\n // mapCentreIdData,\r\n // setMapCentreIdData,\r\n // previousMapCentreIdData,\r\n // setPreviousMapCentreIdData,\r\n // editSectionalAnalysisChart,\r\n // setEditSectionalAnalysisChart,\r\n // } = useContext(FuelSaveGlobalContext);\r\n\r\n // const { t, i18n } = useTranslation();\r\n\r\n const baseAlternative = props.baseAlternative;\r\n const compareAlternative = props.compareAlternative;\r\n\r\n const [chartData, setChartData] = useState(data);\r\n const [chartOptions, setChartOptions] = useState(barChartOptions);\r\n // const [mapData, setMapData] = useState(null);\r\n const [prevMapData, setPrevMapData] = useState(null);\r\n const [currentMapData, setCurrentMapData] = useState(null);\r\n\r\n async function createChart() {\r\n const baseChainageLabels = [];\r\n const baseLevelData = [];\r\n const mapPointData = [];\r\n const compareLine = [];\r\n\r\n if (baseAlternative) {\r\n const baseSegmentsData = baseAlternative.segments_data;\r\n baseSegmentsData.sort(compareChainage);\r\n\r\n let index = 0;\r\n // let firstFound = false;\r\n let drawSlope = false;\r\n\r\n baseSegmentsData.map((segment) => {\r\n baseChainageLabels.push(segment.chainage);\r\n baseLevelData.push(segment.zlevel);\r\n\r\n if (prevMapData && segment.chainage === prevMapData.chainage) {\r\n compareLine.push(segment.zlevel);\r\n prevMapData.chainage < currentMapData.chainage ? drawSlope = true : drawSlope = false;\r\n } else if (prevMapData && segment.chainage === currentMapData.chainage) {\r\n compareLine.push(segment.zlevel);\r\n prevMapData.chainage < currentMapData.chainage ? drawSlope = false : drawSlope = true;\r\n } else {\r\n if (drawSlope) {\r\n const x = currentMapData.chainage - prevMapData.chainage\r\n const y = currentMapData.zlevel - prevMapData.zlevel\r\n const slope = y / x;\r\n const currentX = segment.chainage - prevMapData.chainage;\r\n const Y = (slope * currentX) + prevMapData.zlevel;\r\n compareLine.push(Y);\r\n }\r\n else {\r\n compareLine.push(null);\r\n }\r\n }\r\n\r\n mapPointData.push({\r\n index: index,\r\n chainage: segment.chainage,\r\n segment_order_no: segment.segment_order_no,\r\n fuelconsumption_trucks: segment.fuelconsumption_trucks,\r\n hilliness: segment.hilliness,\r\n speedprofile_car: segment.speedprofile_car,\r\n fuelconsumption_car: segment.fuelconsumption_car,\r\n speedprofile_trucks: segment.speedprofile_trucks,\r\n geom_order_id: segment.geom_order_id,\r\n geom: segment.geom,\r\n zlevel: segment.zlevel,\r\n });\r\n\r\n index++;\r\n\r\n return segment\r\n });\r\n }\r\n\r\n // setMapData(mapPointData);\r\n\r\n const data = {\r\n labels: baseChainageLabels,\r\n datasets: [\r\n {\r\n type: \"line\",\r\n label: \"compare line\",\r\n labelColor: \"white\",\r\n borderColor: \"blue\",\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: true,\r\n backgroundColor: \"blue\",\r\n data: compareLine,\r\n },\r\n {\r\n type: \"line\",\r\n label:\r\n \"Base level \" + (baseAlternative ? baseAlternative.direction : \"\"),\r\n labelColor: \"white\",\r\n borderColor: \"rgb(255,255,255,0.5)\",\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: true,\r\n backgroundColor: \"rgb(255,255,255,0.9)\",\r\n data: baseLevelData,\r\n },\r\n {\r\n type: \"bar\",\r\n label:\r\n \"Base level \" + (baseAlternative ? baseAlternative.direction : \"\"),\r\n labelColor: \"white\",\r\n borderColor: \"rgb(193, 66, 66)\",\r\n borderWidth: 1,\r\n pointRadius: 1,\r\n pointHoverRadius: 1,\r\n fill: true,\r\n backgroundColor: \"rgb(193, 66, 66,0.5)\",\r\n data: baseLevelData,\r\n }\r\n ],\r\n };\r\n\r\n const barChartOptions = {\r\n animation: {\r\n duration: 0,\r\n },\r\n legend: legend,\r\n events: [\"click\"],\r\n tooltipEvents: [\"mousemove\", \"touchstart\", \"touchmove\", \"click\"],\r\n tooltips: tooltips,\r\n onHover: function (evt, element) { },\r\n onClick: function (evt, element) {\r\n if (element[0]) {\r\n // const chart = element[0]._chart;\r\n const index = element[0]._index;\r\n // const activePoints = chart.getElementsAtEventForMode(\r\n // evt,\r\n // \"point\",\r\n // chart.options\r\n // );\r\n // const firstPoint = activePoints[0];\r\n // const label = chart.data.labels[firstPoint._index];\r\n // const value =\r\n // chart.data.datasets[firstPoint._datasetIndex].data[\r\n // firstPoint._index\r\n // ];\r\n\r\n setPrevMapData(currentMapData);\r\n setCurrentMapData(mapPointData[index]);\r\n //setPreviousMapCentreIdData(prevMapData)\r\n props.handleStateChange(\"localPreviousMapCentreIdData\", prevMapData)\r\n //setMapCentreIdData(mapPointData[index]);\r\n props.handleStateChange(\"localMapCentreIdData\", mapPointData[index])\r\n }\r\n },\r\n lineTension: 2,\r\n scaleOverride: true,\r\n scaleShowLabels: true,\r\n scales: {\r\n xAxes: xAxes,\r\n yAxes: yAxes,\r\n },\r\n };\r\n setChartData(data);\r\n setChartOptions(barChartOptions);\r\n }\r\n\r\n useEffect(() => {\r\n const newData = [prevMapData, currentMapData]\r\n //setPreviousMapCentreIdData(prevMapData => newData)\r\n props.handleStateChange(\"localPreviousMapCentreIdData\", prevMapData => newData)\r\n //setMapCentreIdData(currentMapData => (currentMapData));\r\n props.handleStateChange(\"localMapCentreIdData\", currentMapData => (currentMapData))\r\n createChart();\r\n\r\n // eslint-disable-next-line\r\n }, [baseAlternative, compareAlternative, props.localMapCentreIdData]);\r\n\r\n return ;\r\n};\r\n\r\nexport default ChartMixedGroundLevelAlongRoad;\r\n","export const numberFormat = (value) =>\r\n new Intl.NumberFormat('ja-JP', {\r\n //style: 'currency',\r\n currency: 'INR'\r\n }).format(value);\r\n\r\n","import React, { useState, useEffect, useContext } from \"react\";\r\nimport axios from \"axios\";\r\nimport \"./chartMixedsectional.css\";\r\nimport { requestBody4 } from \"../../../utils/aiRequestBodyUtils\";\r\n// import Box from '@material-ui/core/Box';\r\nimport {\r\n Container,\r\n Table,\r\n Row,\r\n Col\r\n} from \"react-bootstrap\";\r\nimport { useSelector } from \"react-redux\";\r\nimport FuelSaveGlobalContext from \"../../../context/FuelSaveGlobalContext\";\r\nimport SectionalAnalysisMap from \"./SectionalAnalysisMap\";\r\nimport ChartMixedGroundLevelAlongRoad from \"./ChartMixedGroundLevelAlongRoad\";\r\nimport \"./sectional.css\";\r\nimport { numberFormat } from \"../../../utils/numberFormat\";\r\n\r\n//Material UI Imports\r\nimport Accordion from '@material-ui/core/Accordion';\r\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\r\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport { presumptionObj } from \"../../../constant/helpers\";\r\nimport { colorCodes } from \"../../../constant/colors\";\r\n\r\nconst { WHITE_1, BLACK_1 } = colorCodes\r\nconst SectionalAnalysisIndividual = (props) => {\r\n const {\r\n // mapCoordinateId, setMapCoordinateId,\r\n // mapCentreIdData, setMapCentreIdData,\r\n // chainage,\r\n // setChainage,\r\n // fcCar,\r\n // setFcCar,\r\n // fcTrucks,\r\n // setFcTrucks,\r\n // hilliness,\r\n // setHilliness,\r\n // speedProfileCars,\r\n // setSpeedProfileCars,\r\n // speedProfileTrucks,\r\n // setSpeedProfileTrucks,\r\n // zlevel,\r\n // setZlevel,\r\n // curvature,\r\n // setCurvature,\r\n // segment,\r\n // setSegment,\r\n // mapCentreIdData,\r\n // setMapCentreIdData,\r\n // previousMapCentreIdData,\r\n // setPreviousMapCentreIdData,\r\n // editSectionalAnalysisChart,\r\n // setEditSectionalAnalysisChart,\r\n globalProjectNumber,\r\n // globalBrandCrumb, \r\n setGlobalBrandCrumb\r\n } = useContext(FuelSaveGlobalContext);\r\n\r\n const { currency, carConfig, truckConfig } = useSelector(state => state.global)\r\n const [baseAlternative, setBaseAlternative] = useState(null);\r\n const [startYear, setStartYear] = useState(2020);\r\n const [endYear, setEndYear] = useState(2041);\r\n const [dailySavings, setDailySavings] = useState(null);\r\n const [forecastSavings, setForecastSavings] = useState(null);\r\n const [gradientPercent, setGradientPercent] = useState(null);\r\n const [\r\n averagePositiveGradientDecreasePercent,\r\n setAveragePositiveGradientDecreasePercent,\r\n ] = useState(null);\r\n const [maxGradientDecreasePercent, setMaxGradientDecreasePercent] = useState(null)\r\n const [localMapCentreIdData, setLocalMapCentreIdData] = useState(null);\r\n const [localPreviousMapCentreIdData, setLocalPreviousMapCentreIdData] = useState(null);\r\n const [localEditSectionalAnalysisChart, setLocalEditSectionalAnalysisChart] = useState(null);\r\n const [localMapCoordinateId, setLocalMapCoordinateId] = useState(null);\r\n const { presumptions } = useSelector(state => state.presumptions)\r\n\r\n // const [coordinateX, setCoordinateX] = useState(\"\")\r\n // const [coordinateY, setCoordinateY] = useState(\"\")\r\n // const [windowX, setWindowX] = useState(\"\")\r\n // const [windowY, setWindowY] = useState(\"\")\r\n // const [mapRef, setMapRef] = useState(\"\")\r\n // const [accordinOpen, setAccordinOpen] = useState(false)\r\n\r\n\r\n function handleStateChange(stateType, settingState) {\r\n switch (stateType) {\r\n case \"localMapCentreIdData\":\r\n setLocalMapCentreIdData(settingState)\r\n break;\r\n case \"localPreviousMapCentreIdData\":\r\n setLocalPreviousMapCentreIdData(settingState)\r\n break;\r\n case \"localEditSectionalAnalysisChart\":\r\n setLocalEditSectionalAnalysisChart(settingState)\r\n break;\r\n case \"localMapCoordinateId\":\r\n setLocalMapCoordinateId(settingState)\r\n break;\r\n default:\r\n break\r\n }\r\n }\r\n\r\n function handleFirstAlternativeClick(\r\n alternative,\r\n alternative_id,\r\n direction,\r\n start_year,\r\n end_year\r\n ) {\r\n setBaseAlternative(alternative);\r\n setStartYear(start_year);\r\n setEndYear(end_year);\r\n }\r\n\r\n const getDailyData = async (\r\n startSection,\r\n endSection,\r\n startYearData,\r\n endYearData,\r\n segmentsDir1,\r\n segmentsDataDir1,\r\n presumptionsData\r\n ) => {\r\n const presumptions = presumptionObj(presumptionsData[0])\r\n\r\n const startYear = startYearData ? startYearData : 2020;\r\n const endYear = endYearData ? endYearData : 2041;\r\n\r\n const requestBodyDir1 = {\r\n return_option: 4,\r\n sectional_start: startSection ? startSection : 3600,\r\n sectional_end: endSection ? endSection : 6000,\r\n start_year: startYear,\r\n end_year: endYear,\r\n fuel_distribution_cars: carConfig,\r\n fuel_distribution_trucks: truckConfig,\r\n sensitivity_param_factors: {\r\n speed: 1,\r\n fuelprice: 1,\r\n emission: 1,\r\n AADTheavy: 1,\r\n },\r\n presumptions: presumptions,\r\n segments: segmentsDir1,\r\n segments_data: segmentsDataDir1,\r\n };\r\n\r\n const config = {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n\r\n const AI_API_KEY = process.env.REACT_APP_AI_FUNCTION_API_KEY;\r\n const urlToken = process.env.REACT_APP_AI_FUNCTION_URL + '/api/HttpTrigger1?code=' + AI_API_KEY;\r\n\r\n try {\r\n const [responseDir1] = await Promise.all([\r\n axios.post(urlToken, endYear ? requestBodyDir1 : requestBody4, config),\r\n ]);\r\n\r\n return [responseDir1];\r\n } catch (err) {\r\n // throw new Error('Unable to get a response.')\r\n return null;\r\n }\r\n };\r\n\r\n const settingCoordinate = (X, Y) => {\r\n // window.addEventListener('click', (ev) => {\r\n // //if (mapRef.current && mapRef.current.contains('
')) {\r\n // // setWindowX(ev.clientX)\r\n // // setWindowY(ev.clientY)\r\n // // setCoordinateX(X)\r\n // // setCoordinateY(Y)\r\n // //}\r\n // })\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n //setMapCentreIdData(null);\r\n setLocalMapCentreIdData(null)\r\n //setPreviousMapCentreIdData(null);\r\n setLocalPreviousMapCentreIdData(null)\r\n setDailySavings(null);\r\n setForecastSavings(null);\r\n setGradientPercent(null);\r\n setAveragePositiveGradientDecreasePercent(null);\r\n setMaxGradientDecreasePercent(null);\r\n //setPreviousMapCentreIdData(null)\r\n setLocalPreviousMapCentreIdData(null)\r\n }, [baseAlternative, globalProjectNumber]);\r\n\r\n // useEffect(() => {\r\n // setBaseAlternative(null);\r\n // }, [globalProjectNumber]);\r\n\r\n useEffect(() => {\r\n async function setData() {\r\n\r\n if (\r\n localPreviousMapCentreIdData &&\r\n baseAlternative &&\r\n presumptions\r\n ) {\r\n\r\n setDailySavings(null);\r\n setForecastSavings(null);\r\n setGradientPercent(null);\r\n setAveragePositiveGradientDecreasePercent(null);\r\n setMaxGradientDecreasePercent(null);\r\n\r\n let startSection = localPreviousMapCentreIdData[0] ? localPreviousMapCentreIdData[0].chainage : null;\r\n let endSection = localPreviousMapCentreIdData[1] ? localPreviousMapCentreIdData[1].chainage : null;\r\n\r\n if (startSection > endSection) {\r\n const dummy = startSection;\r\n startSection = endSection;\r\n endSection = dummy;\r\n }\r\n\r\n const dailyData = await getDailyData(\r\n startSection,\r\n endSection,\r\n startYear,\r\n endYear,\r\n baseAlternative.segments,\r\n baseAlternative.segments_data,\r\n presumptions\r\n );\r\n\r\n if (dailyData) {\r\n const savingsData = dailyData[0].data.alternative;\r\n if (savingsData) {\r\n setDailySavings(savingsData.daily);\r\n setForecastSavings(savingsData.forecast);\r\n setGradientPercent(savingsData.gradient_percent);\r\n setAveragePositiveGradientDecreasePercent(\r\n savingsData.average_positive_gradient_decrease_percent\r\n );\r\n setMaxGradientDecreasePercent(\r\n savingsData.max_gradient_decrease_percent\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n setData();\r\n // eslint-disable-next-line\r\n }, [localPreviousMapCentreIdData]);\r\n\r\n useEffect(() => {\r\n setGlobalBrandCrumb(\"Sectional Analysis\")\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n useEffect(() => {\r\n handleFirstAlternativeClick(\r\n props.directions,\r\n props.alternative_id,\r\n props.direction,\r\n props.start_year,\r\n props.end_year\r\n )\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n return (\r\n (baseAlternative &&\r\n \r\n
\r\n \r\n }\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n >\r\n {`Alternative ${props.alternative_id} ${props.name}: ${props.direction}`}\r\n \r\n \r\n \r\n \r\n \r\n {baseAlternative && (\r\n
Click the graph to draw a comparison line
\r\n )}\r\n {baseAlternative && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n \r\n {baseAlternative &&\r\n
Sectional analysis map
\r\n }\r\n {baseAlternative && (\r\n \r\n )}\r\n {\r\n //
Hello
\r\n\r\n }\r\n \r\n\r\n
\r\n
\r\n \r\n {/* coordinateX !==\"\" && \r\n {`X:${coordinateX},Y:${coordinateY}`}\r\n \r\n /*
\r\n

X:{coordinateX},Y:{coordinateY}

\r\n
\r\n */}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Daily Savings
FuelCO2EnergyCost
{dailySavings ? numberFormat(Math.floor(dailySavings.fuel)) : ''}{dailySavings ? numberFormat(Math.floor(dailySavings.co2)) : ''}{dailySavings ? numberFormat(Math.floor(dailySavings.energy)) : ''}{dailySavings ? `${numberFormat(Math.floor(dailySavings.cost))} ${currency}` : ''}
\r\n \r\n {React.Children.toArray(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!forecastSavings &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {forecastSavings && forecastSavings.map((f, i) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n
Forecasted Savings
YearFuelCO2EnergyCost
{''}{''}{''}{''}{''}
{f.year}{numberFormat(Math.floor(f.fuel))}{numberFormat(Math.floor(f.co2))}{numberFormat(Math.floor(f.energy))}{numberFormat(Math.floor(f.cost))} {currency}
\r\n \r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Forecasted Savings
New gradientAverage gradient decreaseMaximum gradient decrease
{gradientPercent ? numberFormat(gradientPercent) : ''}{averagePositiveGradientDecreasePercent ? numberFormat(averagePositiveGradientDecreasePercent) : ''}{maxGradientDecreasePercent ? numberFormat(maxGradientDecreasePercent) : ''}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n )\r\n}\r\n\r\nexport default SectionalAnalysisIndividual\r\n","import React, { Fragment, useState, useEffect, useContext } from \"react\";\r\nimport axios from \"axios\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { requestBody4 } from \"../../../utils/aiRequestBodyUtils\";\r\nimport FuelSaveGlobalContext from \"../../../context/FuelSaveGlobalContext\";\r\n// import SectionalAnalysisMap from \"./SectionalAnalysisMap\";\r\n// import ChartMixedGroundLevelAlongRoad from \"./ChartMixedGroundLevelAlongRoad\";\r\nimport \"./sectional.css\";\r\n// import { numberFormat } from \"../../../utils/numberFormat\";\r\nimport SectionalAnalysisIndividual from \"./SectionalAnalysisIndividual\"\r\nimport SpinLoader from \"../../common/SpinLoader\";\r\nimport { MIN_YEAR } from \"../../../constant\";\r\nimport { presumptionObj } from \"../../../constant/helpers\";\r\nimport AlignmentPageWidget from \"../summary/AlignmentPageWidget\";\r\n\r\nconst SectionalAnalysis = () => {\r\n const {\r\n // mapCoordinateId, setMapCoordinateId,\r\n // mapCentreIdData, setMapCentreIdData,\r\n // chainage,\r\n // setChainage,\r\n // fcCar,\r\n // setFcCar,\r\n // fcTrucks,\r\n // setFcTrucks,\r\n // hilliness,\r\n // setHilliness,\r\n // speedProfileCars,\r\n // setSpeedProfileCars,\r\n // speedProfileTrucks,\r\n // setSpeedProfileTrucks,\r\n // zlevel,\r\n // setZlevel,\r\n // curvature,\r\n // setCurvature,\r\n // segment,\r\n // setSegment,\r\n // mapCentreIdData,\r\n setMapCentreIdData,\r\n previousMapCentreIdData,\r\n setPreviousMapCentreIdData,\r\n // editSectionalAnalysisChart,\r\n // setEditSectionalAnalysisChart,\r\n globalProjectNumber,\r\n // globalBrandCrumb,\r\n setGlobalBrandCrumb\r\n } = useContext(FuelSaveGlobalContext);\r\n const { carConfig, truckConfig } = useSelector(state => state.global)\r\n const { alignments } = useSelector(state => state.alignments)\r\n const { presumptions } = useSelector(state => state.presumptions)\r\n\r\n // HINT: Not in use, set constant value\r\n const baseAlternative = null\r\n const startYear = MIN_YEAR\r\n const endYear = 2041\r\n\r\n // const [baseAlternative, setBaseAlternative] = useState(null);\r\n // const [startYear, setStartYear] = useState(2020);\r\n // const [endYear, setEndYear] = useState(2041);\r\n\r\n // const [dailySavings, setDailySavings] = useState(null);\r\n // const [forecastSavings, setForecastSavings] = useState(null);\r\n // const [gradientPercent, setGradientPercent] = useState(null);\r\n const [localLoading, setLocalLoading] = useState(true)\r\n // const [\r\n // averagePositiveGradientDecreasePercent,\r\n // setAveragePositiveGradientDecreasePercent,\r\n // ] = useState(null);\r\n // const [maxGradientDecreasePercent, setMaxGradientDecreasePercent] = useState(\r\n // null\r\n // );\r\n\r\n const getDailyData = async (\r\n startSection,\r\n endSection,\r\n startYearData,\r\n endYearData,\r\n segmentsDir1,\r\n segmentsDataDir1,\r\n presumptionsData\r\n ) => {\r\n const presumptions = presumptionObj(presumptionsData[0])\r\n\r\n const startYear = startYearData ? startYearData : 2020;\r\n const endYear = endYearData ? endYearData : 2041;\r\n\r\n const requestBodyDir1 = {\r\n return_option: 4,\r\n sectional_start: startSection ? startSection : 3600,\r\n sectional_end: endSection ? endSection : 6000,\r\n start_year: startYear,\r\n end_year: endYear,\r\n fuel_distribution_cars: carConfig,\r\n fuel_distribution_trucks: truckConfig,\r\n sensitivity_param_factors: {\r\n speed: 1,\r\n fuelprice: 1,\r\n emission: 1,\r\n AADTheavy: 1,\r\n },\r\n presumptions: presumptions,\r\n segments: segmentsDir1,\r\n segments_data: segmentsDataDir1,\r\n };\r\n\r\n const config = {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n\r\n const AI_API_KEY = process.env.REACT_APP_AI_FUNCTION_API_KEY;\r\n const urlToken = process.env.REACT_APP_AI_FUNCTION_URL + '/api/HttpTrigger1?code=' + AI_API_KEY;\r\n\r\n try {\r\n const [responseDir1] = await Promise.all([\r\n axios.post(urlToken, endYear ? requestBodyDir1 : requestBody4, config),\r\n ]);\r\n\r\n return [responseDir1];\r\n } catch (err) {\r\n // throw new Error('Unable to get a response.')\r\n return null;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setMapCentreIdData(null);\r\n setPreviousMapCentreIdData(null);\r\n // setDailySavings(null);\r\n // setForecastSavings(null);\r\n // setGradientPercent(null);\r\n // setAveragePositiveGradientDecreasePercent(null);\r\n // setMaxGradientDecreasePercent(null);\r\n setPreviousMapCentreIdData(null)\r\n\r\n // eslint-disable-next-line\r\n }, [baseAlternative, globalProjectNumber]);\r\n\r\n // useEffect(() => {\r\n // setBaseAlternative(null);\r\n // }, [globalProjectNumber]);\r\n\r\n useEffect(() => {\r\n setLocalLoading(true)\r\n async function setData() {\r\n\r\n if (\r\n previousMapCentreIdData &&\r\n baseAlternative &&\r\n presumptions\r\n ) {\r\n\r\n // setDailySavings(null);\r\n // setForecastSavings(null);\r\n // setGradientPercent(null);\r\n // setAveragePositiveGradientDecreasePercent(null);\r\n // setMaxGradientDecreasePercent(null);\r\n\r\n let startSection = previousMapCentreIdData[0] ? previousMapCentreIdData[0].chainage : null;\r\n let endSection = previousMapCentreIdData[1] ? previousMapCentreIdData[1].chainage : null;\r\n\r\n if (startSection > endSection) {\r\n const dummy = startSection;\r\n startSection = endSection;\r\n endSection = dummy;\r\n }\r\n\r\n const dailyData = await getDailyData(\r\n startSection,\r\n endSection,\r\n startYear,\r\n endYear,\r\n baseAlternative.segments,\r\n baseAlternative.segments_data,\r\n presumptions\r\n );\r\n\r\n if (dailyData) {\r\n const savingsData = dailyData[0].data.alternative;\r\n if (savingsData) {\r\n // setDailySavings(savingsData.daily);\r\n // setForecastSavings(savingsData.forecast);\r\n // setGradientPercent(savingsData.gradient_percent);\r\n // setAveragePositiveGradientDecreasePercent(\r\n // savingsData.average_positive_gradient_decrease_percent\r\n // );\r\n // setMaxGradientDecreasePercent(\r\n // savingsData.max_gradient_decrease_percent\r\n // );\r\n }\r\n }\r\n }\r\n }\r\n\r\n setData();\r\n setLocalLoading(false)\r\n\r\n // eslint-disable-next-line\r\n }, [previousMapCentreIdData]);\r\n\r\n useEffect(() => {\r\n setGlobalBrandCrumb(\"Sectional Analysis\")\r\n\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n return (\r\n (!localLoading ?\r\n <>\r\n {alignments && alignments.map((a, index) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n {!!alignments && !!alignments.length && }\r\n \r\n :\r\n \r\n )\r\n );\r\n}\r\n\r\n\r\nexport default SectionalAnalysis;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Bar } from \"react-chartjs-2\";\r\n// import FuelSaveGlobalContext from \"../../../context/FuelSaveGlobalContext\";\r\nimport \"./chartMixed.css\";\r\n// import { useTranslation } from \"react-i18next\";\r\n// import _ from \"lodash\";\r\nimport {\r\n tooltips,\r\n // xAxes,\r\n // yAxes,\r\n // compareChainage,\r\n} from \"../../../utils/chartutils\";\r\nimport { colorCodes } from \"../../../constant/colors\";\r\n\r\nconst { WHITE_1, GREY_3, BLUE_1 } = colorCodes\r\n\r\n// \"chart.js\": \"^2.8.0\",\r\n// \"react-chartjs-2\": \"^2.7.6\",\r\n\r\n\r\n\r\n// const returnRgbColour = (index, type) => {\r\n\r\n// const remainderIndex = index % 10;\r\n// let colour = 'white'\r\n// let first = null\r\n// let second = null\r\n\r\n// if (type === 'co2') {\r\n// first = '255'\r\n// second = '25'\r\n\r\n// }\r\n// else if (type === 'cost') {\r\n// first = '255'\r\n// second = '170'\r\n\r\n// }\r\n// else if (type === 'energy') {\r\n// first = '0'\r\n// second = '128'\r\n// }\r\n// else {\r\n// first = '255'\r\n// second = '255'\r\n// }\r\n\r\n// if (remainderIndex === 0) { colour = 'rgb(' + first + ',' + second + ',10)' }\r\n// else if (remainderIndex === 1) { colour = 'rgb(' + first + ',' + second + ',20)' }\r\n// else if (remainderIndex === 2) { colour = 'rgb(' + first + ',' + second + ',30)' }\r\n// else if (remainderIndex === 3) { colour = 'rgb(' + first + ',' + second + ',40)' }\r\n// else if (remainderIndex === 4) { colour = 'rgb(' + first + ',' + second + ',50)' }\r\n// else if (remainderIndex === 5) { colour = 'rgb(' + first + ',' + second + ',60)' }\r\n// else if (remainderIndex === 6) { colour = 'rgb(' + first + ',' + second + ',70)' }\r\n// else if (remainderIndex === 7) { colour = 'rgb(' + first + ',' + second + ',80)' }\r\n// else if (remainderIndex === 8) { colour = 'rgb(' + first + ',' + second + ',90)' }\r\n// else if (remainderIndex === 9) { colour = 'rgb(' + first + ',' + second + ',100)' }\r\n\r\n\r\n// return colour\r\n\r\n// }\r\n\r\nconst LableDic = {\r\n 'co2': 'CO2',\r\n 'energy': 'Energy',\r\n 'cost': 'Cost'\r\n}\r\n\r\n\r\n\r\nconst getBarChartOptions = (type) => {\r\n return {\r\n animation: {\r\n duration: 0,\r\n },\r\n // title: { text: 'Energy consumption along road [l/100km, average over 20 meter sections]', display: true },\r\n tooltips: {\r\n titleFontSize: 20,\r\n bodyFontSize: 20,\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n let label = data.datasets[tooltipItem.datasetIndex].label || '';\r\n if (label) {\r\n label += ': ';\r\n }\r\n label += (Math.round(tooltipItem.yLabel * 100) / 100).toLocaleString();\r\n return label;\r\n }\r\n }\r\n },\r\n lineTension: 2,\r\n scaleOverride: true,\r\n scaleSteps: 200,\r\n scaleStepWidth: 200,\r\n scaleShowLabels: true,\r\n scales: {\r\n xAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n fontColor: BLUE_1,\r\n labelString: \"Years\",\r\n fontSize: 12,\r\n },\r\n ticks: {\r\n fontColor: GREY_3,\r\n display: true,\r\n beginAtZero: false,\r\n maxTicksLimit: 4,\r\n fontSize: 12,\r\n },\r\n gridLines: {\r\n display: false\r\n },\r\n stacked: false,\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n fontColor: BLUE_1,\r\n labelString: LableDic[type],\r\n fontSize: 15,\r\n },\r\n ticks: {\r\n fontColor: GREY_3,\r\n display: true,\r\n maxTicksLimit: 4,\r\n fontSize: 12,\r\n },\r\n gridLines: {\r\n display: true\r\n },\r\n stacked: false,\r\n afterBuildTicks: function (mychart) {\r\n const yLabels = mychart.ticks;\r\n mychart.options.ticks.callback = function (label) {\r\n return (yLabels).includes(label) ? label.toLocaleString() : '';\r\n }\r\n }\r\n },\r\n ],\r\n },\r\n }\r\n}\r\n\r\nconst ChartMixed = ({ type, chartInfo }) => {\r\n // const {\r\n // mapCoordinateId,\r\n // setMapCoordinateId,\r\n // mapCentreIdData,\r\n // setMapCentreIdData,\r\n // previousMapCentreIdData,\r\n // setPreviousMapCentreIdData,\r\n // editSectionalAnalysisChart,\r\n // setEditSectionalAnalysisChart,\r\n // } = useContext(FuelSaveGlobalContext);\r\n\r\n // const { t, i18n } = useTranslation();\r\n\r\n const [chartData, setChartData] = useState(chartInfo);\r\n const [chartOptions, setChartOptions] = useState(getBarChartOptions(type));\r\n // const [mapData, setMapData] = useState(null);\r\n // const [prevMapData, setPrevMapData] = useState(null);\r\n // const [currentMapData, setCurrentMapData] = useState(null);\r\n\r\n useEffect(() => {\r\n async function createChart() {\r\n\r\n const barChartOptions = {\r\n animation: {\r\n duration: 0,\r\n },\r\n legend: {\r\n display: true,\r\n position: 'bottom',\r\n labels: {\r\n fontSize: 12,\r\n fontColor: GREY_3\r\n }\r\n },\r\n events: [\"click\"],\r\n tooltipEvents: [\"mousemove\", \"touchstart\", \"touchmove\", \"click\"],\r\n tooltips: tooltips,\r\n lineTension: 1,\r\n scaleOverride: true,\r\n scaleShowLabels: true,\r\n scales: {\r\n xAxes: {\r\n scaleLabel: {\r\n display: true,\r\n fontColor: WHITE_1,\r\n labelString: 'Years'\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: WHITE_1,\r\n display: false,\r\n min: 0,\r\n max: 10,\r\n maxTicksLimit: 10,\r\n stepSize: 10,\r\n },\r\n gridLines: {\r\n display: false\r\n }\r\n },\r\n yAxes: {\r\n scaleLabel: {\r\n display: true,\r\n fontColor: WHITE_1,\r\n labelString: 'CO2'\r\n },\r\n scaleFontSize: 40,\r\n ticks: {\r\n fontColor: WHITE_1,\r\n suggestedMin: 0,\r\n suggestedMax: 60,\r\n maxTicksLimit: 10,\r\n display: false,\r\n stepSize: 1000\r\n },\r\n gridLines: {\r\n display: false\r\n },\r\n stacked: false,\r\n },\r\n },\r\n };\r\n\r\n setChartData(chartInfo);\r\n setChartOptions(barChartOptions);\r\n }\r\n createChart();\r\n }, [chartInfo]);\r\n\r\n return ;\r\n};\r\n\r\nexport default ChartMixed;\r\n","import React, { useState } from \"react\";\r\n// import {\r\n// requestBody3, fuelDistributionCarsNorway, fuelDistributionTrucksNorway,\r\n// fuelDistributionCarsSweden, fuelDistributionTrucksSweden\r\n// } from \"../../../utils/aiRequestBodyUtils\";\r\nimport { Container, Button, Table, Row, Col } from \"react-bootstrap\";\r\nimport { useSelector } from \"react-redux\";\r\n// import {\r\n// legend,\r\n// tooltips,\r\n// xAxes,\r\n// yAxes,\r\n// compareYear,\r\n// } from \"../../../utils/chartutils\";\r\nimport \"./forcastfilter.css\";\r\nimport ChartMixed from \"./ChartMixed\";\r\n// import { min } from \"moment-timezone\";\r\nimport { numberFormat } from \"../../../utils/numberFormat\";\r\nimport Accordion from '@material-ui/core/Accordion';\r\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\r\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\r\n// import Typography from '@material-ui/core/Typography';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport ExpandMoreOutlinedIcon from '@material-ui/icons/ExpandMoreOutlined';\r\nimport ExpandLessOutlinedIcon from '@material-ui/icons/ExpandLessOutlined';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\n// import Select from '@material-ui/core/Select';\r\nimport FilterListRoundedIcon from '@material-ui/icons/FilterListRounded';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n// import MenuItem from '@material-ui/core/MenuItem';\r\nimport FormHelperText from '@material-ui/core/FormHelperText';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport FormGroup from '@material-ui/core/FormGroup';\r\nimport SpinLoader from \"../../common/SpinLoader\";\r\nimport { getColorForMultiChart } from \"../../../constant/helpers\";\r\n\r\n\r\n\r\nconst ForecastsIndividual = (props) => {\r\n\r\n // const [baseAlternative, setBaseAlternative] = useState(null);\r\n const { currency } = useSelector(state => state.global)\r\n const [compareAlternative, setCompareAlternative] = useState(null);\r\n const [accordinOpen, setAccordinOpen] = useState(false)\r\n // const [open, setOpen] = useState(false);\r\n // const [alternativeSelect, setAlternativeSelect] = useState('');\r\n\r\n\r\n const baseAlternative = props.selectedAlternative\r\n // const savingsAlternativetables = props.savingsAlternativetables\r\n // const altIndex = props.altIndex\r\n\r\n // function handleFirstAlternativeClick(alternative) {\r\n // setBaseAlternative(alternative);\r\n // }\r\n\r\n // function handleSecondAlternativeClick(alternative) {\r\n // setCompareAlternative(alternative);\r\n // }\r\n\r\n const useStyles = makeStyles((theme) => ({\r\n formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: 200,\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2),\r\n },\r\n fontSelection: {\r\n fontSize: '20px',\r\n fontWeight: 'bold'\r\n }\r\n }));\r\n\r\n const classes = useStyles();\r\n\r\n function handleFunctionOutput() {\r\n const baseData = baseAlternative.forecast_data;\r\n const compareData = compareAlternative ? compareAlternative.forecast_data : null;\r\n const datasetLength = baseAlternative.forecast_data.length;\r\n let stepSize = Math.round(datasetLength / 3);\r\n let lastIndex = false\r\n\r\n if (stepSize % 2 !== 0) {\r\n stepSize--;\r\n\r\n // In case of odd value\r\n if (!!datasetLength) {\r\n lastIndex = datasetLength - 1\r\n }\r\n }\r\n const tableData = [];\r\n\r\n for (let i = 0; i < datasetLength; i = i + stepSize) {\r\n\r\n if (i < datasetLength) {\r\n const fuelSavings = compareData ? baseData[i].annual_fuel - compareData[i].annual_fuel : baseData[i].annual_fuel;\r\n const co2Savings = compareData ? baseData[i].annual_co2 - compareData[i].annual_co2 : baseData[i].annual_co2;\r\n const energySavings = compareData ? baseData[i].annual_energy - compareData[i].annual_energy : baseData[i].annual_energy;\r\n const costSavings = compareData ? baseData[i].annual_cost - compareData[i].annual_cost : baseData[i].annual_cost;\r\n\r\n tableData.push({\r\n year: baseData[i].year,\r\n fuel: fuelSavings,\r\n co2: co2Savings,\r\n energy: energySavings,\r\n cost: costSavings,\r\n });\r\n }\r\n }\r\n\r\n if (!!lastIndex) {\r\n\r\n const fuelSavingsL = compareData ? baseData[lastIndex].annual_fuel - compareData[lastIndex].annual_fuel : baseData[lastIndex].annual_fuel;\r\n const co2SavingsL = compareData ? baseData[lastIndex].annual_co2 - compareData[lastIndex].annual_co2 : baseData[lastIndex].annual_co2;\r\n const energySavingsL = compareData ? baseData[lastIndex].annual_energy - compareData[lastIndex].annual_energy : baseData[lastIndex].annual_energy;\r\n const costSavingsL = compareData ? baseData[lastIndex].annual_cost - compareData[lastIndex].annual_cost : baseData[lastIndex].annual_cost;\r\n\r\n tableData.push({\r\n year: baseData[lastIndex].year,\r\n fuel: fuelSavingsL,\r\n co2: co2SavingsL,\r\n energy: energySavingsL,\r\n cost: costSavingsL,\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n tableData.map((row, i) => {\r\n return (\r\n \r\n {Math.round(row.year)}\r\n \r\n {numberFormat(Math.round(row.fuel))}\r\n \r\n \r\n {numberFormat(Math.round(row.co2))}\r\n \r\n \r\n {numberFormat(Math.round(row.energy))}\r\n \r\n \r\n {numberFormat(Math.round(row.cost))} {currency}\r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n );\r\n }\r\n\r\n const handleChangeAcc = () => {\r\n setAccordinOpen(!accordinOpen)\r\n }\r\n // const handleClose = () => {\r\n // setOpen(false);\r\n // };\r\n // const handleOpen = () => {\r\n // setOpen(true);\r\n // };\r\n\r\n const handleChangeSelector = (event) => {\r\n const input = JSON.parse(event.target.value)\r\n if (event.target.checked) {\r\n if (compareAlternative) {\r\n setCompareAlternative([...compareAlternative.filter(c => c.alternative_id !== input.alternative_id), input])\r\n setAccordinOpen(true)\r\n }\r\n else {\r\n setCompareAlternative([input])\r\n setAccordinOpen(true)\r\n }\r\n } else {\r\n if (compareAlternative) {\r\n setCompareAlternative([...compareAlternative.filter(c => c.alternative_id !== input.alternative_id)])\r\n setAccordinOpen(true)\r\n }\r\n else {\r\n setCompareAlternative(null)\r\n setAccordinOpen(true)\r\n }\r\n }\r\n }\r\n\r\n const chartInfoData = type => {\r\n const baseYearLabels = [];\r\n const dataSets = [];\r\n\r\n const firstDataset = []\r\n baseAlternative.forecast_data.map(year => {\r\n baseYearLabels.push(year.year)\r\n if (type === 'co2') { firstDataset.push(Math.floor(year.annual_co2)) }\r\n else if (type === 'cost') { firstDataset.push(Math.floor(year.annual_cost)) }\r\n else if (type === 'energy') { firstDataset.push(Math.floor(year.annual_energy)) }\r\n else { firstDataset.push(Math.floor(year.annual_fuel)) }\r\n\r\n return year\r\n })\r\n\r\n dataSets.push({\r\n type: 'line',\r\n label: 'Base Alternative ' + baseAlternative.alternative_id,\r\n borderColor: 'rgb(54, 162, 235)',\r\n borderWidth: 2,\r\n fill: true,\r\n data: firstDataset,\r\n })\r\n if (compareAlternative) {\r\n compareAlternative.map((alternative, colorIndex) => {\r\n if (baseAlternative.alternative_id !== alternative.alternative_id) {\r\n const dataset = []\r\n alternative.forecast_data.map(year => {\r\n if (type === 'co2') { dataset.push(Math.floor(year.annual_co2)) }\r\n else if (type === 'cost') { dataset.push(year.annual_cost) }\r\n else if (type === 'energy') { dataset.push(year.annual_energy) }\r\n else { dataset.push(year.annual_fuel) }\r\n\r\n return year\r\n })\r\n dataSets.push({\r\n type: \"line\",\r\n label: \"Alternative \" + alternative.alternative_id,\r\n borderWidth: 2,\r\n borderColor: getColorForMultiChart(colorIndex),\r\n fill: false,\r\n data: dataset\r\n })\r\n }\r\n return alternative\r\n })\r\n }\r\n\r\n return {\r\n labels: baseYearLabels,\r\n datasets: dataSets\r\n }\r\n }\r\n\r\n return (\r\n \r\n\r\n {baseAlternative ? (\r\n \r\n }\r\n //onClick={handleChangeAcc}\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n >\r\n \r\n \r\n \r\n
\r\n Alternative {baseAlternative.alternative_id}: {baseAlternative.name}\r\n
\r\n \r\n \r\n
\r\n {props.savingsAlternativetables &&\r\n
\r\n \r\n
\r\n \r\n \r\n {props.savingsAlternativetables\r\n .filter(item => {\r\n return item.alternative_id !== baseAlternative.alternative_id\r\n })\r\n .map((a, index) => {\r\n return (\r\n \r\n }\r\n label={`Alignment ${a.alternative_id}: ${a.name}`}\r\n />\r\n )\r\n })}\r\n \r\n Alignment Comparison\r\n \r\n
\r\n
\r\n }\r\n \r\n {!accordinOpen ?\r\n :\r\n \r\n }\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Fuel (L)CO2 (kg)Energy (kWh)Cost
{numberFormat(Math.round(baseAlternative.forecast_data[0].annual_fuel))}{numberFormat(Math.round(baseAlternative.forecast_data[0].annual_co2))}{numberFormat(Math.round(baseAlternative.forecast_data[0].annual_energy))}{numberFormat(Math.round(baseAlternative.forecast_data[0].annual_cost))} {currency}
\r\n
\r\n
\r\n \r\n \r\n \r\n {baseAlternative && (\r\n <>\r\n \r\n \r\n \r\n {baseAlternative && (\r\n <>\r\n
\r\n Forecast\r\n
\r\n
\r\n \r\n \r\n \r\n Year\r\n Fuel (L)\r\n CO2 (kg)\r\n Energy (kWh)\r\n Cost\r\n \r\n \r\n {handleFunctionOutput()}\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n {/* */}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n )\r\n : }\r\n
\r\n );\r\n};\r\n\r\nexport default ForecastsIndividual;\r\n","import React, { useState, useEffect, useContext } from 'react'\r\nimport { toast } from 'react-toastify'\r\nimport { requestBody3 } from '../../../utils/aiRequestBodyUtils'\r\nimport { Container } from 'react-bootstrap'\r\nimport { useSelector } from 'react-redux'\r\nimport FuelSaveGlobalContext from '../../../context/FuelSaveGlobalContext'\r\nimport { compareYear } from '../../../utils/chartutils'\r\nimport './forecasts.css'\r\n// import { min } from 'moment-timezone'\r\nimport ForecastsIndividual from './ForecastsIndividual'\r\nimport SpinLoader from '../../common/SpinLoader'\r\nimport { flashErrMsg, handleRequest, presumptionObj, projectInfoToStorage } from '../../../constant/helpers'\r\nimport { MIN_YEAR } from '../../../constant'\r\nimport { colorCodes } from '../../../constant/colors'\r\nimport AlignmentPageWidget from '../summary/AlignmentPageWidget'\r\n\r\nconst { BLUE_3 } = colorCodes\r\nconst compareMin = (a, b) => {\r\n if (a.year > b.year) {\r\n return -1;\r\n }\r\n if (a.year < b.year) {\r\n return 1;\r\n }\r\n return 0;\r\n};\r\n\r\nconst compareMax = (a, b) => {\r\n if (a.year < b.year) {\r\n return -1;\r\n }\r\n if (a.year > b.year) {\r\n return 1;\r\n }\r\n return 0;\r\n};\r\n\r\nconst sliceYears = (localSavingsAlternativetables) => {\r\n const minYears = [];\r\n const maxYears = [];\r\n\r\n localSavingsAlternativetables.map((alternative) => {\r\n const forecastData = alternative.forecast_data;\r\n forecastData.sort(compareYear);\r\n const min = forecastData[0];\r\n const max = forecastData[forecastData.length - 1];\r\n if (min) {\r\n minYears.push(min);\r\n }\r\n if (max) {\r\n maxYears.push(max);\r\n }\r\n return alternative\r\n });\r\n\r\n if (minYears.length > 0 && maxYears.length > 0) {\r\n minYears.sort(compareMin);\r\n maxYears.sort(compareMax);\r\n\r\n const commonMin = minYears[0];\r\n const commonMax = maxYears[0];\r\n\r\n const slicedAlternativeTables = [];\r\n localSavingsAlternativetables.map((alternative) => {\r\n // find min index\r\n\r\n let continueLoop = true;\r\n let index = 0;\r\n let minIndex = 0;\r\n let maxIndex = 0;\r\n\r\n while (continueLoop) {\r\n const fd = alternative.forecast_data[index];\r\n if (!fd) {\r\n continueLoop = false;\r\n }\r\n if (fd && fd.year === commonMin.year) {\r\n minIndex = index;\r\n continueLoop = false;\r\n }\r\n index++;\r\n }\r\n\r\n index = alternative.forecast_data.length - 1;\r\n continueLoop = true;\r\n\r\n while (continueLoop) {\r\n const fd = alternative.forecast_data[index];\r\n if (!fd) {\r\n continueLoop = false;\r\n }\r\n if (fd && fd.year === commonMax.year) {\r\n maxIndex = index;\r\n continueLoop = false;\r\n }\r\n index--;\r\n }\r\n\r\n const slicedAlternativeForecast = alternative.forecast_data.slice(\r\n minIndex,\r\n maxIndex + 1\r\n );\r\n\r\n slicedAlternativeTables.push({\r\n name: alternative.name,\r\n alternative_id: alternative.alternative_id,\r\n forecast_data: slicedAlternativeForecast,\r\n });\r\n return alternative\r\n });\r\n\r\n return slicedAlternativeTables;\r\n } else {\r\n return [];\r\n }\r\n};\r\n\r\nconst Forecasts = () => {\r\n const {\r\n // mapCoordinateId, setMapCoordinateId,\r\n // mapCentreIdData, setMapCentreIdData,\r\n // chainage,\r\n // setChainage,\r\n // fcCar,\r\n // setFcCar,\r\n // fcTrucks,\r\n // setFcTrucks,\r\n // hilliness,\r\n // setHilliness,\r\n // speedProfileCars,\r\n // setSpeedProfileCars,\r\n // speedProfileTrucks,\r\n // setSpeedProfileTrucks,\r\n // zlevel,\r\n // setZlevel,\r\n // curvature,\r\n // setCurvature,\r\n // segment,\r\n // setSegment,\r\n // mapCentreIdData,\r\n // setMapCentreIdData,\r\n // previousMapCentreIdData,\r\n // setPreviousMapCentreIdData,\r\n // editSectionalAnalysisChart,\r\n // setEditSectionalAnalysisChart,\r\n isLoading, setIsLoading,\r\n globalProjectNumber,\r\n // globalBrandCrumb, \r\n setGlobalBrandCrumb\r\n } = useContext(FuelSaveGlobalContext);\r\n const { carConfig, truckConfig } = useSelector(state => state.global)\r\n const { alignments, isProcessing } = useSelector(state => state.alignments)\r\n const { presumptions } = useSelector(state => state.presumptions)\r\n\r\n const [savingsAlternativetables, setSavingsAlternativetables] = useState(null);\r\n\r\n const getDailyData = async (\r\n startYearData,\r\n endYearData,\r\n segmentsDir1,\r\n segmentsDir2,\r\n segmentsDataDir1,\r\n segmentsDataDir2,\r\n presumptionsData,\r\n index\r\n ) => {\r\n const presumptions = presumptionObj(presumptionsData[0])\r\n\r\n const startYear = startYearData ? startYearData : MIN_YEAR;\r\n const endYear = endYearData ? endYearData : 2041;\r\n\r\n const requestBodyDir1 = {\r\n return_option: 3,\r\n start_year: startYear,\r\n end_year: endYear,\r\n // end_year: startYear + 20, //TODO: A temp fix\r\n fuel_distribution_cars: carConfig,\r\n fuel_distribution_trucks: truckConfig,\r\n sensitivity_param_factors: {\r\n speed: 1,\r\n fuelprice: 1,\r\n emission: 1,\r\n AADTheavy: 1,\r\n },\r\n presumptions: presumptions,\r\n segments: segmentsDir1,\r\n segments_data: segmentsDataDir1,\r\n };\r\n\r\n const requestBodyDir2 = {\r\n return_option: 3,\r\n start_year: startYear,\r\n end_year: endYear, //TODO: A temp fix\r\n // end_year: startYear + 20,\r\n fuel_distribution_cars: carConfig,\r\n fuel_distribution_trucks: truckConfig,\r\n sensitivity_param_factors: {\r\n speed: 1,\r\n fuelprice: 1,\r\n emission: 1,\r\n AADTheavy: 1,\r\n },\r\n presumptions: presumptions,\r\n segments: segmentsDir2,\r\n segments_data: segmentsDataDir2,\r\n };\r\n\r\n const urlToken = process.env.REACT_APP_AI_FUNCTION_URL + '/api/HttpTrigger1?code=' + process.env.REACT_APP_AI_FUNCTION_API_KEY;\r\n\r\n try {\r\n setIsLoading(true)\r\n const [responseDir1, responseDir2] = await Promise.all([\r\n handleRequest('post', urlToken, endYear ? requestBodyDir1 : requestBody3, 'application/json', 'application/json'),\r\n handleRequest('post', urlToken, endYear ? requestBodyDir2 : requestBody3, 'application/json', 'application/json'),\r\n ])\r\n\r\n setIsLoading(false)\r\n return [responseDir1, responseDir2];\r\n\r\n } catch (err) {\r\n // throw new Error('Unable to get a response.')\r\n flashErrMsg(err)\r\n setIsLoading(false)\r\n return null;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n async function setData() {\r\n const globalProjInfo = projectInfoToStorage()\r\n if (!globalProjInfo || (!!globalProjInfo && (!globalProjInfo.start_year || !globalProjInfo.end_year))) {\r\n toast.error('Start/End year value not found with this project')\r\n return\r\n }\r\n if (!alignments || !presumptions || !globalProjInfo || !carConfig || !truckConfig) {\r\n return\r\n }\r\n\r\n setIsLoading(true)\r\n const localSavingsAlternativetables = [];\r\n\r\n for (let index = 0; index < alignments.length; index++) {\r\n const alternative = alignments[index];\r\n\r\n const dailyData = await getDailyData(\r\n globalProjInfo.start_year,\r\n globalProjInfo.end_year,\r\n alternative.directions[0].segments,\r\n alternative.directions[1].segments,\r\n alternative.directions[0].segments_data,\r\n alternative.directions[1].segments_data,\r\n presumptions,\r\n index\r\n );\r\n\r\n if (!dailyData || (!!dailyData && (!dailyData[0] || !dailyData[1]))) {\r\n return false\r\n }\r\n\r\n const responseDir1 = dailyData[0];\r\n const responseDir2 = dailyData[1];\r\n\r\n const year = responseDir1.data.year;\r\n\r\n const forecastData = [];\r\n year.map((yr, idx) => {\r\n if (yr <= globalProjInfo.end_year) { //TODO: A temp fix calculation problem\r\n const annual_co2 =\r\n responseDir1.data.annual_co2[idx] +\r\n responseDir2.data.annual_co2[idx];\r\n const annual_cost =\r\n responseDir1.data.annual_cost[idx] +\r\n responseDir2.data.annual_cost[idx];\r\n const annual_energy =\r\n responseDir1.data.annual_energy[idx] +\r\n responseDir2.data.annual_energy[idx];\r\n const annual_fuel =\r\n responseDir1.data.annual_fuel[idx] +\r\n responseDir2.data.annual_fuel[idx];\r\n\r\n forecastData.push({ year: yr, annual_co2, annual_cost, annual_energy, annual_fuel })\r\n }\r\n return yr\r\n });\r\n\r\n localSavingsAlternativetables.push({\r\n name: alternative.name,\r\n alternative_id: alternative.alternative_id,\r\n forecast_data: forecastData\r\n });\r\n }\r\n\r\n const slicedAlternativeTables = sliceYears(localSavingsAlternativetables);\r\n\r\n setSavingsAlternativetables(slicedAlternativeTables);\r\n setIsLoading(false)\r\n }\r\n\r\n setData();\r\n\r\n // eslint-disable-next-line\r\n }, [alignments, presumptions, carConfig, truckConfig]);\r\n\r\n useEffect(() => {\r\n //setBaseAlternative(null);\r\n setSavingsAlternativetables(null);\r\n }, [globalProjectNumber])\r\n\r\n useEffect(() => {\r\n setGlobalBrandCrumb(\"Forecasts\")\r\n\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n\r\n if (!!isLoading || !!isProcessing) {\r\n return \r\n }\r\n\r\n return (\r\n \r\n {savingsAlternativetables &&\r\n <>\r\n
Forecasts
\r\n {savingsAlternativetables.map((a, altIndex) => (\r\n \r\n ))}\r\n {!!savingsAlternativetables && !!savingsAlternativetables.length && }\r\n }\r\n
\r\n );\r\n};\r\n\r\nexport default Forecasts;\r\n","import React, { useState, useEffect, useRef, useContext } from \"react\"\r\nimport Map from \"ol/Map.js\";\r\nimport View from \"ol/View.js\";\r\nimport XYZ from 'ol/source/XYZ';\r\nimport TileLayer from 'ol/layer/Tile';\r\nimport * as proj from \"ol/proj\";\r\nimport Overlay from 'ol/Overlay.js';\r\nimport Select from 'ol/interaction/Select';\r\nimport { Button } from \"react-bootstrap\";\r\nimport axios from \"axios\";\r\nimport { createPointLayer } from '../../../../utils/maputils';\r\nimport FuelSaveGlobalContext from '../../../../context/FuelSaveGlobalContext';\r\nimport { replaceCordiStr } from \"../../../../constant/helpers\";\r\nimport './map.css';\r\n\r\nconst getCentreCoord = (directions) => {\r\n const segments_data = directions.segments_data\r\n const length = Math.floor(segments_data.length / 2)\r\n const first_geom = segments_data[length].geom;\r\n const centreCoord = JSON.parse(replaceCordiStr(first_geom));\r\n return centreCoord;\r\n}\r\n\r\nconst InputMap = ({ directions, isNewSegEnable, setSegmentModalShow }) => {\r\n const {\r\n editMap, apiAccessToken,\r\n mapCoordinateId, setMapCoordinateId\r\n } = useContext(FuelSaveGlobalContext)\r\n\r\n const overlayRef = useRef(null);\r\n const segments = directions.segments\r\n const segments_data = directions.segments_data\r\n\r\n const centreCoord = getCentreCoord(directions);\r\n const posCentre = proj.fromLonLat(centreCoord.coordinates);\r\n\r\n const view = new View({ center: posCentre, zoom: 11 });\r\n\r\n function customLoader(tile, src) {\r\n axios({\r\n method: 'get',\r\n url: src,\r\n headers: {\r\n 'Authorization': `Bearer ${apiAccessToken.accessToken}`\r\n }\r\n }).then((response) => {\r\n tile.getImage().src = response.data;\r\n })\r\n }\r\n\r\n let urlVal = process.env.REACT_APP_API_URL\r\n urlVal = urlVal.replace('/graphql', '')\r\n\r\n const XYZSource = new XYZ({\r\n url: `${urlVal}/apimaptiler/?url=api.maptiler.com/maps/voyager/{z}/{x}/{y}.png`\r\n })\r\n XYZSource.setTileLoadFunction(customLoader);\r\n\r\n const bgLayer = new TileLayer({ source: XYZSource });\r\n\r\n const [map] = useState(\r\n new Map({\r\n target: null,\r\n layers: [bgLayer\r\n ],\r\n view: view,\r\n pixelRatio: 1.0\r\n })\r\n );\r\n\r\n useEffect(() => {\r\n\r\n var layersToRemove = [];\r\n map.getLayers().forEach(function (layer) {\r\n\r\n if (layer.get('name') !== undefined && layer.get('name').includes('pointlayer')) {\r\n layersToRemove.push(layer)\r\n }\r\n })\r\n\r\n var len = layersToRemove.length;\r\n for (var i = 0; i < len; i++) {\r\n map.removeLayer(layersToRemove[i]);\r\n }\r\n\r\n // INIT POINTS\r\n const mapLayers = createPointLayer(segments_data, segments);\r\n\r\n mapLayers.map(lyr => {\r\n map.addLayer(lyr)\r\n return lyr\r\n });\r\n\r\n var select = null;\r\n var selectSingleClick = new Select();\r\n\r\n // Basic overlay to show where i want the new center to be\r\n const overlay = new Overlay({\r\n position: posCentre,\r\n element: overlayRef.current,\r\n positioning: \"center-center\",\r\n stopEvent: false\r\n });\r\n\r\n map.addOverlay(overlay);\r\n map.on('singleclick', function (evt) {\r\n var coordinate = evt.coordinate;\r\n overlay.setPosition(coordinate)\r\n });\r\n\r\n if (select !== null) {\r\n map.removeInteraction(select)\r\n }\r\n select = selectSingleClick;\r\n\r\n if (select !== null) {\r\n map.addInteraction(select);\r\n select.on('select', function (e) {\r\n // show on map\r\n if (e.selected[0]) {\r\n setMapCoordinateId(e.selected[0].values_.geom_order_id - 1);\r\n } else {\r\n setMapCoordinateId(null);\r\n }\r\n });\r\n }\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n\r\n\r\n // USE EFFCT\r\n\r\n useEffect(() => {\r\n\r\n map.setTarget('map');\r\n if (editMap === true) {\r\n\r\n // remove old point layers \r\n var layersToRemove = [];\r\n map.getLayers().forEach(function (layer) {\r\n if (layer.get('name') !== undefined && layer.get('name').includes('pointlayer')) {\r\n layersToRemove.push(layer)\r\n }\r\n })\r\n\r\n var len = layersToRemove.length;\r\n for (var i = 0; i < len; i++) {\r\n map.removeLayer(layersToRemove[i]);\r\n }\r\n\r\n const mapLayers = createPointLayer(segments_data, segments)\r\n\r\n mapLayers.map(lyr => {\r\n map.addLayer(lyr)\r\n return lyr\r\n })\r\n\r\n return () => {\r\n map.setTarget(null);\r\n };\r\n }\r\n // eslint-disable-next-line\r\n }, [editMap, isNewSegEnable])\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {(mapCoordinateId !== null) && editMap && }\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default InputMap","import { gql } from '@apollo/client';\r\nimport { alternativeQueryParentBlock, singleAlternativeQueryParentBlock } from './alignment';\r\n\r\nexport const UPDATE_SEGMENT = gql`\r\nmutation updateSegment($segment_id:ID!, $data:UpdateSegmentInput!) {\r\n updateSegment(segment_id:$segment_id, data:$data) {\r\n segment_id\r\n directions_id\r\n year\r\n aadt_cars\r\n aadt_trucks\r\n aadt_trucks_with_trailer\r\n annual_increase_cars\r\n annual_increase_heavy\r\n start_index\r\n }\r\n}`;\r\n\r\n\r\nexport const UPDATE_ALTERNATIVE = gql`\r\nmutation updateAlternative($alternative_id:ID!, $data:UpdateAlternativeInput!) { \r\n updateAlternative( alternative_id:$alternative_id, data:$data) {\r\n alternative_id\r\n name\r\n }\r\n}`;\r\n\r\n\r\nexport const POST_SEGMENT = gql`\r\nmutation \r\naddSegment($new_segment:AddSegmentSegmentsInput!){\r\n addSegment(new_segment:$new_segment) {\r\n segment_id\r\n directions_id\r\n year\r\n aadt_cars\r\n aadt_trucks\r\n aadt_trucks_with_trailer\r\n annual_increase_cars\r\n annual_increase_heavy\r\n start_index\r\n }\r\n}`;\r\n\r\nexport const DELETE_SEGMENT = gql`\r\nmutation \r\ndeleteSegment($segment_id:ID!) {\r\n deleteSegment(segment_id:$segment_id){\r\n segment_id\r\n directions_id\r\n year\r\n aadt_cars\r\n aadt_trucks\r\n aadt_trucks_with_trailer\r\n annual_increase_cars\r\n annual_increase_heavy\r\n start_index\r\n }\r\n}`;\r\n\r\nexport const POST_ALTERNATIVE = gql`\r\nmutation\r\n addAlternative( $project_id: ID!, $dir1:[AddAlternativeDirInput!]!, $dir2:[AddAlternativeDirInput!]!) {\r\n addAlternative(project_id:$project_id, dir1:$dir1, dir2:$dir2){\r\n alternative_id\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport const GET_VALUES = gql`\r\nquery GetAlternatives($project_id: ID!) {\r\n projects(project_ids: [$project_id]) {\r\n ${alternativeQueryParentBlock(1, `\r\n alternative_id\r\n name\r\n geom\r\n ts_uploaded_on\r\n directions{\r\n directions_id\r\n direction\r\n segments{\r\n segment_id \r\n directions_id\r\n year\r\n aadt_cars\r\n aadt_trucks\r\n aadt_trucks_with_trailer\r\n annual_increase_cars\r\n annual_increase_heavy\r\n start_index\r\n }\r\n segments_data{\r\n segment_data_id\r\n geom_order_id\r\n directions_id\r\n chainage\r\n zlevel\r\n radius\r\n a_intersection\r\n geom\r\n }\r\n }\r\n `)}\r\n }\r\n}`;\r\n\r\nexport const GET_ALTERNATIVE_BY_ID = (altId) => gql`\r\nquery GetAlternatives($project_id: ID!) {\r\n projects(project_ids: [$project_id]) {\r\n ${singleAlternativeQueryParentBlock(`\r\n alternative_id\r\n name\r\n geom\r\n ts_uploaded_on\r\n directions{\r\n directions_id\r\n direction\r\n segments{\r\n segment_id \r\n directions_id\r\n year\r\n aadt_cars\r\n aadt_trucks\r\n aadt_trucks_with_trailer\r\n annual_increase_cars\r\n annual_increase_heavy\r\n start_index\r\n }\r\n segments_data{\r\n segment_data_id\r\n geom_order_id\r\n directions_id\r\n chainage\r\n zlevel\r\n radius\r\n a_intersection\r\n geom\r\n }\r\n }\r\n `, altId)}\r\n }\r\n}`;","import React, { useState, useContext } from 'react'\r\nimport { Modal, Form, Button } from 'react-bootstrap'\r\nimport { useQuery, useMutation } from '@apollo/client'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport FuelSaveGlobalContext from '../../../../context/FuelSaveGlobalContext'\r\nimport { GET_VALUES, UPDATE_ALTERNATIVE } from '../../../../utils/apolloutils'\r\nimport { setAllAlignments } from '../../../../actions/alignment'\r\n\r\nconst EditPopUp = ({ show, onHide, alternative }) => {\r\n\r\n const dispatch = useDispatch()\r\n const { alignments } = useSelector(state => state.alignments)\r\n const { globalProjectNumber } = useContext(FuelSaveGlobalContext)\r\n const alternateId = !!alternative ? alternative : {}\r\n const [aName, setAName] = useState(alternateId.name || '');\r\n const { // loading, error, \r\n data } = useQuery(GET_VALUES, {\r\n variables: {\r\n project_id: globalProjectNumber\r\n }\r\n });\r\n\r\n const refreshAlternatives = newAlt => {\r\n const updatedRec = newAlt.find(item => (item.alternative_id === alternative.alternative_id))\r\n if (!!alignments && !!alignments.length) {\r\n const newResp = alignments.map((item, idx) => {\r\n if (item.alternative_id === alternative.alternative_id) {\r\n return {\r\n ...item,\r\n ...(!!updatedRec && { ...updatedRec })\r\n }\r\n }\r\n return item\r\n })\r\n dispatch(setAllAlignments(newResp))\r\n }\r\n }\r\n\r\n const [updateAlternative, { loading: mutationLoading }] = useMutation(UPDATE_ALTERNATIVE, {\r\n onCompleted: ((data) => {\r\n onHide()\r\n refreshAlternatives(data.updateAlternative)\r\n })\r\n })\r\n\r\n\r\n const handleInputChange = (name, e) => {\r\n const value = e.target.value;\r\n\r\n switch (name) {\r\n case 'name':\r\n setAName(value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n const validateInput = name => {\r\n switch (name) {\r\n case 'name':\r\n return !aName\r\n default:\r\n return false\r\n }\r\n }\r\n\r\n const isFormValid = () => {\r\n let isValid = true\r\n const fields = ['name', 'start_year', 'end_year']\r\n for (var i = 0; i <= fields.length; i++) {\r\n if (!!validateInput(fields[i])) {\r\n isValid = false\r\n break;\r\n }\r\n }\r\n return isValid\r\n }\r\n\r\n const handleUpdateAlternative = async (e, id, oldName) => {\r\n e.preventDefault()\r\n updateAlternative(\r\n {\r\n variables: {\r\n alternative_id: id,\r\n data: {\r\n name: aName ? aName : oldName\r\n }\r\n },\r\n refetchQueries: [{\r\n query: GET_VALUES,\r\n variables: {\r\n project_id: globalProjectNumber\r\n }\r\n }]\r\n }\r\n )\r\n }\r\n\r\n const alignmentResp = (!!data && !!data.projects && !!data.projects[0] && !!data.projects[0].alternatives\r\n && !!data.projects[0].alternatives.node && !!data.projects[0].alternatives.node[0]) ?\r\n data.projects[0].alternatives.node[0] : false\r\n return (\r\n (!!alignmentResp && \r\n \r\n \r\n {`Edit Alternative: ${alignmentResp.alternative_id}`}\r\n \r\n \r\n \r\n
handleUpdateAlternative(e, alternative.alternative_id, alternative.name)}>\r\n \r\n Name\r\n handleInputChange('name', e)} isInvalid={validateInput('name')} />\r\n Please enter valid 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\nexport default EditPopUp","import React, { useEffect, useRef } from 'react'\r\nimport './index.scss'\r\n\r\nconst ConfirmAlertPopup = ({\r\n title = 'Are you sure?',\r\n message = 'You want to delete this file?',\r\n onConfirm, onClose\r\n}) => {\r\n const wrapperRef = useRef()\r\n\r\n const handleClickOutside = event => {\r\n if (!!wrapperRef &&\r\n (wrapperRef.current !== null) &&\r\n !wrapperRef.current.contains(event.target)) {\r\n onClose()\r\n }\r\n }\r\n\r\n const handleKeyDown = e => {\r\n if (((e.keyCode === 27) ||\r\n (e.key === 'Escape') ||\r\n (e.key === 'Esc'))) {\r\n onClose()\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n document.addEventListener('mousedown', handleClickOutside)\r\n document.addEventListener('keydown', handleKeyDown)\r\n return () => {\r\n document.removeEventListener('mousedown', handleClickOutside)\r\n document.removeEventListener('keydown', handleKeyDown)\r\n }\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n return (\r\n
\r\n
\r\n \"FuelSave\"\r\n

{title}

\r\n

{message}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ConfirmAlertPopup","import React, { useContext, useEffect, useState } from 'react'\r\nimport { Modal, Form, Container, Button, Row, Col } from 'react-bootstrap'\r\nimport { getStartDistanceToSegment } from '../../../../constant/helpers'\r\nimport FuelSaveGlobalContext from '../../../../context/FuelSaveGlobalContext'\r\nimport './editpopup.scss'\r\n\r\nconst AddEditSegmentForm = ({\r\n minChainage, maxChainage, stepValue,\r\n isEdit = false, segIdx, handleSubmit,\r\n show, onHide, segment, handleInputChange,\r\n alternativeData, segData\r\n}) => {\r\n const { mapCoordinateId, setMapCoordinateId } = useContext(FuelSaveGlobalContext)\r\n const [startDis, setStartDis] = useState(getStartDistanceToSegment((!!isEdit ? segment[segIdx].start_index : mapCoordinateId), segData))\r\n\r\n const [isValid, setIsValid] = useState(false)\r\n\r\n const handleStartDis = e => {\r\n const { value } = e.target\r\n setStartDis(value)\r\n }\r\n\r\n useEffect(() => {\r\n if ((startDis % stepValue) === 0) {\r\n setIsValid(true)\r\n const newMapCord = segData.findIndex(a => (a.chainage === parseInt(startDis)))\r\n if (newMapCord !== 'undefined') {\r\n setMapCoordinateId(newMapCord)\r\n }\r\n } else {\r\n setIsValid(false)\r\n }\r\n\r\n // eslint-disable-next-line\r\n }, [startDis])\r\n\r\n return (\r\n \r\n \r\n {!!isEdit ? 'Edit' : 'New'} Segment\r\n \r\n \r\n \r\n
handleSubmit(e, (!!isEdit ? segment[segIdx] : alternativeData), segment.length)}>\r\n \r\n \r\n \r\n Segment\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 \r\n \r\n SegmentAadt\r\n handleInputChange('segmentUpdateAadt', e)} disabled />\r\n \r\n \r\n \r\n \r\n % Heavy\r\n handleInputChange('segmentUpdatePrcHeavy', e)} />\r\n \r\n \r\n \r\n {\r\n (segment.length > 1) &&\r\n \r\n \r\n \r\n Start Distance - (Min: {minChainage} Max: {maxChainage})\r\n handleStartDis(e)}\r\n isInvalid={!isValid}\r\n />\r\n Value should be in between {minChainage} and {maxChainage} and dividable with {stepValue}\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n Cars\r\n handleInputChange('segmentUpdateCars', e)} />\r\n \r\n \r\n \r\n \r\n Trucks\r\n handleInputChange('segmentUpdateTrucks', e)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Trucks + T\r\n handleInputChange('segmentUpdateTrucksWt', e)} />\r\n \r\n \r\n \r\n \r\n Annual Increase Cars\r\n handleInputChange('annualIncCars', e)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Annual Increase Heavy\r\n handleInputChange('annualIncHeavy', e)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default AddEditSegmentForm","import React, { useState, useContext } from 'react'\r\nimport {\r\n Col,\r\n Container,\r\n // Card,\r\n Button,\r\n Row,\r\n Table,\r\n ButtonGroup,\r\n // ToggleButtonGroup,\r\n ToggleButton\r\n} from \"react-bootstrap\";\r\nimport { confirmAlert } from 'react-confirm-alert';\r\nimport { useQuery, useMutation } from '@apollo/client';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport InputMap from './InputMap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport './settings.css';\r\nimport FuelSaveGlobalContext from '../../../../context/FuelSaveGlobalContext';\r\nimport { UPDATE_SEGMENT, POST_SEGMENT, DELETE_SEGMENT, GET_ALTERNATIVE_BY_ID } from '../../../../utils/apolloutils';\r\n// import { currentSegmentNumber, splitSegments } from './segmentutils';\r\nimport EditPopUp from './EditPopUp'\r\n\r\n\r\n//Material UI Imports\r\nimport Accordion from '@material-ui/core/Accordion';\r\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\r\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport { correctAlternativeForMap } from \"./../../../../utils/maputils\"\r\nimport SpinLoader from '../../../common/SpinLoader';\r\nimport ConfirmAlertPopup from '../../../common/ConfirmAlertPopup';\r\nimport { setAlignmentInfo, setAllAlignments } from '../../../../actions/alignment';\r\nimport { getMinMaxChainageVal, getStartDistanceToSegment, getStepValue } from '../../../../constant/helpers';\r\nimport AddEditSegmentForm from './AddEditSegmentForm';\r\n\r\n\r\nconst TrafficInputForm = ({ alternative_id }) => {\r\n const {\r\n editMap, setEditMap,\r\n mapCoordinateId,\r\n globalProjectNumber,\r\n } = useContext(FuelSaveGlobalContext);\r\n\r\n const { t } = useTranslation();\r\n const dispatch = useDispatch()\r\n const [direction, setDirection] = useState(0);\r\n const { alignmentInfo, alignments } = useSelector(state => state.alignments)\r\n\r\n const { loading: fetchLoading, error } = useQuery(GET_ALTERNATIVE_BY_ID(alternative_id), {\r\n fetchPolicy: \"network-only\", // Warning: This causes the page to refetch a lot. Please check\r\n variables: {\r\n project_id: globalProjectNumber\r\n },\r\n onCompleted: ((data) => {\r\n const alignmentResp = !!data && !!data.projects && !!data.projects[0] && !!data.projects[0].alternatives ?\r\n data.projects[0].alternatives : false\r\n if (!!alignmentResp && !!alignmentResp.node) {\r\n const filteredAlignments = correctAlternativeForMap(alignmentResp.node)\r\n dispatch(setAlignmentInfo(filteredAlignments[0]))\r\n }\r\n })\r\n });\r\n\r\n\r\n //const data = props.data\r\n // const [updateAlternative,\r\n // { loading: updateMutationLoading, error: updateMutationError }\r\n // ] = useMutation(UPDATE_ALTERNATIVE);\r\n\r\n const refreshSegments = newSeg => {\r\n if (!!alignmentInfo && !!Object.keys(alignmentInfo).length) {\r\n const alignmentInfoObj = alignmentInfo\r\n if (!!alignmentInfoObj && !!alignmentInfoObj.directions) {\r\n alignmentInfoObj.directions[direction].segments = newSeg\r\n }\r\n dispatch(setAlignmentInfo(alignmentInfoObj))\r\n\r\n let allAlignments = alignments.map(a => {\r\n if (parseInt(a.alternative_id) === parseInt(alternative_id)) {\r\n return alignmentInfoObj\r\n }\r\n return a\r\n })\r\n dispatch(setAllAlignments(allAlignments))\r\n }\r\n }\r\n\r\n const [updateSegment,\r\n { loading: updateSegmentMutationLoading, error: updateSegmentMutationError }\r\n ] = useMutation(UPDATE_SEGMENT, {\r\n onCompleted: ((data) => {\r\n refreshSegments(data.updateSegment)\r\n })\r\n });\r\n\r\n const [addSegment,\r\n { loading: postMutationLoading, error: postMutationError }\r\n ] = useMutation(POST_SEGMENT, {\r\n onCompleted: ((data) => {\r\n refreshSegments(data.addSegment)\r\n })\r\n });\r\n\r\n const [deleteSegment,\r\n { loading: postDeleteMutationLoading, error: postDeleteMutationError }\r\n ] = useMutation(DELETE_SEGMENT, {\r\n onCompleted: ((data) => {\r\n refreshSegments(data.deleteSegment)\r\n })\r\n });\r\n\r\n // choose direction \r\n // const [openAlternative, setOpenAlternative] = useState(false);\r\n // const [alternativeId, setAlternativeId] = useState(0);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [segmentModalShow, setSegmentModalShow] = useState(false);\r\n const [segmentIndex, setSegmentIndex] = useState(0);\r\n\r\n\r\n // default constant values\r\n const defaultSegmentAadt = 20000\r\n const defaultSegmentPrcHeavy = 15;\r\n const defaultAnnualIncCars = 1;\r\n const defaultAnnualIncHeavy = 1.5;\r\n\r\n // update variables \r\n // const [segmentAadt, setSegmentAadt] = useState(defaultSegmentAadt);\r\n // const [prcHeavy, setPrcHeavy] = useState(defaultSegmentPrcHeavy);\r\n const [cars, setCars] = useState(defaultSegmentAadt * (100 - defaultSegmentPrcHeavy) / 100);\r\n const [trucks, setTrucks] = useState((defaultSegmentAadt * (defaultSegmentPrcHeavy) / 100) * (2 / 3));\r\n const [trucksWt, setTrucksWt] = useState((defaultSegmentAadt * (defaultSegmentPrcHeavy) / 100) * (1 / 3));\r\n const [annualIncCars, setAnnualIncCars] = useState(defaultAnnualIncCars);\r\n const [annualIncHeavy, setAnnualIncHeavy] = useState(defaultAnnualIncHeavy);\r\n // const [aName, setAName] = useState();\r\n // const [aStartYear, setAStartYear] = useState();\r\n // const [aEndYear, setAEndYear] = useState();\r\n // const [localAlternative, setLocalAlternative] = useState('');\r\n\r\n // segment update variables\r\n // const [segmentUpdateAadt, setSegmentUpdateAadt] = useState(null);\r\n // const [segmentUpdatePrcHeavy, setSegmentUpdatePrcHeavy] = useState(null);\r\n\r\n const [segmentToEdit, setSegmentToEdit] = useState(null);\r\n\r\n // useEffect(() => {\r\n // console.log(data)\r\n // setLocalAlternative(data)\r\n // if (data){\r\n // data.projects[0].alternatives.map((element)=>{\r\n // console.log(element)\r\n // })}\r\n // }, [data])\r\n\r\n\r\n if (error) return

Error fetching data

;\r\n\r\n // if (updateMutationLoading) return \"Loading;\r\n // if (updateMutationError) return

Unable to update alternative

;\r\n\r\n if (postMutationError) return

Unable to add segment

;\r\n if (updateSegmentMutationError) return

Unable to update segment

;\r\n\r\n if (postDeleteMutationError) return

Unable to delete segment...

\r\n\r\n const toggleEditMap = () => {\r\n // setSegmentAadt(defaultSegmentAadt);\r\n // setPrcHeavy(defaultSegmentPrcHeavy);\r\n setCars(defaultSegmentAadt * (100 - defaultSegmentPrcHeavy) / 100);\r\n setTrucks((defaultSegmentAadt * (defaultSegmentPrcHeavy) / 100) * (2 / 3));\r\n setTrucksWt((defaultSegmentAadt * (defaultSegmentPrcHeavy) / 100) * (1 / 3));\r\n setAnnualIncCars(defaultAnnualIncCars);\r\n setAnnualIncHeavy(defaultAnnualIncHeavy);\r\n setEditMap(!editMap);\r\n }\r\n\r\n const untoggleEditMap = () => {\r\n setEditMap(!editMap);\r\n }\r\n\r\n const toggleSegmentEdit = (segment_id, i) => {\r\n\r\n // setSegmentUpdateAadt(null);\r\n // setSegmentUpdatePrcHeavy(null);\r\n setCars(null);\r\n setTrucks(null);\r\n setTrucksWt(null);\r\n setAnnualIncCars(null);\r\n setAnnualIncHeavy(null);\r\n setSegmentModalShow(true)\r\n setSegmentIndex(i)\r\n\r\n setSegmentToEdit(segment_id);\r\n }\r\n\r\n\r\n const handleInputChange = (name, e) => {\r\n const value = e.target.value;\r\n\r\n switch (name) {\r\n // alternative values\r\n // case 'name':\r\n // setAName(value);\r\n // break;\r\n // case 'start_year':\r\n // setAStartYear(value);\r\n // break;\r\n // case 'end_year':\r\n // setAEndYear(value);\r\n // break;\r\n // segment values\r\n // case 'year':\r\n // setYear(value);\r\n // break;\r\n // case 'segmentAadt':\r\n // setSegmentAadt(cars + trucks + trucksWt)\r\n // break;\r\n case 'segmentUpdateCars':\r\n setCars(value);\r\n // setSegmentAadt(value + trucks + trucksWt)\r\n // setPrcHeavy(Math.round((trucks + trucksWt) / (value + trucks + trucksWt)) * 100)\r\n break;\r\n case 'segmentUpdateTrucks':\r\n setTrucks(value);\r\n // setSegmentAadt(cars + value + trucksWt)\r\n // setPrcHeavy(Math.round((value + trucksWt) / (cars + value + trucksWt)) * 100)\r\n break;\r\n case 'segmentUpdateTrucksWt':\r\n setTrucksWt(value);\r\n // setSegmentAadt(cars + trucks + value)\r\n // setPrcHeavy(Math.round((trucks + value) / (cars + trucks + value)) * 100)\r\n break;\r\n // case 'prcHeavy':\r\n // setPrcHeavy(Math.round((trucks + trucksWt) / (cars + trucks + trucksWt)) * 100);\r\n // // setCars(segmentAadt * (100 - value) / 100);\r\n // // setTrucks((segmentAadt * (value) / 100) * (2 / 3));\r\n // // setTrucksWt((segmentAadt * (value) / 100) * (1 / 3));\r\n // break;\r\n // case 'segmentUpdateAadt':\r\n // setSegmentUpdateAadt(cars + trucks + value);\r\n // break;\r\n // case 'segmentUpdatePrcHeavy':\r\n // setSegmentUpdatePrcHeavy(Math.round((trucks + trucksWt) / (cars + trucks + trucksWt)) * 100);\r\n // break;\r\n case 'cars':\r\n setCars(value);\r\n // setSegmentAadt(value + trucks + trucksWt)\r\n // setPrcHeavy(Math.round((trucks + trucksWt) / (value + trucks + trucksWt)) * 100)\r\n break;\r\n case 'trucks':\r\n setTrucks(value);\r\n // setSegmentAadt(cars + value + trucksWt)\r\n // setPrcHeavy(Math.round((value + trucksWt) / (cars + value + trucksWt)) * 100)\r\n break;\r\n case 'trucksWt':\r\n setTrucksWt(value);\r\n // setSegmentAadt(cars + trucks + value)\r\n // setPrcHeavy(Math.round((trucks + value) / (cars + trucks + value)) * 100)\r\n break;\r\n case 'annualIncCars':\r\n setAnnualIncCars(value);\r\n break;\r\n case 'annualIncHeavy':\r\n setAnnualIncHeavy(value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n const handleDeleteSegment = async ({ segment_id }) => {\r\n deleteSegment({\r\n variables: {\r\n segment_id,\r\n //segment_data: updatedSegmentData,\r\n //old_segments: updatedSegments,\r\n }\r\n })\r\n }\r\n\r\n const handleOnHide = () => {\r\n setSegmentModalShow(false)\r\n setSegmentToEdit(null)\r\n }\r\n\r\n const handleSegFormSubmit = (e, info, segLength = 0) => {\r\n e.preventDefault()\r\n if (segmentToEdit !== null) {\r\n const { segment_id, aadt_cars, aadt_trucks, aadt_trucks_with_trailer, annual_increase_cars, annual_increase_heavy } = info\r\n updateSegment({\r\n variables: {\r\n segment_id: segment_id,\r\n data: {\r\n //aadt: segmentUpdateAadt ? parseFloat(segmentUpdateAadt) : aadt,\r\n //prc_heavy: segmentUpdatePrcHeavy ? parseFloat(segmentUpdatePrcHeavy) : prc_heavy,\r\n ...(segLength > 1 && { start_index: mapCoordinateId - 1 }),\r\n aadt_cars: cars ? parseFloat(cars) : aadt_cars,\r\n aadt_trucks: trucks ? parseFloat(trucks) : aadt_trucks,\r\n aadt_trucks_with_trailer: trucksWt ? parseFloat(trucksWt) : aadt_trucks_with_trailer,\r\n annual_increase_cars: annualIncCars ? parseFloat(annualIncCars) : annual_increase_cars,\r\n annual_increase_heavy: annualIncHeavy ? parseFloat(annualIncHeavy) : annual_increase_heavy\r\n }\r\n }\r\n })\r\n } else {\r\n addSegment({\r\n variables: {\r\n new_segment: {\r\n directions_id: parseInt(info.directions_id),\r\n year: parseInt(info.segments[0].year),\r\n //aadt: parseFloat(segmentAadt),\r\n //prc_heavy: parseFloat(prcHeavy),\r\n aadt_cars: parseFloat(cars),\r\n aadt_trucks: parseFloat(trucks),\r\n aadt_trucks_with_trailer: parseFloat(trucksWt),\r\n annual_increase_cars: parseFloat(annualIncCars),\r\n annual_increase_heavy: parseFloat(annualIncHeavy),\r\n start_index: (mapCoordinateId > 0) ? (mapCoordinateId - 1) : 0\r\n }\r\n }\r\n })\r\n\r\n setEditMap(false);\r\n setCars(null);\r\n setTrucks(null);\r\n setTrucksWt(null);\r\n setAnnualIncCars(null);\r\n setAnnualIncHeavy(null);\r\n }\r\n\r\n\r\n setSegmentModalShow(false)\r\n setSegmentToEdit(null)\r\n }\r\n\r\n const segData = (!!alignmentInfo && !!alignmentInfo.directions && alignmentInfo.directions[direction] && alignmentInfo.directions[direction].segments_data)\r\n ? alignmentInfo.directions[direction].segments_data : []\r\n\r\n const { minChainage, maxChainage } = getMinMaxChainageVal(segData)\r\n return (\r\n \r\n {\r\n (!!fetchLoading || !!postMutationLoading || !!updateSegmentMutationLoading || !!postDeleteMutationLoading) && \r\n }\r\n\r\n {\r\n !!alignmentInfo && Object.keys(alignmentInfo).length &&\r\n
\r\n {!!segmentModalShow &&\r\n \r\n }\r\n\r\n {!!modalShow && setModalShow(false)}\r\n />}\r\n \r\n }\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n >\r\n {!!alignmentInfo && alignmentInfo.alternative_id &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Alignment Details
NameAction
{alignmentInfo.name}\r\n \r\n
}\r\n \r\n \r\n \r\n \r\n

Segments

\r\n \r\n {/* \r\n {\r\n setDirection(0)\r\n }}>\r\n Direction 1\r\n \r\n {\r\n setDirection(1)\r\n }}>\r\n Direction 2\r\n \r\n */}\r\n \r\n { setDirection(0) }}\r\n >\r\n Direction 1\r\n \r\n { setDirection(1) }}\r\n >\r\n Direction 2\r\n \r\n \r\n \r\n \r\n {!editMap && }\r\n {editMap &&\r\n <>\r\n
Click on Map to split it and add Segment
\r\n \r\n \r\n }\r\n \r\n
\r\n \r\n {alignmentInfo.directions[direction] && }\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {alignmentInfo.directions[direction].segments.map((segment, i) => {\r\n const calculatedVal = Math.round((((segment.aadt_trucks || 0) + (segment.aadt_trucks_with_trailer || 0)) / ((segment.aadt_cars || 0) + (segment.aadt_trucks || 0) + (segment.aadt_trucks_with_trailer || 0))) * 100, 2)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
{t('Segment')}{t('Year')}{t('segmentAadt')}{t('Start Distance')}{t('% heavy')}{t('Cars')}{t('Trucks')}{t('Trucks + T')}{t('Annual Increase cars')}{t('Annual Increase heavy')}{'Edit'}
{segment.start_index} {segment.year} {(segment.aadt_cars + segment.aadt_trucks + segment.aadt_trucks_with_trailer)}{getStartDistanceToSegment(segment.start_index, segData) + ' - ' + segment.start_index}{isNaN(calculatedVal) ? '-' : calculatedVal}{segment.aadt_cars}{segment.aadt_trucks}{segment.aadt_trucks_with_trailer}{segment.annual_increase_cars}{segment.annual_increase_heavy}{}\r\n {segmentToEdit !== segment.segment_id && (segment.start_index !== 0) &&\r\n ()\r\n }\r\n {/* {segmentToEdit === segment.segment_id && segment.segment_order_no === 1 && ''} */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
)\r\n}\r\n\r\nexport default TrafficInputForm","import React, { useState, useEffect, useContext } from \"react\";\r\nimport TrafficInputFormIndividual from \"./traffic/TrafficInputFormIndividual\";\r\nimport { Tab, Container, Tabs } from \"react-bootstrap\";\r\nimport FuelSaveGlobalContext from \"../../../context/FuelSaveGlobalContext\";\r\n\r\n\r\nconst Settings = ({ match }) => {\r\n const { setGlobalBrandCrumb } = useContext(FuelSaveGlobalContext);\r\n\r\n const [key, setKey] = useState('traffic');\r\n\r\n useEffect(() => {\r\n setGlobalBrandCrumb(\"Individual Settings\")\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n return (\r\n \r\n setKey(k)}>\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Settings","import { Modal, Button } from \"react-bootstrap\"\r\n\r\nconst Popup = ({ title = \"Add Alignment\", show, onHide, children }) => (\r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default Popup","import React from 'react'\r\nimport './index.scss'\r\n\r\nconst CostCircle = () => (\r\n
\r\n
\r\n Energy\r\n
\r\n
\r\n
Cost
\r\n
\r\n
\r\n
CO2
\r\n
\r\n
\r\n)\r\n\r\nexport default CostCircle","import React, { Fragment } from 'react'\r\nimport { Form, Row } from 'react-bootstrap'\r\n\r\nconst CSVImporter = ({ inputRef }) => (\r\n \r\n \r\n Direction 1\r\n \r\n \r\n \r\n \r\n CSV format only | Max size 15 mb\r\n \r\n \r\n

-------------------------------------------------------------------------------------

\r\n \r\n Direction 2\r\n \r\n \r\n \r\n CSV format only | Max size 15 mb\r\n \r\n
\r\n)\r\n\r\nexport default CSVImporter","import React from 'react'\r\nimport './index.scss'\r\n\r\nconst LandXMLInput = ({\r\n id = '',\r\n type = 'text',\r\n name,\r\n label,\r\n value,\r\n errMsg = false,\r\n className = '',\r\n placeholder = '',\r\n handleOnFocus,\r\n handleOnBlur,\r\n handleOnChange\r\n}) => (\r\n
\r\n \r\n !!handleOnFocus && handleOnFocus(e)}\r\n onBlur={e => !!handleOnBlur && handleOnBlur(e)}\r\n onChange={e => !!handleOnChange && handleOnChange(e)}\r\n />\r\n {!!errMsg &&

{typeof errMsg === 'string' ? errMsg : errMsg[0]}

}\r\n
\r\n)\r\n\r\nexport default LandXMLInput","import React from 'react'\r\nimport './index.scss'\r\n\r\nconst LandXMLSelect = ({\r\n name,\r\n label,\r\n value,\r\n options = [],\r\n className = '',\r\n parentClassName = '',\r\n handleOnChange\r\n}) => (\r\n
\r\n \r\n \r\n
\r\n)\r\n\r\nexport default LandXMLSelect","import React, { Fragment } from 'react'\r\nimport { floatWithDeci, oppositeDir } from '../../../../constant/helpers'\r\nimport SpinLoader from '../../../common/SpinLoader'\r\nimport LandXMLInput from '../LandXMLInput'\r\nimport LandXMLSelect from '../LandXMLSelect'\r\nimport './index.scss'\r\n\r\nconst directionArr = [\r\n { name: 'East', value: 'East' },\r\n { name: 'West', value: 'West' },\r\n { name: 'North', value: 'North' },\r\n { name: 'South', value: 'South' }\r\n]\r\n\r\nconst LandXMLImporter = ({\r\n handleBlurNFocus, alignmentOpts, selectedOpts,\r\n data, xmlData, setActiveXMLAlign, xmlLoader = false,\r\n errResp, handleXmlChoose, setXMLData, updateXmlData\r\n}) => {\r\n\r\n const handleSelect = (e, i) => {\r\n selectedOpts[i] = parseInt(e.target.value)\r\n setActiveXMLAlign(e.target.value)\r\n xmlData.selectedOpts = selectedOpts\r\n xmlData.dataList[i] = (xmlData.alignmentListArr).find(a => a.idx === parseInt(e.target.value))\r\n // TODO: WIP For testing\r\n const oppositeIns = (xmlData.alignmentListArr).find(a => a.idx === selectedOpts[i === 0 ? 1 : 0])\r\n if (!!oppositeIns && !!oppositeIns.direction) {\r\n oppositeIns.direction = oppositeDir(oppositeIns.direction)\r\n xmlData.dataList[i === 0 ? 1 : 0] = oppositeIns\r\n }\r\n setXMLData({ ...xmlData })\r\n }\r\n\r\n return (\r\n
\r\n {!!xmlLoader && }\r\n
\r\n \r\n handleXmlChoose(e)} />\r\n
\r\n\r\n
\r\n handleBlurNFocus(e)}\r\n handleOnBlur={e => handleBlurNFocus(e, false)}\r\n handleOnChange={e => {\r\n xmlData.dataList[0][\"name\"] = e.target.value\r\n setXMLData({ ...xmlData })\r\n }} />\r\n handleBlurNFocus(e)}\r\n handleOnBlur={e => handleBlurNFocus(e, false)}\r\n handleOnChange={e => updateXmlData({ epsgCode: e.target.value })} />\r\n
\r\n {\r\n !!data.length &&\r\n
\r\n {\r\n data.map((al, i) => {\r\n let inputHtml = [];\r\n for (const [k, v] of Object.entries(al)) {\r\n ((k !== 'name') && (k !== 'step') && (k !== 'idx') && (k !== 'direction')) && inputHtml.push(\r\n handleBlurNFocus(e)}\r\n handleOnBlur={e => handleBlurNFocus(e, false)}\r\n handleOnChange={e => {\r\n xmlData.dataList[i][k] = k === 'name' ? e.target.value : floatWithDeci(e.target.value || 0)\r\n setXMLData({ ...xmlData })\r\n }} />\r\n )\r\n }\r\n\r\n if ((i > 0) && !!xmlData.useSame) return null\r\n\r\n const filteredList = alignmentOpts.filter(a => a.idx !== selectedOpts[i === 0 ? 1 : 0])\r\n return \r\n
\r\n handleSelect(e, i)} />\r\n
\r\n
\r\n
{inputHtml}
\r\n
\r\n {\r\n if (!!xmlData.dataList[i]) {\r\n xmlData.dataList[i].direction = e.target.value\r\n if (xmlData.dataList.length > 1) {\r\n xmlData.dataList[i === 0 ? 1 : 0].direction = oppositeDir(e.target.value)\r\n }\r\n setXMLData({ ...xmlData })\r\n }\r\n }} />\r\n handleBlurNFocus(e)}\r\n handleOnBlur={e => handleBlurNFocus(e, false)}\r\n handleOnChange={e => {\r\n if (!!xmlData.dataList[i]) {\r\n xmlData.dataList[i].step = parseInt(e.target.value)\r\n setXMLData({ ...xmlData })\r\n }\r\n }} />\r\n
\r\n
\r\n })\r\n }\r\n\r\n {\r\n // HINT: For now, We're not modifying xml in case of multiple alignments\r\n alignmentOpts.length > 1 &&
\r\n {\r\n xmlData.useSame = e.target.checked\r\n setXMLData({ ...xmlData })\r\n }} />\r\n \r\n
\r\n }\r\n
\r\n }\r\n
\r\n )\r\n}\r\n\r\nexport default LandXMLImporter","import React from 'react'\r\nimport './index.scss'\r\n\r\nconst XMLCSVTab = ({ isCsvActive, setActiveTab }) => (\r\n
\r\n
setActiveTab('csv')}>CSV
\r\n
setActiveTab('xml')}>XML
\r\n
\r\n)\r\n\r\nexport default XMLCSVTab\r\n","import React, { Fragment } from 'react'\r\nimport { Form } from 'react-bootstrap'\r\nimport CSVImporter from '../CSVImporter'\r\nimport LandXMLImporter from '../LandXMLImporter'\r\nimport XMLCSVTab from '../XMLCSVTab'\r\n\r\nconst AddAlignment = ({\r\n inputRef, onSubmit, errResp, xmlLoader,\r\n xmlData, setXMLData, handleBlurNFocus, setActiveXMLAlign,\r\n handleXmlChoose, updateXmlData, isCsvActive, setActiveTab, validateForm\r\n}) => (\r\n \r\n \r\n
\r\n {\r\n isCsvActive ?\r\n :\r\n \r\n }\r\n {!!errResp && !!errResp.otherError &&

{errResp.otherError}

}\r\n \r\n \r\n
\r\n)\r\n\r\nexport default AddAlignment","import React from 'react'\r\nimport './index.scss'\r\n\r\nconst LabelSelectBox = ({\r\n name,\r\n label,\r\n value,\r\n nameKey = 'name',\r\n valueKey = 'value',\r\n options = [],\r\n className = '',\r\n parentClassName = '',\r\n handleOnChange\r\n}) => (\r\n
\r\n \r\n \r\n
\r\n)\r\n\r\nexport default LabelSelectBox","import React, { useEffect, useState } from 'react'\r\nimport { toast } from 'react-toastify'\r\nimport { sleep } from '../../../../constant/helpers'\r\nimport LabelSelectBox from '../../../common/LabelSelectBox'\r\nimport Popup from '../Popup'\r\n\r\nconst CopyTraffic = ({ trafficModal, onHide, alignments }) => {\r\n const [copyProcess, setCopyProcess] = useState(false);\r\n const [refAlignmentId, setRefAlignmentId] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!!alignments && alignments.length > 1) {\r\n setRefAlignmentId(alignments[0].alternative_id)\r\n }\r\n }, [alignments])\r\n const submitCopyTraffic = async (e) => {\r\n e.preventDefault()\r\n try {\r\n setCopyProcess(true)\r\n await sleep()\r\n setCopyProcess(false)\r\n toast.success('Backend Stuff Pending - WIP')\r\n onHide()\r\n } catch (err) {\r\n toast.error('Backend Stuff Pending - Error - WIP')\r\n setCopyProcess(false)\r\n onHide()\r\n }\r\n }\r\n\r\n if (!trafficModal) return null\r\n\r\n return (\r\n
\r\n setRefAlignmentId(e.target.value)} />\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default CopyTraffic","import React, { useState, useEffect, useContext, useCallback } from \"react\"\r\nimport csv from \"csv\"\r\nimport axios from \"axios\"\r\nimport { useForm } from \"react-hook-form\"\r\nimport { useHistory } from 'react-router-dom'\r\nimport { toast } from 'react-toastify'\r\nimport { useDispatch, useSelector } from \"react-redux\"\r\nimport Popup from './Popup'\r\nimport { requestBody3 } from \"../../../utils/aiRequestBodyUtils\"\r\n\r\nimport { Col, Container, Button, Row, Table } from \"react-bootstrap\"\r\nimport FuelSaveGlobalContext from \"../../../context/FuelSaveGlobalContext\"\r\nimport \"./summary.scss\"\r\n// import ACTIONS from '../../../utils/action'\r\nimport { // useQuery, useLazyQuery, \r\n gql, useMutation\r\n} from \"@apollo/client\"\r\n//import { GET_VALUES, POST_ALTERNATIVE } from \"../../../utils/apolloutils\";\r\nimport Tooltip from '@material-ui/core/Tooltip'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport AddIcon from '@material-ui/icons/Add'\r\nimport { confirmAlert } from 'react-confirm-alert'\r\nimport CostCircle from \"./CostCircle\"\r\nimport Icon from \"../../common/Icons\"\r\nimport { floatWithDeci, handleCSVArr, isCordValid, presumptionObj, projectInfoToStorage } from \"../../../constant/helpers\"\r\nimport SpinLoader from \"../../common/SpinLoader\"\r\nimport { CSV_NAME_REGEX, DEFAULT_EPSG, DEFAULT_EPSG_CODE, PER_PAGE } from \"../../../constant\"\r\nimport ConfirmAlertPopup from \"../../common/ConfirmAlertPopup\"\r\nimport AddAlignment from \"./AddAlignment\"\r\nimport { colorCodes } from \"../../../constant/colors\"\r\nimport { fetchAllAlignments } from \"../../../actions/alignment\"\r\nimport AlignmentPageWidget from \"./AlignmentPageWidget\"\r\nimport CopyTraffic from \"./CopyTraffic\"\r\n\r\nconst { WHITE_1, BLACK_1 } = colorCodes\r\nconst Summary = () => {\r\n\r\n const { register, handleSubmit, watch } = useForm();\r\n const { currency, carConfig, truckConfig } = useSelector(state => state.global)\r\n const { alignments, activePage, isProcessing } = useSelector(state => state.alignments)\r\n const { presumptions } = useSelector(state => state.presumptions)\r\n\r\n const {\r\n // refreshProject, setRefreshProject,\r\n // globalForcastList, forcastDispatch,\r\n globalProjectNumber,\r\n apiAccessToken, // setApiAccessToken,\r\n // globalForcastListNew, setGlobalForcastListNew,\r\n // globalBrandCrumb, \r\n setGlobalBrandCrumb\r\n } = useContext(FuelSaveGlobalContext);\r\n\r\n const [file1, setFile1] = useState(null);\r\n const [file2, setFile2] = useState(null);\r\n const [loading, setloading] = useState(false);\r\n const [adjsutedListCO2_new, setAdjsutedListCO2_new] = useState('');\r\n const [adjsutedListCost_new, setAdjsutedListCost_new] = useState('');\r\n const [adjsutedListEnergy_new, setAdjsutedListEnergy_new] = useState('');\r\n const [modalShow, setModalShow] = useState(false);\r\n const [trafficModal, setTrafficModal] = useState(false);\r\n const [querySearch, setQuerySearch] = useState('');\r\n const [errorMessage, setErrorMessage] = useState(false);\r\n const [errResp, setErrResp] = useState({});\r\n const [activeTab, setActiveTab] = useState('csv');\r\n const [xmlLoader, setXmlLoader] = useState(false);\r\n const [activeXMLAlign, setActiveXMLAlign] = useState(0);\r\n const xmlDefaultState = {\r\n epsgCode: '',\r\n alignmentOpts: [],\r\n dataList: [{ name: '', start: 0, end: 0, direction: 'East', step: 20, idx: 0 }],\r\n selected: [],\r\n useSame: false,\r\n alignmentListArr: [{ name: '', start: 0, end: 0, direction: 'East', step: 20, idx: 0 }],\r\n numberOfAlignments: 1,\r\n xml: ''\r\n }\r\n const [xmlData, setXMLData] = useState(xmlDefaultState);\r\n\r\n // ***************STUFF for Forcast***************************** //\r\n\r\n const getDailyData = useCallback(async (\r\n startYearData,\r\n endYearData,\r\n segmentsDir1,\r\n segmentsDir2,\r\n segmentsDataDir1,\r\n segmentsDataDir2,\r\n presumptionsData,\r\n index\r\n ) => {\r\n const presumptions = presumptionObj(presumptionsData[0])\r\n\r\n const startYear = startYearData ? startYearData : 2020;\r\n const endYear = endYearData ? endYearData : 2041;\r\n\r\n const requestBodyDir1 = {\r\n return_option: 3,\r\n start_year: startYear,\r\n end_year: endYear,\r\n // end_year: startYear + 20, // C wants the prognosis to be not dependent on the endYear\r\n fuel_distribution_cars: carConfig,\r\n fuel_distribution_trucks: truckConfig,\r\n sensitivity_param_factors: {\r\n speed: 1,\r\n fuelprice: 1,\r\n emission: 1,\r\n AADTheavy: 1,\r\n },\r\n presumptions: presumptions,\r\n segments: segmentsDir1,\r\n segments_data: segmentsDataDir1,\r\n };\r\n\r\n const requestBodyDir2 = {\r\n return_option: 3,\r\n start_year: startYear,\r\n end_year: endYear,\r\n // end_year: startYear + 20, // C wants the prognosis to be not dependent on the endYear\r\n fuel_distribution_cars: carConfig,\r\n fuel_distribution_trucks: truckConfig,\r\n sensitivity_param_factors: {\r\n speed: 1,\r\n fuelprice: 1,\r\n emission: 1,\r\n AADTheavy: 1,\r\n },\r\n presumptions: presumptions,\r\n segments: segmentsDir2,\r\n segments_data: segmentsDataDir2,\r\n };\r\n\r\n const config = {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n\r\n const AI_API_KEY = process.env.REACT_APP_AI_FUNCTION_API_KEY;\r\n const urlToken = process.env.REACT_APP_AI_FUNCTION_URL + '/api/HttpTrigger1?code=' + AI_API_KEY;\r\n\r\n try {\r\n const [responseDir1, responseDir2] = await Promise.all([\r\n axios.post(urlToken, endYear ? requestBodyDir1 : requestBody3, config),\r\n axios.post(urlToken, endYear ? requestBodyDir2 : requestBody3, config),\r\n ]);\r\n\r\n return [responseDir1, responseDir2];\r\n\r\n } catch (err) {\r\n // throw new Error('Unable to get a response.')\r\n return null;\r\n }\r\n\r\n // eslint-disable-next-line\r\n }, [currency])\r\n\r\n const setPresumptionData = useCallback(async (alternativeArr, presempArr) => {\r\n if (alternativeArr && presempArr) {\r\n const localSavingsAlternativetables = [];\r\n\r\n for (let index = 0; index < alternativeArr.length; index++) {\r\n const alternative = alternativeArr[index];\r\n const dailyData = await getDailyData(\r\n alternative.start_year,\r\n alternative.end_year,\r\n alternative.directions[0].segments,\r\n alternative.directions[1].segments,\r\n alternative.directions[0].segments_data,\r\n alternative.directions[1].segments_data,\r\n presempArr,\r\n index\r\n );\r\n\r\n if (!dailyData || (!!dailyData && (!dailyData[0] || !dailyData[1]))) {\r\n return false\r\n }\r\n\r\n if (!!dailyData && !!dailyData.length) {\r\n const responseDir1 = dailyData[0];\r\n const responseDir2 = dailyData[1];\r\n\r\n const year = responseDir1.data.year;\r\n\r\n const forecastData = [];\r\n\r\n year.map((yr, indx) => {\r\n const annual_co2 =\r\n responseDir1.data.annual_co2[indx] +\r\n responseDir2.data.annual_co2[indx];\r\n const annual_cost =\r\n responseDir1.data.annual_cost[indx] +\r\n responseDir2.data.annual_cost[indx];\r\n const annual_energy =\r\n responseDir1.data.annual_energy[indx] +\r\n responseDir2.data.annual_energy[indx];\r\n\r\n forecastData.push({\r\n year: yr,\r\n annual_co2: annual_co2,\r\n annual_cost: annual_cost,\r\n annual_energy: annual_energy\r\n });\r\n return yr\r\n });\r\n\r\n localSavingsAlternativetables.push({\r\n alternative_id: alternative.alternative_id,\r\n forecast_data: forecastData,\r\n });\r\n }\r\n }\r\n //console.log(localSavingsAlternativetables, \"localSavingsAlternativetables\")\r\n //forcastDispatch({ type: ACTIONS.PREDICTION, payload: localSavingsAlternativetables });\r\n\r\n return localSavingsAlternativetables\r\n }\r\n\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n setPresumptionData(alignments, presumptions).then((localSavingsAlternativetables) => {\r\n\r\n if (typeof localSavingsAlternativetables !== 'undefined' && !!localSavingsAlternativetables && !!localSavingsAlternativetables.length) {\r\n var listCO2 = []\r\n var listCost = []\r\n var listEnergy = []\r\n\r\n localSavingsAlternativetables.forEach(element => {\r\n listCO2.push(element.forecast_data[(element.forecast_data.length) - 1].annual_co2)\r\n listCost.push(element.forecast_data[(element.forecast_data.length) - 1].annual_cost)\r\n listEnergy.push(element.forecast_data[(element.forecast_data.length) - 1].annual_energy)\r\n });\r\n\r\n const makingRelative = (eleList) => {\r\n const max = Math.max(...eleList);\r\n const newList = []\r\n eleList.forEach((element) => {\r\n if ((element / max) === 1) {\r\n newList.push(((element / max)))\r\n }\r\n else {\r\n newList.push((1 - ((1 - (element / max))))) //change the factor like this if you wanna change it---> newList.push((1 - ((1 - (element / max)) * 2)))\r\n }\r\n })\r\n return newList\r\n }\r\n\r\n listCO2 = makingRelative(listCO2)\r\n listCost = makingRelative(listCost)\r\n listEnergy = makingRelative(listEnergy)\r\n //console.log(listCO2)\r\n\r\n setAdjsutedListCO2_new((listCO2))\r\n setAdjsutedListCost_new((listCost))\r\n setAdjsutedListEnergy_new((listEnergy))\r\n //setForcastColor([\"red\", \"blue\", \"green\"])\r\n //console.log(adjsutedListCO2_new, \"forcasted Data\")\r\n }\r\n })\r\n\r\n // eslint-disable-next-line\r\n }, [presumptions, alignments]);\r\n\r\n\r\n //*************************************************************************************************** */\r\n\r\n // const deleteAllAternative = async (project_id) => {\r\n // setloading(true);\r\n // /*await axios.post(props.url, {\r\n // query: ` mutation deleteAllAlternative($project_id:project_id)\r\n // {deleteAllAlternative(project_id:$project_id)}`,\r\n // variable: {\r\n // project_id\r\n // }\r\n // }, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'Authorization': 'Bearer ' + apiAccessToken.accessToken\r\n // }\r\n // });*/\r\n // const parseProjectID = parseInt(globalProjectNumber)\r\n\r\n // mutationAlternativeDeleteFunction({\r\n // variable: {\r\n // project_id: parseProjectID\r\n // }\r\n // }).then(() => {\r\n // setData();\r\n // })\r\n // };\r\n\r\n let history = useHistory();\r\n const redirectButton = (alternative_id) => {\r\n history.push('/settings/' + alternative_id)\r\n\r\n }\r\n\r\n\r\n const deletAlternative = async (id) => {\r\n setloading(true);\r\n toast.info('Deleting...')\r\n mutationAlternativeDeleteAlternativeFunction({ variables: { alternative_id: id } })\r\n .then(() => setData())\r\n };\r\n\r\n const dispatch = useDispatch()\r\n async function setData() {\r\n await dispatch(fetchAllAlignments(globalProjectNumber))\r\n setloading(false)\r\n }\r\n\r\n const mutationAlternativeGQL = gql`\r\n mutation addAlternative($project_id:ID!,$dir1:[AddAlternativeDirInput!]!,\r\n $dir2:[AddAlternativeDirInput!]!) {\r\n addAlternative(project_id:$project_id,dir1:$dir1,dir2:$dir2) {\r\n alternative_id\r\n }\r\n }`;\r\n\r\n // const mutationAlternativeDELETEALLGQL = gql`\r\n // mutation deleteAllAlternative($project_id: ID!) {\r\n // deleteAllAlternative(project_id:$project_id)\r\n // }`;\r\n\r\n const mutationAlternativeDELETEGQL = gql`\r\n mutation deleteAlternative($alternative_id:ID!)\r\n {deleteAlternative(alternative_id:$alternative_id)}`;\r\n\r\n const [mutationAlternativeFunction] = useMutation(mutationAlternativeGQL, {\r\n onCompleted: (() => {\r\n setModalShow(false)\r\n })\r\n })\r\n // const [mutationAlternativeDeleteFunction, { muatatedDataDeleteALL }] = useMutation(mutationAlternativeDELETEALLGQL);\r\n const [mutationAlternativeDeleteAlternativeFunction] = useMutation(mutationAlternativeDELETEGQL);\r\n\r\n /*const { preLoading, error, data } = useQuery(getApolloDataNew, {\r\n variables: { project_ids: globalProjectNumber },\r\n });\r\n \r\n console.log(data, \"newdata\")*/\r\n\r\n //const [getNewData, { preLoading, data }] = useLazyQuery(getApolloDataNew); //Lets use it some other day // No promise based solution found\r\n\r\n const csvCheck = (data, direction) => {\r\n let csvError = false;\r\n //checking length\r\n if (data.length <= 4) {\r\n csvError = true;\r\n toast.error(\"Wrong length of the file - \" + direction);\r\n setloading(false);\r\n return csvError;\r\n }\r\n //checking chainage\r\n let chainage = 0;\r\n let chainage_new = 0;\r\n var BreakException = {};\r\n try {\r\n data.slice(1).forEach((element) => {\r\n chainage_new = parseInt(element[1]);\r\n if (\r\n chainage_new < chainage ||\r\n (chainage_new - chainage > 100) ||\r\n chainage_new === null\r\n ) {\r\n toast.error(\"CSV chainage is wrong - \" + direction);\r\n setloading(false);\r\n csvError = true;\r\n throw BreakException;\r\n }\r\n chainage = chainage_new;\r\n });\r\n return csvError;\r\n } catch (e) {\r\n if (e !== BreakException) {\r\n return csvError;\r\n }\r\n }\r\n };\r\n\r\n const fileDirectionCheck = (fileName, data, direction) => {\r\n let csvError = false;\r\n\r\n const directionOnName = fileName.split(\"-\")[1].split(\".\")[0];\r\n const directionInFile = data[1][7];\r\n\r\n if (directionInFile !== directionOnName) {\r\n setloading(false);\r\n csvError = true;\r\n toast.error(\"CSV direction wrong - \" + direction);\r\n return csvError;\r\n }\r\n\r\n return csvError;\r\n };\r\n\r\n const nameCheck = (fileName1, fileName2) => {\r\n let nameError = false;\r\n let directionOnName1 = fileName1.split(\"-\")[1].split(\".\")[0]; //The direction\r\n let directionOnName2 = fileName2.split(\"-\")[1].split(\".\")[0];\r\n\r\n let startingName1 = fileName1.split(\"-\")[0]; // The first name\r\n let startingName2 = fileName2.split(\"-\")[0];\r\n\r\n let format1 = fileName1.split(\"-\")[1].split(\".\")[1]; //format\r\n let format2 = fileName2.split(\"-\")[1].split(\".\")[1];\r\n\r\n\r\n let dict = {};\r\n dict[\"North\"] = \"South\";\r\n dict[\"South\"] = \"North\";\r\n dict[\"East\"] = \"West\";\r\n dict[\"West\"] = \"East\";\r\n\r\n //checking format\r\n if (format1 !== \"csv\" || format2 !== \"csv\") {\r\n nameError = true;\r\n setloading(false);\r\n toast.error(\"Please insert a CSV file\");\r\n return nameError;\r\n }\r\n\r\n if (startingName1 !== startingName2) {\r\n nameError = true;\r\n setloading(false);\r\n toast.error(\"Please insert the file from the same project\");\r\n return nameError;\r\n }\r\n\r\n if (directionOnName1 === directionOnName2) {\r\n nameError = true;\r\n setloading(false);\r\n toast.error(\"Same file name error\");\r\n return nameError;\r\n }\r\n if (dict[directionOnName1] !== directionOnName2) {\r\n nameError = true;\r\n setloading(false);\r\n toast.error(\"Same direction error\");\r\n return nameError;\r\n }\r\n return nameError;\r\n };\r\n\r\n\r\n const onSubmit = (data, e) => {\r\n\r\n const reader = new FileReader();\r\n const reader2 = new FileReader();\r\n setloading(true);\r\n\r\n try {\r\n let fileName1 = data.dir1[0].name;\r\n let fileName2 = data.dir2[0].name;\r\n\r\n let nameError = false;\r\n\r\n nameError = nameCheck(fileName1, fileName2);\r\n\r\n if (nameError === false) {\r\n reader.readAsBinaryString(data.dir1[0]);\r\n //reader.readAsText(data.dir1[0]);\r\n\r\n let dir1Data = null;\r\n reader.onload = (e) => {\r\n dir1Data = e.target.result;\r\n csv.parse(dir1Data, (err, data) => {\r\n let csvError = csvCheck(data, \"Direction1\");\r\n let csvError2 = fileDirectionCheck(fileName1, data, \"Direction1\");\r\n if (csvError === false && csvError2 === false) {\r\n toast.info(\"Direction 1 Uploaded\");\r\n setFile1(data);\r\n }\r\n });\r\n };\r\n\r\n let dir2Data = null;\r\n reader2.readAsBinaryString(data.dir2[0]);\r\n reader2.onload = (e) => {\r\n dir2Data = e.target.result;\r\n csv.parse(dir2Data, (err, data) => {\r\n let csvError = csvCheck(data, \"Direction2\");\r\n let csvError2 = fileDirectionCheck(fileName2, data, \"Direction2\");\r\n if (csvError === false && csvError2 === false) {\r\n toast.info(\"Direction 2 Uploaded\");\r\n setFile2(data);\r\n }\r\n });\r\n };\r\n }\r\n } catch (error) {\r\n setloading(false);\r\n toast.error(\"File Error\");\r\n }\r\n };\r\n\r\n const axiosReq = reqData => axios.post(process.env.REACT_APP_CONVERTER_URL + '/api/convert', reqData, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + apiAccessToken.accessToken,\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n }\r\n })\r\n\r\n const xmlSubmit = async () => {\r\n setErrResp({})\r\n const { xml, dataList, selected, numberOfAlignments, epsgCode } = xmlData\r\n\r\n const alignReq = []\r\n selected.map((a, i) => {\r\n const singleRec = dataList.find(b => b.idx === a)\r\n alignReq[i] = {\r\n direction: !!singleRec && !!singleRec.direction ? singleRec.direction : '',\r\n idx: !!singleRec && !!singleRec.idx ? singleRec.idx : 0,\r\n start: !!singleRec && !!singleRec.start ? singleRec.start : 0,\r\n step: !!singleRec && !!singleRec.step ? singleRec.step : 10,\r\n stop: !!singleRec && !!singleRec.stop ? singleRec.stop : 0\r\n }\r\n return a\r\n })\r\n try {\r\n setXmlLoader(true)\r\n const resp = await axiosReq({\r\n alignments: alignReq,\r\n name: !!dataList[0] && !!dataList[0].name ? dataList[0].name : '',\r\n numberOfAlignments,\r\n xml,\r\n coordinateSystem: epsgCode ? epsgCode.replace('EPSG:', '') : DEFAULT_EPSG_CODE\r\n })\r\n\r\n if (!!resp && !!resp.data && !!resp.data.dir1 && !!resp.data.dir2) {\r\n csv.parse(resp.data.dir1, (err, data) => { setFile1(data) })\r\n csv.parse(resp.data.dir2, (err, data) => { setFile2(data) })\r\n toast.info('Uploading...')\r\n }\r\n setXmlLoader(false)\r\n } catch (e) {\r\n setXmlLoader(false)\r\n const errRes = e.response\r\n if (!!errRes && !!errRes.data) {\r\n if (!!errRes.data.ModelState) {\r\n setErrResp({ ...errResp, ...errRes.data.ModelState })\r\n } else if (!!errRes.data.Message) {\r\n setErrResp({ ...errResp, otherError: errRes.data.Message })\r\n } else {\r\n setErrResp({ ...errResp, otherError: 'Error During CSV Generation' })\r\n }\r\n }\r\n console.log('Error During CSV Generation:', !!e.response ? e.response : e)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (file1 && file2) {\r\n setloading(true)\r\n const jsonArrayDir1 = handleCSVArr(file1)\r\n const jsonArrayDir2 = handleCSVArr(file2)\r\n //mutationAlternative(globalProjectNumber, props.url, jsonArrayDir1, jsonArrayDir2);\r\n\r\n const mutationAlternativeNew = (() => {\r\n mutationAlternativeFunction({\r\n variables: {\r\n project_id: globalProjectNumber,\r\n dir1: jsonArrayDir1,\r\n dir2: jsonArrayDir2,\r\n }\r\n }).then(() => setData())\r\n .catch((error) => {\r\n setErrorMessage(error.message)\r\n setloading(false)\r\n })\r\n\r\n })\r\n //calling the function // or you can use function\r\n mutationAlternativeNew()\r\n //()\r\n // when both files are updated combine them as json and send to API\r\n // ADD SEGMENT\r\n /*addAlternative({\r\n variables: {\r\n dir1: jsonArrayDir1,\r\n dir2: jsonArrayDir2,\r\n }\r\n // ,\r\n // refetchQueries: [{ query: GET_VALUES }],\r\n });*/\r\n // after that set files backto null\r\n setFile1(null);\r\n setFile2(null);\r\n //setRefreshProject(!refreshProject);\r\n //setData();\r\n\r\n }\r\n\r\n // eslint-disable-next-line\r\n }, [file1, file2]);\r\n\r\n useEffect(() => {\r\n setGlobalBrandCrumb(\"Alignments\")\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n const validateInputs = (name, value) => {\r\n switch (name) {\r\n case 'name': {\r\n if (!!value && !CSV_NAME_REGEX.test(value)) {\r\n return 'Specail Character not allowed'\r\n } else if (!!value && !/\\D/.test(value)) {\r\n return 'Only numbers not allowed'\r\n }\r\n return ''\r\n }\r\n case 'start':\r\n case 'stop':\r\n case 'step': {\r\n if (value < 0 && value !== 0) {\r\n return 'Value should be greater than 0'\r\n }\r\n return ''\r\n }\r\n case 'epsgCode': {\r\n if (!!value && !isCordValid(value)) {\r\n return `Value should be like this: ${DEFAULT_EPSG}`\r\n }\r\n return ''\r\n }\r\n default:\r\n return null\r\n }\r\n }\r\n\r\n const handleBlurNFocus = (e, onFocus = true) => {\r\n const { name, value } = e.target\r\n const nameVal = name.replace(`_${activeXMLAlign}`, '')\r\n\r\n if (onFocus) {\r\n delete errResp[`input.${nameVal}`]\r\n delete errResp.otherError\r\n setErrResp({ ...errResp })\r\n } else {\r\n const nameVal = name.replace(`_${activeXMLAlign}`, '')\r\n setErrResp({ ...errResp, [`input.${nameVal}`]: validateInputs(nameVal, value) })\r\n }\r\n }\r\n\r\n const updateXmlData = info => setXMLData({ ...xmlData, ...info })\r\n\r\n const handleReaderEvent = event => {\r\n if (event.type === 'loadstart') {\r\n setXmlLoader(true)\r\n } else if (event.type === 'loadend') {\r\n setXmlLoader(false)\r\n }\r\n }\r\n\r\n const addReaderListeners = reader => {\r\n reader.addEventListener('loadstart', handleReaderEvent)\r\n reader.addEventListener('loadend', handleReaderEvent)\r\n }\r\n\r\n const handleXmlChoose = data => {\r\n const { files } = data.target\r\n const reader = new FileReader()\r\n\r\n if (!files.length) {\r\n updateXmlData(xmlDefaultState)\r\n return false\r\n }\r\n\r\n setXmlLoader(true)\r\n\r\n // Checking format\r\n if (files[0].type !== \"text/xml\") {\r\n setXmlLoader(false)\r\n toast.error(\"Please insert a XML file\")\r\n return false\r\n }\r\n addReaderListeners(reader)\r\n\r\n reader.readAsBinaryString(files[0])\r\n reader.onload = (e) => {\r\n const { result } = e.target\r\n const parser = new DOMParser()\r\n const xmlDoc = parser.parseFromString(result, \"text/xml\")\r\n\r\n if (xmlDoc.getElementsByTagName('parsererror').length) {\r\n toast.error('LandXML file is corrupted or unsupported. Check the user manual for more information')\r\n setXmlLoader(false)\r\n updateXmlData(xmlDefaultState)\r\n return false\r\n }\r\n const coordinateSys = xmlDoc.getElementsByTagName(\"CoordinateSystem\")\r\n\r\n let epsgCode = 'EPSG:'\r\n const alignmentListArr = []\r\n let alignmentNumb = 1\r\n for (var i = 0; i < coordinateSys.length; i++) {\r\n epsgCode = epsgCode + coordinateSys[i].getAttribute('epsgCode')\r\n }\r\n if (!isCordValid(epsgCode)) {\r\n setErrResp({ ...errResp, ['input.epsgCode']: `Value should be like this: ${DEFAULT_EPSG}` })\r\n } else {\r\n delete errResp['input.epsgCode']\r\n setErrResp({ ...errResp })\r\n }\r\n\r\n const alignmentList = xmlDoc.getElementsByTagName(\"Alignments\")\r\n const alignList = []\r\n const dataListOpts = []\r\n const selectedListOpts = []\r\n for (var j = 0; j < alignmentList.length; j++) {\r\n const alignmentElem = alignmentList[j].children\r\n alignmentNumb = alignmentElem.length\r\n for (var k = 0; k < alignmentElem.length; k++) {\r\n const name = alignmentElem[k].getAttribute('name')\r\n const start = floatWithDeci(alignmentElem[k].getAttribute('staStart'))\r\n const stop = Math.round(alignmentElem[k].getAttribute('length'))\r\n if (alignmentElem.length >= 1 && (k <= 1)) {\r\n selectedListOpts.push(k)\r\n dataListOpts.push({ name, start: (start < 0 ? 0 : start), stop, step: 20, direction: k === 0 ? 'East' : 'West', idx: k })\r\n }\r\n\r\n alignList.push({ name, idx: k })\r\n alignmentListArr.push({ name, start: (start < 0 ? 0 : start), stop, step: 20, direction: 'East', idx: k })\r\n\r\n if ((k === 0) && (!!name && !CSV_NAME_REGEX.test(name))) {\r\n setErrResp({\r\n ...errResp,\r\n ...{\r\n ...errResp.input,\r\n input: {\r\n name: validateInputs('name', name)\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n updateXmlData({\r\n epsgCode,\r\n useSame: false,\r\n alignmentOpts: alignList,\r\n selected: selectedListOpts,\r\n dataList: dataListOpts,\r\n numberOfAlignments: alignmentNumb > 2 ? 2 : alignmentNumb, // HINT: For now, we're supporting 1 and 2 only\r\n alignmentListArr, xml: result.toString()\r\n })\r\n }\r\n setXmlLoader(false)\r\n }\r\n\r\n const validateForm = () => {\r\n let isValid = true\r\n const { dataList, epsgCode } = xmlData\r\n if ((activeTab === 'xml') &&\r\n (!epsgCode ||\r\n (!!dataList[0] && !dataList[0].name) ||\r\n (!!errResp && (!!errResp['input.epsgCode'] || !!errResp['input.name'])) ||\r\n (!!epsgCode && !isCordValid(epsgCode))\r\n )) {\r\n isValid = false\r\n }\r\n return isValid\r\n }\r\n\r\n const isCsvActive = activeTab === 'csv'\r\n\r\n const rederCodition = () => {\r\n if (errorMessage) {\r\n return

Error: {errorMessage}

\r\n }\r\n else if (!!modalShow) {\r\n return (\r\n \r\n )\r\n }\r\n else if (alignments && alignments.length > 100) {\r\n return (

Too many alternatives. Should be less than 100. [Alpha Phase]

);\r\n }\r\n };\r\n\r\n const handleSearchSubmit = (e, data) => {\r\n const serachdata = watch()\r\n setQuerySearch(serachdata.Search)\r\n }\r\n\r\n const headersTable = [\"S.No\", \"Alignment\", \"Start Year\", \"End Year\", \"Forecast\", \"Action\"]\r\n\r\n const isDataFound = alignments && !!alignments.length\r\n const globalProjInfo = projectInfoToStorage()\r\n\r\n return (\r\n \r\n {(!!loading || !!isProcessing) && }\r\n \r\n {\r\n setModalShow(false)\r\n setTrafficModal(false)\r\n setErrorMessage(false)\r\n }}>\r\n {rederCodition()}\r\n \r\n \r\n\r\n {\r\n !!trafficModal && {\r\n setModalShow(false)\r\n setTrafficModal(false)\r\n setErrorMessage(false)\r\n }} />\r\n }\r\n \r\n \r\n \r\n \r\n {\r\n isDataFound && !!globalProjInfo ?\r\n <>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n :\r\n {!!isProcessing ? 'Processing...' : 'There are no alternatives in the Database, add some to view.'}\r\n }\r\n 1) ? 2 : 5} className='f-end-flex'>\r\n {false && !!alignments && alignments.length > 1 && }\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {isDataFound &&\r\n \r\n \r\n \r\n {headersTable.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {!!globalProjInfo && alignments &&\r\n alignments.filter(item => {\r\n return item.name.toLowerCase().includes(querySearch.toLowerCase())\r\n })\r\n\r\n .map((alternative, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
{item}
{(activePage === 1) ? (index + 1) : ((index + 1) + (PER_PAGE * (activePage - 1)))}{alternative.name}{globalProjInfo.start_year}{globalProjInfo.end_year}\r\n {(!!adjsutedListCO2_new.length && !!adjsutedListCost_new.length && !!adjsutedListEnergy_new.length) ?\r\n
\r\n
\r\n
\r\n
\r\n
\r\n :\r\n

loading...

}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n {!!isDataFound && }\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Summary;\r\n","import React, { useState } from 'react'\r\nimport { useDispatch } from 'react-redux'\r\nimport { Modal, Form, Container, Button } from 'react-bootstrap'\r\nimport { fetchAllProjects } from '../../../actions/project'\r\nimport './project.scss'\r\nimport { addNewProject } from '../../../utils/project'\r\n\r\nconst AddProjectPopup = ({\r\n setIsLoading,\r\n isLoading = false, newProjectName, show, onHide\r\n}) => {\r\n const dispatch = useDispatch()\r\n const currentDate = new Date()\r\n\r\n const [pName, setPName] = useState('')\r\n const [startYear, setStartYear] = useState(currentDate.getFullYear())\r\n const [endYear, setEndYear] = useState(2080)\r\n\r\n const handleInputChange = (name, e) => {\r\n const { value } = e.target\r\n switch (name) {\r\n case 'pName':\r\n setPName(value)\r\n break;\r\n case 'start_year':\r\n setStartYear(parseInt(value))\r\n break;\r\n case 'end_year':\r\n setEndYear(parseInt(value))\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n const validateInput = name => {\r\n switch (name) {\r\n case 'name':\r\n return !pName\r\n case 'start_year':\r\n return !startYear || startYear < 2020 || endYear < startYear\r\n case 'end_year':\r\n return !endYear || endYear > 2080 || endYear < startYear\r\n default:\r\n return false\r\n }\r\n }\r\n\r\n const handleSubmit = async (e) => {\r\n e.preventDefault()\r\n setIsLoading(true)\r\n try {\r\n const data = await addNewProject({\r\n project_name: pName,\r\n start_year: parseInt(startYear),\r\n end_year: parseInt(endYear)\r\n })\r\n\r\n setIsLoading(false)\r\n if (!!data && !!data.data && !!data.data.data && !!data.data.data.addProject) {\r\n onHide()\r\n dispatch(fetchAllProjects())\r\n }\r\n } catch (e) {\r\n setIsLoading(false)\r\n console.log('createNewProject Error:', e)\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n Add Project\r\n \r\n \r\n \r\n
\r\n \r\n \r\n Project Name\r\n handleInputChange('pName', e)} />\r\n \r\n \r\n Start Year\r\n handleInputChange('start_year', e)} isInvalid={validateInput('start_year')} />\r\n You can only choose value between 2020 and 2080\r\n \r\n \r\n End Year\r\n handleInputChange('end_year', e)} isInvalid={validateInput('end_year')} />\r\n You can only choose value between 2020 and 2080\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default AddProjectPopup","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-0.5 -1.5)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M27.684,23.547a2.568,2.568,0,0,1-2.568,2.568H4.568A2.568,2.568,0,0,1,2,23.547V5.568A2.568,2.568,0,0,1,4.568,3H10.99l2.568,3.853H25.116a2.568,2.568,0,0,1,2.568,2.568Z\",\n transform: \"translate(0 0)\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n className: \"a\",\n y2: 8,\n transform: \"translate(15 13)\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n className: \"a\",\n x2: 8,\n transform: \"translate(11 17)\"\n}));\n\nfunction SvgAddProject(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 28.684,\n height: 26.116,\n viewBox: \"0 0 28.684 26.116\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAddProject);\nexport default __webpack_public_path__ + \"static/media/add_project.2f1cffe1.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useEffect, useContext } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport ArrowForwardIosOutlinedIcon from '@material-ui/icons/ArrowForwardIosOutlined';\r\nimport { Tooltip } from \"@material-ui/core\";\r\nimport { confirmAlert } from 'react-confirm-alert';\r\nimport { Col, Container, Button, Row, Table } from \"react-bootstrap\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router\"\r\nimport ACTIONS from '../../../utils/action';\r\nimport FuelSaveGlobalContext from \"../../../context/FuelSaveGlobalContext\";\r\nimport AddProjectPopup from './AddProjectPopup'\r\nimport './project.scss'\r\nimport { ReactComponent as AddProject } from \"../../../assets/add_project.svg\"\r\nimport Icon from \"../../common/Icons\";\r\nimport { handleRequest } from \"../../../constant/helpers\";\r\nimport SpinLoader from \"../../common/SpinLoader\";\r\nimport ConfirmAlertPopup from \"../../common/ConfirmAlertPopup\";\r\nimport { fetchAllProjects } from \"../../../actions/project\";\r\n\r\nexport default function Projects() {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n const { autoOut } = useSelector(state => state.global)\r\n const { projects } = useSelector(state => state.projects)\r\n const {\r\n globalProjectNumber, projectNumberDispatch,\r\n projectNameDispatch,\r\n setGlobalBrandCrumb\r\n } = useContext(FuelSaveGlobalContext);\r\n\r\n // const [allProjectName, setAllProjectName] = useState([])\r\n // const [updateProjectID, setUpdateProjectID] = useState('')\r\n const [newProjectPopup, setNewProjectPopup] = useState(false)\r\n const [isLoading, setIsLoading] = useState(false)\r\n\r\n useEffect(() => {\r\n if (autoOut) {\r\n setNewProjectPopup(false)\r\n }\r\n }, [autoOut])\r\n\r\n const getProjectById = async (id) => {\r\n setIsLoading(true)\r\n try {\r\n const data = await handleRequest(\"post\", false, {\r\n query: `\r\n query{\r\n projects(project_ids:${id}){\r\n project_name\r\n project_id\r\n start_year\r\n end_year\r\n }\r\n }`\r\n })\r\n setIsLoading(false)\r\n if (!!data && !!data.data && !!data.data.data && !!data.data.data.projects) {\r\n const resp = data.data.data.projects\r\n localStorage.setItem('selectedProject', JSON.stringify(resp[0]))\r\n\r\n const projectName = resp[0].project_name\r\n const projectid = parseInt(resp[0].project_id)\r\n\r\n //Setting Default\r\n projectNameDispatch({ type: ACTIONS.PROJECT_NAME_CHANGE, payload: projectName });\r\n\r\n //ID Change\r\n projectNumberDispatch({ type: ACTIONS.PROJECT_NAME_CHANGE, payload: projectid });\r\n }\r\n } catch (e) {\r\n setIsLoading(false)\r\n console.log('getProjectById Error: ', e)\r\n }\r\n }\r\n\r\n const deletProject = async (id) => {\r\n setIsLoading(true)\r\n toast.info('Deleting...')\r\n try {\r\n await handleRequest('post', false, {\r\n query: `mutation deleteProject($project_id:ID!)\r\n {deleteProject(project_id:$project_id)}`,\r\n variables: {\r\n project_id: id,\r\n }\r\n }, 'application/json')\r\n\r\n setIsLoading(false)\r\n if (id === globalProjectNumber) {\r\n getProjectById(0)\r\n }\r\n callAllProject()\r\n } catch (e) {\r\n setIsLoading(false)\r\n console.log('deleteProject Error: ', e)\r\n }\r\n }\r\n\r\n const callAllProject = () => {\r\n dispatch(fetchAllProjects())\r\n }\r\n\r\n useEffect(() => {\r\n if (!projects.length) {\r\n callAllProject()\r\n }\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n useEffect(() => {\r\n setGlobalBrandCrumb(\"Projects\")\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n return (\r\n \r\n {!!isLoading && !newProjectPopup && }\r\n \r\n setNewProjectPopup(false)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {projects.map((name, idx) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
S.NoProject IDProject NameStart YearEnd YearAction
{idx + 1}{name.project_id}{name.project_name}{name.start_year || '-'}{name.end_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","import ACTIONS from './action';\r\n\r\nfunction reducerPrediction(prediction, action) {\r\n switch (action.type) {\r\n case ACTIONS.PREDICTION:\r\n return action.payload;\r\n default:\r\n return prediction;\r\n }\r\n}\r\n\r\nfunction reducerProject(project, action) {\r\n switch (action.type) {\r\n case ACTIONS.PROJECT_NAME_CHANGE:\r\n return action.payload;\r\n case ACTIONS.PROJECT_NUMBER_CHANGE:\r\n return action.payload;\r\n case ACTIONS.PROJECT_GET_ALL:\r\n return action.payload;\r\n default:\r\n return project;\r\n }\r\n}\r\n\r\nfunction reducerProjects(project, action) {\r\n switch (action.type) {\r\n case ACTIONS.PROJECT_NAME_CHANGE:\r\n return action.payload;\r\n case ACTIONS.PROJECT_NUMBER_CHANGE:\r\n return action.payload;\r\n case ACTIONS.PROJECT_GET_ALL:\r\n return action.payload;\r\n default:\r\n return project;\r\n }\r\n}\r\n\r\n\r\nexport { reducerPrediction, reducerProject, reducerProjects };","import { useState } from \"react\"\r\nimport { Form, Button } from \"react-bootstrap\"\r\nimport { toast } from \"react-toastify\"\r\nimport axios from \"axios\"\r\nimport './index.scss'\r\n\r\nexport default function License({ apiAccessToken, logoutCallback }) {\r\n\r\n const [licenseKey, setLicenseKey] = useState(\"\");\r\n const [inputInvalid, setInputInvalid] = useState(false);\r\n\r\n const handleSubmit = async (evt) => {\r\n evt.preventDefault();\r\n\r\n if (inputInvalid) {\r\n return;\r\n }\r\n\r\n if(!licenseKey) {\r\n toast.error('Please enter license key')\r\n return false\r\n }\r\n\r\n try {\r\n const reponse = await axios({\r\n url: process.env.REACT_APP_LICENSE_API_URL + '/license',\r\n method: \"post\",\r\n headers: {\r\n 'Authorization': 'Bearer ' + apiAccessToken.accessToken\r\n },\r\n data: {\r\n license_key: licenseKey\r\n }\r\n });\r\n alert(reponse.data);\r\n window.location.replace('/');\r\n } catch (err) {\r\n if (err.response.status === 404) {\r\n setInputInvalid(true);\r\n toast.error(err.response.data);\r\n } else if (err.response.status === 403) {\r\n toast.error(err.response.data);\r\n window.location.replace('/');\r\n } else if (Number.isInteger(err.response.status)) {\r\n toast.error(err.response.data);\r\n } else {\r\n toast.error('Unknown error.');\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n Valid License Key Required\r\n { setLicenseKey(e.target.value); setInputInvalid(false); }} />\r\n \r\n You can get a license key from your company admin.\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n )\r\n}","import React, { useEffect, useState } from 'react'\r\nimport './index.scss'\r\n\r\nconst TermsPopUp = () => {\r\n const apiAccessTokenObj = JSON.parse(sessionStorage.getItem(\"apiAccessTokenObj\"))\r\n const [termAgreed, setTermAgreed] = useState(false)\r\n const userId = !!apiAccessTokenObj && !!apiAccessTokenObj.uniqueId ? apiAccessTokenObj.uniqueId : false\r\n\r\n useEffect(() => {\r\n if (userId) {\r\n const termAccepted = `${userId}-accepted`\r\n const termAcceptedVal = sessionStorage.getItem(termAccepted)\r\n sessionStorage.setItem(termAccepted, termAcceptedVal)\r\n setTermAgreed(termAcceptedVal)\r\n }\r\n }, [apiAccessTokenObj, userId])\r\n\r\n const handleClick = () => {\r\n const termAccepted = `${userId}-accepted`\r\n sessionStorage.setItem(termAccepted, true)\r\n setTermAgreed(true)\r\n }\r\n\r\n if (termAgreed === 'true' || !userId) return null\r\n\r\n return (\r\n
\r\n
\r\n WayWize uses local and session storage to improve the user experience and to collect usage statistics. By using this website, you accept the use of local and session storage.\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default TermsPopUp","import React from 'react'\r\nimport './index.scss'\r\n\r\nconst AuthPopup = () => (\r\n
\r\n
\r\n \"FuelSave\"\r\n
\r\n Your session has been logged out. Please refresh the window or
window.location.reload()}>Click Here
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default AuthPopup","import React, { useState } from 'react'\r\nimport moment from 'moment'\r\nimport { DATE_FORMAT } from '../../../constant'\r\nimport './index.scss'\r\n\r\nconst ExpirationMsg = ({ licenseValid }) => {\r\n const [isHide, setIsHide] = useState(false)\r\n const licenseDate = moment(new Date(licenseValid))\r\n const todayDate = moment(new Date())\r\n\r\n if (licenseDate.diff(todayDate, 'days') > 31) {\r\n return null\r\n }\r\n return (\r\n
\r\n

Your license will expire {moment(licenseValid).format(DATE_FORMAT)}. Contact your system administrator.

\r\n setIsHide(true)}>X\r\n
\r\n )\r\n}\r\n\r\nexport default ExpirationMsg","import React from 'react'\r\nimport { DropdownButton, Dropdown } from 'react-bootstrap'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { setCountry } from '../../../../actions/global'\r\n\r\nconst FuelDistribution = ({ setCurrencyState, setCountryId }) => {\r\n const { countries, country } = useSelector(state => state.global)\r\n const dispatch = useDispatch()\r\n\r\n const setCountryNCurrency = c => {\r\n setCurrencyState(c.currency)\r\n setCountryId(c.country_id)\r\n dispatch(setCountry(c.country_name))\r\n }\r\n\r\n return (\r\n \r\n Fuel Distribution values by country\r\n {countries.map((c, i) =>\r\n setCountryNCurrency(c)}>{c.country_name} forecast)}\r\n \r\n )\r\n}\r\n\r\nexport default FuelDistribution","import React from 'react'\r\nimport { Form, Row, Col } from 'react-bootstrap'\r\nimport { useSelector } from 'react-redux'\r\n\r\nconst PresumptionsForm = ({ presumptions, onChange }) => {\r\n const { currency } = useSelector(state => state.global)\r\n\r\n const handleChange = (event) => {\r\n let value = event.currentTarget.value\r\n\r\n if (value === 'true') {\r\n value = true;\r\n } else if (value === 'false') {\r\n value = false;\r\n }\r\n\r\n let presumptions_copy = { ...presumptions };\r\n presumptions_copy[event.currentTarget.name] = value\r\n onChange(presumptions_copy)\r\n }\r\n\r\n const presumption_titles = [\"Fuel type\", \"CO2 factor [kg/l]\", \"kWh factor [kWh/l]\", \"Engine efficiency [0-1]\", `Fuel price ${currency}`]\r\n const presumption_rows = [\r\n [\"Battery\", \"battery_co2\", \"battery_kwh\", \"battery_efficiency\", \"battery_cost\"],\r\n [\"Chargeable Hybrid\", \"chargable_hybrid_co2\", \"chargable_hybrid_kwh\", \"chargable_hybrid_efficiency\", \"chargable_hybrid_cost\"],\r\n [\"Diesel\", \"diesel_co2\", \"diesel_kwh\", \"diesel_efficiency\", \"diesel_cost\"],\r\n [\"Gasoline\", \"gasoline_co2\", \"gasoline_kwh\", \"gasoline_efficiency\", \"gasoline_cost\"],\r\n [\"Hydrogen\", \"hydrogen_co2\", \"hydrogen_kwh\", \"hydrogen_efficiency\", \"hydrogen_cost\"],\r\n [\"Nonchargeable Hybrid\", \"inchargeable_hybrid_co2\", \"inchargeable_hybrid_kwh\", \"inchargeable_hybrid_efficiency\", \"inchargeable_hybrid_cost\"]\r\n ]\r\n const additional_titles = [\"Car average speed [km/h]\", \"Truck average speed [km/h]\", \"MPD [mm]\", \"IRI [mm/m]\", 'MPD increase [mm/year]', 'IRI increase [mm/m/year]', 'IRI limit [mm/m]']\r\n const additional_row = [\"speed_car\", \"speed_truck\", \"mpd\", \"iri\", \"mpd_increase\", \"iri_increase\", \"iri_limit\"]\r\n\r\n return (\r\n <>\r\n

Presumptions

\r\n
\r\n \r\n {presumption_titles.map(title => {title})}\r\n \r\n {presumption_rows.map(row => {\r\n const [name, ...col_vals] = row;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {col_vals.map(col_val => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n )\r\n })}\r\n \r\n {additional_titles.map(title => {title})}\r\n \r\n \r\n {additional_row.map(col_val => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default PresumptionsForm","import React, { useState, useEffect, useContext } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { Form } from 'react-bootstrap'\r\nimport { toast } from 'react-toastify'\r\nimport FuelSaveGlobalContext from '../../../../context/FuelSaveGlobalContext'\r\nimport ACTIONS from '../../../../utils/action'\r\nimport { fetchAllProjects, getProjectInfoById, updateProjectInfoById } from '../../../../actions/project'\r\nimport { MAX_YEAR, MIN_YEAR } from '../../../../constant'\r\nimport './index.scss'\r\n\r\nconst EditForm = ({ match }) => {\r\n const { projectNumberDispatch, projectNameDispatch } = useContext(FuelSaveGlobalContext)\r\n const { id } = !!match && !!match.params ? match.params : {}\r\n\r\n const dispatch = useDispatch()\r\n const { isProcessing, project } = useSelector(state => state.projects)\r\n const [pName, setPName] = useState(project.project_name || '')\r\n const [startYear, setStartYear] = useState(project.start_year || 0)\r\n const [endYear, setEndYear] = useState(project.end_year || 0)\r\n\r\n useEffect(() => {\r\n const getProjectById = async (id) => {\r\n try {\r\n const data = await dispatch(getProjectInfoById(id))\r\n if (!!data && !!data.data && !!data.data.data && !!data.data.data.projects) {\r\n const resp = data.data.data.projects\r\n if (!!resp[0]) {\r\n const { project_id, project_name, start_year, end_year } = resp[0]\r\n const projectid = parseInt(project_id)\r\n\r\n setPName(project_name)\r\n setStartYear(start_year || 0)\r\n setEndYear(end_year || 0)\r\n\r\n //Setting Default\r\n projectNameDispatch({ type: ACTIONS.PROJECT_NAME_CHANGE, payload: project_name })\r\n\r\n //ID Change\r\n projectNumberDispatch({ type: ACTIONS.PROJECT_NAME_CHANGE, payload: projectid })\r\n }\r\n }\r\n } catch (e) {\r\n console.log('getProjectById Error: ', e)\r\n }\r\n }\r\n\r\n if (!!id) {\r\n getProjectById(id)\r\n }\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n useEffect(() => {\r\n const { project_name, start_year, end_year } = project\r\n setPName(project_name)\r\n setStartYear(start_year)\r\n setEndYear(end_year)\r\n }, [project])\r\n\r\n const onSubmit = async (e) => {\r\n e.preventDefault()\r\n toast.info('Updating...')\r\n try {\r\n const projectResp = await dispatch(updateProjectInfoById({\r\n project_id: id,\r\n project_name: pName,\r\n start_year: parseInt(startYear),\r\n end_year: parseInt(endYear)\r\n }))\r\n\r\n if (!!projectResp && !!projectResp.data && !!projectResp.data.data && !!projectResp.data.data.updateProject) {\r\n toast.success('Updated Successfully')\r\n\r\n const resp = projectResp.data.data.updateProject\r\n const projectName = resp.project_name\r\n const projectid = parseInt(resp.project_id)\r\n\r\n projectNameDispatch({ type: ACTIONS.PROJECT_NAME_CHANGE, payload: projectName });\r\n projectNumberDispatch({ type: ACTIONS.PROJECT_NAME_CHANGE, payload: projectid });\r\n\r\n dispatch(fetchAllProjects())\r\n }\r\n } catch (e) {\r\n toast.error('Update Failed')\r\n console.log('Project Edit Error:', e)\r\n }\r\n }\r\n\r\n const handleInputChange = (name, e) => {\r\n const value = e.target.value;\r\n switch (name) {\r\n case 'pName':\r\n setPName(value)\r\n break;\r\n case 'start_year':\r\n setStartYear(value)\r\n break;\r\n case 'end_year':\r\n setEndYear(value)\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n const validateInput = name => {\r\n switch (name) {\r\n case 'name':\r\n return !pName\r\n case 'start_year':\r\n return !startYear || startYear < MIN_YEAR || endYear < startYear\r\n case 'end_year':\r\n return !endYear || endYear > MAX_YEAR || endYear < startYear\r\n default:\r\n return false\r\n }\r\n }\r\n\r\n const projName = !!project && !!project.project_name ? project.project_name : ''\r\n const isFormValid = (validateInput('name') || validateInput('start_year') || validateInput('end_year'))\r\n const errMsg = `You can only choose value between ${MIN_YEAR} and ${MAX_YEAR}`\r\n return (\r\n
\r\n
\r\n

Project Info

\r\n
\r\n
Update project name: {projName || ''}
\r\n
\r\n \r\n Project Name\r\n handleInputChange('pName', e)} />\r\n \r\n \r\n Start Year\r\n handleInputChange('start_year', e)} isInvalid={validateInput('start_year')} />\r\n {errMsg}\r\n \r\n \r\n End Year\r\n handleInputChange('end_year', e)} isInvalid={validateInput('end_year')} />\r\n {errMsg}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default EditForm\r\n","import React, { useState, useEffect } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { Form } from 'react-bootstrap'\r\nimport { toast } from 'react-toastify'\r\nimport { getProjectSettingsById, updateProjectSettingById } from '../../../../actions/setting'\r\n\r\nconst CDRSettings = ({ match }) => {\r\n const { id } = !!match && !!match.params ? match.params : {}\r\n\r\n const dispatch = useDispatch()\r\n const { isProcessing, project } = useSelector(state => state.projects)\r\n const { isLoading, cdrSettings } = useSelector(state => state.settings)\r\n const [threshold, setThresholdVal] = useState(project.base_comp_thrshld || 0)\r\n\r\n useEffect(() => {\r\n if (!!id) {\r\n dispatch(getProjectSettingsById(id))\r\n }\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n useEffect(() => {\r\n const { base_comp_thrshld } = cdrSettings\r\n setThresholdVal(base_comp_thrshld)\r\n }, [cdrSettings])\r\n\r\n const onSubmit = async (e) => {\r\n e.preventDefault()\r\n toast.info('Updating...')\r\n try {\r\n const settingResp = await dispatch(updateProjectSettingById({\r\n project_id: parseInt(id),\r\n base_comp_thrshld: parseFloat(threshold)\r\n }))\r\n\r\n if (!!settingResp && !!settingResp.data && !!settingResp.data.data && !!settingResp.data.data.updateSetting) {\r\n toast.success('Updated Successfully')\r\n }\r\n } catch (e) {\r\n toast.error('Update Failed')\r\n console.log('Project Edit Error:', e)\r\n }\r\n }\r\n\r\n const handleInputChange = (name, e) => {\r\n const value = e.target.value;\r\n switch (name) {\r\n case 'base_comp_thrshld':\r\n setThresholdVal(value)\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n const errMsg = 'Value can not be empty'\r\n return (\r\n
\r\n
\r\n

CDR Settings

\r\n
\r\n
\r\n \r\n Base Comparison Threshold\r\n handleInputChange('base_comp_thrshld', e)} />\r\n {errMsg}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default CDRSettings\r\n","import React, { useState, useEffect, useContext } from \"react\";\r\nimport { useQuery, gql, useMutation } from \"@apollo/client\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Button } from \"react-bootstrap\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport FuelSaveGlobalContext from \"../../../../context/FuelSaveGlobalContext\";\r\nimport { correctAlternativeForMap } from \"../../../../utils/maputils\"\r\nimport SpinLoader from \"../../../common/SpinLoader\";\r\nimport FuelDistribution from \"./FuelDistribution\";\r\nimport PresumptionsForm from \"./PresumptionsForm\";\r\nimport EditForm from \"./EditForm\";\r\nimport CDRSettings from \"./CDRSettings\";\r\nimport { CURRENCY } from \"../../../../constant\";\r\nimport './index.scss'\r\nimport { setAllAlignments } from \"../../../../actions/alignment\";\r\nimport { setAllPresumptions } from \"../../../../actions/presumption\";\r\nimport { setCountry, setCurrency } from \"../../../../actions/global\";\r\nimport { alternativeQueryParentBlock } from \"../../../../utils/alignment\";\r\n\r\nconst GET_ALTERNATIVES_AND_PRES = gql`\r\nquery projects($project_ids: [ID!]) {\r\n projects(project_ids: $project_ids) {\r\n ${alternativeQueryParentBlock(1, `\r\n alternative_id\r\n name\r\n \r\n directions {\r\n directions_id\r\n direction\r\n segments {\r\n segment_id\r\n directions_id\r\n year\r\n aadt_cars\r\n aadt_trucks\r\n aadt_trucks_with_trailer\r\n annual_increase_cars\r\n annual_increase_heavy\r\n start_index\r\n }\r\n segments_data {\r\n segment_data_id\r\n chainage\r\n zlevel\r\n radius\r\n a_intersection\r\n geom_order_id\r\n geom\r\n }\r\n }`)}\r\n \r\n presumptions {\r\n presumptions_id\r\n speed_car\r\n speed_truck\r\n cost_increase\r\n gasoline_fuelfactor\r\n gasoline_co2\r\n gasoline_kwh\r\n gasoline_efficiency\r\n gasoline_cost\r\n diesel_fuelfactor\r\n diesel_co2\r\n diesel_kwh\r\n diesel_efficiency\r\n diesel_cost\r\n battery_fuelfactor\r\n battery_co2\r\n battery_kwh\r\n battery_efficiency\r\n battery_cost\r\n inchargeable_hybrid_fuelfactor\r\n inchargeable_hybrid_co2\r\n inchargeable_hybrid_kwh\r\n inchargeable_hybrid_efficiency\r\n inchargeable_hybrid_cost\r\n chargable_hybrid_co2\r\n chargable_hybrid_kwh\r\n chargable_hybrid_efficiency\r\n chargable_hybrid_cost\r\n hydrogen_fuelfactor\r\n hydrogen_co2\r\n hydrogen_kwh\r\n hydrogen_efficiency\r\n hydrogen_cost\r\n iri\r\n mpd\r\n currency\r\n country_id\r\n country_name\r\n mpd_increase\r\n iri_increase\r\n iri_limit\r\n }\r\n }\r\n}\r\n`;\r\n\r\n\r\nconst UPDATE_PRESUMPTIONS = gql`\r\n mutation UpdatePresumptions($project_id: ID!, $data: UpdatePresumptionsInput!) {\r\n updatePresumptions(project_id: $project_id, data: $data) {\r\n speed_car\r\n speed_truck\r\n cost_increase\r\n gasoline_fuelfactor\r\n gasoline_co2\r\n gasoline_kwh\r\n gasoline_efficiency\r\n gasoline_cost\r\n diesel_fuelfactor\r\n diesel_co2\r\n diesel_kwh\r\n diesel_efficiency\r\n diesel_cost\r\n battery_fuelfactor\r\n battery_co2\r\n battery_kwh\r\n battery_efficiency\r\n battery_cost\r\n inchargeable_hybrid_fuelfactor\r\n inchargeable_hybrid_co2\r\n inchargeable_hybrid_kwh\r\n inchargeable_hybrid_efficiency\r\n inchargeable_hybrid_cost\r\n chargable_hybrid_fuelfactor\r\n chargable_hybrid_co2\r\n chargable_hybrid_kwh\r\n chargable_hybrid_efficiency\r\n chargable_hybrid_cost\r\n hydrogen_fuelfactor\r\n hydrogen_co2\r\n hydrogen_kwh\r\n hydrogen_efficiency\r\n hydrogen_cost\r\n iri\r\n mpd\r\n currency\r\n country_id\r\n country_name\r\n mpd_increase\r\n iri_increase\r\n iri_limit\r\n }\r\n }\r\n`;\r\n\r\nconst EditProject = ({ match }) => {\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n const { globalProjectNumber, setGlobalBrandCrumb } = useContext(FuelSaveGlobalContext)\r\n const { isProcessing } = useSelector(state => state.projects)\r\n const { isLoading } = useSelector(state => state.settings)\r\n const { isProcess } = useSelector(state => state.global)\r\n const [currencyState, setCurrencyState] = useState(CURRENCY.NORWAY)\r\n const [countryId, setCountryId] = useState()\r\n\r\n useEffect(() => {\r\n if (!!globalProjectNumber) {\r\n history.push(`/projects/edit/${globalProjectNumber}`)\r\n }\r\n }, [history, globalProjectNumber])\r\n\r\n const onSuccess = presumptionResp => {\r\n\r\n dispatch(setAllPresumptions([presumptionResp]))\r\n const currencyVal = !!presumptionResp && !!presumptionResp.currency ? presumptionResp.currency : CURRENCY.NORWAY\r\n const countryVal = !!presumptionResp && !!presumptionResp.country_name ? presumptionResp.country_name : false\r\n const countryIdVal = !!presumptionResp && !!presumptionResp.country_id ? presumptionResp.country_id : null\r\n dispatch(setCurrency(currencyVal))\r\n if (countryVal) {\r\n dispatch(setCountry(countryVal))\r\n }\r\n setCurrencyState(currencyVal)\r\n setCountryId(countryIdVal)\r\n }\r\n\r\n const [updatePresumptions, { loading: mutationLoading, error: mutationError }] = useMutation(UPDATE_PRESUMPTIONS, {\r\n onCompleted: ((data) => {\r\n if (!!data && !!data.updatePresumptions) {\r\n onSuccess(data.updatePresumptions)\r\n }\r\n })\r\n })\r\n\r\n const [formPresumptions, setFormPresumptions] = useState({});\r\n\r\n const { loading } = useQuery(GET_ALTERNATIVES_AND_PRES, {\r\n fetchPolicy: \"cache-and-network\",\r\n variables: {\r\n project_ids: globalProjectNumber\r\n },\r\n onCompleted: ((data) => {\r\n const alignmentResp = !!data && !!data.projects && !!data.projects[0] && !!data.projects[0].alternatives ?\r\n data.projects[0].alternatives : false\r\n if (!!alignmentResp && !!alignmentResp.node) {\r\n const filteredAlignments = correctAlternativeForMap(alignmentResp.node)\r\n dispatch(setAllAlignments(filteredAlignments, alignmentResp.totalAmount))\r\n }\r\n const presumptionResp = data.projects[0].presumptions[0]\r\n setFormPresumptions(presumptionResp)\r\n onSuccess(presumptionResp)\r\n })\r\n });\r\n\r\n useEffect(() => {\r\n setGlobalBrandCrumb(\"Project Settings\")\r\n\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n if (mutationError) return

Error :(

;\r\n\r\n async function handleUpdatePresumptions(presumptions) {\r\n updatePresumptions({\r\n variables: {\r\n project_id: globalProjectNumber,\r\n data: {\r\n speed_car: parseFloat(presumptions.speed_car),\r\n speed_truck: parseFloat(presumptions.speed_truck),\r\n cost_increase: parseFloat(presumptions.cost_increase),\r\n gasoline_fuelfactor: parseFloat(presumptions.gasoline_fuelfactor),\r\n gasoline_co2: parseFloat(presumptions.gasoline_co2),\r\n gasoline_kwh: parseFloat(presumptions.gasoline_kwh),\r\n gasoline_efficiency: parseFloat(presumptions.gasoline_efficiency),\r\n gasoline_cost: parseFloat(presumptions.gasoline_cost),\r\n diesel_fuelfactor: parseFloat(presumptions.diesel_fuelfactor),\r\n diesel_co2: parseFloat(presumptions.diesel_co2),\r\n diesel_kwh: parseFloat(presumptions.diesel_kwh),\r\n diesel_efficiency: parseFloat(presumptions.diesel_efficiency),\r\n diesel_cost: parseFloat(presumptions.diesel_cost),\r\n battery_fuelfactor: parseFloat(presumptions.battery_fuelfactor),\r\n battery_co2: parseFloat(presumptions.battery_co2),\r\n battery_kwh: parseFloat(presumptions.battery_kwh),\r\n battery_efficiency: parseFloat(presumptions.battery_efficiency),\r\n battery_cost: parseFloat(presumptions.battery_cost),\r\n inchargeable_hybrid_fuelfactor: parseFloat(\r\n presumptions.inchargeable_hybrid_fuelfactor\r\n ),\r\n inchargeable_hybrid_co2: parseFloat(\r\n presumptions.inchargeable_hybrid_co2\r\n ),\r\n inchargeable_hybrid_kwh: parseFloat(\r\n presumptions.inchargeable_hybrid_kwh\r\n ),\r\n inchargeable_hybrid_efficiency: parseFloat(\r\n presumptions.inchargeable_hybrid_efficiency\r\n ),\r\n inchargeable_hybrid_cost: parseFloat(\r\n presumptions.inchargeable_hybrid_cost\r\n ),\r\n chargable_hybrid_fuelfactor: parseFloat(\r\n presumptions.chargable_hybrid_fuelfactor\r\n ),\r\n chargable_hybrid_co2: parseFloat(presumptions.chargable_hybrid_co2),\r\n chargable_hybrid_kwh: parseFloat(presumptions.chargable_hybrid_kwh),\r\n chargable_hybrid_efficiency: parseFloat(\r\n presumptions.chargable_hybrid_efficiency\r\n ),\r\n chargable_hybrid_cost: parseFloat(presumptions.chargable_hybrid_cost),\r\n hydrogen_fuelfactor: parseFloat(presumptions.hydrogen_fuelfactor),\r\n hydrogen_co2: parseFloat(presumptions.hydrogen_co2),\r\n hydrogen_kwh: parseFloat(presumptions.hydrogen_kwh),\r\n hydrogen_efficiency: parseFloat(presumptions.hydrogen_efficiency),\r\n hydrogen_cost: parseFloat(presumptions.hydrogen_cost),\r\n iri: parseFloat(presumptions.iri),\r\n mpd: parseFloat(presumptions.mpd),\r\n currency: currencyState,\r\n country_id: countryId,\r\n mpd_increase: parseFloat(presumptions.mpd_increase),\r\n iri_increase: parseFloat(presumptions.iri_increase),\r\n iri_limit: parseFloat(presumptions.iri_limit)\r\n },\r\n },\r\n refetchQueries: [\r\n {\r\n query: GET_ALTERNATIVES_AND_PRES,\r\n variables: {\r\n project_id: globalProjectNumber\r\n }\r\n }],\r\n });\r\n }\r\n\r\n return (\r\n
\r\n {(!!loading || !!mutationLoading || !!isLoading || !!isProcessing || !!isProcess) && }\r\n Back\r\n \r\n { setFormPresumptions(presumptions) }} />\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default EditProject\r\n","import React from 'react'\r\nimport { useHistory } from 'react-router'\r\nimport './index.scss'\r\n\r\nconst About = () => {\r\n const history = useHistory()\r\n return (\r\n
\r\n
history.push('/')}>\r\n \"FuelSave\"\r\n
\r\n
\r\n
\r\n
About Fuel Save
\r\n
\r\n

\r\n Save CO2 and costs by changing only the most fuel affecting road segments Traffic accounts for more than 90% of the road’s total greenhouse gas emissions. Construction accounts for about 5% of the road’s total greenhouse gas emissions. Tiny changes in hilliness and curvature can make huge differences in energy consumption over a road’s life cycle. It’s time we shift our focus to what really matters.\r\n

\r\n

\r\n Fuelsave Road design is a digital tool that helps road designers and road project managers make better decisions. It combines forecasts of traffic flow and vehicle electrification with a model that describes how road parameters affect energy consumption.\r\n

\r\n
\r\n
\r\n\r\n
\r\n
Version 1.2.0
\r\n\r\n
Welcome to the v1.2.0 release of FuelSave. There are many updates in this version that we hope you will like, some of the highlights include:
\r\n\r\n
\r\n
    \r\n
  • User can change the chainage start-index point on the map
  • \r\n
  • Split here button placed on exact clicked point, when user try to add a new segment
  • \r\n
  • Optimized map filter page for comparison page and Segment setting page
  • \r\n
  • Added pagination for alignment module
  • \r\n
  • Added CDR module where user can compare alignment carbon emission
  • \r\n
  • Now user can save investment carbon and maintenance carbon value with annual CO2 of alignment (In CDR module)
  • \r\n
  • Added new county, that list will be served on setting page
  • \r\n
  • Now users can save currency and country along with the project setting
  • \r\n
  • Infinite loader has been fixed in case of Alignments and Comparison screen
  • \r\n
\r\n
\r\n
\r\n\r\n
\r\n
Version 1.1.0
\r\n\r\n
Welcome to the v1.1.0 release of FuelSave. There are many updates in this version that we hope you will like, some of the highlights include:
\r\n\r\n
\r\n
    \r\n
  • Shifted start/end year value on project level instead of alignment
  • \r\n
  • Added Loading spinner, while system is reading selected LandXML file (In case of a large file)
  • \r\n
  • Removed all terminal warnings for FE
  • \r\n
  • Updated project settings will be visible on the setting module in real-time
  • \r\n
  • Now, flash message will be rendered on UI, in case of session expired due to screen ideal
  • \r\n
  • LandXML functionality updated with custom choice of alignments
  • \r\n
\r\n
\r\n
\r\n\r\n
\r\n
Version 1.0.0
\r\n
Welcome to the v1.0.0 release of FuelSave. There are many updates in this version that we hope you will like, some of the highlights include:
\r\n
\r\n
    \r\n
  • Updated Navbar & Sidebar UI
  • \r\n
  • Added LandXML feature for alignment module
  • \r\n
  • Fixed Cost, CO2 and Energy map under Forecasts module
  • \r\n
  • Improved some points under comparision map's module. Like: x-axis range system, active point for BarChart
  • \r\n
\r\n
\r\n
\r\n
\r\n
history.push('/')}>\r\n Copyright © 2021 Waywize All Rights Reserved\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default About","import React, { useEffect } from 'react'\r\nimport './index.scss'\r\n\r\nconst SpinLoader2 = () => {\r\n useEffect(() => {\r\n let i = 0;\r\n if (i === 0) {\r\n i = 1;\r\n const elem = document.getElementById(\"waywize-progress-bar\");\r\n let width = 10;\r\n let id = setInterval(frame, 200);\r\n function frame() {\r\n if (width >= 80) {\r\n clearInterval(id);\r\n i = 0;\r\n } else {\r\n width++;\r\n elem.style.maxWidth = width + \"%\";\r\n elem.innerHTML = width + \"%\";\r\n }\r\n }\r\n }\r\n }, [])\r\n\r\n return (\r\n
\r\n
\r\n \"Loading\"\r\n
We're calculating on the basis on high number of variables, this can take some time. Please wait while processing is made
\r\n
1%
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default SpinLoader2","import React, { useEffect, useState } from 'react'\r\nimport { Bar } from 'react-chartjs-2'\r\nimport { useSelector } from 'react-redux'\r\nimport { MAX_YEAR, MIN_YEAR } from '../../../../constant'\r\nimport { colorCodes } from '../../../../constant/colors'\r\nimport { handleRequest, projectInfoToStorage, presumptionObj, scaleXCommonConfig, scaleYCommonConfig, flashErrMsg } from '../../../../constant/helpers'\r\nimport { requestBody3 } from '../../../../utils/aiRequestBodyUtils'\r\n\r\n\r\nconst { GREEN_3, BLUE_1, AQUA } = colorCodes\r\nconst GraphSection = ({ setIsLoading, endYear, formData, baseId, setFormData }) => {\r\n const { currency, carConfig, truckConfig } = useSelector(state => state.global)\r\n const alignments = useSelector(state => state.alignments.cdrAlignments)\r\n const { presumptions } = useSelector(state => state.presumptions)\r\n\r\n const [co2Fetched, setCo2Fetched] = useState(false)\r\n const [labelList, setLabelList] = useState([])\r\n const [co2List, setCo2List] = useState([])\r\n const [investData, setInvestData] = useState([])\r\n const [maintainData, setMaintainData] = useState([])\r\n const getForecastData = async (\r\n startYearData,\r\n endYearData,\r\n segmentsDir1,\r\n segmentsDir2,\r\n segmentsDataDir1,\r\n segmentsDataDir2,\r\n presumptionsData\r\n ) => {\r\n const presumptions = presumptionObj(presumptionsData[0])\r\n\r\n const startYear = startYearData ? startYearData : MIN_YEAR;\r\n const endYear = endYearData ? endYearData : 2041;\r\n\r\n const requestBodyDir1 = {\r\n return_option: 3,\r\n start_year: startYear,\r\n //end_year: endYear,\r\n end_year: endYear, //TODO: A temp fix\r\n fuel_distribution_cars: carConfig,\r\n fuel_distribution_trucks: truckConfig,\r\n sensitivity_param_factors: {\r\n speed: 1,\r\n fuelprice: 1,\r\n emission: 1,\r\n AADTheavy: 1,\r\n },\r\n presumptions: presumptions,\r\n segments: segmentsDir1,\r\n segments_data: segmentsDataDir1,\r\n };\r\n\r\n const requestBodyDir2 = {\r\n return_option: 3,\r\n start_year: startYear,\r\n //end_year: endYear, //TODO: A temp fix\r\n end_year: endYear,\r\n fuel_distribution_cars: carConfig,\r\n fuel_distribution_trucks: truckConfig,\r\n sensitivity_param_factors: {\r\n speed: 1,\r\n fuelprice: 1,\r\n emission: 1,\r\n AADTheavy: 1,\r\n },\r\n presumptions: presumptions,\r\n segments: segmentsDir2,\r\n segments_data: segmentsDataDir2,\r\n };\r\n\r\n const urlToken = process.env.REACT_APP_AI_FUNCTION_URL + '/api/HttpTrigger1?code=' + process.env.REACT_APP_AI_FUNCTION_API_KEY;\r\n\r\n try {\r\n setIsLoading(true)\r\n const [responseDir1, responseDir2] = await Promise.all([\r\n handleRequest('post', urlToken, endYear ? requestBodyDir1 : requestBody3, 'application/json', 'application/json'),\r\n handleRequest('post', urlToken, endYear ? requestBodyDir2 : requestBody3, 'application/json', 'application/json'),\r\n ])\r\n\r\n setIsLoading(false)\r\n return [responseDir1, responseDir2];\r\n\r\n } catch (e) {\r\n flashErrMsg(e)\r\n setIsLoading(false)\r\n return null;\r\n }\r\n }\r\n\r\n const setData = async (checkCo2Condition = true) => {\r\n const co2Data = []\r\n\r\n const globalProjInfo = projectInfoToStorage()\r\n if (!globalProjInfo || (!!globalProjInfo && (!globalProjInfo.start_year || !globalProjInfo.end_year))) {\r\n return\r\n }\r\n if (!alignments || !presumptions || !globalProjInfo || (!!co2Fetched && checkCo2Condition)) {\r\n return\r\n }\r\n\r\n setIsLoading(true)\r\n // const firstPart = alignments.filter(a => a.alternative_id === baseId)\r\n // const secondPart = alignments.filter(a => a.alternative_id !== baseId)\r\n const newArr = formData// [...firstPart, ...secondPart]\r\n for (let index = 0; index < newArr.length; index++) {\r\n const alternative = newArr[index];\r\n\r\n const dailyData = await getForecastData(\r\n globalProjInfo.start_year,\r\n endYear,\r\n alternative.directions[0].segments,\r\n alternative.directions[1].segments,\r\n alternative.directions[0].segments_data,\r\n alternative.directions[1].segments_data,\r\n presumptions\r\n )\r\n\r\n if (!dailyData || (!!dailyData && (!dailyData[0] || !dailyData[1]))) {\r\n return false\r\n }\r\n const responseDir1 = dailyData[0];\r\n const responseDir2 = dailyData[1];\r\n\r\n const year = responseDir1.data.year;\r\n\r\n let annualCo2 = 0\r\n year.map((yr, idx) => {\r\n if (parseInt(yr) === parseInt(endYear)) { //TODO: A temp fix calculation problem\r\n annualCo2 = responseDir1.data.annual_co2[idx] + responseDir2.data.annual_co2[idx];\r\n }\r\n return yr\r\n })\r\n co2Data.push(annualCo2)\r\n\r\n formData.map(d => {\r\n if (d.baseId === alternative.alternative_id) {\r\n d.annualCo2 = annualCo2\r\n }\r\n return d\r\n })\r\n if ((newArr.length - 1) === index) {\r\n setCo2Fetched(true)\r\n } else {\r\n setCo2Fetched(false)\r\n }\r\n }\r\n\r\n setIsLoading(false)\r\n setFormData(formData)\r\n setCo2List(co2Data)\r\n }\r\n\r\n useEffect(() => {\r\n\r\n if (endYear >= MIN_YEAR && MAX_YEAR >= endYear) {\r\n setData()\r\n }\r\n // eslint-disable-next-line\r\n }, [currency, presumptions, formData])\r\n\r\n useEffect(() => {\r\n\r\n if (endYear >= MIN_YEAR && MAX_YEAR >= endYear) {\r\n setData(false)\r\n }\r\n // eslint-disable-next-line\r\n }, [endYear, baseId])\r\n\r\n useEffect(() => {\r\n const firstPart = formData.filter(a => a.alternative_id === baseId)\r\n const secondPart = formData.filter(a => a.alternative_id !== baseId)\r\n setFormData([...firstPart, ...secondPart])\r\n // eslint-disable-next-line\r\n }, [baseId])\r\n\r\n useEffect(() => {\r\n if (!!formData && !!formData.length) {\r\n const labels = []\r\n const investments = []\r\n const maintainance = []\r\n const newCo2List = []\r\n formData.map(d => {\r\n investments.push(d.investment_emssn)\r\n maintainance.push(d.maintainance_emssn)\r\n labels.push(!!baseId && (baseId === d.alternative_id) ? `${d.name} (Base)` : d.name)\r\n newCo2List.push(d.annualCo2 || 0)\r\n d.annualCo2 = d.annualCo2 || 0\r\n return d\r\n })\r\n setFormData(formData)\r\n setCo2List(newCo2List)\r\n setLabelList(labels)\r\n setInvestData(investments)\r\n setMaintainData(maintainance)\r\n }\r\n\r\n // eslint-disable-next-line\r\n }, [formData])\r\n\r\n const options = {\r\n tooltips: {\r\n titleFontSize: 20,\r\n bodyFontSize: 20,\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n let label = data.datasets[tooltipItem.datasetIndex].label || '';\r\n if (label) {\r\n label += ': ';\r\n }\r\n label += (Math.round(tooltipItem.yLabel * 100) / 100).toLocaleString();\r\n return label;\r\n }\r\n }\r\n },\r\n scales: {\r\n xAxes: [\r\n {\r\n ...scaleXCommonConfig('Alignment name')\r\n }\r\n ],\r\n yAxes: [\r\n {\r\n ...scaleYCommonConfig('Total CO2 (kg)'),\r\n afterBuildTicks: function (mychart) {\r\n const yLabels = mychart.ticks;\r\n mychart.options.ticks.callback = function (label) {\r\n return (yLabels).includes(label) ? label.toLocaleString() : '';\r\n }\r\n }\r\n },\r\n ],\r\n },\r\n };\r\n\r\n const data = {\r\n labels: labelList,\r\n datasets: [\r\n {\r\n label: 'Usage',\r\n data: co2List,\r\n backgroundColor: BLUE_1,\r\n stack: 'Stack 0',\r\n },\r\n {\r\n label: 'Investments',\r\n data: investData,\r\n backgroundColor: AQUA,\r\n stack: 'Stack 0',\r\n },\r\n {\r\n label: 'Maintenance',\r\n data: maintainData,\r\n backgroundColor: GREEN_3,\r\n stack: 'Stack 0',\r\n },\r\n ],\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default GraphSection","import { Modal, Button } from 'react-bootstrap'\r\nimport './index.scss'\r\n\r\nconst FormModal = ({ show, onHide, children }) => (\r\n \r\n \r\n \r\n Input Cap/OpCarb Emission\r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default FormModal","import React, { useEffect } from 'react'\r\nimport { Table } from \"react-bootstrap\"\r\nimport { colorCodes } from '../../../../constant/colors'\r\n\r\nconst { GREEN_2, YELLOW_1, RED_1 } = colorCodes\r\nconst ResponseTable = ({ formData, baseId, alignmentState, setIsLoading }) => {\r\n let refTotal = 0\r\n const refCase = formData.find(a => a.baseId === baseId)\r\n if (!!refCase) {\r\n refTotal = parseInt(parseInt(refCase.annualCo2 || 0) + parseInt(refCase.investment_emssn || 0) + parseInt(refCase.maintainance_emssn || 0))\r\n }\r\n\r\n const isCalculating = !!alignmentState && (\r\n (alignmentState.alignments.length && !alignmentState.cdrAlignments.length) ||\r\n (alignmentState.alignments.length && alignmentState.cdrAlignments.length && !formData.length))\r\n\r\n\r\n useEffect(() => {\r\n setIsLoading(isCalculating)\r\n // eslint-disable-next-line\r\n }, [isCalculating])\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!formData && !!formData.length &&\r\n formData.map((f, idx) => {\r\n const co2Sum = parseInt(parseInt(f.annualCo2 || 0) + parseInt(f.investment_emssn || 0) + parseInt(f.maintainance_emssn || 0))\r\n let backgroundColor = null\r\n const calculation = Math.round(((co2Sum - refTotal) / refTotal) * 100) / 100 || 0\r\n\r\n if (calculation < -0.10) {\r\n backgroundColor = GREEN_2\r\n } else if ((calculation > -0.10) && (calculation < 0.10)) {\r\n backgroundColor = YELLOW_1\r\n } else if (calculation > 0.10) {\r\n backgroundColor = RED_1\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
S.NoAlignment NameWaywize CDRCPT
{idx + 1}{f.name}{f.baseId === baseId ? 'Reference' :
}
{calculation}
\r\n
\r\n )\r\n}\r\n\r\nexport default ResponseTable","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { toast } from 'react-toastify'\r\nimport { Form } from \"react-bootstrap\"\r\nimport { gql, useMutation } from '@apollo/client'\r\nimport { projectInfoToStorage } from '../../../constant/helpers'\r\nimport FuelSaveGlobalContext from '../../../context/FuelSaveGlobalContext'\r\nimport SpinLoader2 from '../../common/SpinLoader2'\r\nimport GraphSection from './GraphSection'\r\nimport FormModal from './FormModal'\r\nimport ResponseTable from './ResponseTable'\r\nimport { MAX_YEAR, MIN_YEAR } from '../../../constant'\r\nimport { fetchAllCDRAlignments } from '../../../actions/alignment'\r\nimport './index.scss'\r\n\r\nconst UPDATE_CAP_INPUTS = gql`\r\nmutation addUpdateCDRInvestmentMaintainance($project_id:ID!, $data:[AddCdrInvestmentMaintainanceInput]) { \r\n addUpdateCDRInvestmentMaintainance(project_id:$project_id,data: $data) {\r\n alternative_id,year_value,investment_emssn,maintainance_emssn,is_active\r\n }\r\n }\r\n`\r\n\r\nconst CDR = () => {\r\n const dispatch = useDispatch()\r\n const { setGlobalBrandCrumb, globalProjectNumber } = useContext(FuelSaveGlobalContext)\r\n const { isProcessing } = useSelector(state => state.projects)\r\n const alignmentState = useSelector(state => state.alignments)\r\n\r\n const alignments = alignmentState.cdrAlignments\r\n const alignmentLoading = alignmentState.isCDRProcessing\r\n const [cdrData, setCdrData] = useState({ baseId: '', endYear: 0 })\r\n const [showModal, setShowModal] = useState(false)\r\n const [formData, setFormData] = useState(alignmentState.cdrAlignments || [])\r\n const [isLoading, setIsLoading] = useState(false)\r\n\r\n useEffect(() => {\r\n setGlobalBrandCrumb(\"Climate Declaration\")\r\n dispatch(fetchAllCDRAlignments(globalProjectNumber))\r\n\r\n // eslint-disable-next-line\r\n }, [globalProjectNumber])\r\n\r\n useEffect(() => {\r\n const globalProjInfo = projectInfoToStorage()\r\n if (!globalProjInfo || (!!globalProjInfo && !globalProjInfo.end_year)) {\r\n toast.error('End year value not found with this project')\r\n } else {\r\n setCdrData({ ...cdrData, endYear: globalProjInfo.end_year })\r\n }\r\n\r\n if (!!alignments && !!alignments.length) {\r\n const newArr = []\r\n\r\n setCdrData({ ...cdrData, baseId: alignments[0].alternative_id })\r\n alignments.map(g => {\r\n newArr.push({\r\n ...g,\r\n name: g.name || '',\r\n investment_emssn: g.investment_emssn || 0,\r\n maintainance_emssn: g.maintainance_emssn || 0,\r\n baseId: g.alternative_id\r\n })\r\n return g\r\n })\r\n setFormData(newArr)\r\n }\r\n // eslint-disable-next-line\r\n }, [alignments])\r\n\r\n const handleChange = (e, i, key) => {\r\n formData[i][key] = (e.target.value).replace(/[^0-9]/g, '')\r\n setFormData([...formData])\r\n }\r\n\r\n const setEndYearVal = e => {\r\n const { value } = e.target\r\n setCdrData({ ...cdrData, endYear: value > MAX_YEAR ? MAX_YEAR : value })\r\n }\r\n\r\n const validateInput = name => {\r\n switch (name) {\r\n case 'end_year':\r\n return !cdrData || !cdrData.endYear || cdrData.endYear > MAX_YEAR || cdrData.endYear < MIN_YEAR\r\n default:\r\n return false\r\n }\r\n }\r\n\r\n const [updateCapInputs, { loading: updateLoading }] = useMutation(UPDATE_CAP_INPUTS, {\r\n onCompleted: ((data) => {\r\n // TODO: We'll remove this part\r\n if (!!data && !!data.addUpdateCDRInvestmentMaintainance) {\r\n setShowModal(false)\r\n toast.success('Updated Successfully.')\r\n }\r\n })\r\n })\r\n\r\n const handleUpdateCapInputs = async (formDataVal) => {\r\n const dataArr = []\r\n formDataVal.map(f => {\r\n dataArr.push({\r\n alternative_id: f.baseId,\r\n year_value: (cdrData.endYear).toString(),\r\n investment_emssn: (f.investment_emssn).toString(),\r\n maintainance_emssn: (f.maintainance_emssn).toString(),\r\n is_active: \"1\"\r\n })\r\n return f\r\n })\r\n updateCapInputs(\r\n {\r\n variables: {\r\n project_id: globalProjectNumber,\r\n data: dataArr\r\n }\r\n }\r\n )\r\n }\r\n\r\n const isInValid = cdrData.endYear > MAX_YEAR || cdrData.endYear < MIN_YEAR\r\n\r\n return (\r\n
\r\n setShowModal(false)}>\r\n
\r\n \r\n
Selected calculation end year
\r\n
\r\n
\r\n
\r\n
Alignment Name
\r\n
Emissions - Investment (Kg)
\r\n
Emissions - Maintenance (Kg)
\r\n
\r\n {!!formData && !!formData.length &&\r\n
{\r\n formData.map((g, i) =>\r\n
\r\n
{g.name}
\r\n
handleChange(e, i, 'investment_emssn')} />
\r\n
handleChange(e, i, 'maintainance_emssn')} />
\r\n
)\r\n }\r\n
\r\n }\r\n
\r\n \r\n
\r\n {(!!isProcessing || !!alignmentLoading || !!isLoading || !!updateLoading) && }\r\n
\r\n
alert('Coming Soon')}>\r\n Export As PDF\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {!!alignments && !!alignments.length ?\r\n \r\n : 'No Projects'}\r\n
\r\n\r\n
\r\n \r\n Select Calculation End Year\r\n
\r\n setEndYearVal(e)} isInvalid={validateInput('end_year')} />\r\n Value should be in between {MIN_YEAR} and {MAX_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}\r\n\r\nexport default CDR","import React, { useState, useEffect, useReducer } from \"react\";\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport \"./App.scss\";\r\nimport NavBar from \"./views/common/NavBar\";\r\nimport NavBarLogin from \"./views/common/navbarLogin\";\r\nimport Login from \"./views/content/Login/Login\";\r\nimport DailyComparisons from \"./views/content/comparison/DailyComparisons\";\r\nimport SectionalAnalysis from './views/content/sectionalanalysis/SectionalAnalysis';\r\nimport Forecasts from './views/content/forecasts/Forecasts';\r\nimport { Switch, Route, useLocation } from \"react-router-dom\";\r\nimport SettingsIndividual from \"./views/content/settings/SettingsIndividual\";\r\nimport Summary from \"./views/content/summary/Summary\";\r\nimport Projects from \"./views/content/projects/Projects\"\r\nimport ACTIONS from \"./utils/action\";\r\nimport { reducerPrediction, reducerProject } from \"./utils/reducer\";\r\n// for authentication\r\nimport config from \"../src/services/Config\";\r\n// import { getUserDetails } from \"../src/services/GraphService\";\r\nimport FuelSaveGlobalContext from \"./context/FuelSaveGlobalContext\";\r\nimport { setContext } from '@apollo/client/link/context';\r\nimport { createHttpLink, ApolloClient, ApolloProvider, InMemoryCache } from '@apollo/client';\r\nimport { Layout, Menu } from 'antd';\r\nimport 'antd/dist/antd.css';\r\nimport 'react-confirm-alert/src/react-confirm-alert.css';\r\nimport { toast } from 'react-toastify'\r\n\r\n//For B2C Stuff\r\n// import { useMsal, useAccount } from \"@azure/msal-react\";\r\nimport { PublicClientApplication } from \"@azure/msal-browser\";\r\nimport License from \"./views/content/license/License\";\r\nimport TermsPopUp from \"./views/common/TermsPopUp\";\r\nimport AuthPopup from \"./views/common/AuthPopup\";\r\nimport { projectInfoToStorage } from \"./constant/helpers\";\r\nimport { checkTokenExp, fetchAllCountries, fetchForecastConfig, setIsLicense, setWinWidth } from \"./actions/global\";\r\nimport ExpirationMsg from \"./views/common/ExpirationMsg\";\r\nimport EditProject from \"./views/content/projects/EditProject\";\r\nimport { fetchAllProjects } from \"./actions/project\";\r\nimport About from \"./views/content/About\";\r\nimport CDR from \"./views/content/CDR\";\r\nimport { colorCodes } from \"./constant/colors\";\r\nimport { fetchAllAlignments } from \"./actions/alignment\";\r\nimport { fetchAllPresumptions } from \"./actions/presumption\";\r\n\r\nconst { Header, Content } = Layout;\r\nconst { WHITE_1 } = colorCodes\r\n\r\nconst App = ({ url, redirectUrl }) => {\r\n const location = useLocation()\r\n const dispatch = useDispatch()\r\n const { autoOut, isLicense, licenseValid, country } = useSelector(state => state.global)\r\n const { projects } = useSelector(state => state.projects)\r\n const [isLoading, setIsLoading] = useState(false)\r\n const apiAccessTokenObj = JSON.parse(localStorage.getItem(\"apiAccessTokenObj\"))\r\n const [globalForcastList, forcastDispatch] = useReducer(reducerPrediction, null); //Changed it, so you need to check with that\r\n const [globalForcastListNew, setGlobalForcastListNew] = useState([]);\r\n const [globalBrandCrumb, setGlobalBrandCrumb] = useState('Projects')\r\n const [globalProjectNumber, projectNumberDispatch] = useReducer(reducerProject, null);\r\n const [globalProjectName, projectNameDispatch] = useReducer(reducerProject, \"No Project Selected\");\r\n const [editMap, setEditMap] = useState(false);\r\n const [addSegment, setAddSegment] = useState(false);\r\n /* mapCoordinateId, setMapCoordinateId, mapCentreIdData, setMapCentreIdData, previousMapCentreIdData, setPreviousMapCentreIdData\r\n Only limited to Setting and traffic*/\r\n const [mapCoordinateId, setMapCoordinateId] = useState(null);\r\n const [mapCentreIdData, setMapCentreIdData] = useState(null);\r\n const [previousMapCentreIdData, setPreviousMapCentreIdData] = useState(null);\r\n const [username, setUserName] = useState(null);\r\n // const [userEmail, setUserEmail] = useState(null);\r\n // const [graphAccessToken, setGraphAccessToken] = useState(null);\r\n const [apiAccessToken, setApiAccessToken] = useState(apiAccessTokenObj);\r\n const [apolloClient, setApolloClient] = useState(null);\r\n const [refreshProject, setRefreshProject] = useState(false);\r\n const [navDefaultKey, setCavDefaultKey] = useState('')\r\n const [navSideBarOpen, setNavSideBarOpen] = useState(true)\r\n\r\n // map global const values\r\n\r\n const [chainage, setChainage] = useState(null);\r\n const [fcCar, setFcCar] = useState(null);\r\n const [fcTrucks, setFcTrucks] = useState(null);\r\n const [hilliness, setHilliness] = useState(null);\r\n const [speedProfileCars, setSpeedProfileCars] = useState(null);\r\n const [speedProfileTrucks, setSpeedProfileTrucks] = useState(null);\r\n const [zlevel, setZlevel] = useState(null);\r\n const [curvature, setCurvature] = useState(null);\r\n const [segment, setSegment] = useState(null);\r\n // const [collapsed, Iscollapsed] = useState(true);\r\n // chartGlobal const values\r\n const [editSectionalAnalysisChart, setEditSectionalAnalysisChart] = useState(false);\r\n\r\n useEffect(() => {\r\n window.addEventListener('resize', handleResize, false)\r\n return () => {\r\n window.removeEventListener('resize', handleResize, false)\r\n }\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n const handleResize = () => {\r\n dispatch(setWinWidth(window.innerWidth))\r\n }\r\n\r\n const userAgentApplication = new PublicClientApplication({\r\n auth: {\r\n clientId: config.appId,\r\n authority: (config.b2cPolicies.authorities.signUpSignIn.authority).toString(), //Change this auth!\r\n knownAuthorities: [(config.b2cPolicies.authorityDomain).toString()], //Change this auth!\r\n redirectUri: redirectUrl,\r\n postLogoutRedirectUri: redirectUrl\r\n },\r\n cache: {\r\n cacheLocation: \"localStorage\",\r\n storeAuthStateInCookie: false,\r\n },\r\n });\r\n\r\n // const getUserProfile = async (userAccountId) => {\r\n // // get token\r\n // /*const sessionStorageGraphToken = JSON.parse(sessionStorage.getItem(\"graphAccessTokenObj\"))\r\n\r\n // if (sessionStorageGraphToken !== null) {\r\n // const accessTokenObj = await userAgentApplication.acquireTokenSilent({\r\n // scopes: config.graphScopes,\r\n // account: sessionStorageGraphToken\r\n // });\r\n // sessionStorage.setItem(\"graphAccessTokenObj\", JSON.stringify(userAgentApplication.getAllAccounts()[0]))\r\n // setGraphAccessToken(accessTokenObj);\r\n // setIsAuthenticated(true);\r\n // sessionStorage.setItem(\"isAuthenticated\", true)\r\n\r\n // if (sessionStorageGraphToken) {\r\n // const user = await getUserDetails(sessionStorageGraphToken);\r\n // sessionStorage.setItem(\"isAuthenticated\", true)\r\n // setUserName(user.displayName);\r\n // }\r\n // }\r\n // else {*/\r\n // try {\r\n // const accounts = userAgentApplication.getAllAccounts();\r\n // if (accounts.length <= 0) throw new Error('login_required');\r\n\r\n // const accessTokenObj = await userAgentApplication.acquireTokenSilent({\r\n // scopes: config.graphScopes,\r\n // account: accounts.filter(account => account.localAccountId === userAccountId)[0]\r\n // });\r\n // sessionStorage.setItem(\"graphAccessTokenObj\", JSON.stringify(userAgentApplication.getAllAccounts()[0]))\r\n // setGraphAccessToken(accessTokenObj);\r\n // setIsAuthenticated(true);\r\n // sessionStorage.setItem(\"isAuthenticated\", true)\r\n\r\n // if (accessTokenObj) {\r\n // // get user profile from Graph\r\n // const user = await getUserDetails(accessTokenObj);\r\n // sessionStorage.setItem(\"isAuthenticated\", true)\r\n // setUserName(user.displayName);\r\n // sessionStorage.setItem(\"userName\", user.displayName)\r\n // // setUserEmail(user.mail);\r\n // // setAccessToken(accessToken);\r\n // }\r\n // } catch (err) {\r\n // console.error(\"Error while getting graph token:\", err)\r\n // setIsAuthenticated(false);\r\n // }\r\n // //}\r\n // }\r\n\r\n const settingNewClient = async () => {\r\n // Create a new ApolloClient instance with token\r\n const httpLink = createHttpLink({ uri: url })\r\n\r\n //Calling UserID\r\n const loginDetailSessionUniqueID = localStorage.getItem('loginDetials')\r\n\r\n if (loginDetailSessionUniqueID) {\r\n const accounts = userAgentApplication.getAllAccounts();\r\n // TODO: streamline the process of clearing localStorage after logout\r\n if (accounts.length <= 0) {\r\n localStorage.clear();\r\n window.location.href = '/';\r\n };\r\n\r\n try {\r\n const accessTokenObj = await userAgentApplication.acquireTokenSilent({\r\n scopes: [...config.apiScopes], //Change this auth!,,\r\n account: accounts.filter(account => account.localAccountId === loginDetailSessionUniqueID)[0]\r\n });\r\n\r\n if (accessTokenObj) {\r\n // When using apolloclient, add api access token to headers\r\n const authLink = setContext((_, { headers }) => {\r\n // return the headers to the context so httpLink can read them\r\n return {\r\n headers: {\r\n ...headers,\r\n authorization: accessTokenObj ? `Bearer ${accessTokenObj.accessToken}` : \"\",\r\n }\r\n };\r\n });\r\n const client = new ApolloClient({\r\n link: authLink.concat(httpLink),\r\n cache: new InMemoryCache()\r\n });\r\n setApiAccessToken(accessTokenObj) //do we need this? It is for the Get Query of all the alternative since the new API needs to be set\r\n localStorage.setItem(\"apiAccessTokenObj\", JSON.stringify(accessTokenObj))\r\n\r\n setApolloClient(client);\r\n return client\r\n //localStorage.setItem(\"sessionApoloClient\", JSON.stringify(client))\r\n }\r\n } catch (e) {\r\n localStorage.clear()\r\n toast.error('Session expired. Please sign in again.')\r\n }\r\n }\r\n }\r\n\r\n const getApiToken = async (userAccountId) => {\r\n // const sessionStorageAPIToken = JSON.parse(localStorage.getItem(\"apiAccessTokenObj\"))\r\n try {\r\n const accounts = userAgentApplication.getAllAccounts();\r\n // TODO: streamline the process of clearing localStorage after logout. Also make this into a function.\r\n if (accounts.length <= 0) {\r\n localStorage.clear();\r\n window.location.href = '/';\r\n };\r\n\r\n const accessTokenObj = await userAgentApplication.acquireTokenSilent({\r\n scopes: [...config.apiScopes], //Change this auth!,\r\n forceRefresh: false, // Set this to \"true\" to skip a cached token and go to the server to get a new token\r\n account: accounts.filter(account => account.localAccountId === userAccountId)[0]\r\n });\r\n localStorage.setItem(\"apiAccessTokenObj\", JSON.stringify(accessTokenObj))\r\n setApiAccessToken(accessTokenObj);\r\n // setIsAuthenticated(true);\r\n // console.log(accessTokenObj.account.name, \"name\")\r\n //Setting local username and password\r\n localStorage.setItem(\"userName\", accessTokenObj.account.name)\r\n setUserName(accessTokenObj.account.name)\r\n const client = await settingNewClient(accessTokenObj)\r\n return client\r\n\r\n } catch (err) {\r\n console.error(\"Error while getting api token:\", err)\r\n // setIsAuthenticated(false);\r\n localStorage.setItem(\"isAuthenticated\", false)\r\n }\r\n //}\r\n };\r\n\r\n const login = async () => {\r\n const loginDetailSessionUniqueID = localStorage.getItem('loginDetials')\r\n if (loginDetailSessionUniqueID === null) {\r\n try {\r\n let logindetails = await userAgentApplication.loginPopup({\r\n scopes: [\"openid\", ...config.apiScopes], //Change this auth!\r\n //prompt: \"select_account\",\r\n });\r\n // We need to store the user information in the sessions\r\n localStorage.setItem(\"loginDetials\", logindetails.uniqueId)\r\n //getUserProfile(logindetails.uniqueId);\r\n getApiToken(logindetails.uniqueId);\r\n } catch (err) {\r\n // setIsAuthenticated(false);\r\n }\r\n }\r\n else {\r\n //getUserProfile(parseInt(loginDetailSessionUniqueID));\r\n getApiToken(parseInt(loginDetailSessionUniqueID));\r\n }\r\n };\r\n\r\n // const logout = async () => {\r\n // const userAgentApplication = new PublicClientApplication({\r\n // auth: {\r\n // clientId: config.appId,\r\n // redirectUri: redirectUrl,\r\n // },\r\n // cache: {\r\n // cacheLocation: \"localStorage\",\r\n // storeAuthStateInCookie: true,\r\n // },\r\n // });\r\n\r\n // userAgentApplication.logout();\r\n // };\r\n\r\n useEffect(() => {\r\n if (apiAccessToken) {\r\n //See if you need this\r\n //const client = await settingNewClient(apiAccessToken)\r\n //setApolloClient(client)\r\n if (!!projects && !projects.length) {\r\n dispatch(fetchAllProjects(true))\r\n }\r\n if (globalProjectNumber) {\r\n dispatch(fetchAllAlignments(globalProjectNumber))\r\n dispatch(fetchAllPresumptions(globalProjectNumber))\r\n }\r\n }\r\n // eslint-disable-next-line\r\n }, [apiAccessToken, globalProjectNumber]);\r\n\r\n\r\n\r\n const setGlobalProjectInfo = () => {\r\n const projInfo = projectInfoToStorage()\r\n if (!!projInfo) {\r\n projectNumberDispatch({ type: ACTIONS.PROJECT_NUMBER_CHANGE, payload: projInfo.project_id });\r\n projectNameDispatch({ type: ACTIONS.PROJECT_NAME_CHANGE, payload: projInfo.project_name });\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const userNameFetchSession = localStorage.getItem(\"userName\")\r\n if (userNameFetchSession) { setUserName(userNameFetchSession); }\r\n async function watingforclient() {\r\n if (apiAccessToken) {\r\n const client = await settingNewClient()\r\n setApolloClient(client)\r\n }\r\n }\r\n //getting selectedProjectNumber from \r\n const localStorageSearchProject = (() => {\r\n const selectedProject = localStorage.getItem('selectedProject')\r\n if (!!selectedProject && selectedProject !== 'undefined') {\r\n const retrivedData = JSON.parse(selectedProject)\r\n if (selectedProject && !!retrivedData[0] && !!retrivedData[0].project_id &&\r\n (retrivedData[0].project_id !== globalProjectNumber)) {\r\n projectNumberDispatch({ type: ACTIONS.PROJECT_NUMBER_CHANGE, payload: retrivedData[0].project_id });\r\n projectNameDispatch({ type: ACTIONS.PROJECT_NAME_CHANGE, payload: retrivedData[0].project_name });\r\n //return selectedProject[0].project_id\r\n }\r\n }\r\n })\r\n setGlobalProjectInfo()\r\n watingforclient()\r\n localStorageSearchProject()\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n\r\n useEffect(() => {\r\n setGlobalProjectInfo()\r\n }, [projects])\r\n\r\n // const onCollapse = () => {\r\n // Iscollapsed(!collapsed)\r\n // }\r\n useEffect(() => {\r\n const pageDic = {\r\n '/': '1',\r\n '/summary': '2',\r\n '/comparison': '3',\r\n '/sectional': '4',\r\n '/forecasts': '5',\r\n '/cdr': '6'\r\n }\r\n if (pageDic[location.pathname]) {\r\n setCavDefaultKey(pageDic[location.pathname])\r\n } else if ((location.pathname).startsWith('/settings/')) {\r\n setCavDefaultKey('2')\r\n } else {\r\n setCavDefaultKey('1')\r\n }\r\n window.scrollTo(0, 0)\r\n }, [location])\r\n\r\n function logout() {\r\n localStorage.clear();\r\n userAgentApplication.logout();\r\n dispatch(setIsLicense(null))\r\n }\r\n\r\n useEffect(() => {\r\n if (!!apolloClient && !!isLicense) {\r\n dispatch(checkTokenExp(apiAccessToken.uniqueId))\r\n dispatch(fetchAllCountries())\r\n }\r\n window.scrollTo(0, 0)\r\n\r\n // eslint-disable-next-line\r\n }, [apolloClient, isLicense])\r\n\r\n // TODO: We'll do with country\r\n useEffect(() => {\r\n if (!!country) {\r\n dispatch(fetchForecastConfig(country))\r\n }\r\n // eslint-disable-next-line\r\n }, [country])\r\n\r\n if (location.pathname === '/about') {\r\n return \r\n }\r\n return (\r\n \r\n
\r\n {(apolloClient && isLicense !== null) ? (\r\n (isLicense) ? (\r\n \r\n \r\n {autoOut && }\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n {!!licenseValid && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n ) : \r\n ) : }\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default App\r\n","import { handleRequest } from '../constant/helpers';\r\n\r\nexport const getUser = user_oid => handleRequest(\"post\",\r\n\tprocess.env.REACT_APP_LICENSE_API_URL + '/user', {\r\n\tuser_oid\r\n})","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React from 'react'\r\nimport ReactDOM from 'react-dom'\r\nimport { Provider } from 'react-redux'\r\nimport { BrowserRouter } from 'react-router-dom'\r\nimport { ToastContainer } from 'react-toastify'\r\nimport './index.css'\r\nimport App from './App'\r\nimport reportWebVitals from './reportWebVitals'\r\nimport 'bootstrap/dist/css/bootstrap.min.css'\r\nimport store from './store'\r\nimport 'react-toastify/dist/ReactToastify.css'\r\n\r\nconst redirectUrl = process.env.REACT_APP_UI_URL\r\nconst url = process.env.REACT_APP_API_URL\r\n\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.querySelector('#root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}