VE Lua Documentation

Press F to search!

init

Definition


-- @/lua/vehicle/material.lua:141

local function init()
  if not v.data._materials then
    return
  end
  brokenSwitches = {}

  mv = v.data._materials.mv
  triggerList = v.data._materials.triggerList
  triggers = v.data._materials.triggers
  deformMeshes = v.data._materials.deformMeshes or {}

  local funTab = {"return function () ", nil, " end"}
  for _, t in pairs(triggers) do
    local str = t.evalFunctionString or ""
    funTab[2] = str
    local f, err = load(table.concat(funTab), str, "t", mv)
    if f then
      t.evalFunction = f()
    else
      log("E", "material.init", tostring(err))
      t.evalFunction = nop
    end
    if t.materialEmissiveScaling then
      t.scaleEmissiveMaterial = true
      t.scaleEmissiveMaterialOnMax = t.materialEmissiveScaling.on_max
      t.scaleEmissiveMaterialOnIntenseMax = t.materialEmissiveScaling.on_intense_max
      t.materialEmissiveScaling = nil
    end
  end
end

Callers

@/lua/ge/extensions/editor/util/editorElementHelper.lua
  if o.init then
    o:init()
  end
@/lua/ge/extensions/flowgraph/nodes/vehicle/bus/busControls.lua

function C:init()
  self.pinOut.isKneeling.value = false
@/lua/ge/extensions/core/settings/graphicsQualityGroup.lua

function C:init(qualitiyLevelsFilename, groupName)
  self.currentQualityLevel = ""
  setmetatable(o, C)
  o:init(qualitiyLevelsFilename, groupName)
  return o
@/lua/vehicle/main.lua
  profilerPushEvent("3.1 init - compat")
  backwardsCompatibility.init()
  profilerPopEvent("3.1 init - compat")
  profilerPushEvent("3.2.X init - materials (sum)")
  material.init()
  profilerPopEvent("3.2.X init - materials (sum)")
  profilerPushEvent("3.2 init - first stage")
  bdebug.init()
  electrics.init()
  bdebug.init()
  electrics.init()
  damageTracker.init()
  electrics.init()
  damageTracker.init()
  beamstate.init() -- needs to go before powertrain and first controller init, needs to go after damageTracker
  damageTracker.init()
  beamstate.init() -- needs to go before powertrain and first controller init, needs to go after damageTracker
  protocols.init()
  beamstate.init() -- needs to go before powertrain and first controller init, needs to go after damageTracker
  protocols.init()
  wheels.init()
  protocols.init()
  wheels.init()
  powertrain.init()
  wheels.init()
  powertrain.init()
  energyStorage.init()
  powertrain.init()
  energyStorage.init()
  input.init()
  energyStorage.init()
  input.init()
  controller.init() -- needs to go after input first stage
  input.init()
  controller.init() -- needs to go after input first stage
  profilerPopEvent("3.2 init - first stage")
  controller.initSecondStage()
  drivetrain.init()
  profilerPopEvent("3.3 init - second stage")
  sensors.reset()
  thrusters.init()
  hydros.init()
  thrusters.init()
  hydros.init()
  profilerPopEvent("3.4 init - groupA")
  profilerPushEvent("3.5 init - audio")
  sounds.init()
  profilerPopEvent("3.5 init - audio")
  profilerPushEvent("3.6 init - groupB")
  props.init()
  input.initSecondStage() -- needs to go after sounds & electrics
  input.initSecondStage() -- needs to go after sounds & electrics
  recovery.init()
  sensors.init()
  recovery.init()
  sensors.init()
  fire.init()
  sensors.init()
  fire.init()
  wheels.initSounds()
  profilerPushEvent("3.8 init - last stage")
  mapmgr.init()

function init(path, initData)
  profilerPushEvent("4.X.X.X total (sum)")
@/lua/ge/extensions/flowgraph/nodes/vehicle/toShowroom.lua

function C:init() end
@/lua/ge/extensions/flowgraph/nodes/util/loadLevel.lua

function C:init()
  self.state = 1
@/lua/ge/extensions/flowgraph/nodes/ui/buttons/simpleMultipleButtons.lua

function C:init()
  self.count = 1
@/lua/ge/extensions/core/cameraModes/free.lua
  self.manualzoom = manualzoom()
  self.manualzoom:init(65)
  self.rot.z = 0 -- reset roll

function C:init()
  self.isGlobal = true
function C:setFOV(fovDeg)
  self.manualzoom:init(fovDeg)
end
  setmetatable(o, C)
  o:init()
  return o
@/lua/ge/extensions/gameplay/missions/missionTypes/flowMission.lua
-- This is called when a mission of this type is being created. Load files, initialize variables etc
function C:init()
  self.missionTypeLabel = "bigMap.missionLabels."..self.missionType
  C.__index = C
  o:init()
  for k, v in pairs(derivedClass) do
  end
  local init = o:init()
  return o, init
@/lua/ge/extensions/core/cameraModes/shake.lua

function C:init()
  self.isFilter = true
  setmetatable(o, C)
  o:init()
  return o
@/gameplay/missionTypes/drift/customNodes/wrongWayNode.lua

function C:init()
  self.lastDist = 0
@/lua/ge/extensions/editor/missionEditor/dev.lua

function C:init(missionEditor)
  self.missionEditor = missionEditor
  C.__index = C
  o:init(...)
  return o
@/gameplay/missions/italy/arrive/012-Field/script.lua

function C:init(data)
  data = data or {}
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/scene/idByName.lua

function C:init()
  self.data.name = ""
@/lua/ge/extensions/flowgraph/nodes/util/closestRoad.lua

function C:init(mgr)
end
@/gameplay/missionTypes/collection/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/raceCpLapChange.lua
      self.markers = require('scenario/race_marker')
      self.markers.init()
      local wps = {}
@/lua/ge/extensions/flowgraph/nodes/util/routePosition.lua

function C:init()
  self:onNodeReset()
@/gameplay/missions/automation_test_track/flowgraph/001-Dam/customNodes/getClosestStaticObjectNode.lua

function C:init()
  self.pos = vec3()
@/lua/ge/extensions/gameplay/rally/notebook/structured.lua

function C:init()
  self.fields = {}
  C.__index = C
  o:init(...)
  return o
@/lua/vehicle/energyStorage.lua

local function init()
  M.updateGFX = nop
@/gameplay/missions/gridmap_v2/delivery/004-obstaclecourse/script.lua
  if o.init then
    o:init(...)
  end
@/lua/ge/main.lua
-- Also called on reload (Control-L)
function init(reason)
  settings.initSettings(reason)
  -- Init the physics plugin.
  PhysicsPlugin.init("")
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/countdownSynced.lua

function C:init(mgr, ...)
  self.data.useImgui = false
@/lua/vehicle/recovery.lua

local function init(path)
  M.updateGFX = updateGFXRecord
@/lua/ge/extensions/flowgraph/nodes/gameplay/decalLine.lua

function C:init()
  self.data.snapToTerrain = false
@/lua/common/utils/pixellib.lua

function LuaPixelBuffer:init(width, height)
  self.width = math.floor(width)
  local bitmap = GBitmap()
  bitmap:init(width, height, true)
  local pb = create()
  pb:init(250, 250)
  print(tostring(pb))
@/lua/ge/extensions/flowgraph/nodes/timetrials/onRaceConfig.lua

function C:init(mgr, ...)
  self.done = false
@/lua/ge/extensions/flowgraph/nodes/logic/frameDelay.lua

function C:init(mgr, ...)
  self.counter = 0
@/gameplay/missionTypes/chase/customNodes/suspectDistanceNode.lua

function C:init()
  self:reset()
@/lua/vehicle/controller/bypassDampers.lua

local function init(jbeamData)
  dampers = {}
@/lua/ge/extensions/flowgraph/nodes/logic/flowSwitch.lua

function C:init(mgr, ...)
  self.on = false
@/lua/vehicle/controller/drivingDynamics/supervisors/components/awdControl.lua

local function init(jbeamData)
  M.isActingAsTC = false
@/lua/ge/extensions/flowgraph/nodes/mission/selectGarage2GarageZones.lua

function C:init()
  self.startSpot = nil
@/lua/ge/extensions/flowgraph/nodes/environment/setGravity.lua

function C:init(mgr)
  self.data.restoreGravity = true
@/lua/ge/extensions/editor/flowgraph/overview.lua

function C:init()
  self.filter = im.ImGuiTextFilterPtr()
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/trafficMoveGroup.lua

function C:init()
  self:onNodeReset()
@/lua/ge/extensions/scenario/waypointAction.lua

local function init(scenario)
  M.instances = {}
@/lua/vehicle/controller/axleLift.lua

local function init(jbeamData)
  velocityThresholdDisable = jbeamData.velocityThresholdDisable or 14
@/gameplay/missionTypes/rallyStage/editor.lua

function C:init()
  self:addDecoHeader("Mission Screen Text",'orange')
@/lua/ge/extensions/gameplay/markers/crawlMarker.lua
local screenObjTemp = nil
function C:init()
  self.visible = true
  C.__index = C
  o:init(...)
  return o
@/lua/vehicle/controller/esc.lua

local function init(jbeamData)
  configData = jbeamData
@/lua/ge/extensions/editor/missionEditor/objectives.lua

function C:init(missionEditor)
  self.missionEditor = missionEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/filePath.lua

function C:init(mgr, ...)
  self.path = nil
@/gameplay/missionTypes/arrive/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/pursuitParams.lua

function C:init()
  self.vars = {}
@/lua/ge/extensions/flowgraph/nodes/debug/flowButton.lua

function C:init(mgr, ...)
  self.data.btnName = "Push"
@/lua/ge/extensions/flowgraph/nodes/macro/integrated.lua

function C:init()
  self.savePins = true
@/lua/ge/extensions/flowgraph/nodes/career/customTowAction.lua

function C:init()
  self.flags = {}
@/lua/ge/extensions/gameplay/route/route.lua

function C:init()
  self.path = {}
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/ui/buttons/setMultipleButtonsProperty.lua

function C:init()
  self.count = 1
@/lua/ge/extensions/gameplay/markers/invisibleMarker.lua
-- called when this object is created. initialize variables here (but dont spawn objects)
function C:init()
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/missionEditor/issues.lua

function C:init(missionEditor)
  self.missionEditor = missionEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/scene/customLuaCommand.lua

function C:init()
  self.clearOutPinsOnStart = false
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/setVehicleData.lua

function C:init()
  self.vars = {}
@/lua/vehicle/controller/wendoverGauges.lua

local function init(jbeamData)
  log("E", "wendoverGauges", "This controller is deprecated and shall not be used. It might be removed without further notice in the future! Please switch to the 'genericGauges' controller instead.")
@/gameplay/missionTypes/precisionParking/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/flowgraph/nodes/math/math.lua

function C:init()
  self.data.safeMode = true
@/lua/ge/extensions/flowgraph/modules/prefabModule.lua

function C:init()
  self.prefabs = {}
@/lua/ge/extensions/flowgraph/builder.lua

function C:init()
  self.CurrentNodeId = 0 -- NodeId
  setmetatable(o, C)
  o:init()
  return o
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/directlyTo.lua

function C:init()
  self.started = false
@/lua/ge/extensions/editor/crawlEditor/trails.lua

function C:init()
  self.currentTab = "paths"
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/ui/ambientSound.lua
]]
local function init(json)
  if not FS:fileExists(json) then
@/lua/ge/extensions/flowgraph/nodes/scene/particleEmitter.lua

function C:init(mgr, ...)
  self.position = {}
@/lua/vehicle/controller/powertrainControl/combustionEngineGovenor.lua

local function init(jbeamData)
  local controlledEngineName = jbeamData.controlledEngineName or "mainEngine"
@/gameplay/missionTypes/precisionParking/editor.lua

function C:init()
  self:addNumeric("Available Time","availableTime",60)
@/gameplay/missionTypes/generatedTimeTrial/editor.lua

function C:init()
  self:addDecoHeader("Creating a Time Trial")
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/trafficParams.lua

function C:init()
  self.vars = {}
@/lua/ge/extensions/core/cameraModes/transition.lua

function C:init()
  self.isGlobal = true
  setmetatable(o, C)
  o:init()
  return o
