@/ui/ui-vue/dist/index.js
nop(${this.serializeToLua(text)}) -- (actually run the lua check)
`)}serializeToLua(obj){let tmp;if(obj==null)return`nil`;switch(obj.constructor){case String:return obj.search(/\\|\"|\n|\t|\r/)==-1?`"${obj}"`:`"${obj.replace(/\\/g,`\\\\`).replace(/\"/g,`\\"`).replace(/\n|\r/g,`\\n`).replace(/\t/g,`\\t`)}"`;case Number:return isFinite(obj)?obj.toString():null;case Boolean:return obj?`true`:`false`;case Array:tmp=[];for(let i=0;iLua_default.extensions[LUA_BLUR_EXTENSION].replaceGroup(`uiBlur`,blurRegionList),getNextAvailableId=()=>(highestId<2**53-1?highestId++:highestId=0).toString(),LUA_BLUR_UNLOADED=0,LUA_BLUR_LOADING=1,LUA_BLUR_LOADED=2,blurLoadedState=LUA_BLUR_UNLOADED;function applyBlur(){if(!window.beamng||!window.beamng.ingame||blurLoadedState===LUA_BLUR_LOADING)return;let isEmpty=!Object.keys(blurRegionList).length;blurLoadedState===LUA_BLUR_UNLOADED?isEmpty||(blurLoadedState=LUA_BLUR_LOADING,Lua_default.extensions.load(LUA_BLUR_EXTENSION).then(()=>{blurLoadedState=LUA_BLUR_LOADED,sendBlurListToLua()})):isEmpty?(Lua_default.extensions.unload(LUA_BLUR_EXTENSION),blurLoadedState=LUA_BLUR_UNLOADED):sendBlurListToLua()}var GameBlurrer_default={register(coord){if(coord===void 0)throw Error(`Cannot register bng-blur with coordinates: `+coord);let id=getNextAvailableId();return blurRegionList[id]=coord,applyBlur(),id},unregister(id){id in blurRegionList&&(delete blurRegionList[id],applyBlur())},update(id,coord){if(!(id in blurRegionList))throw Error(`Trying to update bng-blur with an ID that is not registered: ${id} (of ${Object.keys(blurRegionList)})`);blurRegionList[id]=coord,applyBlur()}},handlers={},streamCoordinator;window.streamUpdate=data=>_runHandlers(`stream`,data),window.multihookUpdate=hooksData=>{for(let i in hooksData){let hook=hooksData[i];trigger(hook[0],hook[1])}},window.HookManager={trigger};var skippedStreamUpdate=null,streamUpdateHandler=function(data){if(streamCoordinator?.processing){console.log(`ERROR: streamUpdate cycle is already active, skipping this update of streams`),skippedStreamUpdate=data;return}skippedStreamUpdate=null;let oldFormat={};if(data.globalStreams)for(let sn in data.globalStreams)oldFormat[sn]=data.globalStreams[sn];if(data.vehicleStreams&&data.vehicleStreams.player_0)for(let sn in data.vehicleStreams.player_0)oldFormat[sn]=data.vehicleStreams.player_0[sn];streamCoordinator?.beforeBroadcast(),window.globalAngularRootScope?.$broadcast(`streamsUpdate`,oldFormat),window.vueEventBus?.emit(`onStreamsUpdate`,oldFormat),window.vueGlobalStore&&(window.vueGlobalStore.streams=oldFormat),streamCoordinator?.afterBroadcast(()=>{!streamCoordinator.processing&&skippedStreamUpdate&&streamUpdateHandler(skippedStreamUpdate)})};add$1(`streamMain`,streamUpdateHandler,`stream`);var mainHookHandler=function(hookName,args){args&&!Array.isArray(args)&&console.error(`HookManager.trigger unsupported arguments (needs to be a list): `+JSON.stringify(hookName)+` - `+JSON.stringify(args).substring(0,30)+` ... `),window.vueEventBus?.emit(hookName,...args),window.globalAngularRootScope?.$broadcast(hookName,...args)};add$1(`hooksMain`,mainHookHandler);function add$1(id,func,type=`hook`){handlers[type]||(handlers[type]={}),handlers[type][id]=func}function remove$1(id,type=`hook`){handlers[type]&&delete handlers[type][id]}function trigger(hookName,args){_runHandlers(`hook`,hookName,args)}function _runHandlers(type,...data){if(handlers[type]){let toRun=Object.values(handlers[type]);toRun.length&&toRun.forEach(f=>f(...data))}}var Hooks_default={add:add$1,remove:remove$1,trigger,setStreamCoordinator(manager){streamCoordinator=manager}},scriptRel=`modulepreload`,assetsURL=function(dep){return`/local/ui/ui-vue/`+dep},seen={};const __vitePreload=function(baseModule,deps$1,importerUrl){let promise=Promise.resolve();if(deps$1&&deps$1.length>0){let links=document.getElementsByTagName(`link`),cspNonceMeta=document.querySelector(`meta[property=csp-nonce]`),cspNonce=cspNonceMeta?.nonce||cspNonceMeta?.getAttribute(`nonce`);function allSettled(promises$2){return Promise.all(promises$2.map(p$1=>Promise.resolve(p$1).then(value$1=>({status:`fulfilled`,value:value$1}),reason=>({status:`rejected`,reason}))))}promise=allSettled(deps$1.map(dep=>{if(dep=assetsURL(dep,importerUrl),dep in seen)return;seen[dep]=!0;let isCss=dep.endsWith(`.css`),cssSelector=isCss?`[rel="stylesheet"]`:``;if(importerUrl)for(let i$1=links.length-1;i$1>=0;i$1--){let link$1=links[i$1];if(link$1.href===dep&&(!isCss||link$1.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${dep}"]${cssSelector}`))return;let link=document.createElement(`link`);if(link.rel=isCss?`stylesheet`:scriptRel,isCss||(link.as=`script`),link.crossOrigin=``,link.href=dep,cspNonce&&link.setAttribute(`nonce`,cspNonce),document.head.appendChild(link),isCss)return new Promise((res,rej)=>{link.addEventListener(`load`,res),link.addEventListener(`error`,()=>rej(Error(`Unable to preload CSS for ${dep}`)))})}))}function handlePreloadError(err$2){let e$1=new Event(`vite:preloadError`,{cancelable:!0});if(e$1.payload=err$2,window.dispatchEvent(e$1),!e$1.defaultPrevented)throw err$2}return promise.then(res=>{for(let item of res||[])item.status===`rejected`&&handlePreloadError(item.reason);return baseModule().catch(handlePreloadError)})};var MOCK_DATA_PATH=`../mockdata`;function applyMockInterface(originalObject,mockInterface){let handler$1={mockInterface,get(target,propertyName){return this.mockInterface[propertyName]||target[propertyName]||defaultMockedMethod(propertyName)}};return new Proxy(originalObject,handler$1)}function defaultMockedMethod(name){return{[name]:function(...args){console.log(`Mocked method '${name}' called with:`),console.log(args)}}[name]}function getMockedData(fullPath){const[file$1,...path]=fullPath.split(`.`),filename=`${MOCK_DATA_PATH}/${file$1}.js`,toEval=[`d`,`default`,...path].join(`.`);return __vitePreload(()=>import(filename),[]).then(d=>eval(toEval))}const runInBrowser=fn=>{window.beamng||fn()},sendGUIHook=(name,...params)=>{window.bridge&&window.bridge.events&&window.bridge.events.emit(name,...params),window.globalAngularRootScope&&window.globalAngularRootScope.$broadcast(name,...params)};var withMocked=(sig,getData)=>(sig.mocked=getData,sig),LuaFunctionSignatures_default={dev:{getMockedData:key=>String},getVehicleColor:()=>{},getVehicleColorPalette:index=>Integer,resetGameplay:playerID=>Integer,quit:()=>{},checkFSErrors:()=>{},returnToMainMenu:()=>{},guihooks:{trigger:withMocked(hookName=>String,sendGUIHook)},simTimeAuthority:{togglePause:()=>{},getPause:()=>{},pause:state=>Boolean,pushPauseRequest:id=>String,popPauseRequest:id=>String},commands:{toggleCamera:()=>{}},ui_audio:{playEventSound:(soundClass,type)=>[String,String]},career_career:{closeAllMenus:()=>{},isActive:()=>{},sendAllCareerSaveSlotsData:()=>{},sendCurrentSaveSlotData:()=>{},createOrLoadCareerAndStart:(id,specificAutosave,tutorial)=>[String,Any$1,Boolean]},career_saveSystem:{saveCurrent:()=>{},removeSaveSlot:id=>String,renameSaveSlot:(name,newName)=>[String,String]},career_modules_uiUtils:{getCareerStatusData:withMocked(()=>{},()=>getMockedData(`career.status`)),getCareerSimpleStats:withMocked(()=>{},()=>getMockedData(`career.simpleStats`)),getCareerPauseContextButtons:()=>{},callCareerPauseContextButtons:id=>Number,getCareerCurrentLevelName:()=>{}},career_modules_fuel:{requestRefuelingTransactionData:()=>{},sendUpdateDataToUI:()=>{},uiButtonStartFueling:energyType=>String,uiButtonStopFueling:energyType=>String,onChangeFlowRate:flowRate=>Number,payPrice:()=>{},uiCancelTransaction:()=>{}},career_modules_logbook:{getLogbook:withMocked(()=>{},()=>getMockedData(`logbook.sample`)),setLogbookEntryRead:(id,state)=>[String,Boolean]},career_modules_milestones_milestones:{getMilestones:()=>{},claim:id=>Number,unclaimedMilestonesCount:()=>{}},career_modules_branches_landing:{openBigMapWithMissionSelected:id=>String,getBranchSkillCardData:id=>String,getBranchPageData:id=>String,getLandingPageData:domain=>String,getCargoProgressForUI:()=>{}},career_modules_partShopping:{cancelShopping:()=>{},applyShopping:()=>{},installPartByPartShopId:id=>Number,removePartBySlot:slot=>String,sendShoppingDataToUI:()=>{}},career_modules_vehicleShopping:{showVehicle:id=>Number,navigateToPos:pos=>Object,openShop:(seller,computerId)=>[Any$1,Any$1],cancelShopping:()=>{},quickTravelToVehicle:id=>Number,openPurchaseMenu:(purchaseType,shopId)=>[String,Number],updateInsuranceSelection:insuranceId=>Number,openInventoryMenuForTradeIn:()=>{},buyFromPurchaseMenu:(purchaseType,options)=>[String,Any$1],cancelPurchase:purchaseType=>String,getShoppingData:()=>{},sendPurchaseDataToUi:()=>{},removeTradeInVehicle:()=>{},onShoppingMenuClosed:()=>{}},career_modules_marketplace:{getListings:()=>{},menuOpened:open$1=>Boolean,acceptOffer:(inventoryId,offerIndex)=>[Number,Number],declineOffer:(inventoryId,offerIndex)=>[Number,Number],listVehicles:inventoryIds=>[Array],openMenu:()=>{},removeVehicleListing:inventoryId=>Number,startNegotiateBuyingOffer:(inventoryId,offerIndex)=>[Number,Number],startNegotiateSellingOffer:shopId=>[Number],getNegotiationState:()=>{},makeNegotiationOffer:price=>Number,takeTheirOffer:()=>{},cancelNegotiation:()=>{}},career_modules_testDrive:{stop:()=>{}},career_modules_inspectVehicle:{startTestDrive:()=>{},onInspectScreenChanged:enabled=>Boolean,onPurchaseMenuClosed:()=>{},repairVehicle:()=>{}},career_modules_loanerVehicles:{markForSpawning:loanInfo=>Object,spawnAndLoanVehicle:(vehicleInfo,loanInfo)=>[Object,Object],getLoanedVehiclesByOrg:orgId=>String,returnVehicle:inventoryId=>Number},career_modules_inventory:{sellVehicle:id=>Number,sellVehicleFromInventory:id=>Number,returnLoanedVehicleFromInventory:id=>Number,expediteRepairFromInventory:(inventoryId,price)=>[Number,Number],enterVehicle:id=>Number,openMenuFromComputer:computerId=>String,closeMenu:()=>{},chooseVehicleFromMenu:(vehId,buttonId,repairPrevVeh)=>[Number,Number,Boolean],setFavoriteVehicle:id=>Number,sendDataToUi:()=>{},removeVehicleObject:id=>Number,getVehicle:id=>Number,getVehicleUiData:id=>Number,isEmpty:()=>{},setLicensePlateText:(inventoryId,text)=>[Number,String],purchaseLicensePlateText:(inventoryId,text,money)=>[Number,String,Number],isLicensePlateValid:text=>String,isVehicleNameValid:text=>String,renameVehicle:(inventoryId,name)=>[Number,String],openInventoryMenuForChoosingListing:()=>{}},career_modules_vehiclePerformance:{startDragTest:id=>Number,cancelTest:()=>{}},career_modules_partInventory:{openMenu:computerId=>Any$1,closeMenu:()=>{},sendUIData:()=>{},sellParts:ids=>Array,partInventoryClosed:()=>{}},career_modules_insurance_insurance:{getProposablePoliciesForVehInv:invVehId=>Number,payInsuranceScoreReset:policyId=>Number,purchaseInsurance:id=>Number,calculateRenewalPriceDetails:(policyId,tempPerks)=>[Number,Any$1],changeInvVehInsuranceCoverageOptions:(policyId,changedPerks)=>[Number,Object],changeInvVehInsurance:(invVehId,newInsuranceId)=>[Number,Number],startRepairInGarage:(vehicleInfo,repairOptionData)=>[Object,Object],openRepairMenu:(vehicleInfo,originComputerId)=>[Object,Any$1],closeMenu:()=>{},sendUIData:()=>{},inventoryVehNeedsRepair:inventoryId=>Number,getInvVehHaveFuelDiscount:invVehId=>Object,openChooseInsuranceScreen:()=>{},calculateInsurancePremium:(insuranceId,potentialCoverageOptions,potentialVehiclesCoverageOptions)=>[Number,Object,Object],saveNewInsuranceCoverageOptions:(insuranceId,newCoverageOptions)=>[Number,Object],calculateVehiclePremium:(vehicleId,nonInvVehInfo,potentialCoverageOptions)=>[Number,Object,Object],saveNewVehicleCoverageOptions:(vehicleId,newCoverageOptions)=>[Number,Object],sendChooseInsuranceDataToTheUI:(purchaseType,shopId,defaultInsuranceId)=>[String,Number,Number],sendChangeInsuranceDataToTheUI:vehicleId=>[Number],resetDriverScore:()=>{}},career_modules_insurance_repairScreen:{getRepairData:()=>{},closeMenu:()=>{},startRepairInGarage:(invVehId,repairOptionData)=>[Number,Object],openRepairMenu:(vehicleInfo,originComputerId)=>[Object,Any$1]},career_modules_playerAbstract:{getPlayerAbstractData:()=>{},closePlayerAbstractMenu:()=>{}},career_modules_tuning:{apply:tuningValues=>Object,start:(vehId,origin)=>[Any$1,Any$1],getTuningData:()=>{},close:()=>{},applyShopping:()=>{},cancelShopping:()=>{},removeVarFromShoppingCart:varName=>String},career_modules_painting:{apply:()=>{},start:(vehId,origin)=>[Any$1,Any$1],getPaintData:()=>{},close:()=>{},setPaints:paint=>Object,getFactoryPaint:()=>{},onUIOpened:()=>{}},career_modules_questManager:{setQuestAsNotNew:id=>String,claimRewardsById:id=>String},career_modules_computer:{onMenuClosed:()=>{},getComputerUIData:()=>{},computerButtonCallback:(buttonId,inventoryId)=>[String,Any$1],openComputerMenuById:computerId=>String,closeAllMenus:()=>{}},career_modules_delivery_general:{setAutomaticRoute:enabled=>Boolean,setDetailedDropOff:enabled=>Boolean,setSetting:(key,value)=>[String,Any$1],getSettings:()=>{},setDeliveryTimePaused:paused=>Boolean},career_modules_delivery_cargoScreen:{requestCargoDataForUi:(facilityId,parkingSpotPath,updateMaxTimeStamp)=>[Any$1,Any$1,Any$1],moveCargoFromUi:(cargoId,targetLocation)=>[Number,Object],commitDeliveryConfiguration:()=>{},cancelDeliveryConfiguration:()=>{},exitDeliveryMode:()=>{},exitCargoOverviewScreen:()=>{},showCargoRoutePreview:cargoId=>Any$1,showVehicleOfferRoutePreview:offerId=>Any$1,setCargoRoute:(cargoId,origin)=>[Number,Boolean],showLocationRoutePreview:(location$1,asProvider)=>[Any$1,Boolean],showCargoContainerHelpPopup:()=>{},setBestRoute:()=>{},spawnOffer:(offerId,fadeToBlack)=>[Number,Any$1],abandonAcceptedOffer:vehId=>Number,setCargoScreenTab:tab=>String,unloadCargoPopupClosed:()=>{},moveMaterialFromUi:()=>{},requestDropOffData:()=>{},confirmDropOffData:(data,facId,psPath)=>[Any$1,Any$1,Any$1],dropOffPopupClosed:mode=>String,clearTransientMoveForCargo:cargoId=>Number,clearTransientMovesForStorage:materialType=>String,applyTransientMoves:()=>{},toggleOfferForSpawning:id=>Number,tryLoadAll:cargoIds=>Array,showRoutePreview:route=>Object,deliveryScreenExternalButtonPressed:id=>Any$1},career_modules_delivery_progress:{activateSound:(soundLabel,active)=>[String,Boolean]},career_modules_linearTutorial:{introPopup:(key,force)=>[String,Boolean],wasIntroPopupsSeen:pages=>Array,isLinearTutorialActive:()=>{}},gameplay_drag_dragBridge:{getHistory:id=>Object,screenshotTimeslip:()=>{}},gameplay_crashTest_scenarioManager:{nextStepFromUI:()=>{}},gameplay_discover:{getDiscoverPages:()=>{},startDiscover:discoverId=>String},freeroam_organizations:{getUIData:()=>{},getUIDataForOrg:orgId=>String},core_replay:{onInit:()=>{},loadFile:filename=>String,stop:()=>{},openReplayFolderInExplorer:()=>{},getRecordings:()=>{},removeRecording:filename=>String,togglePlay:()=>{},toggleRecording:()=>{},cancelRecording:()=>{},toggleSpeed:speed=>Number,pause:()=>{},seek:positionPercent=>Number,acceptRename:(oldFilename,newFilename)=>[String,String],saveMissionReplay:filename=>String,removeMissionSavedReplay:filename=>String,openMissionReplayFolder:filename=>String},core_gamestate:{requestGameState:()=>{},loadingScreenActive:()=>{}},core_gameContext:{getGameContext:withMocked(params=>{},params=>getMockedData(`gameContext.gameContextData`))},core_online:{requestState:()=>{}},core_hardwareinfo:{requestState:()=>{},getInfo:()=>{}},gameplay_statistic:{sendGUIState:()=>{}},core_quickAccess:{getUiData:()=>{},selectItem:(id,buttonDown,actionIndex)=>[Number,Boolean,Number],contextAction:(id,buttonDown,actionIndex)=>[Number,Boolean,Number],back:()=>{},setEnabled:(enabled,level$1,force)=>[Boolean,String,Boolean],openDynamicSlotConfigurator:index=>Number,getDynamicSlotConfigurationData:()=>{},setDynamicSlotConfiguration:(key,data)=>[String,Object],toggle:()=>[],tryAction:action=>String},ui_bindingsLegend:{sendDataToUI:forceResetFade=>Boolean,triggerInputAction:(action,value)=>[String,Number],toggleShowApp:()=>{},toggleShowVehicleSpecificActions:()=>{}},freeroam_bigMapMode:{enterBigMap:instant=>Object,exitBigMap:force=>Boolean,setBigmapScreenBounds:(windowBounds,mapBounds)=>[Object,Object],navigateToMission:poiId=>String,selectPoi:poiId=>String,poiHovered:(poiId,active)=>[String,Boolean],teleportToPoi:poiId=>String,setOnlyIdsVisible:poiIds=>Array,deselect:()=>{},openPopupCallback:()=>{},toggleBigMap:()=>{},setUiFocus:focus$1=>Boolean},freeroam_bigMapPoiProvider:{sendMissionLocationsToMinimap:()=>{},sendCurrentLevelMissionsToBigmap:()=>{},toggleGroupVisibility:groupKey=>String},freeroam_freeroamConfigurator:{getConfiguration:()=>{},getButtons:()=>{},triggerButton:buttonId=>Number,updateOption:(key,value)=>[String,Any$1],onSpawnPointTileClick:()=>{},onVehicleTileClick:()=>{},getCurrentSpawnPointTile:()=>{},getCurrentVehicleTile:()=>{},setSpawnPoint:(levelName,spawnPointName,key)=>[String,String,String],setVehicle:(model,config,additionalData,key)=>[String,String,Object,String],doubleClickOverride:item=>[Object]},gameplay_taxi:{startTaxiWithCurrentRoute:()=>{}},freeroam_vueBigMap:{enterBigMap:()=>{},exitBigMap:()=>{},getPoiData:()=>{},getFilters:()=>{},getGroups:()=>{},toggleFiltersByIds:filterIds=>Object,toggleFilterSectionById:sectionId=>Object,getGameStateInfo:()=>{},selectPoiFromList:poiId=>String,hoverPoiFromList:(poiId,active)=>[String,Boolean],executePoiAction:actionId=>Number},freeroam_freeroam:{startTrackBuilder:mapName=>String},extensions:{isExtensionLoaded:extensionName=>Boolean,load:extensionName=>String,unload:extensionName=>String,hook:hook=>String,ui_messagesDebugger:{show:()=>{},hide:()=>{},toggle:()=>{}},tech_license:{requestState:()=>{},isValid:()=>{}},core_input_actionFilter:{addAction:(filter,actionName,filtered)=>[Number,String,Boolean],setGroup:(name,actioNames)=>[String,Any$1]},core_input_bindings:{FFBSafetyDataRequest:()=>{},resetBindings:()=>{},resetBindingsForDevice:deviceName=>String,setMenuActionMapEnabled:state=>Boolean,getMenuActionMapEnabled:()=>{},setMenuActionEnabled:(enabled,actionName)=>[Boolean,String],notifyUI:reason=>String,saveBindingsToDisk:deviceContents=>Object,getRecentDevices:()=>{}},core_vehicle_partmgmt:{getConfigList:()=>{},highlightParts:(parts,vehID)=>[Object,Number],loadLocal:filename=>String,resetPartsToLoadedConfig:()=>{},resetVarsToLoadedConfig:()=>{},resetAllToLoadedConfig:()=>{},openConfigFolderInExplorer:()=>{},removeLocal:configName=>String,savedefault:()=>{},saveLocal:filename=>String,sendDataToUI:()=>{},selectPart:(part,subparts)=>[String,Boolean],selectParts:(parts,vehID)=>[Object,Number],selectReset:()=>{},setConfigVars:vars=>Object,setPartsConfig:config=>Object,setPartsTreeConfig:config=>Object,showHighlightedParts:vehID=>Number,setDynamicTextureMaterials:()=>{},partsSelectorChanged:parts=>Object,sendPartsSelectorStateToUI:()=>{}},core_vehicle_mirror:{getAnglesOffset:()=>{},focusOnMirror:mirror_name=>Any$1,setAngleOffset:(mirrorName,x,z,v,save)=>[String,Number,Number,Boolean,Boolean]},gameplay_drift_general:{onDriftAppMounted:()=>{},onDriftAppUnmounted:()=>{}},gameplay_missions_missionScreen:{getMissionScreenData:withMocked(()=>{},()=>getMockedData(`missionDetails.getMissionScreenData`)),startMissionById:(missionId,userSettings,startingOptions)=>[String,Object,Object],stopMissionById:id=>[String],changeUserSettings:(missionId,userSettings)=>[String,Object],startFromWithinMission:(id,userSettings)=>[String,Object],getActiveStarsForUserSettings:(id,userSettings)=>[String,Object],requestStartingOptionsForUserSettings:(id,userSettings)=>[String,Object],isAnyMissionActive:()=>{},isMissionStartOrEndScreenActive:()=>{},openAPMChallenges:(branch,skill)=>[String,String],navigateToMission:id=>[String],setPreselectedMissionId:id=>[String],showMissionRules:id=>[String],getMissionTiles:()=>{},activateSound:(soundLabel,active,frequency)=>[String,Boolean,Number],activateSoundBlur:active=>{Boolean},openVehicleSelectorForMissionBySetting:(mId,settingKey)=>[String,String]},gameplay_missions_missionManager:{getCurrentTaskdataTypeOrNil:()=>{}},gameplay_garageMode:{start:()=>{},isActive:()=>{},setCamera:view=>String,setLighting:lights=>Array,getLighting:()=>{},setGarageMenuState:state=>String,stop:()=>{},testVehicle:()=>{}},ui_dynamicDecals:{initialize:()=>{},exit:()=>{},requestUpdatedData:()=>{},setupEditor:()=>{},loadSaveFile:path=>String,createSaveFile:()=>{},saveChanges:filename=>String,cancelChanges:()=>{},exportSkin:skinName=>String,moveSelectedLayer:order=>Number,setDecalTexture:filePath=>String,setDecalColor:colorData=>Object,setDecalScale:decalData=>Object,setDecalRotation:decalRotation=>Number,setDecalSkew:decalSkew=>Object,setDecalApplyMultiple:applyMultiple=>Boolean,setDecalResetOnApply:resetOnApply=>Boolean,setDecalPositionX:positionX=>Number,setDecalPositionY:positionY=>Number,updateDecalPosition:(positionX,positionY)=>[Number,Number],toggleApplyingDecal:enable=>Boolean,toggleActionMap:enable=>Boolean,toggleDecalVisibility:enable=>Boolean,redo:()=>{},undo:()=>{},createLayer:layerData=>Object,createFillLayer:fillLayerData=>Object,createGroupLayer:layerData=>Object,updateLayer:layerData=>Object,deleteSelectedLayer:()=>{},selectLayer:layerUid=>String,toggleStampActionMap:enable=>Boolean,toggleLayerHighlight:uid$2=>String,toggleLayerVisibility:uid$2=>String},ui_liveryEditor:{save:filename=>String,setup:()=>{},deactivate:()=>{},setDecalTexture:texturePath=>String,useMousePosition:enable=>Boolean,useSurfaceNormal:enable=>Boolean,requestSettingsData:()=>{}},ui_liveryEditor_colorPresets:{getPresets:()=>{},addPreset:()=>{}},ui_liveryEditor_editor:{setup:()=>{},startEditor:()=>{},exitEditor:()=>{},startSession:()=>{},applyDecal:()=>{},applySkin:()=>{},createNew:()=>{},loadFile:path=>String,save:filename=>String,applyChanges:()=>{}},ui_liveryEditor_editMode:{reapply:()=>{},requestReapply:()=>{},cancelReapply:()=>{},setActiveLayer:layerUid=>String,setActiveLayerDirection:direction$1=>Number,removeAppliedLayer:layerUid=>String,resetCursorProperties:properties=>Array,toggleHighlightActive:()=>{},activate:()=>{},deactivate:()=>{},apply:()=>{},requestApply:()=>{},cancelRequestApply:()=>{},toggleRequestApply:()=>{},saveChanges:params=>Object,cancelChanges:()=>{},duplicateActiveLayer:()=>{}},ui_liveryEditor_camera:{setOrthographicView:view=>String,switchOrthographicViewByDirection:(x,y)=>[Number,Number]},ui_liveryEditor_controls:{toggleUseMousePos:()=>{}},ui_liveryEditor_history:{redo:()=>{},undo:()=>{}},ui_liveryEditor_layerAction:{performAction:action=>String,toggleEnabledByLayerUid:uid$2=>String},ui_liveryEditor_layerEdit:{setup:()=>{},setLayer:layerUid=>String,editNewDecal:params=>Object,translateLayer:(x,y)=>[Number,Number],holdTranslate:(axis,value)=>[String,Number],holdTranslateScalar:(axis,value)=>[String,Number],holdScale:(axis,value)=>[String,Number],holdSkew:(axis,value)=>[String,Number],holdPrecise:enable=>Boolean,scaleLayer:(x,y)=>[Number,Number],skewLayer:(x,y)=>[Number,Number],rotateLayer:(steps,counterClockwise)=>[Number,Boolean],setPosition:(x,y)=>[Number,Number],setScale:(x,y)=>[Number,Number],setRotation:degrees=>Number,setSkew:(x,y)=>[Number,Number],setMirrored:settings$1=>[Boolean,Boolean,Number],setLayerMaterials:properties=>Object,activateStampReapply:()=>{},cancelStampReapply:()=>{},requestLayerMaterials:()=>{},saveChanges:()=>{},cancelChanges:()=>{},requestStateData:()=>{},requestInitialLayerData:()=>{},requestTransform:()=>{},endTransform:()=>{},showCursorOrLayer:show=>Boolean,requestReposition:()=>{},cancelReposition:()=>{},applyReposition:()=>{},toggleUseMouseOrCursor:()=>{},setIsRotationPrecise:value=>Boolean,setAllowRotationAction:value=>Boolean},ui_liveryEditor_layers:{requestInitialData:()=>{}},ui_liveryEditor_layers_cursor:{requestData:()=>{}},ui_liveryEditor_layers_decals:{addLayer:params=>Object,setLayer:uid$2=>String},ui_liveryEditor_layers_decal:{addLayerCentered:params=>Object},ui_liveryEditor_layers_fill:{updateLayer:params=>Object,saveChanges:()=>{},restoreLayer:()=>{},restoreDefault:()=>{},requestLayerData:()=>{}},ui_liveryEditor_resources:{requestData:()=>{},getDecalTextures:()=>{},getTextureCategories:()=>{},getTexturesByCategory:category=>String},ui_liveryEditor_selection:{duplicateSelectedLayer:()=>{},getSelectedLayersData:()=>{},setSelected:layerUid=>String,setMultipleSelected:layerUids=>Array,clearSelection:()=>{},toggleSelection:layerIds=>Array,select:(layerIds,highlight)=>[Array,Boolean],toggleHighlightSelectedLayer:()=>{},requestInitialData:()=>{}},ui_liveryEditor_tools:{useTool:tool=>String,closeCurrentTool:()=>{}},ui_liveryEditor_tools_material:{setColor:rgbaArray=>Array,setMetallicIntensity:metallicIntensity=>Number,setNormalIntensity:normalIntensity=>Number,setRoughnessIntensity:roughnessIntensity=>Number,setDecal:decalTexture=>String},ui_liveryEditor_tools_misc:{duplicate:()=>{}},ui_liveryEditor_tools_group:{moveOrderUp:()=>{},moveOrderDown:()=>{},changeOrderToTop:()=>{},changeOrderToBottom:()=>{},moveOrderUpById:layerUid=>[String],moveOrderDownById:layerUid=>[String],setOrder:order=>Number,changeOrder:(oldOrder,oldParent,newOrder,newParent)=>[Number,String,Number,String],groupLayers:()=>{},ungroupLayer:()=>{}},ui_liveryEditor_tools_transform:{translate:(x,y)=>[Number,Number],setPosition:(x,y)=>[Number,Number],rotate:degrees=>Number,scale:(stepsX,stepsY)=>[Number,Number],setScale:(scaleX,scaleY)=>[Number,Number],setRotation:degrees=>Number,skew:(skewX,skewY)=>[Number,Number],setSkew:(skewX,skewY)=>[Number,Number],useStamp:()=>{},cancelStamp:()=>{}},ui_liveryEditor_tools_settings:{deleteLayer:()=>{},setMirrored:(mirrored,flip$2)=>[Boolean,Boolean],setVisibility:show=>Boolean,toggleVisibility:()=>{},toggleVisibilityById:layerUid=>String,toggleLock:()=>{},toggleLockById:layerUid=>String,setMirrorOffset:offset$2=>Number,setUseMousePos:value=>Boolean,setProjectSurfaceNormal:value=>Boolean,rename:name=>String},ui_liveryEditor_userData:{requestUpdatedData:()=>{},getSaveFiles:()=>{},createSaveFile:filename=>String,renameFile:(filename,newFilename)=>[String,String],deleteSaveFile:filename=>String},ui_gameBlur:{replaceGroup:(groupName,list)=>[String,Object]},ui_fadeScreen:{onScreenFadeStateDelayed:state=>Integer},ui_router:{addOrUpdateRoute:(route,config,options)=>[String,Object,Object],push:(routeName,params)=>[String,Object],back:()=>{},forward:()=>{},loadComplete:uiType=>String,routeChangeComplete:uiType=>String},ui_uiMods:{getVueMods:()=>{}}},ActionMap:{enableBindingCapturing:state=>Boolean},gameplay_markerInteraction:{startMissionById:(missionId,userSettings)=>[Any$1,Object],closeViewDetailPrompt:force=>Boolean,changeUserSettings:(missionId,userSettings)=>[String,Object]},ui_missionInfo:{performActivityAction:id=>Integer,setActivityIndexVisible:index=>Integer,closeDialogue:()=>{}},ui_apps_genericMissionData:{sendAllData:()=>{},setData:args=>Object,clearData:()=>{}},ui_apps_pointsBar:{requestAllData:()=>{}},ui_gameplayAppContainers:{getVisibleApps:containerId=>String,onGameplayAppContainerMounted:()=>{},onGameplayAppContainerUnmounted:()=>{},getAvailableApps:containerId=>String,setAppVisibility:(containerId,appId,visible)=>[String,String,Boolean],getAppVisibility:(containerId,appId)=>[String,String],showApp:(containerId,appId)=>[String,String],hideApp:(containerId,appId)=>[String,String],toggleApp:(containerId,appId)=>[String,String],hideAllApps:containerId=>String,getContainerContext:containerId=>String,setContainerContext:(containerId,context)=>[String,String],resetContainerContext:containerId=>String,getAvailableContexts:containerId=>String},ui_messagesTasksAppContainers:{getVisibleApps:containerId=>String,onMessagesTasksAppContainerMounted:()=>{},onMessagesTasksAppContainerUnmounted:()=>{},getAvailableApps:containerId=>String,setAppVisibility:(containerId,appId,visible)=>[String,String,Boolean],getAppVisibility:(containerId,appId)=>[String,String],showApp:(containerId,appId)=>[String,String],hideApp:(containerId,appId)=>[String,String],toggleApp:(containerId,appId)=>[String,String],hideAllApps:containerId=>String},scenetree:{"maincef:setMaxFPSLimit":fps=>Integer},settings:{notifyUI:()=>{},setState:state=>Object,getValue:value=>String,setValue:(settingName,value)=>[String,Any$1]},core_camera:{setFOV:(playerId,fovDeg)=>[Integer,Number]},core_modmanager:{requestState:()=>{}},core_vehicles:{cloneCurrent:()=>{},getModel:model=>String,getCurrentVehicleDetails:withMocked(()=>{},()=>getMockedData(`vehicle.details`)),getVehicleLicenseText:id=>Number,loadDefault:()=>{},removeAll:()=>{},removeAllExceptCurrent:()=>{},removeCurrent:()=>{},requestList:()=>{},requestListEnd:()=>{},setPlateText:plateText=>String,setMeshVisibility:state=>Number,spawnDefault:()=>{},spawnNewVehicle:(model,args)=>[String,Object],replaceVehicle:(model,args)=>[String,Object],isLicensePlateValid:text=>Any$1,getModelList:()=>{}},ui_gridSelector:{getTiles:(backendName,currentPath,pathChanged)=>[String,Object,Boolean],getFilters:backendName=>String,getActiveFilters:backendName=>String,toggleFilter:(backendName,propName,option)=>[String,String],updateRangeFilter:(backendName,propName,min$1,max$1)=>[String,String,Number,Number],resetRangeFilter:(backendName,propName)=>[String,String],resetSetFilter:(backendName,propName)=>[String,String],getSearchText:backendName=>String,setSearchText:(backendName,searchText$1)=>[String,String],getDisplayDataOptions:backendName=>String,setDisplayDataOption:(backendName,key,value)=>[String,String,Any$1],resetDisplayDataToDefaults:backendName=>String,getScreenHeaderTitleAndPath:(backendName,path)=>[String,Object],profilerFinish:(backendName,tag)=>[String,String],closedFromUI:backendName=>String,onOpenedSelectorWithItemDetails:(backendName,itemDetails)=>[String,Object],getDetails:(backendName,itemDetails)=>[String,Object],executeButton:(backendName,buttonId,additionalData)=>[String,Number,Object],getManagementDetails:backendName=>String,exitCallback:()=>{},executeDoubleClick:(backendName,itemDetails)=>[String,Object],exploreFolder:(backendName,path)=>[String,String],goToMod:(backendName,modId)=>[String,String],toggleFavourite:(backendName,itemDetails)=>[String,Object]},ui_gameplaySelector_general:{openGameplaySelector:()=>{},openChallengesSelector:()=>{},openCampaignsSelector:()=>{},openScenariosSelector:()=>{},openRallySelector:()=>{}},ui_gameplaySelector_tileGenerators_levelTiles:{getSpawningOptions:(levelName,backendName)=>[String,String],changeSpawningOption:(key,value)=>[String,Any$1],setAlwaysShowDialogue:(backendName,newValue)=>[String,Boolean]},ui_vehicleSelector_general:{openVehicleSelectorForFreeroamModal:()=>{}},ui_freeroamSelector_general:{setCustomDetailsButtons:buttons=>Array,getCustomDetailsButtons:()=>{},setManagementButtonsEnabled:enabled=>Boolean,getManagementButtonsEnabled:()=>{},openFreeroamSelectorWithCustomButtons:(buttons,callback)=>[Array,Function],setExitCallback:callback=>Function},ui_topBar:{hide:()=>{},requestData:()=>{},requestEntries:()=>{},setActiveItem:itemId=>String,selectItem:itemId=>String,show:()=>{}},core_vehicle_manager:{reloadAllVehicles:()=>{},toggleDebug:()=>{},getDebug:()=>{}},core_vehicle_colors:{setVehicleColor:(index,value)=>[Integer,Object]},core_recoveryPrompt:{getUIData:()=>{},buttonPressed:id=>[String],uiPopupButtonPressed:index=>[Integer],uiPopupCancelPressed:()=>{},onPopupClosed:()=>{}},core_remoteController:{devicesConnected:()=>Boolean,getQRCode:()=>{}},core_levels:{startLevel:()=>{}},util_screenshotCreator:{startWork:workOptions=>Any$1},util_groundModelDebug:{openWindow:()=>{}},scenario_scenariosLoader:{getList:()=>{},start:scenario=>Object},ui_apps_minimap_minimap:{setDrawTransform:(x,y,width$1,height$1)=>[Number,Number,Number,Number],hide:()=>{},toggleOptions:()=>{},getMode:()=>{},setOcclusionTransform:(id,x,y,width$1,height$1)=>[String,Number,Number,Number,Number],resetOcclusionTransform:id=>[String]},ui_apps_minimap_additionalInfo:{requestAdditionalInfo:()=>{}},WinInput:{setForwardRawEvents:state=>Boolean,setForwardFilteredEvents:state=>Boolean},Engine:{Audio:{playOnce:(channel,sound)=>[String,String]},Render:{getAdapterType:()=>{}},UI:{getUIEngine:()=>{}},Platform:{getFSInfo:()=>{}}},Steam:{showFloatingGamepadTextInput:(type,left,top,width$1,height$1)=>[Number,Number,Number,Number,Number]},setCEFTyping:state=>Boolean},api,loadAPI=()=>api||({api}=useBridge());const Any$1=i=>i,Integer=i=>i|0;var argTransformers={Any:Any$1,Boolean,String,Number,Integer,Object,Array:Any$1};signaturesToWrappers(LuaFunctionSignatures_default);var Lua_default=LuaFunctionSignatures_default;function signaturesToWrappers(sigsObject,prefixes$1=[]){let sigType,sig,funcPath,paramTypes,callName;for(let key in sigsObject)sig=sigsObject[key],sigType=typeof sig,funcPath=[...prefixes$1,key],sigType===`function`&&isArrowFunction(sig)?(paramTypes=normaliseTypes(sig(),sig.length),callName=funcPath.join(`.`),sigsObject[key]=buildWrapper(callName,paramTypes,sig.mocked)):sigType===`object`&&(sigsObject[key]=signaturesToWrappers(sig,funcPath));return sigsObject}function buildWrapper(callName,paramTypes,mockResponse=void 0){return(...args)=>run(callName,args,{argTypes:paramTypes,mockResponse})}function isArrowFunction(func){return(``+func).indexOf(`function(`)!=0}function normaliseTypes(types,paramCount){return types?Array.isArray(types)?types:[types]:Array(paramCount).fill(Any$1)}function run(funcName,args,{argTypes=Array(args.length).fill(Any$1),mockResponse}){if(loadAPI(),args.length(argTypes[i]&&argTransformers[argTypes[i].name]||Any$1)(arg)),runMocked(mockResponse,transformedArgs)):(transformedArgs=args.map((arg,i)=>serialize((argTypes[i]&&argTransformers[argTypes[i].name]||Any$1)(arg))),runRaw(`${funcName}(${transformedArgs})`))}function runRaw(luaCode,withPromise=!0){return loadAPI(),withPromise?new Promise(function(resolve$1){api.engineLua(luaCode,resolve$1)}):api.engineLua(luaCode)}function runMocked(response,args){let ret;return ret=typeof response==`function`?response(...args):response,ret&&ret.then?ret:new Promise(resolve$1=>resolve$1(ret))}function serialize(o){return loadAPI(),api.serializeToLua(o)}function serializeCheck(o){return loadAPI(),api.serializeToLua(o)}var StreamManager_default=class{streamsRefCnt={};gameAPI={};constructor(api$1){this.gameAPI=api$1}_updateSubscriptions(){let reqVehStreams=[];for(let k in this.streamsRefCnt)reqVehStreams.push(k);let subscriptions={vehicles:[{byPlayerId:0,streams:reqVehStreams}]};this.gameAPI.subscribeToEvents(JSON.stringify(subscriptions))}add(streams){for(let i=0;i!!(node.offsetWidth&&node.offsetHeight);function isVisible(node,_style=null){let tmp=node;for(_style||=document.defaultView.getComputedStyle(tmp,null);tmp.tagName!==`HTML`;){if(!tmp.isConnected||tmp.nodeType!==Node.ELEMENT_NODE||(_style=document.defaultView.getComputedStyle(tmp,null),_style.display===`none`||_style.visibility===`hidden`||_style.opacity===`0`))return!1;tmp=tmp.parentNode}return!0}function isOccluded$1(element,rect,dontIgnoreOffscreen){let x=(rect.left+rect.right)/2,y=(rect.top+rect.bottom)/2,topElement=document.elementFromPoint(x,y);if(!topElement)return!!dontIgnoreOffscreen;let tmp=topElement;for(;tmp.tagName!==`HTML`;){if(tmp==element||tmp.tagName===`MD-TOOLTIP`||tmp.noOcclude)return!1;tmp=tmp.parentNode}return!0}function dispatchKey(key,elem=window.document){if(typeof key!=`number`)throw Error(`Invalid key`);let target=elem||document,ev=document.createEvent(`KeyboardEvent`);return Object.defineProperty(ev,`keyCode`,{get:function(){return this.keyCodeVal}}),ev.initKeyboardEvent(`keydown`,!0,!0),ev.keyCodeVal=key,target.dispatchEvent(ev)}const eventDispatcherForElement=element=>(type,extras={})=>(isRef$1(element)?element.value:element).dispatchEvent(Object.assign(new Event(type),extras));function observePosition(element,callback){let trackDiv=document.createElement(`div`);setCss(trackDiv,{position:`fixed`,width:`2px`,height:`2px`,padding:`0`,margin:`0`,border:`0`,outline:`0`,"pointer-events":`none`},!0),element.classList.add(`bng-pos-observed`),trackDiv.className=`bng-pos-observer`,element.children.length?element.insertBefore(trackDiv,element.firstChild):element.appendChild(trackDiv),window.BNG_Logger&&window.BNG_Logger.assert(()=>!isAffectedByCss(trackDiv),`Position observer can break styles inside your element! Please adjust your styles using .bng-pos-observed and/or .bng-pos-observer selectors
`,element);let fixPosition=()=>{let rect=trackDiv.getBoundingClientRect();setCss(trackDiv,{"margin-left":`${parseFloat(trackDiv.style.marginLeft||`0`)-rect.left-1}px`,"margin-top":`${parseFloat(trackDiv.style.marginTop||`0`)-rect.top-1}px`},!0)};fixPosition();let intersectionObserver=new IntersectionObserver(entries=>{Math.round(entries[0].intersectionRatio*4)!==1&&(fixPosition(),callback())},{threshold:[.125,.375,.625,.875]});return intersectionObserver.observe(trackDiv),()=>{intersectionObserver.disconnect(),trackDiv.remove(),element.classList.remove(`bng-pos-observed`)}}window.observePosition=observePosition;function setCss(element,rules,important=void 0){if(window.BNG_Logger&&window.BNG_Logger.assert(()=>!Object.values(rules).some(val=>val.endsWith(` !important`)),`Rule values cannot have !important in them. Please set important flag instead.`,rules),important)for(let key in window.BNG_Logger&&window.BNG_Logger.assert(()=>!Object.keys(rules).some(name=>name!==name.toLowerCase()),`Rule names must be in kebab-case (as in CSS itself)`,rules),rules)element.style.setProperty(key,rules[key],`important`);else Object.assign(element.style,rules)}function isAffectedByCss(element,parent=void 0,fast=!1){if(!element||!element.isConnected||!parent&&!element.parentNode)return!1;parent||=element.parentNode;let clone=element.cloneNode(!fast);parent.insertBefore(clone,element);let orig=window.getComputedStyle(element),cloned=window.getComputedStyle(clone),affected=!1;for(let prop of orig)if(orig[prop]!==cloned[prop]){affected=!0;break}return parent.removeChild(clone),affected}var crossfire_exports=__export({MONITORED_UI_NAV_EVENTS:()=>MONITORED_UI_NAV_EVENTS,NAVIGABLE_ELEMENTS_SELECTOR:()=>NAVIGABLE_ELEMENTS_SELECTOR,NAV_PRIORITY_ATTR:()=>NAV_PRIORITY_ATTR,NAV_PRIORITY_CONTAINER_ATTR:()=>NAV_PRIORITY_CONTAINER_ATTR,NO_CHILD_NAV_ATTR:()=>NO_CHILD_NAV_ATTR,NO_NAV_ATTR:()=>NO_NAV_ATTR,SCROLL_ATTR:()=>SCROLL_ATTR,SCROLL_EVENT_H:()=>SCROLL_EVENT_H,SCROLL_EVENT_V:()=>SCROLL_EVENT_V,SCROLL_FORCE_ATTR:()=>SCROLL_FORCE_ATTR,collectRects:()=>collectRects,findNext:()=>findNext,focusOnElement:()=>focusOnElement,handleUINavEvent:()=>handleUINavEvent,isAvailable:()=>isAvailable,isNavigable:()=>isNavigable$1,isNavigatable:()=>isNavigable$1,isOccluded:()=>isOccluded,isVisibleFast:()=>isVisibleFast,navigate:()=>navigate,navigateScroll:()=>navigateScroll,scrollFix:()=>scrollFix,uncollectRects:()=>uncollectRects});const NAVIGABLE_ELEMENTS_SELECTOR=`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`,NO_NAV_ATTR=`bng-no-nav`,NO_CHILD_NAV_ATTR=`bng-no-child-nav`,NAV_PRIORITY_CONTAINER_ATTR=`bng-nav-priority-container`,NAV_PRIORITY_ATTR=`bng-nav-priority-item`;var MENU_NAVIGATION_CLASS=`menu-navigation`,IGNORE_TAGS=[`HTML`,`BODY`];const SCROLL_ATTR=`bng-nav-scroll`,SCROLL_FORCE_ATTR=`bng-nav-scroll-force`;var DIR={LEFT:`left`,UP:`up`,RIGHT:`right`,DOWN:`down`},DIR_KEYS={[DIR.LEFT]:37,[DIR.UP]:38,[DIR.RIGHT]:39,[DIR.DOWN]:40},AXIS_H=`horizontal`,AXIS_V=`vertical`;const SCROLL_EVENT_H=`rotate_h_cam`,SCROLL_EVENT_V=`rotate_v_cam`;var UI_SCROLL_EVENT_ACTIONS={[SCROLL_EVENT_H]:AXIS_H,[SCROLL_EVENT_V]:AXIS_V},UI_SCROLL_ACTION_EVENTS={[AXIS_H]:SCROLL_EVENT_H,[AXIS_V]:SCROLL_EVENT_V},SCALAR_EVENT_H=`focus_lr`,SCALAR_EVENT_V=`focus_ud`,UI_SCALAR_EVENT_ACTIONS={[SCALAR_EVENT_H]:AXIS_H,[SCALAR_EVENT_V]:AXIS_V},UI_NAV_EVENT_ACTIONS={focus_u:`up`,focus_d:`down`,focus_l:`left`,focus_r:`right`,ok:`confirm`,tab_l:`tab_l`,tab_r:`tab_r`};const MONITORED_UI_NAV_EVENTS=[...Object.keys(UI_NAV_EVENT_ACTIONS),...Object.keys(UI_SCALAR_EVENT_ACTIONS)];var THUMBSTICK_DEADZONE=.5,lastScalarValue={horizontal:0,vertical:0},TRACKER_ID=`crossfire`;function focusOnElement(elem){let contentEditable=elem.contentEditable,tabIndex=elem.tabIndex;elem.contentEditable=!0,elem.tabIndex=0,elem.focus(),elem.tabIndex=tabIndex,elem.contentEditable=contentEditable}function getNavigableElements(root=null,forceAll=!1){let res=[...(root||document.body).querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR)];return forceAll||(res=res.filter(elem=>{if(elem.parentNode.closest(`[bng-no-child-nav="1"], [bng-no-child-nav="true"]`))return!1;let noNav=elem.attributes.getNamedItem(NO_NAV_ATTR);return!noNav||noNav.value!==`true`})),res}function isNavigable$1(elem,forceAll=!1){if(!elem||IGNORE_TAGS.includes(elem.nodeName||elem.tagName))return!1;if(elem.classList.contains(MENU_NAVIGATION_CLASS))return!0;let parent=elem.parentNode;if(!parent)return!1;let children=getNavigableElements(parent,forceAll);for(let child of children)if(child===elem)return!0;return!1}function uncollectRects(){let ns=getNavigableElements();for(let node of ns)node.classList.remove(MENU_NAVIGATION_CLASS)}var warnPrioNesting=window.beamng&&!window.beamng.shipping;function collectRects(direction$1,parent,forceAll=!1){let links={};direction$1?links[direction$1]=[]:(links.up=[],links.down=[],links.left=[],links.right=[]);let prioNodes=new WeakSet,ns=getNavigableElements(parent,forceAll);for(let node of ns){if(!isAvailable(node)){node.classList.remove(MENU_NAVIGATION_CLASS);continue}let rectNode=node,prioNode=node.closest(`[${NAV_PRIORITY_CONTAINER_ATTR}]`);if(prioNode&&prioNode!==node&&!prioNodes.has(prioNode)){if(prioNodes.add(prioNode),!warnPrioNesting){let parent$1=prioNode.parentNode.closest(`[${NAV_PRIORITY_CONTAINER_ATTR}]`);parent$1&&(console.warn(`Priority container nesting is not supported. Please remove the nested priority container.
nop(${this.serializeToLua(text)}) -- (actually run the lua check)
`)}serializeToLua(obj){let tmp;if(obj==null)return`nil`;switch(obj.constructor){case String:return obj.search(/\\|\"|\n|\t|\r/)==-1?`"${obj}"`:`"${obj.replace(/\\/g,`\\\\`).replace(/\"/g,`\\"`).replace(/\n|\r/g,`\\n`).replace(/\t/g,`\\t`)}"`;case Number:return isFinite(obj)?obj.toString():null;case Boolean:return obj?`true`:`false`;case Array:tmp=[];for(let i=0;iLua_default.extensions[LUA_BLUR_EXTENSION].replaceGroup(`uiBlur`,blurRegionList),getNextAvailableId=()=>(highestId<2**53-1?highestId++:highestId=0).toString(),LUA_BLUR_UNLOADED=0,LUA_BLUR_LOADING=1,LUA_BLUR_LOADED=2,blurLoadedState=LUA_BLUR_UNLOADED;function applyBlur(){if(!window.beamng||!window.beamng.ingame||blurLoadedState===LUA_BLUR_LOADING)return;let isEmpty=!Object.keys(blurRegionList).length;blurLoadedState===LUA_BLUR_UNLOADED?isEmpty||(blurLoadedState=LUA_BLUR_LOADING,Lua_default.extensions.load(LUA_BLUR_EXTENSION).then(()=>{blurLoadedState=LUA_BLUR_LOADED,sendBlurListToLua()})):isEmpty?(Lua_default.extensions.unload(LUA_BLUR_EXTENSION),blurLoadedState=LUA_BLUR_UNLOADED):sendBlurListToLua()}var GameBlurrer_default={register(coord){if(coord===void 0)throw Error(`Cannot register bng-blur with coordinates: `+coord);let id=getNextAvailableId();return blurRegionList[id]=coord,applyBlur(),id},unregister(id){id in blurRegionList&&(delete blurRegionList[id],applyBlur())},update(id,coord){if(!(id in blurRegionList))throw Error(`Trying to update bng-blur with an ID that is not registered: ${id} (of ${Object.keys(blurRegionList)})`);blurRegionList[id]=coord,applyBlur()}},handlers={},streamCoordinator;window.streamUpdate=data=>_runHandlers(`stream`,data),window.multihookUpdate=hooksData=>{for(let i in hooksData){let hook=hooksData[i];trigger(hook[0],hook[1])}},window.HookManager={trigger};var skippedStreamUpdate=null,streamUpdateHandler=function(data){if(streamCoordinator?.processing){console.log(`ERROR: streamUpdate cycle is already active, skipping this update of streams`),skippedStreamUpdate=data;return}skippedStreamUpdate=null;let oldFormat={};if(data.globalStreams)for(let sn in data.globalStreams)oldFormat[sn]=data.globalStreams[sn];if(data.vehicleStreams&&data.vehicleStreams.player_0)for(let sn in data.vehicleStreams.player_0)oldFormat[sn]=data.vehicleStreams.player_0[sn];streamCoordinator?.beforeBroadcast(),window.globalAngularRootScope?.$broadcast(`streamsUpdate`,oldFormat),window.vueEventBus?.emit(`onStreamsUpdate`,oldFormat),window.vueGlobalStore&&(window.vueGlobalStore.streams=oldFormat),streamCoordinator?.afterBroadcast(()=>{!streamCoordinator.processing&&skippedStreamUpdate&&streamUpdateHandler(skippedStreamUpdate)})};add$1(`streamMain`,streamUpdateHandler,`stream`);var mainHookHandler=function(hookName,args){args&&!Array.isArray(args)&&console.error(`HookManager.trigger unsupported arguments (needs to be a list): `+JSON.stringify(hookName)+` - `+JSON.stringify(args).substring(0,30)+` ... `),window.vueEventBus?.emit(hookName,...args),window.globalAngularRootScope?.$broadcast(hookName,...args)};add$1(`hooksMain`,mainHookHandler);function add$1(id,func,type=`hook`){handlers[type]||(handlers[type]={}),handlers[type][id]=func}function remove$1(id,type=`hook`){handlers[type]&&delete handlers[type][id]}function trigger(hookName,args){_runHandlers(`hook`,hookName,args)}function _runHandlers(type,...data){if(handlers[type]){let toRun=Object.values(handlers[type]);toRun.length&&toRun.forEach(f=>f(...data))}}var Hooks_default={add:add$1,remove:remove$1,trigger,setStreamCoordinator(manager){streamCoordinator=manager}},scriptRel=`modulepreload`,assetsURL=function(dep){return`/local/ui/ui-vue/`+dep},seen={};const __vitePreload=function(baseModule,deps$1,importerUrl){let promise=Promise.resolve();if(deps$1&&deps$1.length>0){let links=document.getElementsByTagName(`link`),cspNonceMeta=document.querySelector(`meta[property=csp-nonce]`),cspNonce=cspNonceMeta?.nonce||cspNonceMeta?.getAttribute(`nonce`);function allSettled(promises$2){return Promise.all(promises$2.map(p$1=>Promise.resolve(p$1).then(value$1=>({status:`fulfilled`,value:value$1}),reason=>({status:`rejected`,reason}))))}promise=allSettled(deps$1.map(dep=>{if(dep=assetsURL(dep,importerUrl),dep in seen)return;seen[dep]=!0;let isCss=dep.endsWith(`.css`),cssSelector=isCss?`[rel="stylesheet"]`:``;if(importerUrl)for(let i$1=links.length-1;i$1>=0;i$1--){let link$1=links[i$1];if(link$1.href===dep&&(!isCss||link$1.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${dep}"]${cssSelector}`))return;let link=document.createElement(`link`);if(link.rel=isCss?`stylesheet`:scriptRel,isCss||(link.as=`script`),link.crossOrigin=``,link.href=dep,cspNonce&&link.setAttribute(`nonce`,cspNonce),document.head.appendChild(link),isCss)return new Promise((res,rej)=>{link.addEventListener(`load`,res),link.addEventListener(`error`,()=>rej(Error(`Unable to preload CSS for ${dep}`)))})}))}function handlePreloadError(err$2){let e$1=new Event(`vite:preloadError`,{cancelable:!0});if(e$1.payload=err$2,window.dispatchEvent(e$1),!e$1.defaultPrevented)throw err$2}return promise.then(res=>{for(let item of res||[])item.status===`rejected`&&handlePreloadError(item.reason);return baseModule().catch(handlePreloadError)})};var MOCK_DATA_PATH=`../mockdata`;function applyMockInterface(originalObject,mockInterface){let handler$1={mockInterface,get(target,propertyName){return this.mockInterface[propertyName]||target[propertyName]||defaultMockedMethod(propertyName)}};return new Proxy(originalObject,handler$1)}function defaultMockedMethod(name){return{[name]:function(...args){console.log(`Mocked method '${name}' called with:`),console.log(args)}}[name]}function getMockedData(fullPath){const[file$1,...path]=fullPath.split(`.`),filename=`${MOCK_DATA_PATH}/${file$1}.js`,toEval=[`d`,`default`,...path].join(`.`);return __vitePreload(()=>import(filename),[]).then(d=>eval(toEval))}const runInBrowser=fn=>{window.beamng||fn()},sendGUIHook=(name,...params)=>{window.bridge&&window.bridge.events&&window.bridge.events.emit(name,...params),window.globalAngularRootScope&&window.globalAngularRootScope.$broadcast(name,...params)};var withMocked=(sig,getData)=>(sig.mocked=getData,sig),LuaFunctionSignatures_default={dev:{getMockedData:key=>String},getVehicleColor:()=>{},getVehicleColorPalette:index=>Integer,resetGameplay:playerID=>Integer,quit:()=>{},checkFSErrors:()=>{},returnToMainMenu:()=>{},guihooks:{trigger:withMocked(hookName=>String,sendGUIHook)},simTimeAuthority:{togglePause:()=>{},getPause:()=>{},pause:state=>Boolean,pushPauseRequest:id=>String,popPauseRequest:id=>String},commands:{toggleCamera:()=>{}},ui_audio:{playEventSound:(soundClass,type)=>[String,String]},career_career:{closeAllMenus:()=>{},isActive:()=>{},sendAllCareerSaveSlotsData:()=>{},sendCurrentSaveSlotData:()=>{},createOrLoadCareerAndStart:(id,specificAutosave,tutorial)=>[String,Any$1,Boolean]},career_saveSystem:{saveCurrent:()=>{},removeSaveSlot:id=>String,renameSaveSlot:(name,newName)=>[String,String]},career_modules_uiUtils:{getCareerStatusData:withMocked(()=>{},()=>getMockedData(`career.status`)),getCareerSimpleStats:withMocked(()=>{},()=>getMockedData(`career.simpleStats`)),getCareerPauseContextButtons:()=>{},callCareerPauseContextButtons:id=>Number,getCareerCurrentLevelName:()=>{}},career_modules_fuel:{requestRefuelingTransactionData:()=>{},sendUpdateDataToUI:()=>{},uiButtonStartFueling:energyType=>String,uiButtonStopFueling:energyType=>String,onChangeFlowRate:flowRate=>Number,payPrice:()=>{},uiCancelTransaction:()=>{}},career_modules_logbook:{getLogbook:withMocked(()=>{},()=>getMockedData(`logbook.sample`)),setLogbookEntryRead:(id,state)=>[String,Boolean]},career_modules_milestones_milestones:{getMilestones:()=>{},claim:id=>Number,unclaimedMilestonesCount:()=>{}},career_modules_branches_landing:{openBigMapWithMissionSelected:id=>String,getBranchSkillCardData:id=>String,getBranchPageData:id=>String,getLandingPageData:domain=>String,getCargoProgressForUI:()=>{}},career_modules_partShopping:{cancelShopping:()=>{},applyShopping:()=>{},installPartByPartShopId:id=>Number,removePartBySlot:slot=>String,sendShoppingDataToUI:()=>{}},career_modules_vehicleShopping:{showVehicle:id=>Number,navigateToPos:pos=>Object,openShop:(seller,computerId)=>[Any$1,Any$1],cancelShopping:()=>{},quickTravelToVehicle:id=>Number,openPurchaseMenu:(purchaseType,shopId)=>[String,Number],updateInsuranceSelection:insuranceId=>Number,openInventoryMenuForTradeIn:()=>{},buyFromPurchaseMenu:(purchaseType,options)=>[String,Any$1],cancelPurchase:purchaseType=>String,getShoppingData:()=>{},sendPurchaseDataToUi:()=>{},removeTradeInVehicle:()=>{},onShoppingMenuClosed:()=>{}},career_modules_marketplace:{getListings:()=>{},menuOpened:open$1=>Boolean,acceptOffer:(inventoryId,offerIndex)=>[Number,Number],declineOffer:(inventoryId,offerIndex)=>[Number,Number],listVehicles:inventoryIds=>[Array],openMenu:()=>{},removeVehicleListing:inventoryId=>Number,startNegotiateBuyingOffer:(inventoryId,offerIndex)=>[Number,Number],startNegotiateSellingOffer:shopId=>[Number],getNegotiationState:()=>{},makeNegotiationOffer:price=>Number,takeTheirOffer:()=>{},cancelNegotiation:()=>{}},career_modules_testDrive:{stop:()=>{}},career_modules_inspectVehicle:{startTestDrive:()=>{},onInspectScreenChanged:enabled=>Boolean,onPurchaseMenuClosed:()=>{},repairVehicle:()=>{}},career_modules_loanerVehicles:{markForSpawning:loanInfo=>Object,spawnAndLoanVehicle:(vehicleInfo,loanInfo)=>[Object,Object],getLoanedVehiclesByOrg:orgId=>String,returnVehicle:inventoryId=>Number},career_modules_inventory:{sellVehicle:id=>Number,sellVehicleFromInventory:id=>Number,returnLoanedVehicleFromInventory:id=>Number,expediteRepairFromInventory:(inventoryId,price)=>[Number,Number],enterVehicle:id=>Number,openMenuFromComputer:computerId=>String,closeMenu:()=>{},chooseVehicleFromMenu:(vehId,buttonId,repairPrevVeh)=>[Number,Number,Boolean],setFavoriteVehicle:id=>Number,sendDataToUi:()=>{},removeVehicleObject:id=>Number,getVehicle:id=>Number,getVehicleUiData:id=>Number,isEmpty:()=>{},setLicensePlateText:(inventoryId,text)=>[Number,String],purchaseLicensePlateText:(inventoryId,text,money)=>[Number,String,Number],isLicensePlateValid:text=>String,isVehicleNameValid:text=>String,renameVehicle:(inventoryId,name)=>[Number,String],openInventoryMenuForChoosingListing:()=>{}},career_modules_vehiclePerformance:{startDragTest:id=>Number,cancelTest:()=>{}},career_modules_partInventory:{openMenu:computerId=>Any$1,closeMenu:()=>{},sendUIData:()=>{},sellParts:ids=>Array,partInventoryClosed:()=>{}},career_modules_insurance_insurance:{getProposablePoliciesForVehInv:invVehId=>Number,payInsuranceScoreReset:policyId=>Number,purchaseInsurance:id=>Number,calculateRenewalPriceDetails:(policyId,tempPerks)=>[Number,Any$1],changeInvVehInsuranceCoverageOptions:(policyId,changedPerks)=>[Number,Object],changeInvVehInsurance:(invVehId,newInsuranceId)=>[Number,Number],startRepairInGarage:(vehicleInfo,repairOptionData)=>[Object,Object],openRepairMenu:(vehicleInfo,originComputerId)=>[Object,Any$1],closeMenu:()=>{},sendUIData:()=>{},inventoryVehNeedsRepair:inventoryId=>Number,getInvVehHaveFuelDiscount:invVehId=>Object,openChooseInsuranceScreen:()=>{},calculateInsurancePremium:(insuranceId,potentialCoverageOptions,potentialVehiclesCoverageOptions)=>[Number,Object,Object],saveNewInsuranceCoverageOptions:(insuranceId,newCoverageOptions)=>[Number,Object],calculateVehiclePremium:(vehicleId,nonInvVehInfo,potentialCoverageOptions)=>[Number,Object,Object],saveNewVehicleCoverageOptions:(vehicleId,newCoverageOptions)=>[Number,Object],sendChooseInsuranceDataToTheUI:(purchaseType,shopId,defaultInsuranceId)=>[String,Number,Number],sendChangeInsuranceDataToTheUI:vehicleId=>[Number],resetDriverScore:()=>{}},career_modules_insurance_repairScreen:{getRepairData:()=>{},closeMenu:()=>{},startRepairInGarage:(invVehId,repairOptionData)=>[Number,Object],openRepairMenu:(vehicleInfo,originComputerId)=>[Object,Any$1]},career_modules_playerAbstract:{getPlayerAbstractData:()=>{},closePlayerAbstractMenu:()=>{}},career_modules_tuning:{apply:tuningValues=>Object,start:(vehId,origin)=>[Any$1,Any$1],getTuningData:()=>{},close:()=>{},applyShopping:()=>{},cancelShopping:()=>{},removeVarFromShoppingCart:varName=>String},career_modules_painting:{apply:()=>{},start:(vehId,origin)=>[Any$1,Any$1],getPaintData:()=>{},close:()=>{},setPaints:paint=>Object,getFactoryPaint:()=>{},onUIOpened:()=>{}},career_modules_questManager:{setQuestAsNotNew:id=>String,claimRewardsById:id=>String},career_modules_computer:{onMenuClosed:()=>{},getComputerUIData:()=>{},computerButtonCallback:(buttonId,inventoryId)=>[String,Any$1],openComputerMenuById:computerId=>String,closeAllMenus:()=>{}},career_modules_delivery_general:{setAutomaticRoute:enabled=>Boolean,setDetailedDropOff:enabled=>Boolean,setSetting:(key,value)=>[String,Any$1],getSettings:()=>{},setDeliveryTimePaused:paused=>Boolean},career_modules_delivery_cargoScreen:{requestCargoDataForUi:(facilityId,parkingSpotPath,updateMaxTimeStamp)=>[Any$1,Any$1,Any$1],moveCargoFromUi:(cargoId,targetLocation)=>[Number,Object],commitDeliveryConfiguration:()=>{},cancelDeliveryConfiguration:()=>{},exitDeliveryMode:()=>{},exitCargoOverviewScreen:()=>{},showCargoRoutePreview:cargoId=>Any$1,showVehicleOfferRoutePreview:offerId=>Any$1,setCargoRoute:(cargoId,origin)=>[Number,Boolean],showLocationRoutePreview:(location$1,asProvider)=>[Any$1,Boolean],showCargoContainerHelpPopup:()=>{},setBestRoute:()=>{},spawnOffer:(offerId,fadeToBlack)=>[Number,Any$1],abandonAcceptedOffer:vehId=>Number,setCargoScreenTab:tab=>String,unloadCargoPopupClosed:()=>{},moveMaterialFromUi:()=>{},requestDropOffData:()=>{},confirmDropOffData:(data,facId,psPath)=>[Any$1,Any$1,Any$1],dropOffPopupClosed:mode=>String,clearTransientMoveForCargo:cargoId=>Number,clearTransientMovesForStorage:materialType=>String,applyTransientMoves:()=>{},toggleOfferForSpawning:id=>Number,tryLoadAll:cargoIds=>Array,showRoutePreview:route=>Object,deliveryScreenExternalButtonPressed:id=>Any$1},career_modules_delivery_progress:{activateSound:(soundLabel,active)=>[String,Boolean]},career_modules_linearTutorial:{introPopup:(key,force)=>[String,Boolean],wasIntroPopupsSeen:pages=>Array,isLinearTutorialActive:()=>{}},gameplay_drag_dragBridge:{getHistory:id=>Object,screenshotTimeslip:()=>{}},gameplay_crashTest_scenarioManager:{nextStepFromUI:()=>{}},gameplay_discover:{getDiscoverPages:()=>{},startDiscover:discoverId=>String},freeroam_organizations:{getUIData:()=>{},getUIDataForOrg:orgId=>String},core_replay:{onInit:()=>{},loadFile:filename=>String,stop:()=>{},openReplayFolderInExplorer:()=>{},getRecordings:()=>{},removeRecording:filename=>String,togglePlay:()=>{},toggleRecording:()=>{},cancelRecording:()=>{},toggleSpeed:speed=>Number,pause:()=>{},seek:positionPercent=>Number,acceptRename:(oldFilename,newFilename)=>[String,String],saveMissionReplay:filename=>String,removeMissionSavedReplay:filename=>String,openMissionReplayFolder:filename=>String},core_gamestate:{requestGameState:()=>{},loadingScreenActive:()=>{}},core_gameContext:{getGameContext:withMocked(params=>{},params=>getMockedData(`gameContext.gameContextData`))},core_online:{requestState:()=>{}},core_hardwareinfo:{requestState:()=>{},getInfo:()=>{}},gameplay_statistic:{sendGUIState:()=>{}},core_quickAccess:{getUiData:()=>{},selectItem:(id,buttonDown,actionIndex)=>[Number,Boolean,Number],contextAction:(id,buttonDown,actionIndex)=>[Number,Boolean,Number],back:()=>{},setEnabled:(enabled,level$1,force)=>[Boolean,String,Boolean],openDynamicSlotConfigurator:index=>Number,getDynamicSlotConfigurationData:()=>{},setDynamicSlotConfiguration:(key,data)=>[String,Object],toggle:()=>[],tryAction:action=>String},ui_bindingsLegend:{sendDataToUI:forceResetFade=>Boolean,triggerInputAction:(action,value)=>[String,Number],toggleShowApp:()=>{},toggleShowVehicleSpecificActions:()=>{}},freeroam_bigMapMode:{enterBigMap:instant=>Object,exitBigMap:force=>Boolean,setBigmapScreenBounds:(windowBounds,mapBounds)=>[Object,Object],navigateToMission:poiId=>String,selectPoi:poiId=>String,poiHovered:(poiId,active)=>[String,Boolean],teleportToPoi:poiId=>String,setOnlyIdsVisible:poiIds=>Array,deselect:()=>{},openPopupCallback:()=>{},toggleBigMap:()=>{},setUiFocus:focus$1=>Boolean},freeroam_bigMapPoiProvider:{sendMissionLocationsToMinimap:()=>{},sendCurrentLevelMissionsToBigmap:()=>{},toggleGroupVisibility:groupKey=>String},freeroam_freeroamConfigurator:{getConfiguration:()=>{},getButtons:()=>{},triggerButton:buttonId=>Number,updateOption:(key,value)=>[String,Any$1],onSpawnPointTileClick:()=>{},onVehicleTileClick:()=>{},getCurrentSpawnPointTile:()=>{},getCurrentVehicleTile:()=>{},setSpawnPoint:(levelName,spawnPointName,key)=>[String,String,String],setVehicle:(model,config,additionalData,key)=>[String,String,Object,String],doubleClickOverride:item=>[Object]},gameplay_taxi:{startTaxiWithCurrentRoute:()=>{}},freeroam_vueBigMap:{enterBigMap:()=>{},exitBigMap:()=>{},getPoiData:()=>{},getFilters:()=>{},getGroups:()=>{},toggleFiltersByIds:filterIds=>Object,toggleFilterSectionById:sectionId=>Object,getGameStateInfo:()=>{},selectPoiFromList:poiId=>String,hoverPoiFromList:(poiId,active)=>[String,Boolean],executePoiAction:actionId=>Number},freeroam_freeroam:{startTrackBuilder:mapName=>String},extensions:{isExtensionLoaded:extensionName=>Boolean,load:extensionName=>String,unload:extensionName=>String,hook:hook=>String,ui_messagesDebugger:{show:()=>{},hide:()=>{},toggle:()=>{}},tech_license:{requestState:()=>{},isValid:()=>{}},core_input_actionFilter:{addAction:(filter,actionName,filtered)=>[Number,String,Boolean],setGroup:(name,actioNames)=>[String,Any$1]},core_input_bindings:{FFBSafetyDataRequest:()=>{},resetBindings:()=>{},resetBindingsForDevice:deviceName=>String,setMenuActionMapEnabled:state=>Boolean,getMenuActionMapEnabled:()=>{},setMenuActionEnabled:(enabled,actionName)=>[Boolean,String],notifyUI:reason=>String,saveBindingsToDisk:deviceContents=>Object,getRecentDevices:()=>{}},core_vehicle_partmgmt:{getConfigList:()=>{},highlightParts:(parts,vehID)=>[Object,Number],loadLocal:filename=>String,resetPartsToLoadedConfig:()=>{},resetVarsToLoadedConfig:()=>{},resetAllToLoadedConfig:()=>{},openConfigFolderInExplorer:()=>{},removeLocal:configName=>String,savedefault:()=>{},saveLocal:filename=>String,sendDataToUI:()=>{},selectPart:(part,subparts)=>[String,Boolean],selectParts:(parts,vehID)=>[Object,Number],selectReset:()=>{},setConfigVars:vars=>Object,setPartsConfig:config=>Object,setPartsTreeConfig:config=>Object,showHighlightedParts:vehID=>Number,setDynamicTextureMaterials:()=>{},partsSelectorChanged:parts=>Object,sendPartsSelectorStateToUI:()=>{}},core_vehicle_mirror:{getAnglesOffset:()=>{},focusOnMirror:mirror_name=>Any$1,setAngleOffset:(mirrorName,x,z,v,save)=>[String,Number,Number,Boolean,Boolean]},gameplay_drift_general:{onDriftAppMounted:()=>{},onDriftAppUnmounted:()=>{}},gameplay_missions_missionScreen:{getMissionScreenData:withMocked(()=>{},()=>getMockedData(`missionDetails.getMissionScreenData`)),startMissionById:(missionId,userSettings,startingOptions)=>[String,Object,Object],stopMissionById:id=>[String],changeUserSettings:(missionId,userSettings)=>[String,Object],startFromWithinMission:(id,userSettings)=>[String,Object],getActiveStarsForUserSettings:(id,userSettings)=>[String,Object],requestStartingOptionsForUserSettings:(id,userSettings)=>[String,Object],isAnyMissionActive:()=>{},isMissionStartOrEndScreenActive:()=>{},openAPMChallenges:(branch,skill)=>[String,String],navigateToMission:id=>[String],setPreselectedMissionId:id=>[String],showMissionRules:id=>[String],getMissionTiles:()=>{},activateSound:(soundLabel,active,frequency)=>[String,Boolean,Number],activateSoundBlur:active=>{Boolean},openVehicleSelectorForMissionBySetting:(mId,settingKey)=>[String,String]},gameplay_missions_missionManager:{getCurrentTaskdataTypeOrNil:()=>{}},gameplay_garageMode:{start:()=>{},isActive:()=>{},setCamera:view=>String,setLighting:lights=>Array,getLighting:()=>{},setGarageMenuState:state=>String,stop:()=>{},testVehicle:()=>{}},ui_dynamicDecals:{initialize:()=>{},exit:()=>{},requestUpdatedData:()=>{},setupEditor:()=>{},loadSaveFile:path=>String,createSaveFile:()=>{},saveChanges:filename=>String,cancelChanges:()=>{},exportSkin:skinName=>String,moveSelectedLayer:order=>Number,setDecalTexture:filePath=>String,setDecalColor:colorData=>Object,setDecalScale:decalData=>Object,setDecalRotation:decalRotation=>Number,setDecalSkew:decalSkew=>Object,setDecalApplyMultiple:applyMultiple=>Boolean,setDecalResetOnApply:resetOnApply=>Boolean,setDecalPositionX:positionX=>Number,setDecalPositionY:positionY=>Number,updateDecalPosition:(positionX,positionY)=>[Number,Number],toggleApplyingDecal:enable=>Boolean,toggleActionMap:enable=>Boolean,toggleDecalVisibility:enable=>Boolean,redo:()=>{},undo:()=>{},createLayer:layerData=>Object,createFillLayer:fillLayerData=>Object,createGroupLayer:layerData=>Object,updateLayer:layerData=>Object,deleteSelectedLayer:()=>{},selectLayer:layerUid=>String,toggleStampActionMap:enable=>Boolean,toggleLayerHighlight:uid$2=>String,toggleLayerVisibility:uid$2=>String},ui_liveryEditor:{save:filename=>String,setup:()=>{},deactivate:()=>{},setDecalTexture:texturePath=>String,useMousePosition:enable=>Boolean,useSurfaceNormal:enable=>Boolean,requestSettingsData:()=>{}},ui_liveryEditor_colorPresets:{getPresets:()=>{},addPreset:()=>{}},ui_liveryEditor_editor:{setup:()=>{},startEditor:()=>{},exitEditor:()=>{},startSession:()=>{},applyDecal:()=>{},applySkin:()=>{},createNew:()=>{},loadFile:path=>String,save:filename=>String,applyChanges:()=>{}},ui_liveryEditor_editMode:{reapply:()=>{},requestReapply:()=>{},cancelReapply:()=>{},setActiveLayer:layerUid=>String,setActiveLayerDirection:direction$1=>Number,removeAppliedLayer:layerUid=>String,resetCursorProperties:properties=>Array,toggleHighlightActive:()=>{},activate:()=>{},deactivate:()=>{},apply:()=>{},requestApply:()=>{},cancelRequestApply:()=>{},toggleRequestApply:()=>{},saveChanges:params=>Object,cancelChanges:()=>{},duplicateActiveLayer:()=>{}},ui_liveryEditor_camera:{setOrthographicView:view=>String,switchOrthographicViewByDirection:(x,y)=>[Number,Number]},ui_liveryEditor_controls:{toggleUseMousePos:()=>{}},ui_liveryEditor_history:{redo:()=>{},undo:()=>{}},ui_liveryEditor_layerAction:{performAction:action=>String,toggleEnabledByLayerUid:uid$2=>String},ui_liveryEditor_layerEdit:{setup:()=>{},setLayer:layerUid=>String,editNewDecal:params=>Object,translateLayer:(x,y)=>[Number,Number],holdTranslate:(axis,value)=>[String,Number],holdTranslateScalar:(axis,value)=>[String,Number],holdScale:(axis,value)=>[String,Number],holdSkew:(axis,value)=>[String,Number],holdPrecise:enable=>Boolean,scaleLayer:(x,y)=>[Number,Number],skewLayer:(x,y)=>[Number,Number],rotateLayer:(steps,counterClockwise)=>[Number,Boolean],setPosition:(x,y)=>[Number,Number],setScale:(x,y)=>[Number,Number],setRotation:degrees=>Number,setSkew:(x,y)=>[Number,Number],setMirrored:settings$1=>[Boolean,Boolean,Number],setLayerMaterials:properties=>Object,activateStampReapply:()=>{},cancelStampReapply:()=>{},requestLayerMaterials:()=>{},saveChanges:()=>{},cancelChanges:()=>{},requestStateData:()=>{},requestInitialLayerData:()=>{},requestTransform:()=>{},endTransform:()=>{},showCursorOrLayer:show=>Boolean,requestReposition:()=>{},cancelReposition:()=>{},applyReposition:()=>{},toggleUseMouseOrCursor:()=>{},setIsRotationPrecise:value=>Boolean,setAllowRotationAction:value=>Boolean},ui_liveryEditor_layers:{requestInitialData:()=>{}},ui_liveryEditor_layers_cursor:{requestData:()=>{}},ui_liveryEditor_layers_decals:{addLayer:params=>Object,setLayer:uid$2=>String},ui_liveryEditor_layers_decal:{addLayerCentered:params=>Object},ui_liveryEditor_layers_fill:{updateLayer:params=>Object,saveChanges:()=>{},restoreLayer:()=>{},restoreDefault:()=>{},requestLayerData:()=>{}},ui_liveryEditor_resources:{requestData:()=>{},getDecalTextures:()=>{},getTextureCategories:()=>{},getTexturesByCategory:category=>String},ui_liveryEditor_selection:{duplicateSelectedLayer:()=>{},getSelectedLayersData:()=>{},setSelected:layerUid=>String,setMultipleSelected:layerUids=>Array,clearSelection:()=>{},toggleSelection:layerIds=>Array,select:(layerIds,highlight)=>[Array,Boolean],toggleHighlightSelectedLayer:()=>{},requestInitialData:()=>{}},ui_liveryEditor_tools:{useTool:tool=>String,closeCurrentTool:()=>{}},ui_liveryEditor_tools_material:{setColor:rgbaArray=>Array,setMetallicIntensity:metallicIntensity=>Number,setNormalIntensity:normalIntensity=>Number,setRoughnessIntensity:roughnessIntensity=>Number,setDecal:decalTexture=>String},ui_liveryEditor_tools_misc:{duplicate:()=>{}},ui_liveryEditor_tools_group:{moveOrderUp:()=>{},moveOrderDown:()=>{},changeOrderToTop:()=>{},changeOrderToBottom:()=>{},moveOrderUpById:layerUid=>[String],moveOrderDownById:layerUid=>[String],setOrder:order=>Number,changeOrder:(oldOrder,oldParent,newOrder,newParent)=>[Number,String,Number,String],groupLayers:()=>{},ungroupLayer:()=>{}},ui_liveryEditor_tools_transform:{translate:(x,y)=>[Number,Number],setPosition:(x,y)=>[Number,Number],rotate:degrees=>Number,scale:(stepsX,stepsY)=>[Number,Number],setScale:(scaleX,scaleY)=>[Number,Number],setRotation:degrees=>Number,skew:(skewX,skewY)=>[Number,Number],setSkew:(skewX,skewY)=>[Number,Number],useStamp:()=>{},cancelStamp:()=>{}},ui_liveryEditor_tools_settings:{deleteLayer:()=>{},setMirrored:(mirrored,flip$2)=>[Boolean,Boolean],setVisibility:show=>Boolean,toggleVisibility:()=>{},toggleVisibilityById:layerUid=>String,toggleLock:()=>{},toggleLockById:layerUid=>String,setMirrorOffset:offset$2=>Number,setUseMousePos:value=>Boolean,setProjectSurfaceNormal:value=>Boolean,rename:name=>String},ui_liveryEditor_userData:{requestUpdatedData:()=>{},getSaveFiles:()=>{},createSaveFile:filename=>String,renameFile:(filename,newFilename)=>[String,String],deleteSaveFile:filename=>String},ui_gameBlur:{replaceGroup:(groupName,list)=>[String,Object]},ui_fadeScreen:{onScreenFadeStateDelayed:state=>Integer},ui_router:{addOrUpdateRoute:(route,config,options)=>[String,Object,Object],push:(routeName,params)=>[String,Object],back:()=>{},forward:()=>{},loadComplete:uiType=>String,routeChangeComplete:uiType=>String},ui_uiMods:{getVueMods:()=>{}}},ActionMap:{enableBindingCapturing:state=>Boolean},gameplay_markerInteraction:{startMissionById:(missionId,userSettings)=>[Any$1,Object],closeViewDetailPrompt:force=>Boolean,changeUserSettings:(missionId,userSettings)=>[String,Object]},ui_missionInfo:{performActivityAction:id=>Integer,setActivityIndexVisible:index=>Integer,closeDialogue:()=>{}},ui_apps_genericMissionData:{sendAllData:()=>{},setData:args=>Object,clearData:()=>{}},ui_apps_pointsBar:{requestAllData:()=>{}},ui_gameplayAppContainers:{getVisibleApps:containerId=>String,onGameplayAppContainerMounted:()=>{},onGameplayAppContainerUnmounted:()=>{},getAvailableApps:containerId=>String,setAppVisibility:(containerId,appId,visible)=>[String,String,Boolean],getAppVisibility:(containerId,appId)=>[String,String],showApp:(containerId,appId)=>[String,String],hideApp:(containerId,appId)=>[String,String],toggleApp:(containerId,appId)=>[String,String],hideAllApps:containerId=>String,getContainerContext:containerId=>String,setContainerContext:(containerId,context)=>[String,String],resetContainerContext:containerId=>String,getAvailableContexts:containerId=>String},ui_messagesTasksAppContainers:{getVisibleApps:containerId=>String,onMessagesTasksAppContainerMounted:()=>{},onMessagesTasksAppContainerUnmounted:()=>{},getAvailableApps:containerId=>String,setAppVisibility:(containerId,appId,visible)=>[String,String,Boolean],getAppVisibility:(containerId,appId)=>[String,String],showApp:(containerId,appId)=>[String,String],hideApp:(containerId,appId)=>[String,String],toggleApp:(containerId,appId)=>[String,String],hideAllApps:containerId=>String},scenetree:{"maincef:setMaxFPSLimit":fps=>Integer},settings:{notifyUI:()=>{},setState:state=>Object,getValue:value=>String,setValue:(settingName,value)=>[String,Any$1]},core_camera:{setFOV:(playerId,fovDeg)=>[Integer,Number]},core_modmanager:{requestState:()=>{}},core_vehicles:{cloneCurrent:()=>{},getModel:model=>String,getCurrentVehicleDetails:withMocked(()=>{},()=>getMockedData(`vehicle.details`)),getVehicleLicenseText:id=>Number,loadDefault:()=>{},removeAll:()=>{},removeAllExceptCurrent:()=>{},removeCurrent:()=>{},requestList:()=>{},requestListEnd:()=>{},setPlateText:plateText=>String,setMeshVisibility:state=>Number,spawnDefault:()=>{},spawnNewVehicle:(model,args)=>[String,Object],replaceVehicle:(model,args)=>[String,Object],isLicensePlateValid:text=>Any$1,getModelList:()=>{}},ui_gridSelector:{getTiles:(backendName,currentPath,pathChanged)=>[String,Object,Boolean],getFilters:backendName=>String,getActiveFilters:backendName=>String,toggleFilter:(backendName,propName,option)=>[String,String],updateRangeFilter:(backendName,propName,min$1,max$1)=>[String,String,Number,Number],resetRangeFilter:(backendName,propName)=>[String,String],resetSetFilter:(backendName,propName)=>[String,String],getSearchText:backendName=>String,setSearchText:(backendName,searchText$1)=>[String,String],getDisplayDataOptions:backendName=>String,setDisplayDataOption:(backendName,key,value)=>[String,String,Any$1],resetDisplayDataToDefaults:backendName=>String,getScreenHeaderTitleAndPath:(backendName,path)=>[String,Object],profilerFinish:(backendName,tag)=>[String,String],closedFromUI:backendName=>String,onOpenedSelectorWithItemDetails:(backendName,itemDetails)=>[String,Object],getDetails:(backendName,itemDetails)=>[String,Object],executeButton:(backendName,buttonId,additionalData)=>[String,Number,Object],getManagementDetails:backendName=>String,exitCallback:()=>{},executeDoubleClick:(backendName,itemDetails)=>[String,Object],exploreFolder:(backendName,path)=>[String,String],goToMod:(backendName,modId)=>[String,String],toggleFavourite:(backendName,itemDetails)=>[String,Object]},ui_gameplaySelector_general:{openGameplaySelector:()=>{},openChallengesSelector:()=>{},openCampaignsSelector:()=>{},openScenariosSelector:()=>{},openRallySelector:()=>{}},ui_gameplaySelector_tileGenerators_levelTiles:{getSpawningOptions:(levelName,backendName)=>[String,String],changeSpawningOption:(key,value)=>[String,Any$1],setAlwaysShowDialogue:(backendName,newValue)=>[String,Boolean]},ui_vehicleSelector_general:{openVehicleSelectorForFreeroamModal:()=>{}},ui_freeroamSelector_general:{setCustomDetailsButtons:buttons=>Array,getCustomDetailsButtons:()=>{},setManagementButtonsEnabled:enabled=>Boolean,getManagementButtonsEnabled:()=>{},openFreeroamSelectorWithCustomButtons:(buttons,callback)=>[Array,Function],setExitCallback:callback=>Function},ui_topBar:{hide:()=>{},requestData:()=>{},requestEntries:()=>{},setActiveItem:itemId=>String,selectItem:itemId=>String,show:()=>{}},core_vehicle_manager:{reloadAllVehicles:()=>{},toggleDebug:()=>{},getDebug:()=>{}},core_vehicle_colors:{setVehicleColor:(index,value)=>[Integer,Object]},core_recoveryPrompt:{getUIData:()=>{},buttonPressed:id=>[String],uiPopupButtonPressed:index=>[Integer],uiPopupCancelPressed:()=>{},onPopupClosed:()=>{}},core_remoteController:{devicesConnected:()=>Boolean,getQRCode:()=>{}},core_levels:{startLevel:()=>{}},util_screenshotCreator:{startWork:workOptions=>Any$1},util_groundModelDebug:{openWindow:()=>{}},scenario_scenariosLoader:{getList:()=>{},start:scenario=>Object},ui_apps_minimap_minimap:{setDrawTransform:(x,y,width$1,height$1)=>[Number,Number,Number,Number],hide:()=>{},toggleOptions:()=>{},getMode:()=>{},setOcclusionTransform:(id,x,y,width$1,height$1)=>[String,Number,Number,Number,Number],resetOcclusionTransform:id=>[String]},ui_apps_minimap_additionalInfo:{requestAdditionalInfo:()=>{}},WinInput:{setForwardRawEvents:state=>Boolean,setForwardFilteredEvents:state=>Boolean},Engine:{Audio:{playOnce:(channel,sound)=>[String,String]},Render:{getAdapterType:()=>{}},UI:{getUIEngine:()=>{}},Platform:{getFSInfo:()=>{}}},Steam:{showFloatingGamepadTextInput:(type,left,top,width$1,height$1)=>[Number,Number,Number,Number,Number]},setCEFTyping:state=>Boolean},api,loadAPI=()=>api||({api}=useBridge());const Any$1=i=>i,Integer=i=>i|0;var argTransformers={Any:Any$1,Boolean,String,Number,Integer,Object,Array:Any$1};signaturesToWrappers(LuaFunctionSignatures_default);var Lua_default=LuaFunctionSignatures_default;function signaturesToWrappers(sigsObject,prefixes$1=[]){let sigType,sig,funcPath,paramTypes,callName;for(let key in sigsObject)sig=sigsObject[key],sigType=typeof sig,funcPath=[...prefixes$1,key],sigType===`function`&&isArrowFunction(sig)?(paramTypes=normaliseTypes(sig(),sig.length),callName=funcPath.join(`.`),sigsObject[key]=buildWrapper(callName,paramTypes,sig.mocked)):sigType===`object`&&(sigsObject[key]=signaturesToWrappers(sig,funcPath));return sigsObject}function buildWrapper(callName,paramTypes,mockResponse=void 0){return(...args)=>run(callName,args,{argTypes:paramTypes,mockResponse})}function isArrowFunction(func){return(``+func).indexOf(`function(`)!=0}function normaliseTypes(types,paramCount){return types?Array.isArray(types)?types:[types]:Array(paramCount).fill(Any$1)}function run(funcName,args,{argTypes=Array(args.length).fill(Any$1),mockResponse}){if(loadAPI(),args.length(argTypes[i]&&argTransformers[argTypes[i].name]||Any$1)(arg)),runMocked(mockResponse,transformedArgs)):(transformedArgs=args.map((arg,i)=>serialize((argTypes[i]&&argTransformers[argTypes[i].name]||Any$1)(arg))),runRaw(`${funcName}(${transformedArgs})`))}function runRaw(luaCode,withPromise=!0){return loadAPI(),withPromise?new Promise(function(resolve$1){api.engineLua(luaCode,resolve$1)}):api.engineLua(luaCode)}function runMocked(response,args){let ret;return ret=typeof response==`function`?response(...args):response,ret&&ret.then?ret:new Promise(resolve$1=>resolve$1(ret))}function serialize(o){return loadAPI(),api.serializeToLua(o)}function serializeCheck(o){return loadAPI(),api.serializeToLua(o)}var StreamManager_default=class{streamsRefCnt={};gameAPI={};constructor(api$1){this.gameAPI=api$1}_updateSubscriptions(){let reqVehStreams=[];for(let k in this.streamsRefCnt)reqVehStreams.push(k);let subscriptions={vehicles:[{byPlayerId:0,streams:reqVehStreams}]};this.gameAPI.subscribeToEvents(JSON.stringify(subscriptions))}add(streams){for(let i=0;i!!(node.offsetWidth&&node.offsetHeight);function isVisible(node,_style=null){let tmp=node;for(_style||=document.defaultView.getComputedStyle(tmp,null);tmp.tagName!==`HTML`;){if(!tmp.isConnected||tmp.nodeType!==Node.ELEMENT_NODE||(_style=document.defaultView.getComputedStyle(tmp,null),_style.display===`none`||_style.visibility===`hidden`||_style.opacity===`0`))return!1;tmp=tmp.parentNode}return!0}function isOccluded$1(element,rect,dontIgnoreOffscreen){let x=(rect.left+rect.right)/2,y=(rect.top+rect.bottom)/2,topElement=document.elementFromPoint(x,y);if(!topElement)return!!dontIgnoreOffscreen;let tmp=topElement;for(;tmp.tagName!==`HTML`;){if(tmp==element||tmp.tagName===`MD-TOOLTIP`||tmp.noOcclude)return!1;tmp=tmp.parentNode}return!0}function dispatchKey(key,elem=window.document){if(typeof key!=`number`)throw Error(`Invalid key`);let target=elem||document,ev=document.createEvent(`KeyboardEvent`);return Object.defineProperty(ev,`keyCode`,{get:function(){return this.keyCodeVal}}),ev.initKeyboardEvent(`keydown`,!0,!0),ev.keyCodeVal=key,target.dispatchEvent(ev)}const eventDispatcherForElement=element=>(type,extras={})=>(isRef$1(element)?element.value:element).dispatchEvent(Object.assign(new Event(type),extras));function observePosition(element,callback){let trackDiv=document.createElement(`div`);setCss(trackDiv,{position:`fixed`,width:`2px`,height:`2px`,padding:`0`,margin:`0`,border:`0`,outline:`0`,"pointer-events":`none`},!0),element.classList.add(`bng-pos-observed`),trackDiv.className=`bng-pos-observer`,element.children.length?element.insertBefore(trackDiv,element.firstChild):element.appendChild(trackDiv),window.BNG_Logger&&window.BNG_Logger.assert(()=>!isAffectedByCss(trackDiv),`Position observer can break styles inside your element! Please adjust your styles using .bng-pos-observed and/or .bng-pos-observer selectors
`,element);let fixPosition=()=>{let rect=trackDiv.getBoundingClientRect();setCss(trackDiv,{"margin-left":`${parseFloat(trackDiv.style.marginLeft||`0`)-rect.left-1}px`,"margin-top":`${parseFloat(trackDiv.style.marginTop||`0`)-rect.top-1}px`},!0)};fixPosition();let intersectionObserver=new IntersectionObserver(entries=>{Math.round(entries[0].intersectionRatio*4)!==1&&(fixPosition(),callback())},{threshold:[.125,.375,.625,.875]});return intersectionObserver.observe(trackDiv),()=>{intersectionObserver.disconnect(),trackDiv.remove(),element.classList.remove(`bng-pos-observed`)}}window.observePosition=observePosition;function setCss(element,rules,important=void 0){if(window.BNG_Logger&&window.BNG_Logger.assert(()=>!Object.values(rules).some(val=>val.endsWith(` !important`)),`Rule values cannot have !important in them. Please set important flag instead.`,rules),important)for(let key in window.BNG_Logger&&window.BNG_Logger.assert(()=>!Object.keys(rules).some(name=>name!==name.toLowerCase()),`Rule names must be in kebab-case (as in CSS itself)`,rules),rules)element.style.setProperty(key,rules[key],`important`);else Object.assign(element.style,rules)}function isAffectedByCss(element,parent=void 0,fast=!1){if(!element||!element.isConnected||!parent&&!element.parentNode)return!1;parent||=element.parentNode;let clone=element.cloneNode(!fast);parent.insertBefore(clone,element);let orig=window.getComputedStyle(element),cloned=window.getComputedStyle(clone),affected=!1;for(let prop of orig)if(orig[prop]!==cloned[prop]){affected=!0;break}return parent.removeChild(clone),affected}var crossfire_exports=__export({MONITORED_UI_NAV_EVENTS:()=>MONITORED_UI_NAV_EVENTS,NAVIGABLE_ELEMENTS_SELECTOR:()=>NAVIGABLE_ELEMENTS_SELECTOR,NAV_PRIORITY_ATTR:()=>NAV_PRIORITY_ATTR,NAV_PRIORITY_CONTAINER_ATTR:()=>NAV_PRIORITY_CONTAINER_ATTR,NO_CHILD_NAV_ATTR:()=>NO_CHILD_NAV_ATTR,NO_NAV_ATTR:()=>NO_NAV_ATTR,SCROLL_ATTR:()=>SCROLL_ATTR,SCROLL_EVENT_H:()=>SCROLL_EVENT_H,SCROLL_EVENT_V:()=>SCROLL_EVENT_V,SCROLL_FORCE_ATTR:()=>SCROLL_FORCE_ATTR,collectRects:()=>collectRects,findNext:()=>findNext,focusOnElement:()=>focusOnElement,handleUINavEvent:()=>handleUINavEvent,isAvailable:()=>isAvailable,isNavigable:()=>isNavigable$1,isNavigatable:()=>isNavigable$1,isOccluded:()=>isOccluded,isVisibleFast:()=>isVisibleFast,navigate:()=>navigate,navigateScroll:()=>navigateScroll,scrollFix:()=>scrollFix,uncollectRects:()=>uncollectRects});const NAVIGABLE_ELEMENTS_SELECTOR=`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`,NO_NAV_ATTR=`bng-no-nav`,NO_CHILD_NAV_ATTR=`bng-no-child-nav`,NAV_PRIORITY_CONTAINER_ATTR=`bng-nav-priority-container`,NAV_PRIORITY_ATTR=`bng-nav-priority-item`;var MENU_NAVIGATION_CLASS=`menu-navigation`,IGNORE_TAGS=[`HTML`,`BODY`];const SCROLL_ATTR=`bng-nav-scroll`,SCROLL_FORCE_ATTR=`bng-nav-scroll-force`;var DIR={LEFT:`left`,UP:`up`,RIGHT:`right`,DOWN:`down`},DIR_KEYS={[DIR.LEFT]:37,[DIR.UP]:38,[DIR.RIGHT]:39,[DIR.DOWN]:40},AXIS_H=`horizontal`,AXIS_V=`vertical`;const SCROLL_EVENT_H=`rotate_h_cam`,SCROLL_EVENT_V=`rotate_v_cam`;var UI_SCROLL_EVENT_ACTIONS={[SCROLL_EVENT_H]:AXIS_H,[SCROLL_EVENT_V]:AXIS_V},UI_SCROLL_ACTION_EVENTS={[AXIS_H]:SCROLL_EVENT_H,[AXIS_V]:SCROLL_EVENT_V},SCALAR_EVENT_H=`focus_lr`,SCALAR_EVENT_V=`focus_ud`,UI_SCALAR_EVENT_ACTIONS={[SCALAR_EVENT_H]:AXIS_H,[SCALAR_EVENT_V]:AXIS_V},UI_NAV_EVENT_ACTIONS={focus_u:`up`,focus_d:`down`,focus_l:`left`,focus_r:`right`,ok:`confirm`,tab_l:`tab_l`,tab_r:`tab_r`};const MONITORED_UI_NAV_EVENTS=[...Object.keys(UI_NAV_EVENT_ACTIONS),...Object.keys(UI_SCALAR_EVENT_ACTIONS)];var THUMBSTICK_DEADZONE=.5,lastScalarValue={horizontal:0,vertical:0},TRACKER_ID=`crossfire`;function focusOnElement(elem){let contentEditable=elem.contentEditable,tabIndex=elem.tabIndex;elem.contentEditable=!0,elem.tabIndex=0,elem.focus(),elem.tabIndex=tabIndex,elem.contentEditable=contentEditable}function getNavigableElements(root=null,forceAll=!1){let res=[...(root||document.body).querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR)];return forceAll||(res=res.filter(elem=>{if(elem.parentNode.closest(`[bng-no-child-nav="1"], [bng-no-child-nav="true"]`))return!1;let noNav=elem.attributes.getNamedItem(NO_NAV_ATTR);return!noNav||noNav.value!==`true`})),res}function isNavigable$1(elem,forceAll=!1){if(!elem||IGNORE_TAGS.includes(elem.nodeName||elem.tagName))return!1;if(elem.classList.contains(MENU_NAVIGATION_CLASS))return!0;let parent=elem.parentNode;if(!parent)return!1;let children=getNavigableElements(parent,forceAll);for(let child of children)if(child===elem)return!0;return!1}function uncollectRects(){let ns=getNavigableElements();for(let node of ns)node.classList.remove(MENU_NAVIGATION_CLASS)}var warnPrioNesting=window.beamng&&!window.beamng.shipping;function collectRects(direction$1,parent,forceAll=!1){let links={};direction$1?links[direction$1]=[]:(links.up=[],links.down=[],links.left=[],links.right=[]);let prioNodes=new WeakSet,ns=getNavigableElements(parent,forceAll);for(let node of ns){if(!isAvailable(node)){node.classList.remove(MENU_NAVIGATION_CLASS);continue}let rectNode=node,prioNode=node.closest(`[${NAV_PRIORITY_CONTAINER_ATTR}]`);if(prioNode&&prioNode!==node&&!prioNodes.has(prioNode)){if(prioNodes.add(prioNode),!warnPrioNesting){let parent$1=prioNode.parentNode.closest(`[${NAV_PRIORITY_CONTAINER_ATTR}]`);parent$1&&(console.warn(`Priority container nesting is not supported. Please remove the nested priority container.
@/ui/lib/ext/chartist.min.js
!function(a,b){"function"==typeof define&&define.amd?define("Chartist",[],function(){return a.Chartist=b()}):"object"==typeof module&&module.exports?module.exports=b():a.Chartist=b()}(this,function(){var a={version:"0.11.0"};return function(a,b,c){"use strict";c.namespaces={svg:"http://www.w3.org/2000/svg",xmlns:"http://www.w3.org/2000/xmlns/",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",ct:"http://gionkunz.github.com/chartist-js/ct"},c.noop=function(a){return a},c.alphaNumerate=function(a){return String.fromCharCode(97+a%26)},c.extend=function(a){var b,d,e;for(a=a||{},b=1;b":">",'"':""","'":"'"},c.serialize=function(a){return null===a||void 0===a?a:("number"==typeof a?a=""+a:"object"==typeof a&&(a=JSON.stringify({data:a})),Object.keys(c.escapingMap).reduce(function(a,b){return c.replaceAll(a,b,c.escapingMap[b])},a))},c.deserialize=function(a){if("string"!=typeof a)return a;a=Object.keys(c.escapingMap).reduce(function(a,b){return c.replaceAll(a,c.escapingMap[b],b)},a);try{a=JSON.parse(a),a=void 0!==a.data?a.data:a}catch(b){}return a},c.createSvg=function(a,b,d,e){var f;return b=b||"100%",d=d||"100%",Array.prototype.slice.call(a.querySelectorAll("svg")).filter(function(a){return a.getAttributeNS(c.namespaces.xmlns,"ct")}).forEach(function(b){a.removeChild(b)}),f=new c.Svg("svg").attr({width:b,height:d}).addClass(e),f._node.style.width=b,f._node.style.height=d,a.appendChild(f._node),f},c.normalizeData=function(a,b,d){var e,f={raw:a,normalized:{}};return f.normalized.series=c.getDataArray({series:a.series||[]},b,d),e=f.normalized.series.every(function(a){return a instanceof Array})?Math.max.apply(null,f.normalized.series.map(function(a){return a.length})):f.normalized.series.length,f.normalized.labels=(a.labels||[]).slice(),Array.prototype.push.apply(f.normalized.labels,c.times(Math.max(0,e-f.normalized.labels.length)).map(function(){return""})),b&&c.reverseData(f.normalized),f},c.safeHasProperty=function(a,b){return null!==a&&"object"==typeof a&&a.hasOwnProperty(b)},c.isDataHoleValue=function(a){return null===a||void 0===a||"number"==typeof a&&isNaN(a)},c.reverseData=function(a){a.labels.reverse(),a.series.reverse();for(var b=0;bf.high&&(f.high=c),h&&c0?f.low=0:(f.high=1,f.low=0)),f},c.isNumeric=function(a){return null!==a&&isFinite(a)},c.isFalseyButZero=function(a){return!a&&0!==a},c.getNumberOrUndefined=function(a){return c.isNumeric(a)?+a:void 0},c.isMultiValue=function(a){return"object"==typeof a&&("x"in a||"y"in a)},c.getMultiValue=function(a,b){return c.isMultiValue(a)?c.getNumberOrUndefined(a[b||"y"]):c.getNumberOrUndefined(a)},c.rho=function(a){function b(a,c){return a%c===0?c:b(c,a%c)}function c(a){return a*a+1}if(1===a)return a;var d,e=2,f=2;if(a%2===0)return 2;do e=c(e)%a,f=c(c(f))%a,d=b(Math.abs(e-f),a);while(1===d);return d},c.getBounds=function(a,b,d,e){function f(a,b){return a===(a+=b)&&(a*=1+(b>0?o:-o)),a}var g,h,i,j=0,k={high:b.high,low:b.low};k.valueRange=k.high-k.low,k.oom=c.orderOfMagnitude(k.valueRange),k.step=Math.pow(10,k.oom),k.min=Math.floor(k.low/k.step)*k.step,k.max=Math.ceil(k.high/k.step)*k.step,k.range=k.max-k.min,k.numberOfSteps=Math.round(k.range/k.step);var l=c.projectLength(a,k.step,k),m=l=d)k.step=1;else if(e&&n=d)k.step=n;else for(;;){if(m&&c.projectLength(a,k.step,k)<=d)k.step*=2;else{if(m||!(c.projectLength(a,k.step/2,k)>=d))break;if(k.step/=2,e&&k.step%1!==0){k.step*=2;break}}if(j++>1e3)throw new Error("Exceeded maximum number of iterations while optimizing scale step!")}var o=2.221e-16;for(k.step=Math.max(k.step,o),h=k.min,i=k.max;h+k.step<=k.low;)h=f(h,k.step);for(;i-k.step>=k.high;)i=f(i,-k.step);k.min=h,k.max=i,k.range=k.max-k.min;var p=[];for(g=k.min;g<=k.max;g=f(g,k.step)){var q=c.roundWithPrecision(g);q!==p[p.length-1]&&p.push(q)}return k.values=p,k},c.polarToCartesian=function(a,b,c,d){var e=(d-90)*Math.PI/180;return{x:a+c*Math.cos(e),y:b+c*Math.sin(e)}},c.createChartRect=function(a,b,d){var e=!(!b.axisX&&!b.axisY),f=e?b.axisY.offset:0,g=e?b.axisX.offset:0,h=a.width()||c.quantity(b.width).value||0,i=a.height()||c.quantity(b.height).value||0,j=c.normalizePadding(b.chartPadding,d);h=Math.max(h,f+j.left+j.right),i=Math.max(i,g+j.top+j.bottom);var k={padding:j,width:function(){return this.x2-this.x1},height:function(){return this.y1-this.y2}};return e?("start"===b.axisX.position?(k.y2=j.top+g,k.y1=Math.max(i-j.bottom,k.y2+1)):(k.y2=j.top,k.y1=Math.max(i-j.bottom-g,k.y2+1)),"start"===b.axisY.position?(k.x1=j.left+f,k.x2=Math.max(h-j.right,k.x1+1)):(k.x1=j.left,k.x2=Math.max(h-j.right-f,k.x1+1))):(k.x1=j.left,k.x2=Math.max(h-j.right,k.x1+1),k.y2=j.top,k.y1=Math.max(i-j.bottom,k.y2+1)),k},c.createGrid=function(a,b,d,e,f,g,h,i){var j={};j[d.units.pos+"1"]=a,j[d.units.pos+"2"]=a,j[d.counterUnits.pos+"1"]=e,j[d.counterUnits.pos+"2"]=e+f;var k=g.elem("line",j,h.join(" "));i.emit("draw",c.extend({type:"grid",axis:d,index:b,group:g,element:k},j))},c.createGridBackground=function(a,b,c,d){var e=a.elem("rect",{x:b.x1,y:b.y2,width:b.width(),height:b.height()},c,!0);d.emit("draw",{type:"gridBackground",group:a,element:e})},c.createLabel=function(a,d,e,f,g,h,i,j,k,l,m){var n,o={};if(o[g.units.pos]=a+i[g.units.pos],o[g.counterUnits.pos]=i[g.counterUnits.pos],o[g.units.len]=d,o[g.counterUnits.len]=Math.max(0,h-10),l){var p=b.createElement("span");p.className=k.join(" "),p.setAttribute("xmlns",c.namespaces.xhtml),p.innerText=f[e],p.style[g.units.len]=Math.round(o[g.units.len])+"px",p.style[g.counterUnits.len]=Math.round(o[g.counterUnits.len])+"px",n=j.foreignObject(p,c.extend({style:"overflow: visible;"},o))}else n=j.elem("text",o,k.join(" ")).text(f[e]);m.emit("draw",c.extend({type:"label",axis:g,index:e,group:j,element:n,text:f[e]},o))},c.getSeriesOption=function(a,b,c){if(a.name&&b.series&&b.series[a.name]){var d=b.series[a.name];return d.hasOwnProperty(c)?d[c]:b[c]}return b[c]},c.optionsProvider=function(b,d,e){function f(b){var f=h;if(h=c.extend({},j),d)for(i=0;i=2&&a[h]<=a[h-2]&&(g=!0),g&&(f.push({pathCoordinates:[],valueData:[]}),g=!1),f[f.length-1].pathCoordinates.push(a[h],a[h+1]),f[f.length-1].valueData.push(b[h/2]));return f}}(window,document,a),function(a,b,c){"use strict";c.Interpolation={},c.Interpolation.none=function(a){var b={fillHoles:!1};return a=c.extend({},b,a),function(b,d){for(var e=new c.Svg.Path,f=!0,g=0;g1){var i=[];return h.forEach(function(a){i.push(f(a.pathCoordinates,a.valueData))}),c.Svg.Path.join(i)}if(b=h[0].pathCoordinates,g=h[0].valueData,b.length<=4)return c.Interpolation.none()(b,g);for(var j,k=(new c.Svg.Path).move(b[0],b[1],!1,g[0]),l=0,m=b.length;m-2*!j>l;l+=2){var n=[{x:+b[l-2],y:+b[l-1]},{x:+b[l],y:+b[l+1]},{x:+b[l+2],y:+b[l+3]},{x:+b[l+4],y:+b[l+5]}];j?l?m-4===l?n[3]={x:+b[0],y:+b[1]}:m-2===l&&(n[2]={x:+b[0],y:+b[1]},n[3]={x:+b[2],y:+b[3]}):n[0]={x:+b[m-2],y:+b[m-1]}:m-4===l?n[3]=n[2]:l||(n[0]={x:+b[l],y:+b[l+1]}),k.curve(d*(-n[0].x+6*n[1].x+n[2].x)/6+e*n[2].x,d*(-n[0].y+6*n[1].y+n[2].y)/6+e*n[2].y,d*(n[1].x+6*n[2].x-n[3].x)/6+e*n[2].x,d*(n[1].y+6*n[2].y-n[3].y)/6+e*n[2].y,n[2].x,n[2].y,!1,g[(l+2)/2])}return k}return c.Interpolation.none()([])}},c.Interpolation.monotoneCubic=function(a){var b={fillHoles:!1};return a=c.extend({},b,a),function d(b,e){var f=c.splitIntoSegments(b,e,{fillHoles:a.fillHoles,increasingX:!0});if(f.length){if(f.length>1){var g=[];return f.forEach(function(a){g.push(d(a.pathCoordinates,a.valueData))}),c.Svg.Path.join(g)}if(b=f[0].pathCoordinates,e=f[0].valueData,b.length<=4)return c.Interpolation.none()(b,e);var h,i,j=[],k=[],l=b.length/2,m=[],n=[],o=[],p=[];for(h=0;h0!=n[h]>0?m[h]=0:(m[h]=3*(p[h-1]+p[h])/((2*p[h]+p[h-1])/n[h-1]+(p[h]+2*p[h-1])/n[h]),isFinite(m[h])||(m[h]=0));for(i=(new c.Svg.Path).move(j[0],k[0],!1,e[0]),h=0;h1}).map(function(a){var b=a.pathElements[0],c=a.pathElements[a.pathElements.length-1];return a.clone(!0).position(0).remove(1).move(b.x,r).line(b.x,b.y).position(a.pathElements.length+1).line(c.x,r)}).forEach(function(c){var h=i.elem("path",{d:c.stringify()},a.classNames.area,!0);this.eventEmitter.emit("draw",{type:"area",values:b.normalized.series[g],path:c.clone(),series:f,seriesIndex:g,axisX:d,axisY:e,chartRect:j,index:g,group:i,element:h})}.bind(this))}}.bind(this)),this.eventEmitter.emit("created",{bounds:e.bounds,chartRect:j,axisX:d,axisY:e,svg:this.svg,options:a})}function e(a,b,d,e){c.Line["super"].constructor.call(this,a,b,f,c.extend({},f,d),e)}var f={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,type:void 0},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,type:void 0,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,showLine:!0,showPoint:!0,showArea:!1,areaBase:0,lineSmooth:!0,showGridBackground:!1,low:void 0,high:void 0,chartPadding:{top:15,right:15,bottom:5,left:10},fullWidth:!1,reverseData:!1,classNames:{chart:"ct-chart-line",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",line:"ct-line",point:"ct-point",area:"ct-area",grid:"ct-grid",gridGroup:"ct-grids",gridBackground:"ct-grid-background",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};c.Line=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a){var b,d;a.distributeSeries?(b=c.normalizeData(this.data,a.reverseData,a.horizontalBars?"x":"y"),b.normalized.series=b.normalized.series.map(function(a){return[a]})):b=c.normalizeData(this.data,a.reverseData,a.horizontalBars?"x":"y"),this.svg=c.createSvg(this.container,a.width,a.height,a.classNames.chart+(a.horizontalBars?" "+a.classNames.horizontalBars:""));var e=this.svg.elem("g").addClass(a.classNames.gridGroup),g=this.svg.elem("g"),h=this.svg.elem("g").addClass(a.classNames.labelGroup);if(a.stackBars&&0!==b.normalized.series.length){var i=c.serialMap(b.normalized.series,function(){
return Array.prototype.slice.call(arguments).map(function(a){return a}).reduce(function(a,b){return{x:a.x+(b&&b.x)||0,y:a.y+(b&&b.y)||0}},{x:0,y:0})});d=c.getHighLow([i],a,a.horizontalBars?"x":"y")}else d=c.getHighLow(b.normalized.series,a,a.horizontalBars?"x":"y");d.high=+a.high||(0===a.high?0:d.high),d.low=+a.low||(0===a.low?0:d.low);var j,k,l,m,n,o=c.createChartRect(this.svg,a,f.padding);k=a.distributeSeries&&a.stackBars?b.normalized.labels.slice(0,1):b.normalized.labels,a.horizontalBars?(j=m=void 0===a.axisX.type?new c.AutoScaleAxis(c.Axis.units.x,b.normalized.series,o,c.extend({},a.axisX,{highLow:d,referenceValue:0})):a.axisX.type.call(c,c.Axis.units.x,b.normalized.series,o,c.extend({},a.axisX,{highLow:d,referenceValue:0})),l=n=void 0===a.axisY.type?new c.StepAxis(c.Axis.units.y,b.normalized.series,o,{ticks:k}):a.axisY.type.call(c,c.Axis.units.y,b.normalized.series,o,a.axisY)):(l=m=void 0===a.axisX.type?new c.StepAxis(c.Axis.units.x,b.normalized.series,o,{ticks:k}):a.axisX.type.call(c,c.Axis.units.x,b.normalized.series,o,a.axisX),j=n=void 0===a.axisY.type?new c.AutoScaleAxis(c.Axis.units.y,b.normalized.series,o,c.extend({},a.axisY,{highLow:d,referenceValue:0})):a.axisY.type.call(c,c.Axis.units.y,b.normalized.series,o,c.extend({},a.axisY,{highLow:d,referenceValue:0})));var p=a.horizontalBars?o.x1+j.projectValue(0):o.y1-j.projectValue(0),q=[];l.createGridAndLabels(e,h,this.supportsForeignObject,a,this.eventEmitter),j.createGridAndLabels(e,h,this.supportsForeignObject,a,this.eventEmitter),a.showGridBackground&&c.createGridBackground(e,o,a.classNames.gridBackground,this.eventEmitter),b.raw.series.forEach(function(d,e){var f,h,i=e-(b.raw.series.length-1)/2;f=a.distributeSeries&&!a.stackBars?l.axisLength/b.normalized.series.length/2:a.distributeSeries&&a.stackBars?l.axisLength/2:l.axisLength/b.normalized.series[e].length/2,h=g.elem("g"),h.attr({"ct:series-name":d.name,"ct:meta":c.serialize(d.meta)}),h.addClass([a.classNames.series,d.className||a.classNames.series+"-"+c.alphaNumerate(e)].join(" ")),b.normalized.series[e].forEach(function(g,k){var r,s,t,u;if(u=a.distributeSeries&&!a.stackBars?e:a.distributeSeries&&a.stackBars?0:k,r=a.horizontalBars?{x:o.x1+j.projectValue(g&&g.x?g.x:0,k,b.normalized.series[e]),y:o.y1-l.projectValue(g&&g.y?g.y:0,u,b.normalized.series[e])}:{x:o.x1+l.projectValue(g&&g.x?g.x:0,u,b.normalized.series[e]),y:o.y1-j.projectValue(g&&g.y?g.y:0,k,b.normalized.series[e])},l instanceof c.StepAxis&&(l.options.stretch||(r[l.units.pos]+=f*(a.horizontalBars?-1:1)),r[l.units.pos]+=a.stackBars||a.distributeSeries?0:i*a.seriesBarDistance*(a.horizontalBars?-1:1)),t=q[k]||p,q[k]=t-(p-r[l.counterUnits.pos]),void 0!==g){var v={};v[l.units.pos+"1"]=r[l.units.pos],v[l.units.pos+"2"]=r[l.units.pos],!a.stackBars||"accumulate"!==a.stackMode&&a.stackMode?(v[l.counterUnits.pos+"1"]=p,v[l.counterUnits.pos+"2"]=r[l.counterUnits.pos]):(v[l.counterUnits.pos+"1"]=t,v[l.counterUnits.pos+"2"]=q[k]),v.x1=Math.min(Math.max(v.x1,o.x1),o.x2),v.x2=Math.min(Math.max(v.x2,o.x1),o.x2),v.y1=Math.min(Math.max(v.y1,o.y2),o.y1),v.y2=Math.min(Math.max(v.y2,o.y2),o.y1);var w=c.getMetaData(d,k);s=h.elem("line",v,a.classNames.bar).attr({"ct:value":[g.x,g.y].filter(c.isNumeric).join(","),"ct:meta":c.serialize(w)}),this.eventEmitter.emit("draw",c.extend({type:"bar",value:g,index:k,meta:w,series:d,seriesIndex:e,axisX:m,axisY:n,chartRect:o,group:h,element:s},v))}}.bind(this))}.bind(this)),this.eventEmitter.emit("created",{bounds:j.bounds,chartRect:o,axisX:m,axisY:n,svg:this.svg,options:a})}function e(a,b,d,e){c.Bar["super"].constructor.call(this,a,b,f,c.extend({},f,d),e)}var f={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,scaleMinSpace:30,onlyInteger:!1},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,high:void 0,low:void 0,referenceValue:0,chartPadding:{top:15,right:15,bottom:5,left:10},seriesBarDistance:15,stackBars:!1,stackMode:"accumulate",horizontalBars:!1,distributeSeries:!1,reverseData:!1,showGridBackground:!1,classNames:{chart:"ct-chart-bar",horizontalBars:"ct-horizontal-bars",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",bar:"ct-bar",grid:"ct-grid",gridGroup:"ct-grids",gridBackground:"ct-grid-background",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};c.Bar=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a,b,c){var d=b.x>a.x;return d&&"explode"===c||!d&&"implode"===c?"start":d&&"implode"===c||!d&&"explode"===c?"end":"middle"}function e(a){var b,e,f,h,i,j=c.normalizeData(this.data),k=[],l=a.startAngle;this.svg=c.createSvg(this.container,a.width,a.height,a.donut?a.classNames.chartDonut:a.classNames.chartPie),e=c.createChartRect(this.svg,a,g.padding),f=Math.min(e.width()/2,e.height()/2),i=a.total||j.normalized.series.reduce(function(a,b){return a+b},0);var m=c.quantity(a.donutWidth);"%"===m.unit&&(m.value*=f/100),f-=a.donut&&!a.donutSolid?m.value/2:0,h="outside"===a.labelPosition||a.donut&&!a.donutSolid?f:"center"===a.labelPosition?0:a.donutSolid?f-m.value/2:f/2,h+=a.labelOffset;var n={x:e.x1+e.width()/2,y:e.y2+e.height()/2},o=1===j.raw.series.filter(function(a){return a.hasOwnProperty("value")?0!==a.value:0!==a}).length;j.raw.series.forEach(function(a,b){k[b]=this.svg.elem("g",null,null)}.bind(this)),a.showLabel&&(b=this.svg.elem("g",null,null)),j.raw.series.forEach(function(e,g){if(0!==j.normalized.series[g]||!a.ignoreEmptyValues){k[g].attr({"ct:series-name":e.name}),k[g].addClass([a.classNames.series,e.className||a.classNames.series+"-"+c.alphaNumerate(g)].join(" "));var p=i>0?l+j.normalized.series[g]/i*360:0,q=Math.max(0,l-(0===g||o?0:.2));p-q>=359.99&&(p=q+359.99);var r,s,t,u=c.polarToCartesian(n.x,n.y,f,q),v=c.polarToCartesian(n.x,n.y,f,p),w=new c.Svg.Path(!a.donut||a.donutSolid).move(v.x,v.y).arc(f,f,0,p-l>180,0,u.x,u.y);a.donut?a.donutSolid&&(t=f-m.value,r=c.polarToCartesian(n.x,n.y,t,l-(0===g||o?0:.2)),s=c.polarToCartesian(n.x,n.y,t,p),w.line(r.x,r.y),w.arc(t,t,0,p-l>180,1,s.x,s.y)):w.line(n.x,n.y);var x=a.classNames.slicePie;a.donut&&(x=a.classNames.sliceDonut,a.donutSolid&&(x=a.classNames.sliceDonutSolid));var y=k[g].elem("path",{d:w.stringify()},x);if(y.attr({"ct:value":j.normalized.series[g],"ct:meta":c.serialize(e.meta)}),a.donut&&!a.donutSolid&&(y._node.style.strokeWidth=m.value+"px"),this.eventEmitter.emit("draw",{type:"slice",value:j.normalized.series[g],totalDataSum:i,index:g,meta:e.meta,series:e,group:k[g],element:y,path:w.clone(),center:n,radius:f,startAngle:l,endAngle:p}),a.showLabel){var z;z=1===j.raw.series.length?{x:n.x,y:n.y}:c.polarToCartesian(n.x,n.y,h,l+(p-l)/2);var A;A=j.normalized.labels&&!c.isFalseyButZero(j.normalized.labels[g])?j.normalized.labels[g]:j.normalized.series[g];var B=a.labelInterpolationFnc(A,g);if(B||0===B){var C=b.elem("text",{dx:z.x,dy:z.y,"text-anchor":d(n,z,a.labelDirection)},a.classNames.label).text(""+B);this.eventEmitter.emit("draw",{type:"label",index:g,group:b,element:C,text:""+B,x:z.x,y:z.y})}}l=p}}.bind(this)),this.eventEmitter.emit("created",{chartRect:e,svg:this.svg,options:a})}function f(a,b,d,e){c.Pie["super"].constructor.call(this,a,b,g,c.extend({},g,d),e)}var g={width:void 0,height:void 0,chartPadding:5,classNames:{chartPie:"ct-chart-pie",chartDonut:"ct-chart-donut",series:"ct-series",slicePie:"ct-slice-pie",sliceDonut:"ct-slice-donut",sliceDonutSolid:"ct-slice-donut-solid",label:"ct-label"},startAngle:0,total:void 0,donut:!1,donutSolid:!1,donutWidth:60,showLabel:!0,labelOffset:0,labelPosition:"inside",labelInterpolationFnc:c.noop,labelDirection:"neutral",reverseData:!1,ignoreEmptyValues:!1};c.Pie=c.Base.extend({constructor:f,createChart:e,determineAnchorPosition:d})}(window,document,a),a});
!function(a,b){"function"==typeof define&&define.amd?define("Chartist",[],function(){return a.Chartist=b()}):"object"==typeof module&&module.exports?module.exports=b():a.Chartist=b()}(this,function(){var a={version:"0.11.0"};return function(a,b,c){"use strict";c.namespaces={svg:"http://www.w3.org/2000/svg",xmlns:"http://www.w3.org/2000/xmlns/",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",ct:"http://gionkunz.github.com/chartist-js/ct"},c.noop=function(a){return a},c.alphaNumerate=function(a){return String.fromCharCode(97+a%26)},c.extend=function(a){var b,d,e;for(a=a||{},b=1;b":">",'"':""","'":"'"},c.serialize=function(a){return null===a||void 0===a?a:("number"==typeof a?a=""+a:"object"==typeof a&&(a=JSON.stringify({data:a})),Object.keys(c.escapingMap).reduce(function(a,b){return c.replaceAll(a,b,c.escapingMap[b])},a))},c.deserialize=function(a){if("string"!=typeof a)return a;a=Object.keys(c.escapingMap).reduce(function(a,b){return c.replaceAll(a,c.escapingMap[b],b)},a);try{a=JSON.parse(a),a=void 0!==a.data?a.data:a}catch(b){}return a},c.createSvg=function(a,b,d,e){var f;return b=b||"100%",d=d||"100%",Array.prototype.slice.call(a.querySelectorAll("svg")).filter(function(a){return a.getAttributeNS(c.namespaces.xmlns,"ct")}).forEach(function(b){a.removeChild(b)}),f=new c.Svg("svg").attr({width:b,height:d}).addClass(e),f._node.style.width=b,f._node.style.height=d,a.appendChild(f._node),f},c.normalizeData=function(a,b,d){var e,f={raw:a,normalized:{}};return f.normalized.series=c.getDataArray({series:a.series||[]},b,d),e=f.normalized.series.every(function(a){return a instanceof Array})?Math.max.apply(null,f.normalized.series.map(function(a){return a.length})):f.normalized.series.length,f.normalized.labels=(a.labels||[]).slice(),Array.prototype.push.apply(f.normalized.labels,c.times(Math.max(0,e-f.normalized.labels.length)).map(function(){return""})),b&&c.reverseData(f.normalized),f},c.safeHasProperty=function(a,b){return null!==a&&"object"==typeof a&&a.hasOwnProperty(b)},c.isDataHoleValue=function(a){return null===a||void 0===a||"number"==typeof a&&isNaN(a)},c.reverseData=function(a){a.labels.reverse(),a.series.reverse();for(var b=0;bf.high&&(f.high=c),h&&c0?f.low=0:(f.high=1,f.low=0)),f},c.isNumeric=function(a){return null!==a&&isFinite(a)},c.isFalseyButZero=function(a){return!a&&0!==a},c.getNumberOrUndefined=function(a){return c.isNumeric(a)?+a:void 0},c.isMultiValue=function(a){return"object"==typeof a&&("x"in a||"y"in a)},c.getMultiValue=function(a,b){return c.isMultiValue(a)?c.getNumberOrUndefined(a[b||"y"]):c.getNumberOrUndefined(a)},c.rho=function(a){function b(a,c){return a%c===0?c:b(c,a%c)}function c(a){return a*a+1}if(1===a)return a;var d,e=2,f=2;if(a%2===0)return 2;do e=c(e)%a,f=c(c(f))%a,d=b(Math.abs(e-f),a);while(1===d);return d},c.getBounds=function(a,b,d,e){function f(a,b){return a===(a+=b)&&(a*=1+(b>0?o:-o)),a}var g,h,i,j=0,k={high:b.high,low:b.low};k.valueRange=k.high-k.low,k.oom=c.orderOfMagnitude(k.valueRange),k.step=Math.pow(10,k.oom),k.min=Math.floor(k.low/k.step)*k.step,k.max=Math.ceil(k.high/k.step)*k.step,k.range=k.max-k.min,k.numberOfSteps=Math.round(k.range/k.step);var l=c.projectLength(a,k.step,k),m=l=d)k.step=1;else if(e&&n=d)k.step=n;else for(;;){if(m&&c.projectLength(a,k.step,k)<=d)k.step*=2;else{if(m||!(c.projectLength(a,k.step/2,k)>=d))break;if(k.step/=2,e&&k.step%1!==0){k.step*=2;break}}if(j++>1e3)throw new Error("Exceeded maximum number of iterations while optimizing scale step!")}var o=2.221e-16;for(k.step=Math.max(k.step,o),h=k.min,i=k.max;h+k.step<=k.low;)h=f(h,k.step);for(;i-k.step>=k.high;)i=f(i,-k.step);k.min=h,k.max=i,k.range=k.max-k.min;var p=[];for(g=k.min;g<=k.max;g=f(g,k.step)){var q=c.roundWithPrecision(g);q!==p[p.length-1]&&p.push(q)}return k.values=p,k},c.polarToCartesian=function(a,b,c,d){var e=(d-90)*Math.PI/180;return{x:a+c*Math.cos(e),y:b+c*Math.sin(e)}},c.createChartRect=function(a,b,d){var e=!(!b.axisX&&!b.axisY),f=e?b.axisY.offset:0,g=e?b.axisX.offset:0,h=a.width()||c.quantity(b.width).value||0,i=a.height()||c.quantity(b.height).value||0,j=c.normalizePadding(b.chartPadding,d);h=Math.max(h,f+j.left+j.right),i=Math.max(i,g+j.top+j.bottom);var k={padding:j,width:function(){return this.x2-this.x1},height:function(){return this.y1-this.y2}};return e?("start"===b.axisX.position?(k.y2=j.top+g,k.y1=Math.max(i-j.bottom,k.y2+1)):(k.y2=j.top,k.y1=Math.max(i-j.bottom-g,k.y2+1)),"start"===b.axisY.position?(k.x1=j.left+f,k.x2=Math.max(h-j.right,k.x1+1)):(k.x1=j.left,k.x2=Math.max(h-j.right-f,k.x1+1))):(k.x1=j.left,k.x2=Math.max(h-j.right,k.x1+1),k.y2=j.top,k.y1=Math.max(i-j.bottom,k.y2+1)),k},c.createGrid=function(a,b,d,e,f,g,h,i){var j={};j[d.units.pos+"1"]=a,j[d.units.pos+"2"]=a,j[d.counterUnits.pos+"1"]=e,j[d.counterUnits.pos+"2"]=e+f;var k=g.elem("line",j,h.join(" "));i.emit("draw",c.extend({type:"grid",axis:d,index:b,group:g,element:k},j))},c.createGridBackground=function(a,b,c,d){var e=a.elem("rect",{x:b.x1,y:b.y2,width:b.width(),height:b.height()},c,!0);d.emit("draw",{type:"gridBackground",group:a,element:e})},c.createLabel=function(a,d,e,f,g,h,i,j,k,l,m){var n,o={};if(o[g.units.pos]=a+i[g.units.pos],o[g.counterUnits.pos]=i[g.counterUnits.pos],o[g.units.len]=d,o[g.counterUnits.len]=Math.max(0,h-10),l){var p=b.createElement("span");p.className=k.join(" "),p.setAttribute("xmlns",c.namespaces.xhtml),p.innerText=f[e],p.style[g.units.len]=Math.round(o[g.units.len])+"px",p.style[g.counterUnits.len]=Math.round(o[g.counterUnits.len])+"px",n=j.foreignObject(p,c.extend({style:"overflow: visible;"},o))}else n=j.elem("text",o,k.join(" ")).text(f[e]);m.emit("draw",c.extend({type:"label",axis:g,index:e,group:j,element:n,text:f[e]},o))},c.getSeriesOption=function(a,b,c){if(a.name&&b.series&&b.series[a.name]){var d=b.series[a.name];return d.hasOwnProperty(c)?d[c]:b[c]}return b[c]},c.optionsProvider=function(b,d,e){function f(b){var f=h;if(h=c.extend({},j),d)for(i=0;i=2&&a[h]<=a[h-2]&&(g=!0),g&&(f.push({pathCoordinates:[],valueData:[]}),g=!1),f[f.length-1].pathCoordinates.push(a[h],a[h+1]),f[f.length-1].valueData.push(b[h/2]));return f}}(window,document,a),function(a,b,c){"use strict";c.Interpolation={},c.Interpolation.none=function(a){var b={fillHoles:!1};return a=c.extend({},b,a),function(b,d){for(var e=new c.Svg.Path,f=!0,g=0;g1){var i=[];return h.forEach(function(a){i.push(f(a.pathCoordinates,a.valueData))}),c.Svg.Path.join(i)}if(b=h[0].pathCoordinates,g=h[0].valueData,b.length<=4)return c.Interpolation.none()(b,g);for(var j,k=(new c.Svg.Path).move(b[0],b[1],!1,g[0]),l=0,m=b.length;m-2*!j>l;l+=2){var n=[{x:+b[l-2],y:+b[l-1]},{x:+b[l],y:+b[l+1]},{x:+b[l+2],y:+b[l+3]},{x:+b[l+4],y:+b[l+5]}];j?l?m-4===l?n[3]={x:+b[0],y:+b[1]}:m-2===l&&(n[2]={x:+b[0],y:+b[1]},n[3]={x:+b[2],y:+b[3]}):n[0]={x:+b[m-2],y:+b[m-1]}:m-4===l?n[3]=n[2]:l||(n[0]={x:+b[l],y:+b[l+1]}),k.curve(d*(-n[0].x+6*n[1].x+n[2].x)/6+e*n[2].x,d*(-n[0].y+6*n[1].y+n[2].y)/6+e*n[2].y,d*(n[1].x+6*n[2].x-n[3].x)/6+e*n[2].x,d*(n[1].y+6*n[2].y-n[3].y)/6+e*n[2].y,n[2].x,n[2].y,!1,g[(l+2)/2])}return k}return c.Interpolation.none()([])}},c.Interpolation.monotoneCubic=function(a){var b={fillHoles:!1};return a=c.extend({},b,a),function d(b,e){var f=c.splitIntoSegments(b,e,{fillHoles:a.fillHoles,increasingX:!0});if(f.length){if(f.length>1){var g=[];return f.forEach(function(a){g.push(d(a.pathCoordinates,a.valueData))}),c.Svg.Path.join(g)}if(b=f[0].pathCoordinates,e=f[0].valueData,b.length<=4)return c.Interpolation.none()(b,e);var h,i,j=[],k=[],l=b.length/2,m=[],n=[],o=[],p=[];for(h=0;h0!=n[h]>0?m[h]=0:(m[h]=3*(p[h-1]+p[h])/((2*p[h]+p[h-1])/n[h-1]+(p[h]+2*p[h-1])/n[h]),isFinite(m[h])||(m[h]=0));for(i=(new c.Svg.Path).move(j[0],k[0],!1,e[0]),h=0;h1}).map(function(a){var b=a.pathElements[0],c=a.pathElements[a.pathElements.length-1];return a.clone(!0).position(0).remove(1).move(b.x,r).line(b.x,b.y).position(a.pathElements.length+1).line(c.x,r)}).forEach(function(c){var h=i.elem("path",{d:c.stringify()},a.classNames.area,!0);this.eventEmitter.emit("draw",{type:"area",values:b.normalized.series[g],path:c.clone(),series:f,seriesIndex:g,axisX:d,axisY:e,chartRect:j,index:g,group:i,element:h})}.bind(this))}}.bind(this)),this.eventEmitter.emit("created",{bounds:e.bounds,chartRect:j,axisX:d,axisY:e,svg:this.svg,options:a})}function e(a,b,d,e){c.Line["super"].constructor.call(this,a,b,f,c.extend({},f,d),e)}var f={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,type:void 0},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,type:void 0,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,showLine:!0,showPoint:!0,showArea:!1,areaBase:0,lineSmooth:!0,showGridBackground:!1,low:void 0,high:void 0,chartPadding:{top:15,right:15,bottom:5,left:10},fullWidth:!1,reverseData:!1,classNames:{chart:"ct-chart-line",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",line:"ct-line",point:"ct-point",area:"ct-area",grid:"ct-grid",gridGroup:"ct-grids",gridBackground:"ct-grid-background",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};c.Line=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a){var b,d;a.distributeSeries?(b=c.normalizeData(this.data,a.reverseData,a.horizontalBars?"x":"y"),b.normalized.series=b.normalized.series.map(function(a){return[a]})):b=c.normalizeData(this.data,a.reverseData,a.horizontalBars?"x":"y"),this.svg=c.createSvg(this.container,a.width,a.height,a.classNames.chart+(a.horizontalBars?" "+a.classNames.horizontalBars:""));var e=this.svg.elem("g").addClass(a.classNames.gridGroup),g=this.svg.elem("g"),h=this.svg.elem("g").addClass(a.classNames.labelGroup);if(a.stackBars&&0!==b.normalized.series.length){var i=c.serialMap(b.normalized.series,function(){
return Array.prototype.slice.call(arguments).map(function(a){return a}).reduce(function(a,b){return{x:a.x+(b&&b.x)||0,y:a.y+(b&&b.y)||0}},{x:0,y:0})});d=c.getHighLow([i],a,a.horizontalBars?"x":"y")}else d=c.getHighLow(b.normalized.series,a,a.horizontalBars?"x":"y");d.high=+a.high||(0===a.high?0:d.high),d.low=+a.low||(0===a.low?0:d.low);var j,k,l,m,n,o=c.createChartRect(this.svg,a,f.padding);k=a.distributeSeries&&a.stackBars?b.normalized.labels.slice(0,1):b.normalized.labels,a.horizontalBars?(j=m=void 0===a.axisX.type?new c.AutoScaleAxis(c.Axis.units.x,b.normalized.series,o,c.extend({},a.axisX,{highLow:d,referenceValue:0})):a.axisX.type.call(c,c.Axis.units.x,b.normalized.series,o,c.extend({},a.axisX,{highLow:d,referenceValue:0})),l=n=void 0===a.axisY.type?new c.StepAxis(c.Axis.units.y,b.normalized.series,o,{ticks:k}):a.axisY.type.call(c,c.Axis.units.y,b.normalized.series,o,a.axisY)):(l=m=void 0===a.axisX.type?new c.StepAxis(c.Axis.units.x,b.normalized.series,o,{ticks:k}):a.axisX.type.call(c,c.Axis.units.x,b.normalized.series,o,a.axisX),j=n=void 0===a.axisY.type?new c.AutoScaleAxis(c.Axis.units.y,b.normalized.series,o,c.extend({},a.axisY,{highLow:d,referenceValue:0})):a.axisY.type.call(c,c.Axis.units.y,b.normalized.series,o,c.extend({},a.axisY,{highLow:d,referenceValue:0})));var p=a.horizontalBars?o.x1+j.projectValue(0):o.y1-j.projectValue(0),q=[];l.createGridAndLabels(e,h,this.supportsForeignObject,a,this.eventEmitter),j.createGridAndLabels(e,h,this.supportsForeignObject,a,this.eventEmitter),a.showGridBackground&&c.createGridBackground(e,o,a.classNames.gridBackground,this.eventEmitter),b.raw.series.forEach(function(d,e){var f,h,i=e-(b.raw.series.length-1)/2;f=a.distributeSeries&&!a.stackBars?l.axisLength/b.normalized.series.length/2:a.distributeSeries&&a.stackBars?l.axisLength/2:l.axisLength/b.normalized.series[e].length/2,h=g.elem("g"),h.attr({"ct:series-name":d.name,"ct:meta":c.serialize(d.meta)}),h.addClass([a.classNames.series,d.className||a.classNames.series+"-"+c.alphaNumerate(e)].join(" ")),b.normalized.series[e].forEach(function(g,k){var r,s,t,u;if(u=a.distributeSeries&&!a.stackBars?e:a.distributeSeries&&a.stackBars?0:k,r=a.horizontalBars?{x:o.x1+j.projectValue(g&&g.x?g.x:0,k,b.normalized.series[e]),y:o.y1-l.projectValue(g&&g.y?g.y:0,u,b.normalized.series[e])}:{x:o.x1+l.projectValue(g&&g.x?g.x:0,u,b.normalized.series[e]),y:o.y1-j.projectValue(g&&g.y?g.y:0,k,b.normalized.series[e])},l instanceof c.StepAxis&&(l.options.stretch||(r[l.units.pos]+=f*(a.horizontalBars?-1:1)),r[l.units.pos]+=a.stackBars||a.distributeSeries?0:i*a.seriesBarDistance*(a.horizontalBars?-1:1)),t=q[k]||p,q[k]=t-(p-r[l.counterUnits.pos]),void 0!==g){var v={};v[l.units.pos+"1"]=r[l.units.pos],v[l.units.pos+"2"]=r[l.units.pos],!a.stackBars||"accumulate"!==a.stackMode&&a.stackMode?(v[l.counterUnits.pos+"1"]=p,v[l.counterUnits.pos+"2"]=r[l.counterUnits.pos]):(v[l.counterUnits.pos+"1"]=t,v[l.counterUnits.pos+"2"]=q[k]),v.x1=Math.min(Math.max(v.x1,o.x1),o.x2),v.x2=Math.min(Math.max(v.x2,o.x1),o.x2),v.y1=Math.min(Math.max(v.y1,o.y2),o.y1),v.y2=Math.min(Math.max(v.y2,o.y2),o.y1);var w=c.getMetaData(d,k);s=h.elem("line",v,a.classNames.bar).attr({"ct:value":[g.x,g.y].filter(c.isNumeric).join(","),"ct:meta":c.serialize(w)}),this.eventEmitter.emit("draw",c.extend({type:"bar",value:g,index:k,meta:w,series:d,seriesIndex:e,axisX:m,axisY:n,chartRect:o,group:h,element:s},v))}}.bind(this))}.bind(this)),this.eventEmitter.emit("created",{bounds:j.bounds,chartRect:o,axisX:m,axisY:n,svg:this.svg,options:a})}function e(a,b,d,e){c.Bar["super"].constructor.call(this,a,b,f,c.extend({},f,d),e)}var f={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,scaleMinSpace:30,onlyInteger:!1},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,high:void 0,low:void 0,referenceValue:0,chartPadding:{top:15,right:15,bottom:5,left:10},seriesBarDistance:15,stackBars:!1,stackMode:"accumulate",horizontalBars:!1,distributeSeries:!1,reverseData:!1,showGridBackground:!1,classNames:{chart:"ct-chart-bar",horizontalBars:"ct-horizontal-bars",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",bar:"ct-bar",grid:"ct-grid",gridGroup:"ct-grids",gridBackground:"ct-grid-background",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};c.Bar=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a,b,c){var d=b.x>a.x;return d&&"explode"===c||!d&&"implode"===c?"start":d&&"implode"===c||!d&&"explode"===c?"end":"middle"}function e(a){var b,e,f,h,i,j=c.normalizeData(this.data),k=[],l=a.startAngle;this.svg=c.createSvg(this.container,a.width,a.height,a.donut?a.classNames.chartDonut:a.classNames.chartPie),e=c.createChartRect(this.svg,a,g.padding),f=Math.min(e.width()/2,e.height()/2),i=a.total||j.normalized.series.reduce(function(a,b){return a+b},0);var m=c.quantity(a.donutWidth);"%"===m.unit&&(m.value*=f/100),f-=a.donut&&!a.donutSolid?m.value/2:0,h="outside"===a.labelPosition||a.donut&&!a.donutSolid?f:"center"===a.labelPosition?0:a.donutSolid?f-m.value/2:f/2,h+=a.labelOffset;var n={x:e.x1+e.width()/2,y:e.y2+e.height()/2},o=1===j.raw.series.filter(function(a){return a.hasOwnProperty("value")?0!==a.value:0!==a}).length;j.raw.series.forEach(function(a,b){k[b]=this.svg.elem("g",null,null)}.bind(this)),a.showLabel&&(b=this.svg.elem("g",null,null)),j.raw.series.forEach(function(e,g){if(0!==j.normalized.series[g]||!a.ignoreEmptyValues){k[g].attr({"ct:series-name":e.name}),k[g].addClass([a.classNames.series,e.className||a.classNames.series+"-"+c.alphaNumerate(g)].join(" "));var p=i>0?l+j.normalized.series[g]/i*360:0,q=Math.max(0,l-(0===g||o?0:.2));p-q>=359.99&&(p=q+359.99);var r,s,t,u=c.polarToCartesian(n.x,n.y,f,q),v=c.polarToCartesian(n.x,n.y,f,p),w=new c.Svg.Path(!a.donut||a.donutSolid).move(v.x,v.y).arc(f,f,0,p-l>180,0,u.x,u.y);a.donut?a.donutSolid&&(t=f-m.value,r=c.polarToCartesian(n.x,n.y,t,l-(0===g||o?0:.2)),s=c.polarToCartesian(n.x,n.y,t,p),w.line(r.x,r.y),w.arc(t,t,0,p-l>180,1,s.x,s.y)):w.line(n.x,n.y);var x=a.classNames.slicePie;a.donut&&(x=a.classNames.sliceDonut,a.donutSolid&&(x=a.classNames.sliceDonutSolid));var y=k[g].elem("path",{d:w.stringify()},x);if(y.attr({"ct:value":j.normalized.series[g],"ct:meta":c.serialize(e.meta)}),a.donut&&!a.donutSolid&&(y._node.style.strokeWidth=m.value+"px"),this.eventEmitter.emit("draw",{type:"slice",value:j.normalized.series[g],totalDataSum:i,index:g,meta:e.meta,series:e,group:k[g],element:y,path:w.clone(),center:n,radius:f,startAngle:l,endAngle:p}),a.showLabel){var z;z=1===j.raw.series.length?{x:n.x,y:n.y}:c.polarToCartesian(n.x,n.y,h,l+(p-l)/2);var A;A=j.normalized.labels&&!c.isFalseyButZero(j.normalized.labels[g])?j.normalized.labels[g]:j.normalized.series[g];var B=a.labelInterpolationFnc(A,g);if(B||0===B){var C=b.elem("text",{dx:z.x,dy:z.y,"text-anchor":d(n,z,a.labelDirection)},a.classNames.label).text(""+B);this.eventEmitter.emit("draw",{type:"label",index:g,group:b,element:C,text:""+B,x:z.x,y:z.y})}}l=p}}.bind(this)),this.eventEmitter.emit("created",{chartRect:e,svg:this.svg,options:a})}function f(a,b,d,e){c.Pie["super"].constructor.call(this,a,b,g,c.extend({},g,d),e)}var g={width:void 0,height:void 0,chartPadding:5,classNames:{chartPie:"ct-chart-pie",chartDonut:"ct-chart-donut",series:"ct-series",slicePie:"ct-slice-pie",sliceDonut:"ct-slice-donut",sliceDonutSolid:"ct-slice-donut-solid",label:"ct-label"},startAngle:0,total:void 0,donut:!1,donutSolid:!1,donutWidth:60,showLabel:!0,labelOffset:0,labelPosition:"inside",labelInterpolationFnc:c.noop,labelDirection:"neutral",reverseData:!1,ignoreEmptyValues:!1};c.Pie=c.Base.extend({constructor:f,createChart:e,determineAnchorPosition:d})}(window,document,a),a});
!function(a,b){"function"==typeof define&&define.amd?define("Chartist",[],function(){return a.Chartist=b()}):"object"==typeof module&&module.exports?module.exports=b():a.Chartist=b()}(this,function(){var a={version:"0.11.0"};return function(a,b,c){"use strict";c.namespaces={svg:"http://www.w3.org/2000/svg",xmlns:"http://www.w3.org/2000/xmlns/",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",ct:"http://gionkunz.github.com/chartist-js/ct"},c.noop=function(a){return a},c.alphaNumerate=function(a){return String.fromCharCode(97+a%26)},c.extend=function(a){var b,d,e;for(a=a||{},b=1;b":">",'"':""","'":"'"},c.serialize=function(a){return null===a||void 0===a?a:("number"==typeof a?a=""+a:"object"==typeof a&&(a=JSON.stringify({data:a})),Object.keys(c.escapingMap).reduce(function(a,b){return c.replaceAll(a,b,c.escapingMap[b])},a))},c.deserialize=function(a){if("string"!=typeof a)return a;a=Object.keys(c.escapingMap).reduce(function(a,b){return c.replaceAll(a,c.escapingMap[b],b)},a);try{a=JSON.parse(a),a=void 0!==a.data?a.data:a}catch(b){}return a},c.createSvg=function(a,b,d,e){var f;return b=b||"100%",d=d||"100%",Array.prototype.slice.call(a.querySelectorAll("svg")).filter(function(a){return a.getAttributeNS(c.namespaces.xmlns,"ct")}).forEach(function(b){a.removeChild(b)}),f=new c.Svg("svg").attr({width:b,height:d}).addClass(e),f._node.style.width=b,f._node.style.height=d,a.appendChild(f._node),f},c.normalizeData=function(a,b,d){var e,f={raw:a,normalized:{}};return f.normalized.series=c.getDataArray({series:a.series||[]},b,d),e=f.normalized.series.every(function(a){return a instanceof Array})?Math.max.apply(null,f.normalized.series.map(function(a){return a.length})):f.normalized.series.length,f.normalized.labels=(a.labels||[]).slice(),Array.prototype.push.apply(f.normalized.labels,c.times(Math.max(0,e-f.normalized.labels.length)).map(function(){return""})),b&&c.reverseData(f.normalized),f},c.safeHasProperty=function(a,b){return null!==a&&"object"==typeof a&&a.hasOwnProperty(b)},c.isDataHoleValue=function(a){return null===a||void 0===a||"number"==typeof a&&isNaN(a)},c.reverseData=function(a){a.labels.reverse(),a.series.reverse();for(var b=0;bf.high&&(f.high=c),h&&c0?f.low=0:(f.high=1,f.low=0)),f},c.isNumeric=function(a){return null!==a&&isFinite(a)},c.isFalseyButZero=function(a){return!a&&0!==a},c.getNumberOrUndefined=function(a){return c.isNumeric(a)?+a:void 0},c.isMultiValue=function(a){return"object"==typeof a&&("x"in a||"y"in a)},c.getMultiValue=function(a,b){return c.isMultiValue(a)?c.getNumberOrUndefined(a[b||"y"]):c.getNumberOrUndefined(a)},c.rho=function(a){function b(a,c){return a%c===0?c:b(c,a%c)}function c(a){return a*a+1}if(1===a)return a;var d,e=2,f=2;if(a%2===0)return 2;do e=c(e)%a,f=c(c(f))%a,d=b(Math.abs(e-f),a);while(1===d);return d},c.getBounds=function(a,b,d,e){function f(a,b){return a===(a+=b)&&(a*=1+(b>0?o:-o)),a}var g,h,i,j=0,k={high:b.high,low:b.low};k.valueRange=k.high-k.low,k.oom=c.orderOfMagnitude(k.valueRange),k.step=Math.pow(10,k.oom),k.min=Math.floor(k.low/k.step)*k.step,k.max=Math.ceil(k.high/k.step)*k.step,k.range=k.max-k.min,k.numberOfSteps=Math.round(k.range/k.step);var l=c.projectLength(a,k.step,k),m=l=d)k.step=1;else if(e&&n=d)k.step=n;else for(;;){if(m&&c.projectLength(a,k.step,k)<=d)k.step*=2;else{if(m||!(c.projectLength(a,k.step/2,k)>=d))break;if(k.step/=2,e&&k.step%1!==0){k.step*=2;break}}if(j++>1e3)throw new Error("Exceeded maximum number of iterations while optimizing scale step!")}var o=2.221e-16;for(k.step=Math.max(k.step,o),h=k.min,i=k.max;h+k.step<=k.low;)h=f(h,k.step);for(;i-k.step>=k.high;)i=f(i,-k.step);k.min=h,k.max=i,k.range=k.max-k.min;var p=[];for(g=k.min;g<=k.max;g=f(g,k.step)){var q=c.roundWithPrecision(g);q!==p[p.length-1]&&p.push(q)}return k.values=p,k},c.polarToCartesian=function(a,b,c,d){var e=(d-90)*Math.PI/180;return{x:a+c*Math.cos(e),y:b+c*Math.sin(e)}},c.createChartRect=function(a,b,d){var e=!(!b.axisX&&!b.axisY),f=e?b.axisY.offset:0,g=e?b.axisX.offset:0,h=a.width()||c.quantity(b.width).value||0,i=a.height()||c.quantity(b.height).value||0,j=c.normalizePadding(b.chartPadding,d);h=Math.max(h,f+j.left+j.right),i=Math.max(i,g+j.top+j.bottom);var k={padding:j,width:function(){return this.x2-this.x1},height:function(){return this.y1-this.y2}};return e?("start"===b.axisX.position?(k.y2=j.top+g,k.y1=Math.max(i-j.bottom,k.y2+1)):(k.y2=j.top,k.y1=Math.max(i-j.bottom-g,k.y2+1)),"start"===b.axisY.position?(k.x1=j.left+f,k.x2=Math.max(h-j.right,k.x1+1)):(k.x1=j.left,k.x2=Math.max(h-j.right-f,k.x1+1))):(k.x1=j.left,k.x2=Math.max(h-j.right,k.x1+1),k.y2=j.top,k.y1=Math.max(i-j.bottom,k.y2+1)),k},c.createGrid=function(a,b,d,e,f,g,h,i){var j={};j[d.units.pos+"1"]=a,j[d.units.pos+"2"]=a,j[d.counterUnits.pos+"1"]=e,j[d.counterUnits.pos+"2"]=e+f;var k=g.elem("line",j,h.join(" "));i.emit("draw",c.extend({type:"grid",axis:d,index:b,group:g,element:k},j))},c.createGridBackground=function(a,b,c,d){var e=a.elem("rect",{x:b.x1,y:b.y2,width:b.width(),height:b.height()},c,!0);d.emit("draw",{type:"gridBackground",group:a,element:e})},c.createLabel=function(a,d,e,f,g,h,i,j,k,l,m){var n,o={};if(o[g.units.pos]=a+i[g.units.pos],o[g.counterUnits.pos]=i[g.counterUnits.pos],o[g.units.len]=d,o[g.counterUnits.len]=Math.max(0,h-10),l){var p=b.createElement("span");p.className=k.join(" "),p.setAttribute("xmlns",c.namespaces.xhtml),p.innerText=f[e],p.style[g.units.len]=Math.round(o[g.units.len])+"px",p.style[g.counterUnits.len]=Math.round(o[g.counterUnits.len])+"px",n=j.foreignObject(p,c.extend({style:"overflow: visible;"},o))}else n=j.elem("text",o,k.join(" ")).text(f[e]);m.emit("draw",c.extend({type:"label",axis:g,index:e,group:j,element:n,text:f[e]},o))},c.getSeriesOption=function(a,b,c){if(a.name&&b.series&&b.series[a.name]){var d=b.series[a.name];return d.hasOwnProperty(c)?d[c]:b[c]}return b[c]},c.optionsProvider=function(b,d,e){function f(b){var f=h;if(h=c.extend({},j),d)for(i=0;i=2&&a[h]<=a[h-2]&&(g=!0),g&&(f.push({pathCoordinates:[],valueData:[]}),g=!1),f[f.length-1].pathCoordinates.push(a[h],a[h+1]),f[f.length-1].valueData.push(b[h/2]));return f}}(window,document,a),function(a,b,c){"use strict";c.Interpolation={},c.Interpolation.none=function(a){var b={fillHoles:!1};return a=c.extend({},b,a),function(b,d){for(var e=new c.Svg.Path,f=!0,g=0;g1){var i=[];return h.forEach(function(a){i.push(f(a.pathCoordinates,a.valueData))}),c.Svg.Path.join(i)}if(b=h[0].pathCoordinates,g=h[0].valueData,b.length<=4)return c.Interpolation.none()(b,g);for(var j,k=(new c.Svg.Path).move(b[0],b[1],!1,g[0]),l=0,m=b.length;m-2*!j>l;l+=2){var n=[{x:+b[l-2],y:+b[l-1]},{x:+b[l],y:+b[l+1]},{x:+b[l+2],y:+b[l+3]},{x:+b[l+4],y:+b[l+5]}];j?l?m-4===l?n[3]={x:+b[0],y:+b[1]}:m-2===l&&(n[2]={x:+b[0],y:+b[1]},n[3]={x:+b[2],y:+b[3]}):n[0]={x:+b[m-2],y:+b[m-1]}:m-4===l?n[3]=n[2]:l||(n[0]={x:+b[l],y:+b[l+1]}),k.curve(d*(-n[0].x+6*n[1].x+n[2].x)/6+e*n[2].x,d*(-n[0].y+6*n[1].y+n[2].y)/6+e*n[2].y,d*(n[1].x+6*n[2].x-n[3].x)/6+e*n[2].x,d*(n[1].y+6*n[2].y-n[3].y)/6+e*n[2].y,n[2].x,n[2].y,!1,g[(l+2)/2])}return k}return c.Interpolation.none()([])}},c.Interpolation.monotoneCubic=function(a){var b={fillHoles:!1};return a=c.extend({},b,a),function d(b,e){var f=c.splitIntoSegments(b,e,{fillHoles:a.fillHoles,increasingX:!0});if(f.length){if(f.length>1){var g=[];return f.forEach(function(a){g.push(d(a.pathCoordinates,a.valueData))}),c.Svg.Path.join(g)}if(b=f[0].pathCoordinates,e=f[0].valueData,b.length<=4)return c.Interpolation.none()(b,e);var h,i,j=[],k=[],l=b.length/2,m=[],n=[],o=[],p=[];for(h=0;h0!=n[h]>0?m[h]=0:(m[h]=3*(p[h-1]+p[h])/((2*p[h]+p[h-1])/n[h-1]+(p[h]+2*p[h-1])/n[h]),isFinite(m[h])||(m[h]=0));for(i=(new c.Svg.Path).move(j[0],k[0],!1,e[0]),h=0;h1}).map(function(a){var b=a.pathElements[0],c=a.pathElements[a.pathElements.length-1];return a.clone(!0).position(0).remove(1).move(b.x,r).line(b.x,b.y).position(a.pathElements.length+1).line(c.x,r)}).forEach(function(c){var h=i.elem("path",{d:c.stringify()},a.classNames.area,!0);this.eventEmitter.emit("draw",{type:"area",values:b.normalized.series[g],path:c.clone(),series:f,seriesIndex:g,axisX:d,axisY:e,chartRect:j,index:g,group:i,element:h})}.bind(this))}}.bind(this)),this.eventEmitter.emit("created",{bounds:e.bounds,chartRect:j,axisX:d,axisY:e,svg:this.svg,options:a})}function e(a,b,d,e){c.Line["super"].constructor.call(this,a,b,f,c.extend({},f,d),e)}var f={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,type:void 0},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,type:void 0,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,showLine:!0,showPoint:!0,showArea:!1,areaBase:0,lineSmooth:!0,showGridBackground:!1,low:void 0,high:void 0,chartPadding:{top:15,right:15,bottom:5,left:10},fullWidth:!1,reverseData:!1,classNames:{chart:"ct-chart-line",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",line:"ct-line",point:"ct-point",area:"ct-area",grid:"ct-grid",gridGroup:"ct-grids",gridBackground:"ct-grid-background",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};c.Line=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a){var b,d;a.distributeSeries?(b=c.normalizeData(this.data,a.reverseData,a.horizontalBars?"x":"y"),b.normalized.series=b.normalized.series.map(function(a){return[a]})):b=c.normalizeData(this.data,a.reverseData,a.horizontalBars?"x":"y"),this.svg=c.createSvg(this.container,a.width,a.height,a.classNames.chart+(a.horizontalBars?" "+a.classNames.horizontalBars:""));var e=this.svg.elem("g").addClass(a.classNames.gridGroup),g=this.svg.elem("g"),h=this.svg.elem("g").addClass(a.classNames.labelGroup);if(a.stackBars&&0!==b.normalized.series.length){var i=c.serialMap(b.normalized.series,function(){
return Array.prototype.slice.call(arguments).map(function(a){return a}).reduce(function(a,b){return{x:a.x+(b&&b.x)||0,y:a.y+(b&&b.y)||0}},{x:0,y:0})});d=c.getHighLow([i],a,a.horizontalBars?"x":"y")}else d=c.getHighLow(b.normalized.series,a,a.horizontalBars?"x":"y");d.high=+a.high||(0===a.high?0:d.high),d.low=+a.low||(0===a.low?0:d.low);var j,k,l,m,n,o=c.createChartRect(this.svg,a,f.padding);k=a.distributeSeries&&a.stackBars?b.normalized.labels.slice(0,1):b.normalized.labels,a.horizontalBars?(j=m=void 0===a.axisX.type?new c.AutoScaleAxis(c.Axis.units.x,b.normalized.series,o,c.extend({},a.axisX,{highLow:d,referenceValue:0})):a.axisX.type.call(c,c.Axis.units.x,b.normalized.series,o,c.extend({},a.axisX,{highLow:d,referenceValue:0})),l=n=void 0===a.axisY.type?new c.StepAxis(c.Axis.units.y,b.normalized.series,o,{ticks:k}):a.axisY.type.call(c,c.Axis.units.y,b.normalized.series,o,a.axisY)):(l=m=void 0===a.axisX.type?new c.StepAxis(c.Axis.units.x,b.normalized.series,o,{ticks:k}):a.axisX.type.call(c,c.Axis.units.x,b.normalized.series,o,a.axisX),j=n=void 0===a.axisY.type?new c.AutoScaleAxis(c.Axis.units.y,b.normalized.series,o,c.extend({},a.axisY,{highLow:d,referenceValue:0})):a.axisY.type.call(c,c.Axis.units.y,b.normalized.series,o,c.extend({},a.axisY,{highLow:d,referenceValue:0})));var p=a.horizontalBars?o.x1+j.projectValue(0):o.y1-j.projectValue(0),q=[];l.createGridAndLabels(e,h,this.supportsForeignObject,a,this.eventEmitter),j.createGridAndLabels(e,h,this.supportsForeignObject,a,this.eventEmitter),a.showGridBackground&&c.createGridBackground(e,o,a.classNames.gridBackground,this.eventEmitter),b.raw.series.forEach(function(d,e){var f,h,i=e-(b.raw.series.length-1)/2;f=a.distributeSeries&&!a.stackBars?l.axisLength/b.normalized.series.length/2:a.distributeSeries&&a.stackBars?l.axisLength/2:l.axisLength/b.normalized.series[e].length/2,h=g.elem("g"),h.attr({"ct:series-name":d.name,"ct:meta":c.serialize(d.meta)}),h.addClass([a.classNames.series,d.className||a.classNames.series+"-"+c.alphaNumerate(e)].join(" ")),b.normalized.series[e].forEach(function(g,k){var r,s,t,u;if(u=a.distributeSeries&&!a.stackBars?e:a.distributeSeries&&a.stackBars?0:k,r=a.horizontalBars?{x:o.x1+j.projectValue(g&&g.x?g.x:0,k,b.normalized.series[e]),y:o.y1-l.projectValue(g&&g.y?g.y:0,u,b.normalized.series[e])}:{x:o.x1+l.projectValue(g&&g.x?g.x:0,u,b.normalized.series[e]),y:o.y1-j.projectValue(g&&g.y?g.y:0,k,b.normalized.series[e])},l instanceof c.StepAxis&&(l.options.stretch||(r[l.units.pos]+=f*(a.horizontalBars?-1:1)),r[l.units.pos]+=a.stackBars||a.distributeSeries?0:i*a.seriesBarDistance*(a.horizontalBars?-1:1)),t=q[k]||p,q[k]=t-(p-r[l.counterUnits.pos]),void 0!==g){var v={};v[l.units.pos+"1"]=r[l.units.pos],v[l.units.pos+"2"]=r[l.units.pos],!a.stackBars||"accumulate"!==a.stackMode&&a.stackMode?(v[l.counterUnits.pos+"1"]=p,v[l.counterUnits.pos+"2"]=r[l.counterUnits.pos]):(v[l.counterUnits.pos+"1"]=t,v[l.counterUnits.pos+"2"]=q[k]),v.x1=Math.min(Math.max(v.x1,o.x1),o.x2),v.x2=Math.min(Math.max(v.x2,o.x1),o.x2),v.y1=Math.min(Math.max(v.y1,o.y2),o.y1),v.y2=Math.min(Math.max(v.y2,o.y2),o.y1);var w=c.getMetaData(d,k);s=h.elem("line",v,a.classNames.bar).attr({"ct:value":[g.x,g.y].filter(c.isNumeric).join(","),"ct:meta":c.serialize(w)}),this.eventEmitter.emit("draw",c.extend({type:"bar",value:g,index:k,meta:w,series:d,seriesIndex:e,axisX:m,axisY:n,chartRect:o,group:h,element:s},v))}}.bind(this))}.bind(this)),this.eventEmitter.emit("created",{bounds:j.bounds,chartRect:o,axisX:m,axisY:n,svg:this.svg,options:a})}function e(a,b,d,e){c.Bar["super"].constructor.call(this,a,b,f,c.extend({},f,d),e)}var f={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,scaleMinSpace:30,onlyInteger:!1},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,high:void 0,low:void 0,referenceValue:0,chartPadding:{top:15,right:15,bottom:5,left:10},seriesBarDistance:15,stackBars:!1,stackMode:"accumulate",horizontalBars:!1,distributeSeries:!1,reverseData:!1,showGridBackground:!1,classNames:{chart:"ct-chart-bar",horizontalBars:"ct-horizontal-bars",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",bar:"ct-bar",grid:"ct-grid",gridGroup:"ct-grids",gridBackground:"ct-grid-background",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};c.Bar=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a,b,c){var d=b.x>a.x;return d&&"explode"===c||!d&&"implode"===c?"start":d&&"implode"===c||!d&&"explode"===c?"end":"middle"}function e(a){var b,e,f,h,i,j=c.normalizeData(this.data),k=[],l=a.startAngle;this.svg=c.createSvg(this.container,a.width,a.height,a.donut?a.classNames.chartDonut:a.classNames.chartPie),e=c.createChartRect(this.svg,a,g.padding),f=Math.min(e.width()/2,e.height()/2),i=a.total||j.normalized.series.reduce(function(a,b){return a+b},0);var m=c.quantity(a.donutWidth);"%"===m.unit&&(m.value*=f/100),f-=a.donut&&!a.donutSolid?m.value/2:0,h="outside"===a.labelPosition||a.donut&&!a.donutSolid?f:"center"===a.labelPosition?0:a.donutSolid?f-m.value/2:f/2,h+=a.labelOffset;var n={x:e.x1+e.width()/2,y:e.y2+e.height()/2},o=1===j.raw.series.filter(function(a){return a.hasOwnProperty("value")?0!==a.value:0!==a}).length;j.raw.series.forEach(function(a,b){k[b]=this.svg.elem("g",null,null)}.bind(this)),a.showLabel&&(b=this.svg.elem("g",null,null)),j.raw.series.forEach(function(e,g){if(0!==j.normalized.series[g]||!a.ignoreEmptyValues){k[g].attr({"ct:series-name":e.name}),k[g].addClass([a.classNames.series,e.className||a.classNames.series+"-"+c.alphaNumerate(g)].join(" "));var p=i>0?l+j.normalized.series[g]/i*360:0,q=Math.max(0,l-(0===g||o?0:.2));p-q>=359.99&&(p=q+359.99);var r,s,t,u=c.polarToCartesian(n.x,n.y,f,q),v=c.polarToCartesian(n.x,n.y,f,p),w=new c.Svg.Path(!a.donut||a.donutSolid).move(v.x,v.y).arc(f,f,0,p-l>180,0,u.x,u.y);a.donut?a.donutSolid&&(t=f-m.value,r=c.polarToCartesian(n.x,n.y,t,l-(0===g||o?0:.2)),s=c.polarToCartesian(n.x,n.y,t,p),w.line(r.x,r.y),w.arc(t,t,0,p-l>180,1,s.x,s.y)):w.line(n.x,n.y);var x=a.classNames.slicePie;a.donut&&(x=a.classNames.sliceDonut,a.donutSolid&&(x=a.classNames.sliceDonutSolid));var y=k[g].elem("path",{d:w.stringify()},x);if(y.attr({"ct:value":j.normalized.series[g],"ct:meta":c.serialize(e.meta)}),a.donut&&!a.donutSolid&&(y._node.style.strokeWidth=m.value+"px"),this.eventEmitter.emit("draw",{type:"slice",value:j.normalized.series[g],totalDataSum:i,index:g,meta:e.meta,series:e,group:k[g],element:y,path:w.clone(),center:n,radius:f,startAngle:l,endAngle:p}),a.showLabel){var z;z=1===j.raw.series.length?{x:n.x,y:n.y}:c.polarToCartesian(n.x,n.y,h,l+(p-l)/2);var A;A=j.normalized.labels&&!c.isFalseyButZero(j.normalized.labels[g])?j.normalized.labels[g]:j.normalized.series[g];var B=a.labelInterpolationFnc(A,g);if(B||0===B){var C=b.elem("text",{dx:z.x,dy:z.y,"text-anchor":d(n,z,a.labelDirection)},a.classNames.label).text(""+B);this.eventEmitter.emit("draw",{type:"label",index:g,group:b,element:C,text:""+B,x:z.x,y:z.y})}}l=p}}.bind(this)),this.eventEmitter.emit("created",{chartRect:e,svg:this.svg,options:a})}function f(a,b,d,e){c.Pie["super"].constructor.call(this,a,b,g,c.extend({},g,d),e)}var g={width:void 0,height:void 0,chartPadding:5,classNames:{chartPie:"ct-chart-pie",chartDonut:"ct-chart-donut",series:"ct-series",slicePie:"ct-slice-pie",sliceDonut:"ct-slice-donut",sliceDonutSolid:"ct-slice-donut-solid",label:"ct-label"},startAngle:0,total:void 0,donut:!1,donutSolid:!1,donutWidth:60,showLabel:!0,labelOffset:0,labelPosition:"inside",labelInterpolationFnc:c.noop,labelDirection:"neutral",reverseData:!1,ignoreEmptyValues:!1};c.Pie=c.Base.extend({constructor:f,createChart:e,determineAnchorPosition:d})}(window,document,a),a});
//# ssourceMappingURL=chartist.min.js.map
!function(a,b){"function"==typeof define&&define.amd?define("Chartist",[],function(){return a.Chartist=b()}):"object"==typeof module&&module.exports?module.exports=b():a.Chartist=b()}(this,function(){var a={version:"0.11.0"};return function(a,b,c){"use strict";c.namespaces={svg:"http://www.w3.org/2000/svg",xmlns:"http://www.w3.org/2000/xmlns/",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",ct:"http://gionkunz.github.com/chartist-js/ct"},c.noop=function(a){return a},c.alphaNumerate=function(a){return String.fromCharCode(97+a%26)},c.extend=function(a){var b,d,e;for(a=a||{},b=1;b":">",'"':""","'":"'"},c.serialize=function(a){return null===a||void 0===a?a:("number"==typeof a?a=""+a:"object"==typeof a&&(a=JSON.stringify({data:a})),Object.keys(c.escapingMap).reduce(function(a,b){return c.replaceAll(a,b,c.escapingMap[b])},a))},c.deserialize=function(a){if("string"!=typeof a)return a;a=Object.keys(c.escapingMap).reduce(function(a,b){return c.replaceAll(a,c.escapingMap[b],b)},a);try{a=JSON.parse(a),a=void 0!==a.data?a.data:a}catch(b){}return a},c.createSvg=function(a,b,d,e){var f;return b=b||"100%",d=d||"100%",Array.prototype.slice.call(a.querySelectorAll("svg")).filter(function(a){return a.getAttributeNS(c.namespaces.xmlns,"ct")}).forEach(function(b){a.removeChild(b)}),f=new c.Svg("svg").attr({width:b,height:d}).addClass(e),f._node.style.width=b,f._node.style.height=d,a.appendChild(f._node),f},c.normalizeData=function(a,b,d){var e,f={raw:a,normalized:{}};return f.normalized.series=c.getDataArray({series:a.series||[]},b,d),e=f.normalized.series.every(function(a){return a instanceof Array})?Math.max.apply(null,f.normalized.series.map(function(a){return a.length})):f.normalized.series.length,f.normalized.labels=(a.labels||[]).slice(),Array.prototype.push.apply(f.normalized.labels,c.times(Math.max(0,e-f.normalized.labels.length)).map(function(){return""})),b&&c.reverseData(f.normalized),f},c.safeHasProperty=function(a,b){return null!==a&&"object"==typeof a&&a.hasOwnProperty(b)},c.isDataHoleValue=function(a){return null===a||void 0===a||"number"==typeof a&&isNaN(a)},c.reverseData=function(a){a.labels.reverse(),a.series.reverse();for(var b=0;bf.high&&(f.high=c),h&&c0?f.low=0:(f.high=1,f.low=0)),f},c.isNumeric=function(a){return null!==a&&isFinite(a)},c.isFalseyButZero=function(a){return!a&&0!==a},c.getNumberOrUndefined=function(a){return c.isNumeric(a)?+a:void 0},c.isMultiValue=function(a){return"object"==typeof a&&("x"in a||"y"in a)},c.getMultiValue=function(a,b){return c.isMultiValue(a)?c.getNumberOrUndefined(a[b||"y"]):c.getNumberOrUndefined(a)},c.rho=function(a){function b(a,c){return a%c===0?c:b(c,a%c)}function c(a){return a*a+1}if(1===a)return a;var d,e=2,f=2;if(a%2===0)return 2;do e=c(e)%a,f=c(c(f))%a,d=b(Math.abs(e-f),a);while(1===d);return d},c.getBounds=function(a,b,d,e){function f(a,b){return a===(a+=b)&&(a*=1+(b>0?o:-o)),a}var g,h,i,j=0,k={high:b.high,low:b.low};k.valueRange=k.high-k.low,k.oom=c.orderOfMagnitude(k.valueRange),k.step=Math.pow(10,k.oom),k.min=Math.floor(k.low/k.step)*k.step,k.max=Math.ceil(k.high/k.step)*k.step,k.range=k.max-k.min,k.numberOfSteps=Math.round(k.range/k.step);var l=c.projectLength(a,k.step,k),m=l=d)k.step=1;else if(e&&n=d)k.step=n;else for(;;){if(m&&c.projectLength(a,k.step,k)<=d)k.step*=2;else{if(m||!(c.projectLength(a,k.step/2,k)>=d))break;if(k.step/=2,e&&k.step%1!==0){k.step*=2;break}}if(j++>1e3)throw new Error("Exceeded maximum number of iterations while optimizing scale step!")}var o=2.221e-16;for(k.step=Math.max(k.step,o),h=k.min,i=k.max;h+k.step<=k.low;)h=f(h,k.step);for(;i-k.step>=k.high;)i=f(i,-k.step);k.min=h,k.max=i,k.range=k.max-k.min;var p=[];for(g=k.min;g<=k.max;g=f(g,k.step)){var q=c.roundWithPrecision(g);q!==p[p.length-1]&&p.push(q)}return k.values=p,k},c.polarToCartesian=function(a,b,c,d){var e=(d-90)*Math.PI/180;return{x:a+c*Math.cos(e),y:b+c*Math.sin(e)}},c.createChartRect=function(a,b,d){var e=!(!b.axisX&&!b.axisY),f=e?b.axisY.offset:0,g=e?b.axisX.offset:0,h=a.width()||c.quantity(b.width).value||0,i=a.height()||c.quantity(b.height).value||0,j=c.normalizePadding(b.chartPadding,d);h=Math.max(h,f+j.left+j.right),i=Math.max(i,g+j.top+j.bottom);var k={padding:j,width:function(){return this.x2-this.x1},height:function(){return this.y1-this.y2}};return e?("start"===b.axisX.position?(k.y2=j.top+g,k.y1=Math.max(i-j.bottom,k.y2+1)):(k.y2=j.top,k.y1=Math.max(i-j.bottom-g,k.y2+1)),"start"===b.axisY.position?(k.x1=j.left+f,k.x2=Math.max(h-j.right,k.x1+1)):(k.x1=j.left,k.x2=Math.max(h-j.right-f,k.x1+1))):(k.x1=j.left,k.x2=Math.max(h-j.right,k.x1+1),k.y2=j.top,k.y1=Math.max(i-j.bottom,k.y2+1)),k},c.createGrid=function(a,b,d,e,f,g,h,i){var j={};j[d.units.pos+"1"]=a,j[d.units.pos+"2"]=a,j[d.counterUnits.pos+"1"]=e,j[d.counterUnits.pos+"2"]=e+f;var k=g.elem("line",j,h.join(" "));i.emit("draw",c.extend({type:"grid",axis:d,index:b,group:g,element:k},j))},c.createGridBackground=function(a,b,c,d){var e=a.elem("rect",{x:b.x1,y:b.y2,width:b.width(),height:b.height()},c,!0);d.emit("draw",{type:"gridBackground",group:a,element:e})},c.createLabel=function(a,d,e,f,g,h,i,j,k,l,m){var n,o={};if(o[g.units.pos]=a+i[g.units.pos],o[g.counterUnits.pos]=i[g.counterUnits.pos],o[g.units.len]=d,o[g.counterUnits.len]=Math.max(0,h-10),l){var p=b.createElement("span");p.className=k.join(" "),p.setAttribute("xmlns",c.namespaces.xhtml),p.innerText=f[e],p.style[g.units.len]=Math.round(o[g.units.len])+"px",p.style[g.counterUnits.len]=Math.round(o[g.counterUnits.len])+"px",n=j.foreignObject(p,c.extend({style:"overflow: visible;"},o))}else n=j.elem("text",o,k.join(" ")).text(f[e]);m.emit("draw",c.extend({type:"label",axis:g,index:e,group:j,element:n,text:f[e]},o))},c.getSeriesOption=function(a,b,c){if(a.name&&b.series&&b.series[a.name]){var d=b.series[a.name];return d.hasOwnProperty(c)?d[c]:b[c]}return b[c]},c.optionsProvider=function(b,d,e){function f(b){var f=h;if(h=c.extend({},j),d)for(i=0;i=2&&a[h]<=a[h-2]&&(g=!0),g&&(f.push({pathCoordinates:[],valueData:[]}),g=!1),f[f.length-1].pathCoordinates.push(a[h],a[h+1]),f[f.length-1].valueData.push(b[h/2]));return f}}(window,document,a),function(a,b,c){"use strict";c.Interpolation={},c.Interpolation.none=function(a){var b={fillHoles:!1};return a=c.extend({},b,a),function(b,d){for(var e=new c.Svg.Path,f=!0,g=0;g1){var i=[];return h.forEach(function(a){i.push(f(a.pathCoordinates,a.valueData))}),c.Svg.Path.join(i)}if(b=h[0].pathCoordinates,g=h[0].valueData,b.length<=4)return c.Interpolation.none()(b,g);for(var j,k=(new c.Svg.Path).move(b[0],b[1],!1,g[0]),l=0,m=b.length;m-2*!j>l;l+=2){var n=[{x:+b[l-2],y:+b[l-1]},{x:+b[l],y:+b[l+1]},{x:+b[l+2],y:+b[l+3]},{x:+b[l+4],y:+b[l+5]}];j?l?m-4===l?n[3]={x:+b[0],y:+b[1]}:m-2===l&&(n[2]={x:+b[0],y:+b[1]},n[3]={x:+b[2],y:+b[3]}):n[0]={x:+b[m-2],y:+b[m-1]}:m-4===l?n[3]=n[2]:l||(n[0]={x:+b[l],y:+b[l+1]}),k.curve(d*(-n[0].x+6*n[1].x+n[2].x)/6+e*n[2].x,d*(-n[0].y+6*n[1].y+n[2].y)/6+e*n[2].y,d*(n[1].x+6*n[2].x-n[3].x)/6+e*n[2].x,d*(n[1].y+6*n[2].y-n[3].y)/6+e*n[2].y,n[2].x,n[2].y,!1,g[(l+2)/2])}return k}return c.Interpolation.none()([])}},c.Interpolation.monotoneCubic=function(a){var b={fillHoles:!1};return a=c.extend({},b,a),function d(b,e){var f=c.splitIntoSegments(b,e,{fillHoles:a.fillHoles,increasingX:!0});if(f.length){if(f.length>1){var g=[];return f.forEach(function(a){g.push(d(a.pathCoordinates,a.valueData))}),c.Svg.Path.join(g)}if(b=f[0].pathCoordinates,e=f[0].valueData,b.length<=4)return c.Interpolation.none()(b,e);var h,i,j=[],k=[],l=b.length/2,m=[],n=[],o=[],p=[];for(h=0;h0!=n[h]>0?m[h]=0:(m[h]=3*(p[h-1]+p[h])/((2*p[h]+p[h-1])/n[h-1]+(p[h]+2*p[h-1])/n[h]),isFinite(m[h])||(m[h]=0));for(i=(new c.Svg.Path).move(j[0],k[0],!1,e[0]),h=0;h1}).map(function(a){var b=a.pathElements[0],c=a.pathElements[a.pathElements.length-1];return a.clone(!0).position(0).remove(1).move(b.x,r).line(b.x,b.y).position(a.pathElements.length+1).line(c.x,r)}).forEach(function(c){var h=i.elem("path",{d:c.stringify()},a.classNames.area,!0);this.eventEmitter.emit("draw",{type:"area",values:b.normalized.series[g],path:c.clone(),series:f,seriesIndex:g,axisX:d,axisY:e,chartRect:j,index:g,group:i,element:h})}.bind(this))}}.bind(this)),this.eventEmitter.emit("created",{bounds:e.bounds,chartRect:j,axisX:d,axisY:e,svg:this.svg,options:a})}function e(a,b,d,e){c.Line["super"].constructor.call(this,a,b,f,c.extend({},f,d),e)}var f={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,type:void 0},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,type:void 0,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,showLine:!0,showPoint:!0,showArea:!1,areaBase:0,lineSmooth:!0,showGridBackground:!1,low:void 0,high:void 0,chartPadding:{top:15,right:15,bottom:5,left:10},fullWidth:!1,reverseData:!1,classNames:{chart:"ct-chart-line",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",line:"ct-line",point:"ct-point",area:"ct-area",grid:"ct-grid",gridGroup:"ct-grids",gridBackground:"ct-grid-background",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};c.Line=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a){var b,d;a.distributeSeries?(b=c.normalizeData(this.data,a.reverseData,a.horizontalBars?"x":"y"),b.normalized.series=b.normalized.series.map(function(a){return[a]})):b=c.normalizeData(this.data,a.reverseData,a.horizontalBars?"x":"y"),this.svg=c.createSvg(this.container,a.width,a.height,a.classNames.chart+(a.horizontalBars?" "+a.classNames.horizontalBars:""));var e=this.svg.elem("g").addClass(a.classNames.gridGroup),g=this.svg.elem("g"),h=this.svg.elem("g").addClass(a.classNames.labelGroup);if(a.stackBars&&0!==b.normalized.series.length){var i=c.serialMap(b.normalized.series,function(){
return Array.prototype.slice.call(arguments).map(function(a){return a}).reduce(function(a,b){return{x:a.x+(b&&b.x)||0,y:a.y+(b&&b.y)||0}},{x:0,y:0})});d=c.getHighLow([i],a,a.horizontalBars?"x":"y")}else d=c.getHighLow(b.normalized.series,a,a.horizontalBars?"x":"y");d.high=+a.high||(0===a.high?0:d.high),d.low=+a.low||(0===a.low?0:d.low);var j,k,l,m,n,o=c.createChartRect(this.svg,a,f.padding);k=a.distributeSeries&&a.stackBars?b.normalized.labels.slice(0,1):b.normalized.labels,a.horizontalBars?(j=m=void 0===a.axisX.type?new c.AutoScaleAxis(c.Axis.units.x,b.normalized.series,o,c.extend({},a.axisX,{highLow:d,referenceValue:0})):a.axisX.type.call(c,c.Axis.units.x,b.normalized.series,o,c.extend({},a.axisX,{highLow:d,referenceValue:0})),l=n=void 0===a.axisY.type?new c.StepAxis(c.Axis.units.y,b.normalized.series,o,{ticks:k}):a.axisY.type.call(c,c.Axis.units.y,b.normalized.series,o,a.axisY)):(l=m=void 0===a.axisX.type?new c.StepAxis(c.Axis.units.x,b.normalized.series,o,{ticks:k}):a.axisX.type.call(c,c.Axis.units.x,b.normalized.series,o,a.axisX),j=n=void 0===a.axisY.type?new c.AutoScaleAxis(c.Axis.units.y,b.normalized.series,o,c.extend({},a.axisY,{highLow:d,referenceValue:0})):a.axisY.type.call(c,c.Axis.units.y,b.normalized.series,o,c.extend({},a.axisY,{highLow:d,referenceValue:0})));var p=a.horizontalBars?o.x1+j.projectValue(0):o.y1-j.projectValue(0),q=[];l.createGridAndLabels(e,h,this.supportsForeignObject,a,this.eventEmitter),j.createGridAndLabels(e,h,this.supportsForeignObject,a,this.eventEmitter),a.showGridBackground&&c.createGridBackground(e,o,a.classNames.gridBackground,this.eventEmitter),b.raw.series.forEach(function(d,e){var f,h,i=e-(b.raw.series.length-1)/2;f=a.distributeSeries&&!a.stackBars?l.axisLength/b.normalized.series.length/2:a.distributeSeries&&a.stackBars?l.axisLength/2:l.axisLength/b.normalized.series[e].length/2,h=g.elem("g"),h.attr({"ct:series-name":d.name,"ct:meta":c.serialize(d.meta)}),h.addClass([a.classNames.series,d.className||a.classNames.series+"-"+c.alphaNumerate(e)].join(" ")),b.normalized.series[e].forEach(function(g,k){var r,s,t,u;if(u=a.distributeSeries&&!a.stackBars?e:a.distributeSeries&&a.stackBars?0:k,r=a.horizontalBars?{x:o.x1+j.projectValue(g&&g.x?g.x:0,k,b.normalized.series[e]),y:o.y1-l.projectValue(g&&g.y?g.y:0,u,b.normalized.series[e])}:{x:o.x1+l.projectValue(g&&g.x?g.x:0,u,b.normalized.series[e]),y:o.y1-j.projectValue(g&&g.y?g.y:0,k,b.normalized.series[e])},l instanceof c.StepAxis&&(l.options.stretch||(r[l.units.pos]+=f*(a.horizontalBars?-1:1)),r[l.units.pos]+=a.stackBars||a.distributeSeries?0:i*a.seriesBarDistance*(a.horizontalBars?-1:1)),t=q[k]||p,q[k]=t-(p-r[l.counterUnits.pos]),void 0!==g){var v={};v[l.units.pos+"1"]=r[l.units.pos],v[l.units.pos+"2"]=r[l.units.pos],!a.stackBars||"accumulate"!==a.stackMode&&a.stackMode?(v[l.counterUnits.pos+"1"]=p,v[l.counterUnits.pos+"2"]=r[l.counterUnits.pos]):(v[l.counterUnits.pos+"1"]=t,v[l.counterUnits.pos+"2"]=q[k]),v.x1=Math.min(Math.max(v.x1,o.x1),o.x2),v.x2=Math.min(Math.max(v.x2,o.x1),o.x2),v.y1=Math.min(Math.max(v.y1,o.y2),o.y1),v.y2=Math.min(Math.max(v.y2,o.y2),o.y1);var w=c.getMetaData(d,k);s=h.elem("line",v,a.classNames.bar).attr({"ct:value":[g.x,g.y].filter(c.isNumeric).join(","),"ct:meta":c.serialize(w)}),this.eventEmitter.emit("draw",c.extend({type:"bar",value:g,index:k,meta:w,series:d,seriesIndex:e,axisX:m,axisY:n,chartRect:o,group:h,element:s},v))}}.bind(this))}.bind(this)),this.eventEmitter.emit("created",{bounds:j.bounds,chartRect:o,axisX:m,axisY:n,svg:this.svg,options:a})}function e(a,b,d,e){c.Bar["super"].constructor.call(this,a,b,f,c.extend({},f,d),e)}var f={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,scaleMinSpace:30,onlyInteger:!1},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,high:void 0,low:void 0,referenceValue:0,chartPadding:{top:15,right:15,bottom:5,left:10},seriesBarDistance:15,stackBars:!1,stackMode:"accumulate",horizontalBars:!1,distributeSeries:!1,reverseData:!1,showGridBackground:!1,classNames:{chart:"ct-chart-bar",horizontalBars:"ct-horizontal-bars",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",bar:"ct-bar",grid:"ct-grid",gridGroup:"ct-grids",gridBackground:"ct-grid-background",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};c.Bar=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a,b,c){var d=b.x>a.x;return d&&"explode"===c||!d&&"implode"===c?"start":d&&"implode"===c||!d&&"explode"===c?"end":"middle"}function e(a){var b,e,f,h,i,j=c.normalizeData(this.data),k=[],l=a.startAngle;this.svg=c.createSvg(this.container,a.width,a.height,a.donut?a.classNames.chartDonut:a.classNames.chartPie),e=c.createChartRect(this.svg,a,g.padding),f=Math.min(e.width()/2,e.height()/2),i=a.total||j.normalized.series.reduce(function(a,b){return a+b},0);var m=c.quantity(a.donutWidth);"%"===m.unit&&(m.value*=f/100),f-=a.donut&&!a.donutSolid?m.value/2:0,h="outside"===a.labelPosition||a.donut&&!a.donutSolid?f:"center"===a.labelPosition?0:a.donutSolid?f-m.value/2:f/2,h+=a.labelOffset;var n={x:e.x1+e.width()/2,y:e.y2+e.height()/2},o=1===j.raw.series.filter(function(a){return a.hasOwnProperty("value")?0!==a.value:0!==a}).length;j.raw.series.forEach(function(a,b){k[b]=this.svg.elem("g",null,null)}.bind(this)),a.showLabel&&(b=this.svg.elem("g",null,null)),j.raw.series.forEach(function(e,g){if(0!==j.normalized.series[g]||!a.ignoreEmptyValues){k[g].attr({"ct:series-name":e.name}),k[g].addClass([a.classNames.series,e.className||a.classNames.series+"-"+c.alphaNumerate(g)].join(" "));var p=i>0?l+j.normalized.series[g]/i*360:0,q=Math.max(0,l-(0===g||o?0:.2));p-q>=359.99&&(p=q+359.99);var r,s,t,u=c.polarToCartesian(n.x,n.y,f,q),v=c.polarToCartesian(n.x,n.y,f,p),w=new c.Svg.Path(!a.donut||a.donutSolid).move(v.x,v.y).arc(f,f,0,p-l>180,0,u.x,u.y);a.donut?a.donutSolid&&(t=f-m.value,r=c.polarToCartesian(n.x,n.y,t,l-(0===g||o?0:.2)),s=c.polarToCartesian(n.x,n.y,t,p),w.line(r.x,r.y),w.arc(t,t,0,p-l>180,1,s.x,s.y)):w.line(n.x,n.y);var x=a.classNames.slicePie;a.donut&&(x=a.classNames.sliceDonut,a.donutSolid&&(x=a.classNames.sliceDonutSolid));var y=k[g].elem("path",{d:w.stringify()},x);if(y.attr({"ct:value":j.normalized.series[g],"ct:meta":c.serialize(e.meta)}),a.donut&&!a.donutSolid&&(y._node.style.strokeWidth=m.value+"px"),this.eventEmitter.emit("draw",{type:"slice",value:j.normalized.series[g],totalDataSum:i,index:g,meta:e.meta,series:e,group:k[g],element:y,path:w.clone(),center:n,radius:f,startAngle:l,endAngle:p}),a.showLabel){var z;z=1===j.raw.series.length?{x:n.x,y:n.y}:c.polarToCartesian(n.x,n.y,h,l+(p-l)/2);var A;A=j.normalized.labels&&!c.isFalseyButZero(j.normalized.labels[g])?j.normalized.labels[g]:j.normalized.series[g];var B=a.labelInterpolationFnc(A,g);if(B||0===B){var C=b.elem("text",{dx:z.x,dy:z.y,"text-anchor":d(n,z,a.labelDirection)},a.classNames.label).text(""+B);this.eventEmitter.emit("draw",{type:"label",index:g,group:b,element:C,text:""+B,x:z.x,y:z.y})}}l=p}}.bind(this)),this.eventEmitter.emit("created",{chartRect:e,svg:this.svg,options:a})}function f(a,b,d,e){c.Pie["super"].constructor.call(this,a,b,g,c.extend({},g,d),e)}var g={width:void 0,height:void 0,chartPadding:5,classNames:{chartPie:"ct-chart-pie",chartDonut:"ct-chart-donut",series:"ct-series",slicePie:"ct-slice-pie",sliceDonut:"ct-slice-donut",sliceDonutSolid:"ct-slice-donut-solid",label:"ct-label"},startAngle:0,total:void 0,donut:!1,donutSolid:!1,donutWidth:60,showLabel:!0,labelOffset:0,labelPosition:"inside",labelInterpolationFnc:c.noop,labelDirection:"neutral",reverseData:!1,ignoreEmptyValues:!1};c.Pie=c.Base.extend({constructor:f,createChart:e,determineAnchorPosition:d})}(window,document,a),a});
//# ssourceMappingURL=chartist.min.js.map
!function(a,b){"function"==typeof define&&define.amd?define("Chartist",[],function(){return a.Chartist=b()}):"object"==typeof module&&module.exports?module.exports=b():a.Chartist=b()}(this,function(){var a={version:"0.11.0"};return function(a,b,c){"use strict";c.namespaces={svg:"http://www.w3.org/2000/svg",xmlns:"http://www.w3.org/2000/xmlns/",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",ct:"http://gionkunz.github.com/chartist-js/ct"},c.noop=function(a){return a},c.alphaNumerate=function(a){return String.fromCharCode(97+a%26)},c.extend=function(a){var b,d,e;for(a=a||{},b=1;b":">",'"':""","'":"'"},c.serialize=function(a){return null===a||void 0===a?a:("number"==typeof a?a=""+a:"object"==typeof a&&(a=JSON.stringify({data:a})),Object.keys(c.escapingMap).reduce(function(a,b){return c.replaceAll(a,b,c.escapingMap[b])},a))},c.deserialize=function(a){if("string"!=typeof a)return a;a=Object.keys(c.escapingMap).reduce(function(a,b){return c.replaceAll(a,c.escapingMap[b],b)},a);try{a=JSON.parse(a),a=void 0!==a.data?a.data:a}catch(b){}return a},c.createSvg=function(a,b,d,e){var f;return b=b||"100%",d=d||"100%",Array.prototype.slice.call(a.querySelectorAll("svg")).filter(function(a){return a.getAttributeNS(c.namespaces.xmlns,"ct")}).forEach(function(b){a.removeChild(b)}),f=new c.Svg("svg").attr({width:b,height:d}).addClass(e),f._node.style.width=b,f._node.style.height=d,a.appendChild(f._node),f},c.normalizeData=function(a,b,d){var e,f={raw:a,normalized:{}};return f.normalized.series=c.getDataArray({series:a.series||[]},b,d),e=f.normalized.series.every(function(a){return a instanceof Array})?Math.max.apply(null,f.normalized.series.map(function(a){return a.length})):f.normalized.series.length,f.normalized.labels=(a.labels||[]).slice(),Array.prototype.push.apply(f.normalized.labels,c.times(Math.max(0,e-f.normalized.labels.length)).map(function(){return""})),b&&c.reverseData(f.normalized),f},c.safeHasProperty=function(a,b){return null!==a&&"object"==typeof a&&a.hasOwnProperty(b)},c.isDataHoleValue=function(a){return null===a||void 0===a||"number"==typeof a&&isNaN(a)},c.reverseData=function(a){a.labels.reverse(),a.series.reverse();for(var b=0;bf.high&&(f.high=c),h&&c0?f.low=0:(f.high=1,f.low=0)),f},c.isNumeric=function(a){return null!==a&&isFinite(a)},c.isFalseyButZero=function(a){return!a&&0!==a},c.getNumberOrUndefined=function(a){return c.isNumeric(a)?+a:void 0},c.isMultiValue=function(a){return"object"==typeof a&&("x"in a||"y"in a)},c.getMultiValue=function(a,b){return c.isMultiValue(a)?c.getNumberOrUndefined(a[b||"y"]):c.getNumberOrUndefined(a)},c.rho=function(a){function b(a,c){return a%c===0?c:b(c,a%c)}function c(a){return a*a+1}if(1===a)return a;var d,e=2,f=2;if(a%2===0)return 2;do e=c(e)%a,f=c(c(f))%a,d=b(Math.abs(e-f),a);while(1===d);return d},c.getBounds=function(a,b,d,e){function f(a,b){return a===(a+=b)&&(a*=1+(b>0?o:-o)),a}var g,h,i,j=0,k={high:b.high,low:b.low};k.valueRange=k.high-k.low,k.oom=c.orderOfMagnitude(k.valueRange),k.step=Math.pow(10,k.oom),k.min=Math.floor(k.low/k.step)*k.step,k.max=Math.ceil(k.high/k.step)*k.step,k.range=k.max-k.min,k.numberOfSteps=Math.round(k.range/k.step);var l=c.projectLength(a,k.step,k),m=l=d)k.step=1;else if(e&&n=d)k.step=n;else for(;;){if(m&&c.projectLength(a,k.step,k)<=d)k.step*=2;else{if(m||!(c.projectLength(a,k.step/2,k)>=d))break;if(k.step/=2,e&&k.step%1!==0){k.step*=2;break}}if(j++>1e3)throw new Error("Exceeded maximum number of iterations while optimizing scale step!")}var o=2.221e-16;for(k.step=Math.max(k.step,o),h=k.min,i=k.max;h+k.step<=k.low;)h=f(h,k.step);for(;i-k.step>=k.high;)i=f(i,-k.step);k.min=h,k.max=i,k.range=k.max-k.min;var p=[];for(g=k.min;g<=k.max;g=f(g,k.step)){var q=c.roundWithPrecision(g);q!==p[p.length-1]&&p.push(q)}return k.values=p,k},c.polarToCartesian=function(a,b,c,d){var e=(d-90)*Math.PI/180;return{x:a+c*Math.cos(e),y:b+c*Math.sin(e)}},c.createChartRect=function(a,b,d){var e=!(!b.axisX&&!b.axisY),f=e?b.axisY.offset:0,g=e?b.axisX.offset:0,h=a.width()||c.quantity(b.width).value||0,i=a.height()||c.quantity(b.height).value||0,j=c.normalizePadding(b.chartPadding,d);h=Math.max(h,f+j.left+j.right),i=Math.max(i,g+j.top+j.bottom);var k={padding:j,width:function(){return this.x2-this.x1},height:function(){return this.y1-this.y2}};return e?("start"===b.axisX.position?(k.y2=j.top+g,k.y1=Math.max(i-j.bottom,k.y2+1)):(k.y2=j.top,k.y1=Math.max(i-j.bottom-g,k.y2+1)),"start"===b.axisY.position?(k.x1=j.left+f,k.x2=Math.max(h-j.right,k.x1+1)):(k.x1=j.left,k.x2=Math.max(h-j.right-f,k.x1+1))):(k.x1=j.left,k.x2=Math.max(h-j.right,k.x1+1),k.y2=j.top,k.y1=Math.max(i-j.bottom,k.y2+1)),k},c.createGrid=function(a,b,d,e,f,g,h,i){var j={};j[d.units.pos+"1"]=a,j[d.units.pos+"2"]=a,j[d.counterUnits.pos+"1"]=e,j[d.counterUnits.pos+"2"]=e+f;var k=g.elem("line",j,h.join(" "));i.emit("draw",c.extend({type:"grid",axis:d,index:b,group:g,element:k},j))},c.createGridBackground=function(a,b,c,d){var e=a.elem("rect",{x:b.x1,y:b.y2,width:b.width(),height:b.height()},c,!0);d.emit("draw",{type:"gridBackground",group:a,element:e})},c.createLabel=function(a,d,e,f,g,h,i,j,k,l,m){var n,o={};if(o[g.units.pos]=a+i[g.units.pos],o[g.counterUnits.pos]=i[g.counterUnits.pos],o[g.units.len]=d,o[g.counterUnits.len]=Math.max(0,h-10),l){var p=b.createElement("span");p.className=k.join(" "),p.setAttribute("xmlns",c.namespaces.xhtml),p.innerText=f[e],p.style[g.units.len]=Math.round(o[g.units.len])+"px",p.style[g.counterUnits.len]=Math.round(o[g.counterUnits.len])+"px",n=j.foreignObject(p,c.extend({style:"overflow: visible;"},o))}else n=j.elem("text",o,k.join(" ")).text(f[e]);m.emit("draw",c.extend({type:"label",axis:g,index:e,group:j,element:n,text:f[e]},o))},c.getSeriesOption=function(a,b,c){if(a.name&&b.series&&b.series[a.name]){var d=b.series[a.name];return d.hasOwnProperty(c)?d[c]:b[c]}return b[c]},c.optionsProvider=function(b,d,e){function f(b){var f=h;if(h=c.extend({},j),d)for(i=0;i=2&&a[h]<=a[h-2]&&(g=!0),g&&(f.push({pathCoordinates:[],valueData:[]}),g=!1),f[f.length-1].pathCoordinates.push(a[h],a[h+1]),f[f.length-1].valueData.push(b[h/2]));return f}}(window,document,a),function(a,b,c){"use strict";c.Interpolation={},c.Interpolation.none=function(a){var b={fillHoles:!1};return a=c.extend({},b,a),function(b,d){for(var e=new c.Svg.Path,f=!0,g=0;g1){var i=[];return h.forEach(function(a){i.push(f(a.pathCoordinates,a.valueData))}),c.Svg.Path.join(i)}if(b=h[0].pathCoordinates,g=h[0].valueData,b.length<=4)return c.Interpolation.none()(b,g);for(var j,k=(new c.Svg.Path).move(b[0],b[1],!1,g[0]),l=0,m=b.length;m-2*!j>l;l+=2){var n=[{x:+b[l-2],y:+b[l-1]},{x:+b[l],y:+b[l+1]},{x:+b[l+2],y:+b[l+3]},{x:+b[l+4],y:+b[l+5]}];j?l?m-4===l?n[3]={x:+b[0],y:+b[1]}:m-2===l&&(n[2]={x:+b[0],y:+b[1]},n[3]={x:+b[2],y:+b[3]}):n[0]={x:+b[m-2],y:+b[m-1]}:m-4===l?n[3]=n[2]:l||(n[0]={x:+b[l],y:+b[l+1]}),k.curve(d*(-n[0].x+6*n[1].x+n[2].x)/6+e*n[2].x,d*(-n[0].y+6*n[1].y+n[2].y)/6+e*n[2].y,d*(n[1].x+6*n[2].x-n[3].x)/6+e*n[2].x,d*(n[1].y+6*n[2].y-n[3].y)/6+e*n[2].y,n[2].x,n[2].y,!1,g[(l+2)/2])}return k}return c.Interpolation.none()([])}},c.Interpolation.monotoneCubic=function(a){var b={fillHoles:!1};return a=c.extend({},b,a),function d(b,e){var f=c.splitIntoSegments(b,e,{fillHoles:a.fillHoles,increasingX:!0});if(f.length){if(f.length>1){var g=[];return f.forEach(function(a){g.push(d(a.pathCoordinates,a.valueData))}),c.Svg.Path.join(g)}if(b=f[0].pathCoordinates,e=f[0].valueData,b.length<=4)return c.Interpolation.none()(b,e);var h,i,j=[],k=[],l=b.length/2,m=[],n=[],o=[],p=[];for(h=0;h0!=n[h]>0?m[h]=0:(m[h]=3*(p[h-1]+p[h])/((2*p[h]+p[h-1])/n[h-1]+(p[h]+2*p[h-1])/n[h]),isFinite(m[h])||(m[h]=0));for(i=(new c.Svg.Path).move(j[0],k[0],!1,e[0]),h=0;h1}).map(function(a){var b=a.pathElements[0],c=a.pathElements[a.pathElements.length-1];return a.clone(!0).position(0).remove(1).move(b.x,r).line(b.x,b.y).position(a.pathElements.length+1).line(c.x,r)}).forEach(function(c){var h=i.elem("path",{d:c.stringify()},a.classNames.area,!0);this.eventEmitter.emit("draw",{type:"area",values:b.normalized.series[g],path:c.clone(),series:f,seriesIndex:g,axisX:d,axisY:e,chartRect:j,index:g,group:i,element:h})}.bind(this))}}.bind(this)),this.eventEmitter.emit("created",{bounds:e.bounds,chartRect:j,axisX:d,axisY:e,svg:this.svg,options:a})}function e(a,b,d,e){c.Line["super"].constructor.call(this,a,b,f,c.extend({},f,d),e)}var f={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,type:void 0},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,type:void 0,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,showLine:!0,showPoint:!0,showArea:!1,areaBase:0,lineSmooth:!0,showGridBackground:!1,low:void 0,high:void 0,chartPadding:{top:15,right:15,bottom:5,left:10},fullWidth:!1,reverseData:!1,classNames:{chart:"ct-chart-line",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",line:"ct-line",point:"ct-point",area:"ct-area",grid:"ct-grid",gridGroup:"ct-grids",gridBackground:"ct-grid-background",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};c.Line=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a){var b,d;a.distributeSeries?(b=c.normalizeData(this.data,a.reverseData,a.horizontalBars?"x":"y"),b.normalized.series=b.normalized.series.map(function(a){return[a]})):b=c.normalizeData(this.data,a.reverseData,a.horizontalBars?"x":"y"),this.svg=c.createSvg(this.container,a.width,a.height,a.classNames.chart+(a.horizontalBars?" "+a.classNames.horizontalBars:""));var e=this.svg.elem("g").addClass(a.classNames.gridGroup),g=this.svg.elem("g"),h=this.svg.elem("g").addClass(a.classNames.labelGroup);if(a.stackBars&&0!==b.normalized.series.length){var i=c.serialMap(b.normalized.series,function(){
return Array.prototype.slice.call(arguments).map(function(a){return a}).reduce(function(a,b){return{x:a.x+(b&&b.x)||0,y:a.y+(b&&b.y)||0}},{x:0,y:0})});d=c.getHighLow([i],a,a.horizontalBars?"x":"y")}else d=c.getHighLow(b.normalized.series,a,a.horizontalBars?"x":"y");d.high=+a.high||(0===a.high?0:d.high),d.low=+a.low||(0===a.low?0:d.low);var j,k,l,m,n,o=c.createChartRect(this.svg,a,f.padding);k=a.distributeSeries&&a.stackBars?b.normalized.labels.slice(0,1):b.normalized.labels,a.horizontalBars?(j=m=void 0===a.axisX.type?new c.AutoScaleAxis(c.Axis.units.x,b.normalized.series,o,c.extend({},a.axisX,{highLow:d,referenceValue:0})):a.axisX.type.call(c,c.Axis.units.x,b.normalized.series,o,c.extend({},a.axisX,{highLow:d,referenceValue:0})),l=n=void 0===a.axisY.type?new c.StepAxis(c.Axis.units.y,b.normalized.series,o,{ticks:k}):a.axisY.type.call(c,c.Axis.units.y,b.normalized.series,o,a.axisY)):(l=m=void 0===a.axisX.type?new c.StepAxis(c.Axis.units.x,b.normalized.series,o,{ticks:k}):a.axisX.type.call(c,c.Axis.units.x,b.normalized.series,o,a.axisX),j=n=void 0===a.axisY.type?new c.AutoScaleAxis(c.Axis.units.y,b.normalized.series,o,c.extend({},a.axisY,{highLow:d,referenceValue:0})):a.axisY.type.call(c,c.Axis.units.y,b.normalized.series,o,c.extend({},a.axisY,{highLow:d,referenceValue:0})));var p=a.horizontalBars?o.x1+j.projectValue(0):o.y1-j.projectValue(0),q=[];l.createGridAndLabels(e,h,this.supportsForeignObject,a,this.eventEmitter),j.createGridAndLabels(e,h,this.supportsForeignObject,a,this.eventEmitter),a.showGridBackground&&c.createGridBackground(e,o,a.classNames.gridBackground,this.eventEmitter),b.raw.series.forEach(function(d,e){var f,h,i=e-(b.raw.series.length-1)/2;f=a.distributeSeries&&!a.stackBars?l.axisLength/b.normalized.series.length/2:a.distributeSeries&&a.stackBars?l.axisLength/2:l.axisLength/b.normalized.series[e].length/2,h=g.elem("g"),h.attr({"ct:series-name":d.name,"ct:meta":c.serialize(d.meta)}),h.addClass([a.classNames.series,d.className||a.classNames.series+"-"+c.alphaNumerate(e)].join(" ")),b.normalized.series[e].forEach(function(g,k){var r,s,t,u;if(u=a.distributeSeries&&!a.stackBars?e:a.distributeSeries&&a.stackBars?0:k,r=a.horizontalBars?{x:o.x1+j.projectValue(g&&g.x?g.x:0,k,b.normalized.series[e]),y:o.y1-l.projectValue(g&&g.y?g.y:0,u,b.normalized.series[e])}:{x:o.x1+l.projectValue(g&&g.x?g.x:0,u,b.normalized.series[e]),y:o.y1-j.projectValue(g&&g.y?g.y:0,k,b.normalized.series[e])},l instanceof c.StepAxis&&(l.options.stretch||(r[l.units.pos]+=f*(a.horizontalBars?-1:1)),r[l.units.pos]+=a.stackBars||a.distributeSeries?0:i*a.seriesBarDistance*(a.horizontalBars?-1:1)),t=q[k]||p,q[k]=t-(p-r[l.counterUnits.pos]),void 0!==g){var v={};v[l.units.pos+"1"]=r[l.units.pos],v[l.units.pos+"2"]=r[l.units.pos],!a.stackBars||"accumulate"!==a.stackMode&&a.stackMode?(v[l.counterUnits.pos+"1"]=p,v[l.counterUnits.pos+"2"]=r[l.counterUnits.pos]):(v[l.counterUnits.pos+"1"]=t,v[l.counterUnits.pos+"2"]=q[k]),v.x1=Math.min(Math.max(v.x1,o.x1),o.x2),v.x2=Math.min(Math.max(v.x2,o.x1),o.x2),v.y1=Math.min(Math.max(v.y1,o.y2),o.y1),v.y2=Math.min(Math.max(v.y2,o.y2),o.y1);var w=c.getMetaData(d,k);s=h.elem("line",v,a.classNames.bar).attr({"ct:value":[g.x,g.y].filter(c.isNumeric).join(","),"ct:meta":c.serialize(w)}),this.eventEmitter.emit("draw",c.extend({type:"bar",value:g,index:k,meta:w,series:d,seriesIndex:e,axisX:m,axisY:n,chartRect:o,group:h,element:s},v))}}.bind(this))}.bind(this)),this.eventEmitter.emit("created",{bounds:j.bounds,chartRect:o,axisX:m,axisY:n,svg:this.svg,options:a})}function e(a,b,d,e){c.Bar["super"].constructor.call(this,a,b,f,c.extend({},f,d),e)}var f={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,scaleMinSpace:30,onlyInteger:!1},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,high:void 0,low:void 0,referenceValue:0,chartPadding:{top:15,right:15,bottom:5,left:10},seriesBarDistance:15,stackBars:!1,stackMode:"accumulate",horizontalBars:!1,distributeSeries:!1,reverseData:!1,showGridBackground:!1,classNames:{chart:"ct-chart-bar",horizontalBars:"ct-horizontal-bars",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",bar:"ct-bar",grid:"ct-grid",gridGroup:"ct-grids",gridBackground:"ct-grid-background",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};c.Bar=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a,b,c){var d=b.x>a.x;return d&&"explode"===c||!d&&"implode"===c?"start":d&&"implode"===c||!d&&"explode"===c?"end":"middle"}function e(a){var b,e,f,h,i,j=c.normalizeData(this.data),k=[],l=a.startAngle;this.svg=c.createSvg(this.container,a.width,a.height,a.donut?a.classNames.chartDonut:a.classNames.chartPie),e=c.createChartRect(this.svg,a,g.padding),f=Math.min(e.width()/2,e.height()/2),i=a.total||j.normalized.series.reduce(function(a,b){return a+b},0);var m=c.quantity(a.donutWidth);"%"===m.unit&&(m.value*=f/100),f-=a.donut&&!a.donutSolid?m.value/2:0,h="outside"===a.labelPosition||a.donut&&!a.donutSolid?f:"center"===a.labelPosition?0:a.donutSolid?f-m.value/2:f/2,h+=a.labelOffset;var n={x:e.x1+e.width()/2,y:e.y2+e.height()/2},o=1===j.raw.series.filter(function(a){return a.hasOwnProperty("value")?0!==a.value:0!==a}).length;j.raw.series.forEach(function(a,b){k[b]=this.svg.elem("g",null,null)}.bind(this)),a.showLabel&&(b=this.svg.elem("g",null,null)),j.raw.series.forEach(function(e,g){if(0!==j.normalized.series[g]||!a.ignoreEmptyValues){k[g].attr({"ct:series-name":e.name}),k[g].addClass([a.classNames.series,e.className||a.classNames.series+"-"+c.alphaNumerate(g)].join(" "));var p=i>0?l+j.normalized.series[g]/i*360:0,q=Math.max(0,l-(0===g||o?0:.2));p-q>=359.99&&(p=q+359.99);var r,s,t,u=c.polarToCartesian(n.x,n.y,f,q),v=c.polarToCartesian(n.x,n.y,f,p),w=new c.Svg.Path(!a.donut||a.donutSolid).move(v.x,v.y).arc(f,f,0,p-l>180,0,u.x,u.y);a.donut?a.donutSolid&&(t=f-m.value,r=c.polarToCartesian(n.x,n.y,t,l-(0===g||o?0:.2)),s=c.polarToCartesian(n.x,n.y,t,p),w.line(r.x,r.y),w.arc(t,t,0,p-l>180,1,s.x,s.y)):w.line(n.x,n.y);var x=a.classNames.slicePie;a.donut&&(x=a.classNames.sliceDonut,a.donutSolid&&(x=a.classNames.sliceDonutSolid));var y=k[g].elem("path",{d:w.stringify()},x);if(y.attr({"ct:value":j.normalized.series[g],"ct:meta":c.serialize(e.meta)}),a.donut&&!a.donutSolid&&(y._node.style.strokeWidth=m.value+"px"),this.eventEmitter.emit("draw",{type:"slice",value:j.normalized.series[g],totalDataSum:i,index:g,meta:e.meta,series:e,group:k[g],element:y,path:w.clone(),center:n,radius:f,startAngle:l,endAngle:p}),a.showLabel){var z;z=1===j.raw.series.length?{x:n.x,y:n.y}:c.polarToCartesian(n.x,n.y,h,l+(p-l)/2);var A;A=j.normalized.labels&&!c.isFalseyButZero(j.normalized.labels[g])?j.normalized.labels[g]:j.normalized.series[g];var B=a.labelInterpolationFnc(A,g);if(B||0===B){var C=b.elem("text",{dx:z.x,dy:z.y,"text-anchor":d(n,z,a.labelDirection)},a.classNames.label).text(""+B);this.eventEmitter.emit("draw",{type:"label",index:g,group:b,element:C,text:""+B,x:z.x,y:z.y})}}l=p}}.bind(this)),this.eventEmitter.emit("created",{chartRect:e,svg:this.svg,options:a})}function f(a,b,d,e){c.Pie["super"].constructor.call(this,a,b,g,c.extend({},g,d),e)}var g={width:void 0,height:void 0,chartPadding:5,classNames:{chartPie:"ct-chart-pie",chartDonut:"ct-chart-donut",series:"ct-series",slicePie:"ct-slice-pie",sliceDonut:"ct-slice-donut",sliceDonutSolid:"ct-slice-donut-solid",label:"ct-label"},startAngle:0,total:void 0,donut:!1,donutSolid:!1,donutWidth:60,showLabel:!0,labelOffset:0,labelPosition:"inside",labelInterpolationFnc:c.noop,labelDirection:"neutral",reverseData:!1,ignoreEmptyValues:!1};c.Pie=c.Base.extend({constructor:f,createChart:e,determineAnchorPosition:d})}(window,document,a),a});
//# ssourceMappingURL=chartist.min.js.map