@/lua/ge/extensions/flowgraph/nodes/ui/customUiLayout.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/signals/instanceByName.lua

function C:init()
  self:onNodeReset()
@/lua/ge/extensions/flowgraph/nodes/vehicle/alignForCoupling.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/events/onBeamNGTrigger.lua

function C:init(mgr, ...)
  self.data.filterName = ""
@/lua/ge/extensions/util/terrainGenerator.lua

function C:init(data)
  data = data or {}
      local b = GBitmap()
      b:init(self.terrainWidth, self.terrainWidth)
      b:fillColor(ColorI(n, n, n, 255))
  C.__index = C
  o:init(data)
  return o
@/lua/ge/extensions/core/cameraModes/pacenoteOrbit.lua

function C:init()
  -- print('pacenoteOrbit cam init')
  setmetatable(o, C)
  o:init()
  return o
@/lua/vehicle/controller/drivingDynamics/supervisors/yawControl.lua

local function init(jbeamData)
  controlParameters = {isEnabled = true}
@/lua/ge/extensions/flowgraph/nodes/career/onRefueling.lua

function C:init()
  self.flags = {}
@/lua/ge/extensions/gameplay/drift/stuntZones/donut.lua

function C:init(data)
  self.data = data
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/ui/updatedUI/startScreenDial.lua

function C:init()
  self.panel = {
@/lua/ge/extensions/flowgraph/modules/trafficModule.lua

function C:init()
  self.trafficActive = false
@/lua/ge/extensions/flowgraph/nodes/logic/timedTrigger.lua

function C:init(mgr, ...)
  self.data.resetTimer = 1
@/gameplay/missionTypes/aiRace/constructor.lua

function C:init()
  self.supportsReplay = true
@/lua/ge/extensions/gameplay/race/startPosition.lua

function C:init(race, name)
  self.race = race
  C.__index = C
  o:init(...)
  return o
@/gameplay/missionTypes/knockAway/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/flowgraph/nodes/gameplay/crawl/stopCrawl.lua

function C:init(mgr)
  self.bridge = require('ge/extensions/gameplay/crawl/flowgraphBridge')
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/pathEndTransform.lua

function C:init(mgr, ...)
  self.path = nil
@/lua/ge/extensions/flowgraph/nodes/vehicle/touchingStatic.lua

function C:init()
  self:reset()
@/lua/ge/extensions/core/cameraModes/predictor.lua

function C:init(dtFuture)
  self.isFilter = true
  setmetatable(o, C)
  o:init()
  return o
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/rallySuperCountdown.lua

function C:init(mgr, ...)
  self.data.useImgui = false
@/lua/ge/extensions/editor/roadArchitect.lua
                local bmp = GBitmap()
                bmp:init(width, height)
                bmp:allocateBitmap(width, height, false, "GFXFormatR16")
@/lua/ge/extensions/core/cameraModes/autozoom.lua

function C:init(smoother)
  self.isFilter = true
  setmetatable(o, C)
  o:init()
  return o
@/lua/ge/extensions/flowgraph/nodes/util/getMapObjectsDynField.lua

function C:init(mgr)
@/lua/vehicle/controller/tech/idealRADARSensor.lua

local function init(data)
  sensorId = data.sensorId
@/lua/ge/extensions/flowgraph/nodes/ui/imgui/elemental/imBegin.lua

function C:init()
  self.done = false
@/lua/ge/extensions/flowgraph/nodes/math/smoothers/nonLinear.lua

function C:init()
  C.oldSet = 0
@/gameplay/missionTypes/rallyLoop/editor.lua

function C:init()
  self:addDecoHeader("Mission Screen Text",'orange')
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/parkingTrackVehicle.lua

function C:init()
  self:reset()
@/lua/ge/extensions/gameplay/rally/rallyManager.lua

function C:init(missionDir, missionId)
  if gameplay_rally and gameplay_rally.getDebugLogging() then log('D', logTag, '<<<<< RallyManager init >>>>>') end
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/mission/selectGarageSpots.lua

function C:init()
  self.spots = {}
@/lua/ge/extensions/flowgraph/nodes/math/smoothers/sigmoid.lua

function C:init()
  C.oldSet = 0
@/gameplay/missionTypes/longjump/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/flowgraph/nodes/math/quaternion/direction.lua

function C:init()
  self.oldIn = nil
@/lua/ge/extensions/flowgraph/nodes/gameplay/decalPath.lua

function C:init()
end
@/lua/vehicle/controller/braking/compressionBrake.lua

local function init(jbeamData)
  local engineName = jbeamData.controlledEngine or "mainEngine"
@/gameplay/missionTypes/rallyRoadSection/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/flowgraph/nodes/scene/spawnTSStatic.lua

function C:init(mgr, ...)
  self.objects = {}
@/lua/ge/extensions/flowgraph/nodes/scene/pointOnDecalroad.lua
C.tags = {}
function C:init()
  self.point = vec3(0,0,0)
@/lua/ge/extensions/editor/rallyEditor/pacenotes.lua

function C:init(rallyEditor)
  self.rallyEditor = rallyEditor
  C.__index = C
  o:init(...)
  return o
@/gameplay/missionTypes/chase/customNodes/suspectAiNode.lua

function C:init()
  self:onNodeReset()
@/lua/ge/extensions/flowgraph/nodes/ui/imgui/imVehicleSelect.lua

function C:init()
  self.data.enableConfigs = true
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/raceHighscoresComplete.lua

function C:init()
  self.markers = nil
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/stop.lua

function C:init()
  self.complete = false
@/lua/vehicle/controller/pneumatics/airbrakes.lua

local function init(jbeamData)
  local airTankName = jbeamData.airTankName or "mainAirTank"
@/lua/ge/extensions/flowgraph/nodes/mission/knockAwayCheck.lua

function C:init()
  self.data.zOffset = 0
        self.markers = require('scenario/race_marker')
        self.markers.init()
        local wps = {}
@/lua/ge/extensions/flowgraph/nodes/vehicle/trailerRespawn.lua

function C:init()
  self.enabled = true
@/lua/ge/extensions/flowgraph/nodes/vehicle/moveTo.lua

function C:init()
  --self.data.useWheelCenter = false
@/ui/ui-vue/src/services/watchdog.js
    destroy()
    init()
  },

export function init() {
  if (isInitialized) {
@/lua/ge/extensions/flowgraph/nodes/career/garageTutorialUtil.lua

function C:init()
  self.timer = 0
@/gameplay/missionTypes/generatedTimeTrial/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/raceHighscoresLap.lua

function C:init()
  self.markers = nil
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/moveVehicleToStartposition.lua

function C:init(mgr, ...)
  self.path = nil
@/ui/lib/ext/angular-material/angular-material.js
    menuContainer.append(menuContents);
    mdMenuCtrl.init(menuContainer);

    rgCtrl.init(ngModelCtrl);
    element.on('keypress', keyListener);
    if (ngModel) selectCtrl.init(ngModel);
    configureAria();

  return init();
   */
  function init () {
    $mdUtil.initOptionalProperties($scope, $attrs, { searchText: null, selectedItem: null });

  function init (term, template) {
    createWatchers(term, template);
      return function (scope, element, attr, ctrl) {
        ctrl.init(attr.mdHighlightText, template);
      };

  init();
   */
  function init () {
    ctrl.selectedIndex = ctrl.selectedIndex || 0;
@/lua/ge/extensions/gameplay/sites/zone.lua

function C:init(sites, name, forceId)
  self.sites = sites
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/mission/goToStartLine.lua

function C:init()
  self.vehicle = nil
@/ui/modules/scenariocontrol/scenariocontrol.js
      // returned funciton will start the loaded comic
      function init (assets, path, sounds) {
        var assetManager = new spine.canvas.AssetManager()
          var soundFiles = data.filter((elem) => ['.ogg'].filter((e) => elem.endsWith(e)).length > 0)
          init(animationFiles, animationPath, soundFiles).then((renderFunc) => {
            deferred.resolve(renderFunc)
@/lua/ge/extensions/gameplay/markers/parkingMarker.lua
local idCounter = 0
function C:init()
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/util/popActionMap.lua

function C:init(mgr, ...)
  self:_executionStopped()
@/lua/vehicle/controller/tech/cosimulationCoupling.lua
-- Initialisation callback.
local function init(dataEncoded)
@/gameplay/missionTypes/delivery/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/flowgraph/nodes/scene/getPlayerVehicle.lua

function C:init()
end
@/lua/vehicle/controller/drivingDynamics/supervisors/components/diffControl.lua

local function init(jbeamData)
  M.isActingAsTC = false
@/lua/ge/extensions/flowgraph/nodes/util/hsvColor.lua

function C:init()
@/lua/vehicle/controller/powertrainControl/activeCenterDiff.lua

local function init(jbeamData)
  biasOversteerVsTraction = jbeamData.biasOversteerVsTraction or 0.5
@/lua/ge/extensions/flowgraph/nodes/debug/displayFlow.lua
C.tags = {'util'}
function C:init()
  self.lastTime = 1
@/lua/ge/extensions/flowgraph/nodes/math/vector/merge.lua

function C:init()
end
@/lua/ge/extensions/core/cameraModes/fallback.lua

function C:init()
  self.isGlobal = true
  setmetatable(o, C)
  o:init()
  return o
@/ui/lib/ext/angular-material-paging.js
    $scope.$watch('wmpTotal', function() {
      vm_paging.init();
    });
@/lua/vehicle/controller/tech/tyreBarrier.lua
-- Initialisation callback (called once when this controller is instantiated).
local function init(data)
  isPreamble = true
@/lua/ge/extensions/gameplay/crawl/utils.lua
    markers = require('scenario/race_marker')
    markers.init()
  end
@/lua/vehicle/hydros.lua

local function init()
  if v.data.input and v.data.input.FFBcoef ~= nil then
@/lua/vehicle/controller/vehicleController/shiftLogic/dctGearbox.lua

local function init(jbeamData, sharedFunctionTable)
  sharedFunctions = sharedFunctionTable
@/lua/ge/extensions/flowgraph/nodes/gameplay/dragRace/setDragVehicle.lua

function C:init()
  self.count = 1
@/lua/ge/extensions/flowgraph/nodes/gameplay/sites/parkingspot.lua

function C:init(mgr, ...)
  self.options = {"key"}
@/lua/ge/extensions/gameplay/route/raceRoute.lua

function C:init(removeFirst, useMapPathfinding, closeDistSquared, logTag)
  logTag = logTag or ''
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/career/getLinearTutorialStep.lua

function C:init()
@/lua/ge/extensions/gameplay/rally/loop/rallyEventLog.lua

function C:init()
  -- Array of all logged items, ordered by timestamp
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/api/history.lua

function C:init()
  self.maxUndoLevels = defaultMaxUndoLevels
  C.__index = C
  o:init()
  return o
@/lua/ge/extensions/flowgraph/nodes/tech/getUltrasonicReadings.lua

function C:init()
@/lua/vehicle/controller/drivingDynamics/actuators/activeDiffLock.lua

local function init(jbeamData)
  M.isActing = false
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/vehicleStoppedNearPos.lua

function C:init(mgr, ...)
  self.timer = 0
@/lua/vehicle/controller/twoStepLaunch.lua

local function init(jbeamData)
  local engineName = jbeamData.engineName or "mainEngine"
@/gameplay/missionTypes/collection/customNodes/collectionNode.lua

function C:init(mgr)
  self.currentRecovery = nil
@/lua/vehicle/controller/linearActuators/linearActuatorTrailerFeet.lua

local function init(jbeamData)
  attachedPosition = jbeamData.attachedDefaultPosition or 0
@/lua/ge/extensions/core/cameraModes/gameengine.lua

function C:init()
  self.isGlobal = true
  setmetatable(o, C)
  o:init()
  return o
@/gameplay/missionTypes/cannon/editor.lua

function C:init()
  self:addDecoText("Only useful to draw the blue arrows during the start screen, to show the convoy's path")
@/gameplay/missionTypes/evade/customNodes/getClosestTrafficNode.lua

function C:init()
  self.pos = vec3()
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/pathDefaultStartTransform.lua

function C:init(mgr, ...)
  self.path = nil
@/lua/ge/extensions/scenario/finishRaceGoal.lua

local function init(scenario)
  M.instances = {}
@/ui/ui-vue/src/modules/liveryEditor/stores/layerSettingsStore.js

  function init() {
    if (!active.value) rootStore.toggleShowDecalSelector()
@/lua/ge/extensions/flowgraph/nodes/debug/testDynamic.lua

function C:init(mgr, ...)
  self.timer = 0
@/lua/ge/extensions/core/cameraModes/observer.lua

function C:init()
  self.isGlobal = true
  setmetatable(o, C)
  o:init()
  return o
@/lua/ge/extensions/flowgraph/nodes/gameplay/sites/zoneByName.lua

function C:init(mgr, ...)
@/gameplay/missionTypes/aiRace/editor.lua

function C:init()
  ---- mandatory settings ----
@/gameplay/missionTypes/hypermiling/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/disable.lua

function C:init()
  self.data.useScriptStop = false
@/lua/vehicle/controller/hydraulics/hydraulicTrailerFeet.lua

local function init(jbeamData)
  attachedPosition = jbeamData.attachedDefaultPosition or 0
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/countdown.lua

function C:init(mgr, ...)
  self.data.useImgui = false
@/lua/ge/extensions/scenario/distanceGoal.lua

local function init(scenario)
  M.instances = {}
@/lua/ge/extensions/editor/rallyEditor/testTab.lua

function C:init(rallyEditor)
  self.path = nil
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/ui/updatedUI/endScreenBegin.lua

function C:init()
  self.open = false
@/lua/ge/extensions/editor/flowgraph/variables.lua
local scale = 1
function C:init()
  self.target = nil
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/raceDisqualify.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/signals/controllerByName.lua

function C:init()
  self:onNodeReset()
@/lua/vehicle/controller/drivingDynamics/actuators/adaptiveDampers.lua

local function init(jbeamData)
  local dampBeamNames = jbeamData.dampBeamNames or {}
@/lua/ge/extensions/flowgraph/nodes/ui/missionEndScreen.lua

function C:init()
  self.open = false
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/setNoteSearch.lua

-- function C:init()
-- end
@/lua/vehicle/controller/braking/postCrashBrake.lua

local function init(jbeamData)
  --if the hazards are still active from before reset, deactivate them
@/gameplay/missionTypes/evade/editor.lua

function C:init()
  ---- main settings ----
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/parkingParams.lua

function C:init()
  self.vars = {}
@/lua/ge/extensions/flowgraph/nodes/vehicle/vehicleOOBB.lua

function C:init(mgr, ...)
end
@/lua/ge/extensions/editor/missionEditor/startTrigger.lua

function C:init(missionEditor)
  self.missionEditor = missionEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/raceEditor/timeTrials.lua

function C:init(raceEditor)
  self.pathEditor = raceEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/gameplay/race/segment.lua

function C:init(path, name, forceId)
  self.path = path
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veView.lua
-- should store data a different way in future :)
local function init()
  local viewsSerialized = editor.getPreference("vehicleEditor.veView.sceneViews")
    if enabled then
      init()
    else
  if not editorInit then
    init()
    editorInit = true
@/lua/ge/extensions/flowgraph/states.lua

function C:init(mgr)
  self.mgr = mgr
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/scenario/race_marker.lua

local function init()
  -- clear previous markers.
@/lua/ge/extensions/editor/tech/roadArchitect/terraform.lua
  local bmp = GBitmap()
  bmp:init(xSize, ySize)
  bmp:allocateBitmap(xSize, ySize, false, "GFXFormatR16")
@/lua/ge/extensions/flowgraph/nodes/vehicle/isPlayerUsable.lua
}
function C:init()
@/lua/vehicle/controller/pneumatics/crossFlowValve.lua

local function init(jbeamData)
  local sourceTankName = jbeamData.sourceTankName or "mainAirTank"
@/lua/ge/extensions/gameplay/race/pathnode.lua

function C:init(path, name, forceId)
  self.path = path
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/gameplay/vehiclePool/createPool.lua

function C:init()
  self:onNodeReset()
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/imRaceTimes.lua

function C:init(mgr, ...)
  self.data.detailed = false
@/lua/vehicle/controller/drivingDynamics/actuators/activeCenterDiffLock.lua

local function init(jbeamData)
  M.isActing = false
@/lua/ge/extensions/flowgraph/nodes/scene/singleMarker.lua

function C:init(mgr, ...)
  self.position = {}
@/lua/ge/extensions/flowgraph/nodes/ui/updatedUI/endScreenTimeSlip.lua

function C:init()
  self.panel = {
@/lua/ge/extensions/flowgraph/nodes/gameplay/blacklistWalking.lua
C.dependencies = {'gameplay_walk'}
function C:init(mgr, ...)
end
@/lua/ge/extensions/flowgraph/nodes/activity/starsActive.lua

function C:init()
  self.savePins = true
@/lua/ge/extensions/flowgraph/nodes/vehicle/vehicleWheels.lua

function C:init(mgr, ...)
end
@/lua/ge/extensions/flowgraph/nodes/gameplay/crawl/resetCrawl.lua

function C:init(mgr)
  self.bridge = require('ge/extensions/gameplay/crawl/flowgraphBridge')
@/lua/ge/extensions/flowgraph/nodes/mission/countdownLightsController.lua

function C:init()
  self.started = false
@/lua/ge/extensions/scenario/positionGoal.lua

local function init(scenario)
  M.instances = {}
@/lua/ge/extensions/gameplay/drift/stuntZones/nearPole.lua

function C:init(data)
  self.data = data
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/core/cameraModes/relative.lua

function C:init()
  self.resetCameraOnVehicleReset = false
  self.rot = slot.rot
  self.manualzoom:init(slot.fov)
  return true
function C:setFOV(fov)
  self.manualzoom:init(fov)
end
  setmetatable(o, C)
  o:init()
  return o
@/lua/ge/extensions/scenario/nomoveGoal.lua

local function init(scenario)
  M.instances = {}
@/lua/vehicle/beamstate.lua

local function init()
  M.damage = 0
local function reset()
  init()
  M.lowpressure = false
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/racePacenoteReached.lua

function C:init(mgr, ...)
  self.data.detailed = false
@/lua/ge/extensions/flowgraph/nodes/ui/endScreen.lua

function C:init()
  self.open = false
@/ui/ui-vue/src/services/uiNavFocus.js

function init() {
  if (inited) return
  // init if not done that yet
  if (!inited) init()
  // modify or create
@/lua/ge/extensions/scenario/raceMarkers/sideHologramMarker.lua
-- called when this object is created. initialize variables here (but dont spawn objects)
function C:init(id)
  self.id = id
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/career/setFuelLevel.lua

function C:init()
  self:onNodeReset()
@/lua/ge/extensions/editor/flowgraph/events.lua

function C:init()
    editor.registerWindow(self.windowName, im.ImVec2(150,300), nil, false)
@/gameplay/missionTypes/knockAway/editor.lua

function C:init()
@/lua/vehicle/controller/propAnimation/hPattern.lua

local function init(jbeamData)
  local gearCoordinateTable = tableFromHeaderTable(jbeamData.gearCoordinates or {})
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/handleLapChange.lua

-- function C:init()
-- end
@/lua/ge/ge_utils.lua

  -- GBitmap:init( uint width, uint heigt )
    -- create a RGBA image of widthXheight dimension
    -- create a RGBA image of widthXheight dimension
  bitmap:init(16, 16)
  -- test size
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/goToEndLine.lua

function C:init()
  self.data.autoDisableOnArrive = true
@/lua/ge/extensions/editor/sitesEditor/sortedListDisplay.lua

function C:init(sitesEditor, key, elementEditor)
  self.key = key
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/vehicle/toggleVehicleControls.lua

function C:init()
@/lua/ge/extensions/gameplay/traffic/baseRole.lua

function C:init(veh, name, data)
  data = data or {}
  C.__index = C
  o:init(o.veh, o.name)

  o:init()
  o:postInit()
@/lua/vehicle/protocols/motionSim.lua

local function init() end
local function reset() end
@/lua/ge/extensions/gameplay/rally/transcripts/path.lua

function C:init(fname)
  self.fname = fname
  C.__index = C
  o:init(...)
  return o
@/lua/vehicle/controller/hydraulics/electricHydraulics.lua

local function init(jbeamData)
  electricsNames = type(jbeamData.controlElectricsName) ~= "table" and {jbeamData.controlElectricsName} or jbeamData.controlElectricsName
@/lua/ge/extensions/gameplay/rally/notebook/structured/textCompositor.lua

function C:init(compositorName)
  if not compositorName then
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/flowgraph/welcome.lua

function C:init()
  editor.registerWindow(self.windowName, im.ImVec2(150,300), nil, true)
@/lua/vehicle/controller/drivingDynamics/sensors/sensorHub.lua

local function init(jbeamData)
  M.gravity = obj:getGravity()
@/lua/ge/extensions/flowgraph/nodes/ui/fadeFromBlack.lua

function C:init()
  self:setDurationState('inactive')
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/signals/sequenceByName.lua

function C:init()
  self:onNodeReset()
@/lua/ge/extensions/flowgraph/nodes/activity/attemptStars.lua

function C:init()
  self.savePins = true
@/lua/ge/extensions/editor/raceEditor/segments.lua

function C:init(raceEditor)
  self.raceEditor = raceEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/core/cameraModes/smooth.lua

function C:init(spring, damp, pos)
  self.isFilter = true
  setmetatable(o, C)
  o:init()
  return o
@/ui/ui-vue/src/services/dirty.js

  function init(val) {
    const type = typeof val

  init(valueRef.value)
    const unwatch = watch(valueRef, newVal => {
      init(newVal)
      if (hasInitValue) unwatch()
@/gameplay/missionTypes/flowgraph/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/flowgraph/nodes/vehicle/spawnVehicle.lua

function C:init()
  self.state = 1
@/lua/vehicle/protocols/outgauge.lua
local hasShiftLights = false
local function init()
  local shiftLightControllers = controller.getControllersByType("shiftLights")
@/lua/ge/extensions/editor/rallyEditor/drivelineTab.lua

function C:init(rallyEditor)
  self.path = nil
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/gameplay/drift/general.lua

local function init()
  setContext("inFreeroam")
  if not firstUpdateFlag then
    init()
    firstUpdateFlag = true
@/lua/vehicle/controller/propAnimation/singleAxisLever.lua

local function init(jbeamData)
  local gearCoordinateTable = tableFromHeaderTable(jbeamData.gearCoordinates or {})
@/lua/ge/extensions/flowgraph/nodes/util/project.lua

function C:init(mgr)
  self.clearOutPinsOnStart = false
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/pursuitInformation.lua

function C:init()
  self:reset()
@/gameplay/missionTypes/cannon/customNodes/cannonBallInfoNode.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/trafficSpawnGroup.lua

function C:init()
  self:resetState()
@/ui/lib/ext/angular-material/angular-material.min.js
A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff",contrastDefaultColor:"light",contrastDarkColors:"100 200 300 400 A100",contrastStrongLightColors:"500 600 700 A200 A400 A700"},"light-blue":{50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900 A700",contrastStrongLightColors:"500 600 700 800 A700"},cyan:{50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",A100:"#84ffff",A200:"#18ffff",A400:"#00e5ff",A700:"#00b8d4",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700 800"},teal:{50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40",A100:"#a7ffeb",A200:"#64ffda",A400:"#1de9b6",A700:"#00bfa5",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700"},green:{50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700"},"light-green":{50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e",A100:"#ccff90",A200:"#b2ff59",A400:"#76ff03",A700:"#64dd17",contrastDefaultColor:"dark",contrastLightColors:"800 900",contrastStrongLightColors:"800 900"},lime:{50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717",A100:"#f4ff81",A200:"#eeff41",A400:"#c6ff00",A700:"#aeea00",contrastDefaultColor:"dark",contrastLightColors:"900",contrastStrongLightColors:"900"},yellow:{50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17",A100:"#ffff8d",A200:"#ffff00",A400:"#ffea00",A700:"#ffd600",contrastDefaultColor:"dark"},amber:{50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00",A100:"#ffe57f",A200:"#ffd740",A400:"#ffc400",A700:"#ffab00",contrastDefaultColor:"dark"},orange:{50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00",contrastDefaultColor:"dark",contrastLightColors:"800 900",contrastStrongLightColors:"800 900"},"deep-orange":{50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",A100:"#ff9e80",A200:"#ff6e40",A400:"#ff3d00",A700:"#dd2c00",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100 A200",contrastStrongLightColors:"500 600 700 800 900 A400 A700"},brown:{50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723",A100:"#d7ccc8",A200:"#bcaaa4",A400:"#8d6e63",A700:"#5d4037",contrastDefaultColor:"light",contrastDarkColors:"50 100 200",contrastStrongLightColors:"300 400"},grey:{50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",1000:"#000000",A100:"#ffffff",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161",contrastDefaultColor:"dark",contrastLightColors:"600 700 800 900"},"blue-grey":{50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238",A100:"#cfd8dc",A200:"#b0bec5",A400:"#78909c",A700:"#455a64",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300",contrastStrongLightColors:"400 500"}})}(),function(){function e(e){function o(e,t){return t=t||{},m[e]=a(e,t),g}function r(e,n){return a(e,t.extend({},m[e]||{},n))}function a(e,t){var n=C.filter(function(e){return!t[e]});if(n.length)throw new Error("Missing colors %1 in palette %2!".replace("%1",n.join(", ")).replace("%2",e));return t}function d(e,n){if(s[e])return s[e];n=n||"default";var o="string"==typeof n?s[n]:n,r=new c(e);return o&&t.forEach(o.colors,function(e,n){r.colors[n]={name:e.name,hues:t.extend({},e.hues)}}),s[e]=r,r}function c(e){function n(e){if(e=0===arguments.length?!0:!!e,e!==o.isDark){o.isDark=e,o.foregroundPalette=o.isDark?f:p,o.foregroundShadow=o.isDark?h:b;var n=o.isDark?T:A,r=o.isDark?A:T;return t.forEach(n,function(e,t){var n=o.colors[t],i=r[t];if(n)for(var a in n.hues)n.hues[a]===i[a]&&(n.hues[a]=e[a])}),o}}var o=this;o.name=e,o.colors={},o.dark=n,n(!1),M.forEach(function(e){var n=(o.isDark?T:A)[e];o[e+"Palette"]=function(r,i){var a=o.colors[e]={name:r,hues:t.extend({},n,i)};return Object.keys(a.hues).forEach(function(e){if(!n[e])throw new Error("Invalid hue name '%1' in theme %2's %3 color %4. Available hue names: %4".replace("%1",e).replace("%2",o.name).replace("%3",r).replace("%4",Object.keys(n).join(", ")))}),Object.keys(a.hues).map(function(e){return a.hues[e]}).forEach(function(t){if(-1==C.indexOf(t))throw new Error("Invalid hue value '%1' in theme %2's %3 color %4. Available hue values: %5".replace("%1",t).replace("%2",o.name).replace("%3",e).replace("%4",r).replace("%5",C.join(", ")))}),o},o[e+"Color"]=function(){var t=Array.prototype.slice.call(arguments);return console.warn("$mdThemingProviderTheme."+e+"Color() has been deprecated. Use $mdThemingProviderTheme."+e+"Palette() instead."),o[e+"Palette"].apply(o,t)}})}function u(e,o){function r(e){return e===n||""===e?!0:i.THEMES[e]!==n}function i(t,o){o===n&&(o=t,t=n),t===n&&(t=e),i.inherit(o,o)}return i.inherit=function(n,i){function a(e){r(e)||o.warn("Attempted to use unregistered theme '"+e+"'. Register it with $mdThemingProvider.theme().");var t=n.data("$mdThemeName");t&&n.removeClass("md-"+t+"-theme"),n.addClass("md-"+e+"-theme"),n.data("$mdThemeName",e),d&&n.data("$mdThemeController",d)}var d=i.controller("mdTheme"),c=n.attr("md-theme-watch");if((v||t.isDefined(c))&&"false"!=c){var l=e.$watch(function(){return d&&d.$mdTheme||E},a);n.on("$destroy",l)}else{var m=d&&d.$mdTheme||E;a(m)}},i.THEMES=t.extend({},s),i.defaultTheme=function(){return E},i.registered=r,i}m={},s={};var g,E="default",v=!1;return t.extend(m,e),u.$inject=["$rootScope","$log"],g={definePalette:o,extendPalette:r,theme:d,setDefaultTheme:function(e){E=e},alwaysWatchTheme:function(e){v=e},$get:u,_LIGHT_DEFAULT_HUES:A,_DARK_DEFAULT_HUES:T,_PALETTES:m,_THEMES:s,_parseRules:i,_rgba:l}}function o(e,t,n){return{priority:100,link:{pre:function(o,r,i){var a={$setTheme:function(t){e.registered(t)||n.warn("attempted to use unregistered theme '"+t+"'"),a.$mdTheme=t}};r.data("$mdThemeController",a),a.$setTheme(t(i.mdTheme)(o)),i.$observe("mdTheme",a.$setTheme)}}}}function r(e){return e}function i(e,n,o){d(e,n),o=o.replace(/THEME_NAME/g,e.name);var r=[],i=e.colors[n],a=new RegExp(".md-"+e.name+"-theme","g"),c=new RegExp("('|\")?{{\\s*("+n+")-(color|contrast)-?(\\d\\.?\\d*)?\\s*}}(\"|')?","g"),s=/'?"?\{\{\s*([a-zA-Z]+)-(A?\d+|hue\-[0-3]|shadow)-?(\d\.?\d*)?\s*\}\}'?"?/g,u=m[i.name];return o=o.replace(s,function(t,n,o,r){return"foreground"===n?"shadow"==o?e.foregroundShadow:e.foregroundPalette[o]||e.foregroundPalette[1]:(0===o.indexOf("hue")&&(o=e.colors[n].hues[o]),l((m[e.colors[n].name][o]||"").value,r))}),t.forEach(i.hues,function(t,n){var i=o.replace(c,function(e,n,o,r,i){return l(u[t]["color"===r?"value":"contrast"],i)});"default"!==n&&(i=i.replace(a,".md-"+e.name+"-theme.md-"+n)),"default"==e.name&&(i=i.replace(/\.md-default-theme/g,"")),r.push(i)}),r}function a(e){function n(e){var n=e.contrastDefaultColor,o=e.contrastLightColors||[],r=e.contrastStrongLightColors||[],i=e.contrastDarkColors||[];"string"==typeof o&&(o=o.split(" ")),"string"==typeof r&&(r=r.split(" ")),"string"==typeof i&&(i=i.split(" ")),delete e.contrastDefaultColor,delete e.contrastLightColors,delete e.contrastStrongLightColors,delete e.contrastDarkColors,t.forEach(e,function(a,d){function l(){return"light"===n?i.indexOf(d)>-1?g:r.indexOf(d)>-1?v:E:o.indexOf(d)>-1?r.indexOf(d)>-1?v:E:g}if(!t.isObject(a)){var m=c(a);if(!m)throw new Error("Color %1, in palette %2's hue %3, is invalid. Hex or rgb(a) color expected.".replace("%1",a).replace("%2",e.name).replace("%3",d));e[d]={value:m,contrast:l()}}})}var o=document.getElementsByTagName("head")[0],r=o?o.firstElementChild:null,a=e.has("$MD_THEME_CSS")?e.get("$MD_THEME_CSS"):"";if(r&&0!==a.length){t.forEach(m,n);var d={},l=a.split(/\}(?!(\}|'|"|;))/).filter(function(e){return e&&e.length}).map(function(e){return e.trim()+"}"}),p=new RegExp("md-("+M.join("|")+")","g");M.forEach(function(e){d[e]=""}),l.forEach(function(e){for(var t,n=(e.match(p),0);t=M[n];n++)if(e.indexOf(".md-"+t)>-1)return d[t]+=e;for(n=0;t=M[n];n++)if(e.indexOf(t)>-1)return d[t]+=e;return d[$]+=e}),t.forEach(s,function(e){u[e.name]||(M.forEach(function(t){for(var n=i(e,t,d[t]);n.length;){var a=document.createElement("style");a.setAttribute("type","text/css"),a.appendChild(document.createTextNode(n.shift())),o.insertBefore(a,r)}}),e.colors.primary.name==e.colors.accent.name&&console.warn("$mdThemingProvider: Using the same palette for primary and accent. This violates the material design spec."),u[e.name]=!0)})}}function d(e,t){if(!m[(e.colors[t]||{}).name])throw new Error("You supplied an invalid color palette for theme %1's %2 palette. Available palettes: %3".replace("%1",e.name).replace("%2",t).replace("%3",Object.keys(m).join(", ")))}function c(e){if(t.isArray(e)&&3==e.length)return e;if(/^rgb/.test(e))return e.replace(/(^\s*rgba?\(|\)\s*$)/g,"").split(",").map(function(e,t){return 3==t?parseFloat(e,10):parseInt(e,10)});if("#"==e.charAt(0)&&(e=e.substring(1)),/^([a-fA-F0-9]{3}){1,2}$/g.test(e)){var n=e.length/3,o=e.substr(0,n),r=e.substr(n,n),i=e.substr(2*n);return 1===n&&(o+=o,r+=r,i+=i),[parseInt(o,16),parseInt(r,16),parseInt(i,16)]}}function l(e,n){return e?(4==e.length&&(e=t.copy(e),n?e.pop():n=e.pop()),n&&("number"==typeof n||"string"==typeof n&&n.length)?"rgba("+e.join(",")+","+n+")":"rgb("+e.join(",")+")"):"rgb('0,0,0')"}t.module("material.core.theming",["material.core.theming.palette"]).directive("mdTheme",o).directive("mdThemable",r).provider("$mdTheming",e).run(a);var m,s,u={},p={name:"dark",1:"rgba(0,0,0,0.87)",2:"rgba(0,0,0,0.54)",3:"rgba(0,0,0,0.26)",4:"rgba(0,0,0,0.12)"},f={name:"light",1:"rgba(255,255,255,1.0)",2:"rgba(255,255,255,0.7)",3:"rgba(255,255,255,0.3)",4:"rgba(255,255,255,0.12)"},h="1px 1px 0px rgba(0,0,0,0.4), -1px -1px 0px rgba(0,0,0,0.4)",b="",g=c("rgba(0,0,0,0.87)"),E=c("rgba(255,255,255,0.87"),v=c("rgb(255,255,255)"),M=["primary","accent","warn","background"],$="primary",A={accent:{"default":"A200","hue-1":"A100","hue-2":"A400","hue-3":"A700"},background:{"default":"A100","hue-1":"300","hue-2":"800","hue-3":"900"}},T={background:{"default":"800","hue-1":"300","hue-2":"600","hue-3":"900"}};M.forEach(function(e){var t={"default":"500","hue-1":"300","hue-2":"800","hue-3":"A100"};A[e]||(A[e]=t),T[e]||(T[e]=t)});var C=["50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700"];e.$inject=["$mdColorPalette"],o.$inject=["$mdTheming","$interpolate","$log"],r.$inject=["$mdTheming"],a.$inject=["$injector"]}(),function(){t.module("material.components.autocomplete",["material.core","material.components.icon"])}(),function(){function e(){return{restrict:"E"}}function n(e){function n(e,n,i,a,d,c,l){function m(o,r,l){r=i.extractElementByName(r,"md-bottom-sheet"),p=i.createBackdrop(o,"md-bottom-sheet-backdrop md-opaque"),p.on("click",function(){i.nextTick(d.cancel,!0)}),a.inherit(p,l.parent),e.enter(p,l.parent,null);var m=new u(r,l.parent);return l.bottomSheet=m,l.targetEvent&&t.element(l.targetEvent.target).blur(),a.inherit(m.element,l.parent),l.disableParentScroll&&(l.lastOverflow=l.parent.css("overflow"),l.parent.css("overflow","hidden")),e.enter(m.element,l.parent).then(function(){var e=t.element(r[0].querySelector("button")||r[0].querySelector("a")||r[0].querySelector("[ng-click]"));e.focus(),l.escapeToClose&&(l.rootElementKeyupCallback=function(e){e.keyCode===n.KEY_CODE.ESCAPE&&i.nextTick(d.cancel,!0)},c.on("keyup",l.rootElementKeyupCallback))})}function s(n,o,r){var i=r.bottomSheet;return e.leave(p),e.leave(i.element).then(function(){r.disableParentScroll&&(r.parent.css("overflow",r.lastOverflow),delete r.lastOverflow),i.cleanup(),r.targetEvent&&t.element(r.targetEvent.target).focus()})}function u(e,t){function a(t){e.css(n.CSS.TRANSITION_DURATION,"0ms")}function c(t){var o=t.pointer.distanceY;5>o&&(o=Math.max(-r,o/2)),e.css(n.CSS.TRANSFORM,"translate3d(0,"+(r+o)+"px,0)")}function m(t){if(t.pointer.distanceY>0&&(t.pointer.distanceY>20||Math.abs(t.pointer.velocityY)>o)){var r=e.prop("offsetHeight")-t.pointer.distanceY,a=Math.min(r/t.pointer.velocityY*.75,500);e.css(n.CSS.TRANSITION_DURATION,a+"ms"),i.nextTick(d.cancel,!0)}else e.css(n.CSS.TRANSITION_DURATION,""),e.css(n.CSS.TRANSFORM,"")}var s=l.register(t,"drag",{horizontal:!1});return t.on("$md.dragstart",a).on("$md.drag",c).on("$md.dragend",m),{element:e,cleanup:function(){s(),t.off("$md.dragstart",a).off("$md.drag",c).off("$md.dragend",m)}}}var p;return{themable:!0,targetEvent:null,onShow:m,onRemove:s,escapeToClose:!0,disableParentScroll:!0}}var o=.5,r=80;return n.$inject=["$animate","$mdConstant","$mdUtil","$mdTheming","$mdBottomSheet","$rootElement","$mdGesture"],e("$mdBottomSheet").setDefaults({methods:["disableParentScroll","escapeToClose","targetEvent"],options:n})}t.module("material.components.bottomSheet",["material.core","material.components.backdrop"]).directive("mdBottomSheet",e).provider("$mdBottomSheet",n),n.$inject=["$$interimElementProvider"]}(),function(){t.module("material.components.backdrop",["material.core"]).directive("mdBackdrop",["$mdTheming","$animate","$rootElement","$window","$log","$$rAF","$document",function(e,t,n,o,r,i,a){function d(d,l,m){var s=o.getComputedStyle(a[0].body);if("fixed"==s.position){var u=parseInt(s.height,10)+Math.abs(parseInt(s.top,10));l.css({height:u+"px"})}t.pin&&t.pin(l,n),i(function(){var t=l.parent()[0];if(t){var n=o.getComputedStyle(t);"static"==n.position&&r.warn(c)}e.inherit(l,l.parent())})}var c=" may not work properly in a scrolled, static-positioned parent container.";return{restrict:"E",link:d}}])}(),function(){function e(e){return{restrict:"E",link:function(t,n,o){e(n)}}}t.module("material.components.card",["material.core"]).directive("mdCard",e),e.$inject=["$mdTheming"]}(),function(){function e(e,n,o,r,i,a,d){function c(n,c){return c.type="checkbox",c.tabindex=c.tabindex||"0",n.attr("role",c.type),function(n,c,m,s){function u(e,t,o){m[e]&&n.$watch(m[e],function(e){o[e]&&c.attr(t,o[e])})}function p(e){var t=e.which||e.keyCode;(t===r.KEY_CODE.SPACE||t===r.KEY_CODE.ENTER)&&(e.preventDefault(),c.hasClass("md-focused")||c.addClass("md-focused"),f(e))}function f(e){c[0].hasAttribute("disabled")||n.$apply(function(){var t=m.ngChecked?m.checked:!s.$viewValue;s.$setViewValue(t,e&&e.type),s.$render()})}function h(){s.$viewValue?c.addClass(l):c.removeClass(l)}s=s||a.fakeNgModel(),i(c),m.ngChecked&&n.$watch(n.$eval.bind(n,m.ngChecked),s.$setViewValue.bind(s)),u("ngDisabled","tabindex",{"true":"-1","false":m.tabindex}),o.expectWithText(c,"aria-label"),e.link.pre(n,{on:t.noop,0:{}},m,[s]),n.mouseActive=!1,c.on("click",f).on("keypress",p).on("mousedown",function(){n.mouseActive=!0,d(function(){n.mouseActive=!1},100)}).on("focus",function(){n.mouseActive===!1&&c.addClass("md-focused")}).on("blur",function(){c.removeClass("md-focused")}),s.$render=h}}e=e[0];var l="md-checked";return{restrict:"E",transclude:!0,require:"?ngModel",priority:210,template:'
',compile:c}}t.module("material.components.checkbox",["material.core"]).directive("mdCheckbox",e),e.$inject=["inputDirective","$mdInkRipple","$mdAria","$mdConstant","$mdTheming","$mdUtil","$timeout"]}(),function(){function e(e){function t(e,t){this.$scope=e,this.$element=t}return{restrict:"E",controller:["$scope","$element",t],link:function(t,o,r){o[0];e(o),t.$broadcast("$mdContentLoaded",o),n(o[0])}}}function n(e){t.element(e).on("$md.pressdown",function(t){"t"===t.pointer.type&&(t.$materialScrollFixed||(t.$materialScrollFixed=!0,0===e.scrollTop?e.scrollTop=1:e.scrollHeight===e.scrollTop+e.offsetHeight&&(e.scrollTop-=1)))})}t.module("material.components.content",["material.core"]).directive("mdContent",e),e.$inject=["$mdTheming"]}(),function(){function e(e,n,o,r){function i(e){return t.isDefined(e.href)||t.isDefined(e.ngHref)||t.isDefined(e.ngLink)||t.isDefined(e.uiSref)}function a(e,t){return i(t)?'':''}function d(a,d,c){var l=d[0];n(d),e.attach(a,d);var m=l.textContent.trim();m||o.expect(d,"aria-label"),i(c)&&t.isDefined(c.ngDisabled)&&a.$watch(c.ngDisabled,function(e){d.attr("tabindex",e?-1:0)}),d.on("click",function(e){c.disabled===!0&&(e.preventDefault(),e.stopImmediatePropagation())}),a.mouseActive=!1,d.on("mousedown",function(){a.mouseActive=!0,r(function(){a.mouseActive=!1},100)}).on("focus",function(){a.mouseActive===!1&&d.addClass("md-focused")}).on("blur",function(){d.removeClass("md-focused")})}return{restrict:"EA",replace:!0,transclude:!0,template:a,link:d}}t.module("material.components.button",["material.core"]).directive("mdButton",e),e.$inject=["$mdButtonInkRipple","$mdTheming","$mdAria","$timeout"]}(),function(){function e(e){return{restrict:"E",link:e}}t.module("material.components.divider",["material.core"]).directive("mdDivider",e),e.$inject=["$mdTheming"]}(),function(){t.module("material.components.chips",["material.core","material.components.autocomplete"])}(),function(){function e(e,n){return{restrict:"E",link:function(o,r,i){n(r),e(function(){function e(){r.toggleClass("md-content-overflow",o.scrollHeight>o.clientHeight)}var n,o=r[0].querySelector("md-dialog-content");o&&(n=o.getElementsByTagName("img"),e(),t.element(n).on("load",e))})}}}function n(e){function n(e,t){return{template:['',' ','

{{ dialog.title }}

',"

{{ dialog.content }}

","
",'
',' '," {{ dialog.cancel }}"," ",' '," {{ dialog.ok }}"," ","
","
"].join("").replace(/\s\s+/g,""),controller:function(){this.hide=function(){e.hide(!0)},this.abort=function(){e.cancel()}},controllerAs:"dialog",bindToController:!0,theme:t.defaultTheme()}}function o(e,n,o,r,i,a,d,c){function l(e,n,r){function i(){function e(){var e=n[0].querySelector(".dialog-close");if(!e){var o=n[0].querySelectorAll(".md-actions button");e=o[o.length-1]}return t.element(e)}if(r.focusOnOpen){var o="alert"===r.$type?n.find("md-dialog-content"):e();o.focus()}}return n=o.extractElementByName(n,"md-dialog"),t.element(a[0].body).addClass("md-dialog-is-showing"),s(n,r),f(n.find("md-dialog"),r),p(e,n,r),g(n,r).then(function(){u(n,r),h(n,r),i()})}function m(e,n,o){return o.deactivateListeners(),o.unlockScreenReader(),o.hideBackdrop(),E(n,o)["finally"](function(){t.element(a[0].body).removeClass("md-dialog-is-showing"),n.remove(),o.origin.focus()})}function s(e,n){var r={element:null,bounds:null,focus:t.noop};n.origin=t.extend({},r,n.origin||{});var i=t.element((n.targetEvent||{}).target);i&&i.length&&(n.origin.element=i,n.origin.bounds=i[0].getBoundingClientRect(),n.origin.focus=function(){i.focus()}),n.parent=t.element(n.parent||c),n.disableParentScroll&&(n.restoreScroll=o.disableScrollAround(e,n.parent))}function u(t,n){var i=[],a=function(){var t="alert"==n.$type?e.hide:e.cancel;o.nextTick(t,!0)};if(n.escapeToClose){var d=n.parent,c=function(e){e.keyCode===r.KEY_CODE.ESCAPE&&(e.stopPropagation(),e.preventDefault(),a())};t.on("keyup",c),d.on("keyup",c),i.push(function(){t.off("keyup",c),d.off("keyup",c)})}if(n.clickOutsideToClose){var d=t,l=function(e){e.target===d[0]&&(e.stopPropagation(),e.preventDefault(),a())};d.on("click",l),i.push(function(){d.off("click",l)})}n.deactivateListeners=function(){i.forEach(function(e){e()}),n.deactivateListeners=null}}function p(e,t,n){n.hasBackdrop&&(n.backdrop=o.createBackdrop(e,"md-dialog-backdrop md-opaque"),i.enter(n.backdrop,n.parent)),n.hideBackdrop=function(){n.backdrop&&i.leave(n.backdrop),n.disableParentScroll&&n.restoreScroll(),n.hideBackdrop=null}}function f(e,t){var r="alert"===t.$type?"alertdialog":"dialog",i=e.find("md-dialog-content"),a=e.attr("id")||"dialog_"+o.nextUid();e.attr({role:r,tabIndex:"-1"}),0===i.length&&(i=e),i.attr("id",a),e.attr("aria-describedby",a),t.ariaLabel?n.expect(e,"aria-label",t.ariaLabel):n.expectAsync(e,"aria-label",function(){var e=i.text().split(/\s+/);return e.length>3&&(e=e.slice(0,3).concat("...")),e.join(" ")})}function h(e,t){function n(e){for(;e.parentNode;){if(e===document.body)return;for(var t=e.parentNode.children,r=0;r'+e+"
"}}}return n.$inject=["$mdDialog","$mdTheming"],o.$inject=["$mdDialog","$mdAria","$mdUtil","$mdConstant","$animate","$document","$window","$rootElement"],e("$mdDialog").setDefaults({methods:["disableParentScroll","hasBackdrop","clickOutsideToClose","escapeToClose","targetEvent","parent"],options:o}).addPreset("alert",{methods:["title","content","ariaLabel","ok","theme"],options:n}).addPreset("confirm",{methods:["title","content","ariaLabel","ok","cancel","theme"],options:n})}t.module("material.components.dialog",["material.core","material.components.backdrop"]).directive("mdDialog",e).provider("$mdDialog",n),e.$inject=["$$rAF","$mdTheming"],n.$inject=["$$interimElementProvider"]}(),function(){!function(){function e(){function e(e,t){t.prepend('
')}function t(e,t,n,o){function r(){d.direction=d.direction||"down",d.isOpen=d.isOpen||!1}function i(){t.on("mouseenter",d.mouseenter),t.on("mouseleave",d.mouseleave)}function a(){e.$watch("vm.direction",function(e,o){n.removeClass(t,"md-"+o),n.addClass(t,"md-"+e)}),e.$watch("vm.isOpen",function(e){var o=e?"md-is-open":"",r=e?"":"md-is-open";n.setClass(t,o,r)})}var d=this;d.open=function(){e.$evalAsync("vm.isOpen = true")},d.close=function(){!d.moused&&e.$evalAsync("vm.isOpen = false")},d.mouseenter=function(){d.moused=!0,d.open()},d.mouseleave=function(){d.moused=!1,d.close()},r(),i(),a(),o.nextTick(function(){n.addClass(t,"md-noop")})}return t.$inject=["$scope","$element","$animate","$mdUtil"],{restrict:"E",scope:{direction:"@?mdDirection",isOpen:"=?mdOpen"},bindToController:!0,controller:t,controllerAs:"vm",link:e}}function n(){function e(e){var n=e[0],o=e.controller("mdFabSpeedDial"),r=n.querySelectorAll(".md-fab-action-item"),i=n.querySelector(".md-css-variables"),a=i.style.zIndex;t.forEach(r,function(e,t){var n=e.style;n.transform=n.webkitTransform="",n.transitionDelay="",n.opacity=1,n.zIndex=r.length-t+a}),o.isOpen||t.forEach(r,function(e,t){var n,r,i=e.style;switch(o.direction){case"up":n=e.scrollHeight*(t+1),r="Y";break;case"down":n=-e.scrollHeight*(t+1),r="Y";break;case"left":n=e.scrollWidth*(t+1),r="X";break;case"right":n=-e.scrollWidth*(t+1),r="X"}var a="translate"+r+"("+n+"px)";i.transform=i.webkitTransform=a})}return{addClass:function(t,n,o){t.hasClass("md-fling")&&(e(t),o())},removeClass:function(t,n,o){e(t),o()}}}function o(){function e(e){var o=e[0],r=e.controller("mdFabSpeedDial"),i=o.querySelectorAll(".md-fab-action-item");t.forEach(i,function(e,t){var o=e.style,a=t*n;o.opacity=r.isOpen?1:0,o.transform=o.webkitTransform=r.isOpen?"scale(1)":"scale(0)",o.transitionDelay=(r.isOpen?a:i.length-a)+"ms"})}var n=65;return{addClass:function(t,n,o){e(t),o()},removeClass:function(t,n,o){e(t),o()}}}t.module("material.components.fabSpeedDial",["material.core","material.components.fabTrigger","material.components.fabActions"]).directive("mdFabSpeedDial",e).animation(".md-fling",n).animation(".md-scale",o).service("mdFabSpeedDialFlingAnimation",n).service("mdFabSpeedDialScaleAnimation",o)}()}(),function(){!function(){function e(){return{restrict:"E",require:["^?mdFabSpeedDial","^?mdFabToolbar"],compile:function(e,n){var o=e.children();return o.attr("ng-repeat")?o.addClass("md-fab-action-item"):o.wrap('
'),function(e,n,o,r){var i=r[0]||r[1];i&&t.forEach(n.children(),function(e){e=t.element(e).children()[0],t.element(e).on("focus",i.open),t.element(e).on("blur",i.close)})}}}}t.module("material.components.fabActions",["material.core"]).directive("mdFabActions",e)}()}(),function(){!function(){function n(){function e(e,t,n){var o=this;o.isOpen=o.isOpen||!1,o.open=function(){o.isOpen=!0,e.$apply()},o.close=function(){o.isOpen=!1,e.$apply()},t.addClass("md-fab-toolbar"),t.on("mouseenter",o.open),t.on("mouseleave",o.close),e.$watch("vm.isOpen",function(e){var o=e?"md-is-open":"",r=e?"":"md-is-open";n.setClass(t,o,r)})}function t(e,t,n){t.find("md-fab-trigger").find("button").attr("tabindex","-1"),t.find("md-fab-trigger").find("button").prepend('
')}return e.$inject=["$scope","$element","$animate"],{restrict:"E",transclude:!0,template:'
',scope:{isOpen:"=?mdOpen"},bindToController:!0,controller:e,controllerAs:"vm",link:t}}function o(){function n(n,o,r){var i=n[0],a=n.controller("mdFabToolbar"),d=i.querySelector(".md-fab-toolbar-background"),c=i.querySelector("md-fab-trigger button"),l=i.querySelector("md-fab-trigger button md-icon"),m=n.find("md-fab-actions").children();if(c&&d){var s=e.getComputedStyle(c).getPropertyValue("background-color"),u=i.offsetWidth,p=(i.offsetHeight,2*u);d.style.backgroundColor=s,d.style.borderRadius=u+"px",a.isOpen?(d.style.width=p+"px",d.style.height=p+"px",d.style.top=-(p/2)+"px",n.hasClass("md-left")&&(d.style.left=-(p/2)+"px",d.style.right=null),n.hasClass("md-right")&&(d.style.right=-(p/2)+"px",d.style.left=null),d.style.transitionDelay="0ms",l&&(l.style.transitionDelay=".3s"),t.forEach(m,function(e,t){e.style.transitionDelay=25*(m.length-t)+"ms"})):(d.style.width=c.offsetWidth+"px",d.style.height=c.offsetHeight+"px",d.style.top="0px",n.hasClass("md-left")&&(d.style.left="0px",d.style.right=null),n.hasClass("md-right")&&(d.style.right="0px",d.style.left=null),d.style.transitionDelay="200ms",l&&(l.style.transitionDelay="0ms"),t.forEach(m,function(e,t){e.style.transitionDelay=25*t+"ms"}))}}return{addClass:function(e,t,o){n(e,t,o),o()},removeClass:function(e,t,o){n(e,t,o),o()}}}t.module("material.components.fabToolbar",["material.core","material.components.fabTrigger","material.components.fabActions"]).directive("mdFabToolbar",n).animation(".md-fab-toolbar",o).service("mdFabToolbarAnimation",o)}()}(),function(){!function(){function e(){return{restrict:"E",require:["^?mdFabSpeedDial","^?mdFabToolbar"],link:function(e,n,o,r){var i=r[0]||r[1];i&&t.forEach(n.children(),function(e){t.element(e).on("focus",i.open),t.element(e).on("blur",i.close)})}}}t.module("material.components.fabTrigger",["material.core"]).directive("mdFabTrigger",e)}()}(),function(){function e(e,o,r,i){function a(n,a,d,c){function l(){for(var e in o.MEDIA)i(e),i.getQuery(o.MEDIA[e]).addListener(T);return i.watchResponsiveAttributes(["md-cols","md-row-height"],d,s)}function m(){c.layoutDelegate=t.noop,C();for(var e in o.MEDIA)i.getQuery(o.MEDIA[e]).removeListener(T)}function s(e){null==e?c.invalidateLayout():i(e)&&c.invalidateLayout()}function u(e){var o=b(),i={tileSpans:g(o),colCount:E(),rowMode:$(),rowHeight:M(),gutter:v()};if(e||!t.equals(i,y)){var d=r(i.colCount,i.tileSpans,o).map(function(e,n){return{grid:{element:a,style:h(i.colCount,n,i.gutter,i.rowMode,i.rowHeight)},tiles:e.map(function(e,n){return{element:t.element(o[n]),style:f(e.position,e.spans,i.colCount,i.rowCount,i.gutter,i.rowMode,i.rowHeight)}})}}).reflow().performance();n.mdOnLayout({$event:{performance:d}}),y=i}}function p(e){return w+e+k}function f(e,t,n,o,r,i,a){var d=1/n*100,c=(n-1)/n,l=x({share:d,gutterShare:c,gutter:r}),m={left:N({unit:l,offset:e.col,gutter:r}),width:_({unit:l,span:t.col,gutter:r}),paddingTop:"",marginTop:"",top:"",height:""};switch(i){case"fixed":m.top=N({unit:a,offset:e.row,gutter:r}),m.height=_({unit:a,span:t.row,gutter:r});break;case"ratio":var s=d/a,u=x({share:s,gutterShare:c,gutter:r});m.paddingTop=_({unit:u,span:t.row,gutter:r}),m.marginTop=N({unit:u,offset:e.row,gutter:r});break;case"fit":var p=(o-1)/o,s=1/o*100,u=x({share:s,gutterShare:p,gutter:r});m.top=N({unit:u,offset:e.row,gutter:r}),m.height=_({unit:u,span:t.row,gutter:r})}return m}function h(e,t,n,o,r){var i={height:"",paddingBottom:""};switch(o){case"fixed":i.height=_({unit:r,span:t,gutter:n});break;case"ratio":var a=1===e?0:(e-1)/e,d=1/e*100,c=d*(1/r),l=x({share:c,gutterShare:a,gutter:n});i.paddingBottom=_({unit:l,span:t,gutter:n});break;case"fit":}return i}function b(){return[].filter.call(a.children(),function(e){return"MD-GRID-TILE"==e.tagName})}function g(e){return[].map.call(e,function(e){var n=t.element(e).controller("mdGridTile");return{row:parseInt(i.getResponsiveAttribute(n.$attrs,"md-rowspan"),10)||1,col:parseInt(i.getResponsiveAttribute(n.$attrs,"md-colspan"),10)||1}})}function E(){var e=parseInt(i.getResponsiveAttribute(d,"md-cols"),10);if(isNaN(e))throw"md-grid-list: md-cols attribute was not found, or contained a non-numeric value";return e}function v(){return A(i.getResponsiveAttribute(d,"md-gutter")||1)}function M(){var e=i.getResponsiveAttribute(d,"md-row-height");switch($()){case"fixed":return A(e);case"ratio":var t=e.split(":");return parseFloat(t[0])/parseFloat(t[1]);case"fit":return 0}}function $(){var e=i.getResponsiveAttribute(d,"md-row-height");return"fit"==e?"fit":-1!==e.indexOf(":")?"ratio":"fixed"}function A(e){return/\D$/.test(e)?e:e+"px"}a.attr("role","list"),c.layoutDelegate=u;var T=t.bind(c,c.invalidateLayout),C=l();n.$on("$destroy",m);var y,w=e.startSymbol(),k=e.endSymbol(),x=e(p("share")+"% - ("+p("gutter")+" * "+p("gutterShare")+")"),N=e("calc(("+p("unit")+" + "+p("gutter")+") * "+p("offset")+")"),_=e("calc(("+p("unit")+") * "+p("span")+" + ("+p("span")+" - 1) * "+p("gutter")+")")}return{restrict:"E",controller:n, scope:{mdOnLayout:"&"},link:a}}function n(e){this.layoutInvalidated=!1,this.tilesInvalidated=!1,this.$timeout_=e.nextTick,this.layoutDelegate=t.noop}function o(e){function n(t,n){var o,a,d,c,l,m;return c=e.time(function(){a=r(t,n)}),o={layoutInfo:function(){return a},map:function(t){return l=e.time(function(){var e=o.layoutInfo();d=t(e.positioning,e.rowCount)}),o},reflow:function(t){return m=e.time(function(){var e=t||i;e(d.grid,d.tiles)}),o},performance:function(){return{tileCount:n.length,layoutTime:c,mapTime:l,reflowTime:m,totalTime:c+l+m}}}}function o(e,t){e.element.css(e.style),t.forEach(function(e){e.element.css(e.style)})}function r(e,t){function n(t,n){if(t.col>e)throw"md-grid-list: Tile at position "+n+" has a colspan ("+t.col+") that exceeds the column count ("+e+")";for(var a=0,m=0;m-a=e?o():(a=l.indexOf(0,d),-1!==a&&-1!==(m=i(a+1))?d=m+1:(a=m=0,o()));return r(a,t.col,t.row),d=a+t.col,{col:a,row:c}}function o(){d=0,c++,r(0,e,-1)}function r(e,t,n){for(var o=e;e+t>o;o++)l[o]=Math.max(l[o]+n,0)}function i(e){var t;for(t=e;tn;n++)t.push(0);return t}var d=0,c=0,l=a();return{positioning:t.map(function(e,t){return{spans:e,position:n(e,t)}}),rowCount:c+Math.max.apply(Math,l)}}var i=o;return n.animateWith=function(e){i=t.isFunction(e)?e:o},n}function r(e){function n(n,o,r,i){o.attr("role","listitem");var a=e.watchResponsiveAttributes(["md-colspan","md-rowspan"],r,t.bind(i,i.invalidateLayout));i.invalidateTiles(),n.$on("$destroy",function(){a(),i.invalidateLayout()}),t.isDefined(n.$parent.$index)&&n.$watch(function(){return n.$parent.$index},function(e,t){e!==t&&i.invalidateTiles()})}return{restrict:"E",require:"^mdGridList",template:"
",transclude:!0,scope:{},controller:["$attrs",function(e){this.$attrs=e}],link:n}}function i(){return{template:"
",transclude:!0}}t.module("material.components.gridList",["material.core"]).directive("mdGridList",e).directive("mdGridTile",r).directive("mdGridTileFooter",i).directive("mdGridTileHeader",i).factory("$mdGridLayout",o),e.$inject=["$interpolate","$mdConstant","$mdGridLayout","$mdMedia"],n.$inject=["$mdUtil"],n.prototype={invalidateTiles:function(){this.tilesInvalidated=!0,this.invalidateLayout()},invalidateLayout:function(){this.layoutInvalidated||(this.layoutInvalidated=!0,this.$timeout_(t.bind(this,this.layout)))},layout:function(){try{this.layoutDelegate(this.tilesInvalidated)}finally{this.layoutInvalidated=!1,this.tilesInvalidated=!1}}},o.$inject=["$mdUtil"],r.$inject=["$mdMedia"]}(),function(){function e(e,t,n){function o(o,r,i){function a(){var e=r.parent();return e.attr("aria-label")||e.text()?!0:e.parent().attr("aria-label")||e.parent().text()?!0:!1}function d(){function t(){return!o.fontIcon&&!o.fontSet&&!i.hasOwnProperty("class")}o.svgIcon||o.svgSrc||(o.fontIcon&&r.addClass("md-font "+o.fontIcon),o.fontSet&&r.addClass(e.fontSet(o.fontSet)),t()&&r.addClass(e.fontSet()))}t(r),d();var c=i.alt||o.fontIcon||o.svgIcon||r.text(),l=i.$normalize(i.$attr.mdSvgIcon||i.$attr.mdSvgSrc||"");i["aria-label"]||(""==c||a()?r.text()||n.expect(r,"aria-hidden","true"):(n.expect(r,"aria-label",c),n.expect(r,"role","img"))),l&&i.$observe(l,function(t){r.empty(),t&&e(t).then(function(e){r.append(e)})})}return{scope:{fontSet:"@mdFontSet",fontIcon:"@mdFontIcon",svgIcon:"@mdSvgIcon",svgSrc:"@mdSvgSrc"},restrict:"E",link:o}}t.module("material.components.icon",["material.core"]).directive("mdIcon",e),e.$inject=["$mdIcon","$mdTheming","$mdAria"]}(),function(){function e(){}function n(e,t){this.url=e,this.viewBoxSize=t||r.defaultViewBoxSize}function o(e,n,o,r,i){function a(e){return e=e||"",E[e]?o.when(E[e].clone()):v.test(e)?s(e).then(c(e)):(-1==e.indexOf(":")&&(e="$default:"+e),l(e)["catch"](m)["catch"](u)["catch"](p).then(c(e)))}function d(n){var o=t.isUndefined(n)||!(n&&n.length);if(o)return e.defaultFontSet;var r=n;return t.forEach(e.fontSets,function(e){e.alias==n&&(r=e.fontSet||r)}),r}function c(t){return function(n){return E[t]=f(n)?n:new h(n,e[t]),E[t].clone()}}function l(t){var n=e[t];return n?s(n.url).then(function(e){return new h(e,n)}):o.reject(t)}function m(t){function n(e){var n=t.slice(t.lastIndexOf(":")+1),r=e.querySelector("#"+n);return r?new h(r,i):o.reject(t)}var r=t.substring(0,t.lastIndexOf(":"))||"$default",i=e[r];return i?s(i.url).then(n):o.reject(t)}function s(e){return n.get(e,{cache:i}).then(function(e){return t.element("
").append(e.data).find("svg")[0]})}function u(e){var n;return t.isString(e)&&(n="icon "+e+" not found",r.warn(n)),o.reject(n||e)}function p(e){var n=t.isString(e)?e:e.message||e.data||e.statusText;return r.warn(n),o.reject(n)}function f(e){return t.isDefined(e.element)&&t.isDefined(e.config)}function h(e,n){"svg"!=e.tagName&&(e=t.element('').append(e)[0]),e.getAttribute("xmlns")||e.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.element=e,this.config=n,this.prepare()}function b(){var n=this.config?this.config.viewBoxSize:e.defaultViewBoxSize;t.forEach({fit:"",height:"100%",width:"100%",preserveAspectRatio:"xMidYMid meet",viewBox:this.element.getAttribute("viewBox")||"0 0 "+n+" "+n},function(e,t){this.element.setAttribute(t,e)},this),t.forEach({"pointer-events":"none",display:"block"},function(e,t){this.element.style[t]=e},this)}function g(){return this.element.cloneNode(!0)}var E={},v=/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/i;return h.prototype={clone:g,prepare:b},a.fontSet=d,a}t.module("material.components.icon").provider("$mdIcon",e);var r={defaultViewBoxSize:24,defaultFontSet:"material-icons",fontSets:[]};e.prototype={icon:function(e,t,o){return-1==e.indexOf(":")&&(e="$default:"+e),r[e]=new n(t,o),this},iconSet:function(e,t,o){return r[e]=new n(t,o),this},defaultIconSet:function(e,t){var o="$default";return r[o]||(r[o]=new n(e,t)),r[o].viewBoxSize=t||r.defaultViewBoxSize,this},defaultViewBoxSize:function(e){return r.defaultViewBoxSize=e,this},fontSet:function(e,t){return r.fontSets.push({alias:e,fontSet:t||e}),this},defaultFontSet:function(e){return r.defaultFontSet=e?e:"",this},defaultIconSize:function(e){return r.defaultIconSize=e,this},preloadIcons:function(e){var t=this,n=[{id:"md-tabs-arrow",url:"md-tabs-arrow.svg",svg:''},{id:"md-close",url:"md-close.svg",svg:''},{id:"md-cancel",url:"md-cancel.svg",svg:''},{id:"md-menu",url:"md-menu.svg",svg:''},{id:"md-toggle-arrow",url:"md-toggle-arrow-svg",svg:''}];n.forEach(function(n){t.icon(n.id,n.url),e.put(n.url,n.svg)})},$get:["$http","$q","$log","$templateCache",function(e,t,n,i){return this.preloadIcons(i),o(r,e,t,n,i)}]}}(),function(){function e(e,t){function n(t,n,o){e(n)}function o(e,n,o){var r=this;r.isErrorGetter=o.mdIsError&&t(o.mdIsError),r.delegateClick=function(){r.input.focus()},r.element=n,r.setFocused=function(e){n.toggleClass("md-input-focused",!!e)},r.setHasValue=function(e){n.toggleClass("md-input-has-value",!!e)},r.setInvalid=function(e){n.toggleClass("md-input-invalid",!!e)},e.$watch(function(){return r.label&&r.input},function(e){e&&!r.label.attr("for")&&r.label.attr("for",r.input.attr("id"))})}return o.$inject=["$scope","$element","$attrs"],{restrict:"E",link:n,controller:o}}function n(){return{restrict:"E",require:"^?mdInputContainer",link:function(e,t,n,o){o&&!n.mdNoFloat&&(o.label=t,e.$on("$destroy",function(){o.label=null}))}}}function o(e,n,o){function r(r,i,a,d){function c(e){return s.setHasValue(!u.$isEmpty(e)),e}function l(){s.setHasValue(i.val().length>0||(i[0].validity||{}).badInput)}function m(){function o(e){return h(),e}function a(){if(m.style.height=m.offsetHeight+"px",i.addClass("md-no-flex"),isNaN(p)){l.style.height="auto",l.scrollTop=0;var e=d();e&&(l.style.height=e+"px")}else{l.setAttribute("rows",1),f||(l.style.minHeight="0",f=i.prop("clientHeight"),l.style.minHeight=null);var t=Math.max(p,Math.round(l.scrollHeight/f));l.setAttribute("rows",t)}i.removeClass("md-no-flex"),m.style.height="auto"}function d(){var e=l.scrollHeight-l.offsetHeight;return l.offsetHeight+(e>0?e:0)}function c(e){l.scrollTop=0;var t=l.scrollHeight-l.offsetHeight,n=l.offsetHeight+t;l.style.height=n+"px"}if(!t.isDefined(i.attr("md-no-autogrow"))){var l=i[0],m=s.element[0],p=0/0,f=null;l.hasAttribute("rows")&&(p=parseInt(l.getAttribute("rows")));var h=e.debounce(a,1);u?(u.$formatters.push(o),u.$viewChangeListeners.push(o)):h(),i.on("keydown input",h),isNaN(p)&&(i.attr("rows","1"),i.on("scroll",c)),t.element(n).on("resize",h),r.$on("$destroy",function(){t.element(n).off("resize",h)})}}var s=d[0],u=d[1]||e.fakeNgModel(),p=t.isDefined(a.readonly);if(s){if(s.input)throw new Error(" can only have *one*
');r.$set("ngTrim","false"),l.element.append(m),c.$formatters.push(a),c.$viewChangeListeners.push(a),o.on("input keydown",function(){a()}),n.$watch(r.mdMaxlength,function(n){d=n,t.isNumber(n)&&n>0?(m.parent().length||e.enter(m,l.element,t.element(l.element[0].lastElementChild)),a()):e.leave(m)}),c.$validators["md-maxlength"]=function(e,n){return!t.isNumber(d)||0>d?!0:(e||o.val()||n||"").length<=d}}return{restrict:"A",require:["ngModel","^mdInputContainer"],link:n}}function i(e){function n(n,o,r,i){if(i&&!t.isDefined(i.element.attr("md-no-float"))){var a=r.placeholder;if(o.removeAttr("placeholder"),0==i.element.find("label").length){if(i.input&&"MD-SELECT"!=i.input[0].nodeName){var d='";i.element.addClass("md-icon-float"),i.element.prepend(d)}}else"MD-SELECT"!=o[0].nodeName&&e.warn("The placeholder='"+a+"' will be ignored since this md-input-container has a child label element.")}}return{restrict:"A",require:"^^?mdInputContainer",priority:200,link:n}}t.module("material.components.input",["material.core"]).directive("mdInputContainer",e).directive("label",n).directive("input",o).directive("textarea",o).directive("mdMaxlength",r).directive("placeholder",i),e.$inject=["$mdTheming","$parse"],o.$inject=["$mdUtil","$window","$mdAria"],r.$inject=["$animate"],i.$inject=["$log"]}(),function(){function e(e){return{restrict:"E",compile:function(t){return t[0].setAttribute("role","list"),e}}}function n(e,n,o){var r=["md-checkbox","md-switch"];return{restrict:"E",controller:"MdListController",compile:function(i,a){function d(){for(var e,t,n=["md-switch","md-checkbox"],o=0;t=n[o];++o)if((e=i.find(t)[0])&&!e.hasAttribute("aria-label")){var r=i.find("p")[0];if(!r)return;e.setAttribute("aria-label","Toggle "+r.textContent)}}function c(n){var o;if("div"==n)o=t.element('
'),o.append(i.contents()),i.addClass("md-proxy-focus");else{o=t.element('
');var r=["ng-click","aria-label","ng-disabled"];t.forEach(r,function(e){i[0].hasAttribute(e)&&(o[0].setAttribute(e,i[0].getAttribute(e)),i[0].removeAttribute(e))}),o.children().eq(0).append(i.contents())}if(i[0].setAttribute("tabindex","-1"),i.append(o),p&&p.hasAttribute("ng-click")){e.expect(p,"aria-label");var d=t.element('');d.attr("ng-click",p.getAttribute("ng-click")),p.removeAttribute("ng-click"),p.setAttribute("tabindex","-1"),p.classList.remove("md-secondary"),d.append(p),p=d[0]}p&&(p.hasAttribute("ng-click")||a.ngClick&&l(p))&&(i.addClass("md-with-secondary"),i.append(p))}function l(e){return-1!=r.indexOf(e.nodeName.toLowerCase())}function m(e,i,a,d){function c(){var e=i.children();e.length&&!e[0].hasAttribute("ng-click")&&t.forEach(r,function(e){t.forEach(s.querySelectorAll(e),function(e){m.push(e)})})}function l(){(m.length||u)&&(i.addClass("md-clickable"),d.attachRipple(e,t.element(i[0].querySelector(".md-no-style"))))}var m=[],s=i[0].firstElementChild,u=s&&s.hasAttribute("ng-click");c(),l(),i.hasClass("md-proxy-focus")&&m.length&&t.forEach(m,function(n){n=t.element(n),e.mouseActive=!1,n.on("mousedown",function(){e.mouseActive=!0,o(function(){e.mouseActive=!1},100)}).on("focus",function(){e.mouseActive===!1&&i.addClass("md-focused"),n.on("blur",function t(){i.removeClass("md-focused"),n.off("blur",t)})})}),u||m.length||s&&s.addEventListener("keypress",function(e){if("INPUT"!=e.target.nodeName&&"TEXTAREA"!=e.target.nodeName){var t=e.which||e.keyCode;t==n.KEY_CODE.SPACE&&s&&(s.click(),e.preventDefault(),e.stopPropagation())}}),i.off("click"),i.off("keypress"),m.length&&s&&i.children().eq(0).on("click",function(e){s.contains(e.target)&&t.forEach(m,function(n){e.target===n||n.contains(e.target)||t.element(n).triggerHandler("click")})})}var s,u,p=i[0].querySelector(".md-secondary");if(i[0].setAttribute("role","listitem"),a.ngClick)c("button");else{for(var f,h=0;f=r[h];++h)if(u=i[0].querySelector(f)){s=!0;break}s?c("div"):i[0].querySelector("md-button")||i.addClass("md-no-proxy")}return d(),m}}}function o(e,t,n){function o(e,t){var o={};n.attach(e,t,o)}var r=this;r.attachRipple=o}t.module("material.components.list",["material.core"]).controller("MdListController",o).directive("mdList",e).directive("mdListItem",n),e.$inject=["$mdTheming"],n.$inject=["$mdAria","$mdConstant","$timeout"],o.$inject=["$scope","$element","$mdListInkRipple"]}(),function(){function e(e){function n(e){e.addClass("md-menu");var t=e.children()[0];if(t.hasAttribute("ng-click")||(t=t.querySelector("[ng-click]")),t&&t.setAttribute("aria-haspopup","true"),2!=e.children().length)throw Error("Invalid HTML for md-menu. Expected two children elements.");return o}function o(e,n,o,r){var i=t.element('
'),a=n.children()[1];i.append(a),r.init(i),e.$on("$destroy",function(){i.remove(),r.close()})}return{restrict:"E",require:"mdMenu",controller:"mdMenuCtrl",scope:!0,compile:n}}function n(e,t,n,o){var r,i,a=this;this.init=function(e){r=e,i=n[0].querySelector("[ng-click]")},this.open=function(t){t&&t.stopPropagation(),a.isOpen=!0,i.setAttribute("aria-expanded","true"),e.show({scope:o,mdMenuCtrl:a,element:r,target:n[0]})},o.$mdOpenMenu=this.open,this.close=function(t){a.isOpen&&(a.isOpen=!1,i.setAttribute("aria-expanded","false"),e.hide(),t||n.children()[0].focus())},this.positionMode=function(){var e=(t.mdPositionMode||"target").split(" ");return 1==e.length&&e.push(e[0]),{left:e[0],top:e[1]}},this.offsets=function(){var e=(t.mdOffset||"0 0").split(" ").map(parseFloat);if(2==e.length)return{left:e[0],top:e[1]};if(1==e.length)return{top:e[0],left:e[0]};throw Error("Invalid offsets specified. Please follow format or ")}}t.module("material.components.menu",["material.core","material.components.backdrop"]).directive("mdMenu",e).controller("mdMenuCtrl",n),e.$inject=["$mdMenu"],n.$inject=["$mdMenu","$attrs","$element","$scope"]}(),function(){function o(o){function r(o,r,a,d,c,l){function m(e,n,i){function l(){if(!i.target)throw Error("$mdMenu.show() expected a target to animate from in options.target");t.extend(i,{alreadyOpen:!1,isRemoved:!1,target:t.element(i.target),parent:t.element(i.parent),menuContentEl:t.element(n[0].querySelector("md-menu-content")),backdrop:i.hasBackdrop&&a.createBackdrop(e,"md-menu-backdrop md-click-catcher")})}function m(){i.resizeFn=function(){f(n,i)},t.element(r).on("resize",i.resizeFn),t.element(r).on("orientationchange",i.resizeFn)}function u(){i.parent.append(n),n.removeClass("md-leave"),o(function(){o(function(){f(n,i),o(function(){n.addClass("md-active"),i.alreadyOpen=!0,n[0].style[c.CSS.TRANSFORM]=""})})})}function p(){n.addClass("md-clickable"),i.backdrop&&i.backdrop.on("click",function(t){t.preventDefault(),t.stopPropagation(),e.$apply(function(){i.mdMenuCtrl.close(!0)})}),i.menuContentEl.on("keydown",function(t){e.$apply(function(){switch(t.keyCode){case c.KEY_CODE.ESCAPE:i.mdMenuCtrl.close();break;case c.KEY_CODE.UP_ARROW:s(t,i.menuContentEl,i,-1);break;case c.KEY_CODE.DOWN_ARROW:s(t,i.menuContentEl,i,1)}})});var t=function(t){function n(){e.$apply(function(){i.mdMenuCtrl.close()})}function o(e,t){if(!e)return!1;for(var n,o=0;n=t[o];++o)for(var r,i=[n,"data-"+n,"x-"+n],a=0;r=i[a];++a)if(e.hasAttribute(r))return!0;return!1}var r=t.target;do{if(r==i.menuContentEl[0])return;if(o(r,["ng-click","ng-href","ui-sref"])){r.hasAttribute("disabled")||n();break}}while(r=r.parentNode)};i.menuContentEl[0].addEventListener("click",t,!0);var o=i.menuContentEl[0].querySelector("[md-menu-focus-target]");return o||(o=i.menuContentEl[0].firstElementChild.firstElementChild),o.focus(),function(){n.removeClass("md-clickable"),i.backdrop.off("click"),i.menuContentEl.off("keydown"),i.menuContentEl[0].removeEventListener("click",t,!0)}}return l(i),d.inherit(i.menuContentEl,i.target),m(),i.disableParentScroll&&(i.restoreScroll=a.disableScrollAround(i.element)),i.backdrop&&(d.inherit(i.backdrop,i.parent),i.parent.append(i.backdrop)),u(),h.waitTransitionEnd(n,{timeout:370})["finally"](function(e){return i.cleanupInteraction=p(),e})}function s(e,t,n,o){for(var r=a.getClosest(e.target,"MD-MENU-ITEM"),i=a.nodesToArray(t[0].children),d=i.indexOf(r),c=d+o;c>=0&&c
',compile:n}}t.module("material.components.progressCircular",["material.core"]).directive("mdProgressCircular",e),e.$inject=["$mdConstant","$mdTheming"]}(),function(){function e(e,o,r){function i(e,t,n){return e.attr("aria-valuemin",0),e.attr("aria-valuemax",100),e.attr("role","progressbar"),a}function a(i,a,c){r(a);var l=a[0].querySelector(".md-bar1").style,m=a[0].querySelector(".md-bar2").style,s=t.element(a[0].querySelector(".md-container"));c.$observe("value",function(e){if("query"!=c.mdMode){var t=d(e);a.attr("aria-valuenow",t),m[o.CSS.TRANSFORM]=n[t]}}),c.$observe("mdBufferValue",function(e){l[o.CSS.TRANSFORM]=n[d(e)]}),e(function(){s.addClass("md-ready")})}function d(e){return e>100?100:0>e?0:Math.ceil(e||0)}return{restrict:"E",template:'
',compile:i}}t.module("material.components.progressLinear",["material.core"]).directive("mdProgressLinear",e),e.$inject=["$$rAF","$mdConstant","$mdTheming"];var n=function(){function e(e){var t=e/100,n=(e-100)/2;return"translateX("+n.toString()+"%) scale("+t.toString()+", 1)"}for(var t=new Array(101),n=0;101>n;n++)t[n]=e(n);return t}()}(),function(){function e(e,n,o,r){function i(i,a,d,c){function l(){a.hasClass("md-focused")||a.addClass("md-focused")}function m(o){var r=o.which||o.keyCode;switch(r){case n.KEY_CODE.LEFT_ARROW:case n.KEY_CODE.UP_ARROW:o.preventDefault(),s.selectPrevious(),l();break;case n.KEY_CODE.RIGHT_ARROW:case n.KEY_CODE.DOWN_ARROW:o.preventDefault(),s.selectNext(),l();break;case n.KEY_CODE.ENTER:var i=t.element(e.getClosest(a[0],"form"));i.length>0&&i.triggerHandler("submit")}}o(a);var s=c[0],u=c[1]||e.fakeNgModel();s.init(u),i.mouseActive=!1,a.attr({role:"radiogroup",tabIndex:a.attr("tabindex")||"0"}).on("keydown",m).on("mousedown",function(e){i.mouseActive=!0,r(function(){i.mouseActive=!1},100)}).on("focus",function(){i.mouseActive===!1&&s.$element.addClass("md-focused")}).on("blur",function(){s.$element.removeClass("md-focused")})}function a(e){this._radioButtonRenderFns=[],this.$element=e}function d(){return{init:function(e){this._ngModelCtrl=e,this._ngModelCtrl.$render=t.bind(this,this.render)},add:function(e){this._radioButtonRenderFns.push(e)},remove:function(e){var t=this._radioButtonRenderFns.indexOf(e);-1!==t&&this._radioButtonRenderFns.splice(t,1)},render:function(){this._radioButtonRenderFns.forEach(function(e){e()})},setViewValue:function(e,t){this._ngModelCtrl.$setViewValue(e,t),this.render()},getViewValue:function(){return this._ngModelCtrl.$viewValue},selectNext:function(){return c(this.$element,1)},selectPrevious:function(){return c(this.$element,-1)},setActiveDescendant:function(e){this.$element.attr("aria-activedescendant",e)}}}function c(n,o){var r=e.iterator(n[0].querySelectorAll("md-radio-button"),!0);if(r.count()){var i=function(e){return!t.element(e).attr("disabled")},a=n[0].querySelector("md-radio-button.md-checked"),d=r[0>o?"previous":"next"](a,i)||r.first();t.element(d).triggerHandler("click")}}return a.prototype=d(),{restrict:"E",controller:["$element",a],require:["mdRadioGroup","?ngModel"],link:{pre:i}}}function n(e,t,n){function o(o,i,a,d){function c(e){i[0].hasAttribute("disabled")||o.$apply(function(){d.setViewValue(a.value,e&&e.type)})}function l(){var e=d.getViewValue()==a.value;e!==s&&(s=e,i.attr("aria-checked",e),e?(i.addClass(r),d.setActiveDescendant(i.attr("id"))):i.removeClass(r))}function m(n,o){function r(){return a.id||"radio_"+t.nextUid()}o.ariaId=r(),n.attr({id:o.ariaId,role:"radio","aria-checked":"false"}),e.expectWithText(n,"aria-label")}var s;n(i),m(i,o),d.add(l),a.$observe("value",l),i.on("click",c).on("$destroy",function(){d.remove(l)})}var r="md-checked";return{restrict:"E",require:"^mdRadioGroup",transclude:!0,template:'
',link:o}}t.module("material.components.radioButton",["material.core"]).directive("mdRadioGroup",e).directive("mdRadioButton",n),e.$inject=["$mdUtil","$mdConstant","$mdTheming","$timeout"],n.$inject=["$mdAria","$mdUtil","$mdTheming"]}(),function(){function e(e,o,r,i,a,d,c){function l(a,l){var m=t.element("");if(m.append(''),m.addClass("md-select-value"),m[0].hasAttribute("id")||m.attr("id","select_value_label_"+o.nextUid()),a.find("md-content").length||a.append(t.element("").append(a.contents())),l.mdOnOpen&&a.find("md-content").prepend(t.element("").attr("md-mode","indeterminate").attr("ng-hide","$$loadingAsyncDone").wrap("
").parent()),l.name){var s=t.element(',