{"version":3,"sources":["webpack:///./lib/utils/poll.js","webpack:///./vue_shared/directives/tooltip.js","webpack:////opt/gitlab/embedded/service/gitlab-rails/node_modules/visibilityjs/lib/visibility.core.js","webpack:////opt/gitlab/embedded/service/gitlab-rails/node_modules/visibilityjs/lib/visibility.timers.js","webpack:///./vue_shared/components/icon.vue?c951","webpack:///vue_shared/components/icon.vue","webpack:///./vue_shared/components/icon.vue?25af","webpack:///./vue_shared/components/icon.vue","webpack:///./vue_shared/components/ci_badge_link.vue?5350","webpack:///./vue_shared/components/ci_badge_link.vue?339e","webpack:///vue_shared/components/ci_badge_link.vue","webpack:///./vue_shared/components/ci_badge_link.vue","webpack:////opt/gitlab/embedded/service/gitlab-rails/node_modules/visibilityjs/index.js","webpack:///./lib/utils/http_status.js","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue?bf53","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue?c209","webpack:///vue_shared/components/user_avatar/user_avatar_image.vue","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue","webpack:///../images/no_avatar.png","webpack:///./vue_shared/mixins/timeago.js","webpack:///./vue_shared/components/ci_icon.vue?411a","webpack:///vue_shared/components/ci_icon.vue","webpack:///./vue_shared/components/ci_icon.vue?9b87","webpack:///./vue_shared/components/ci_icon.vue"],"names":["Poll","options","arguments","length","undefined","_classCallCheck","this","data","notificationCallback","intervalHeader","timeoutID","canPoll","response","_this","headers","Object","_common_utils__WEBPACK_IMPORTED_MODULE_1__","pollInterval","parseInt","status","_http_status__WEBPACK_IMPORTED_MODULE_0__","OK","setTimeout","makeRequest","successCallback","_this2","_options","resource","method","errorCallback","then","checkConditions","catch","error","ABORTED","clearTimeout","__webpack_exports__","bind","el","jquery__WEBPACK_IMPORTED_MODULE_0___default","tooltip","trigger","componentUpdated","unbind","global","lastId","self","onVisible","callback","support","isSupported","hidden","listener","change","e","state","number","_callbacks","_listen","id","afterPrerendering","_doc","webkitHidden","visibilityState","webkitVisibilityState","document","_change","event","i","call","_init","apply","addEventListener","attachEvent","module","exports","Visibility","window","lastTimer","install","every","interval","hiddenInterval","_time","_timers","visible","_run","stop","_stop","_timed","_wasHidden","_stopRun","runNow","timer","runner","last","Date","delay","setInterval","clearInterval","isHidden","wasHidden","__webpack_require__","validSizes","components_iconvue_type_script_lang_js","props","name","type","String","required","size","Number","default","validator","value","includes","cssClasses","width","height","y","x","computed","spriteHref","gon","sprite_icons","iconTestClass","iconSizeClass","component","componentNormalizer","_vm","_h","$createElement","_c","_self","class","attrs","_b","xlink:href","components_ci_badge_linkvue_type_script_lang_js","components","CiIcon","ci_icon","directives","showText","Boolean","cssClass","className","group","rawName","href","details_path","title","text","_v","_s","_e","NO_CONTENT","MULTIPLE_CHOICES","BAD_REQUEST","NOT_FOUND","user_avatar_user_avatar_imagevue_type_script_lang_js","lazy","imgSrc","no_avatar_default","a","imgAlt","tooltipText","tooltipPlacement","sanitizedSource","resultantSrcAttribute","lazy_loader","tooltipContainer","avatarSizeClass","_obj","staticClass","src","alt","data-src","data-container","data-placement","data-boundary","methods","timeFormated","time","_lib_utils_datetime_utility__WEBPACK_IMPORTED_MODULE_0__","format","tooltipTitle","components_ci_iconvue_type_script_lang_js","Icon","borderless","icon"],"mappings":"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","file":"commons~pages.projects.commit.pipelines~pages.projects.jobs.show~pages.projects.pipelines.builds~pag~54a338ed.98d2217e.chunk.js","sourcesContent":["import httpStatusCodes from './http_status';\nimport { normalizeHeaders } from './common_utils';\n\n/**\n * Polling utility for handling realtime updates.\n * Requirements: Promise based HTTP client\n *\n * Service for promise based http client and method need to be provided as props\n *\n * @example\n * new Poll({\n * resource: resource,\n * method: 'name',\n * data: {page: 1, scope: 'all'}, // optional\n * successCallback: () => {},\n * errorCallback: () => {},\n * notificationCallback: () => {}, // optional\n * }).makeRequest();\n *\n * Usage in pipelines table with visibility lib:\n *\n * const poll = new Poll({\n * resource: this.service,\n * method: 'getPipelines',\n * data: { page: pageNumber, scope },\n * successCallback: this.successCallback,\n * errorCallback: this.errorCallback,\n * notificationCallback: this.updateLoading,\n * });\n *\n * if (!Visibility.hidden()) {\n * poll.makeRequest();\n * }\n *\n * Visibility.change(() => {\n * if (!Visibility.hidden()) {\n * poll.restart();\n * } else {\n * poll.stop();\n * }\n* });\n *\n * 1. Checks for response and headers before start polling\n * 2. Interval is provided by `Poll-Interval` header.\n * 3. If `Poll-Interval` is -1, we stop polling\n * 4. If HTTP response is 200, we poll.\n * 5. If HTTP response is different from 200, we stop polling.\n *\n */\nexport default class Poll {\n constructor(options = {}) {\n this.options = options;\n this.options.data = options.data || {};\n this.options.notificationCallback = options.notificationCallback ||\n function notificationCallback() {};\n\n this.intervalHeader = 'POLL-INTERVAL';\n this.timeoutID = null;\n this.canPoll = true;\n }\n\n checkConditions(response) {\n const headers = normalizeHeaders(response.headers);\n const pollInterval = parseInt(headers[this.intervalHeader], 10);\n if (pollInterval > 0 && response.status === httpStatusCodes.OK && this.canPoll) {\n this.timeoutID = setTimeout(() => {\n this.makeRequest();\n }, pollInterval);\n }\n this.options.successCallback(response);\n }\n\n makeRequest() {\n const { resource, method, data, errorCallback, notificationCallback } = this.options;\n\n // It's called everytime a new request is made. Useful to update the status.\n notificationCallback(true);\n\n return resource[method](data)\n .then((response) => {\n this.checkConditions(response);\n notificationCallback(false);\n })\n .catch((error) => {\n notificationCallback(false);\n if (error.status === httpStatusCodes.ABORTED) {\n return;\n }\n errorCallback(error);\n });\n }\n\n /**\n * Stops the polling recursive chain\n * and guarantees if the timeout is already running it won't make another request by\n * cancelling the previously established timeout.\n */\n stop() {\n this.canPoll = false;\n clearTimeout(this.timeoutID);\n }\n\n /**\n * Restarts polling after it has been stoped\n */\n restart(options) {\n // update data\n if (options && options.data) {\n this.options.data = options.data;\n }\n\n this.canPoll = true;\n this.makeRequest();\n }\n}\n","import $ from 'jquery';\n\nexport default {\n bind(el) {\n $(el).tooltip({\n trigger: 'hover',\n });\n },\n\n componentUpdated(el) {\n $(el).tooltip('_fixTitle');\n },\n\n unbind(el) {\n $(el).tooltip('dispose');\n },\n};\n",";(function (global) {\n \"use strict\";\n\n var lastId = -1;\n\n // Visibility.js allow you to know, that your web page is in the background\n // tab and thus not visible to the user. This library is wrap under\n // Page Visibility API. It fix problems with different vendor prefixes and\n // add high-level useful functions.\n var self = {\n\n // Call callback only when page become to visible for user or\n // call it now if page is visible now or Page Visibility API\n // doesn’t supported.\n //\n // Return false if API isn’t supported, true if page is already visible\n // or listener ID (you can use it in `unbind` method) if page isn’t\n // visible now.\n //\n // Visibility.onVisible(function () {\n // startIntroAnimation();\n // });\n onVisible: function (callback) {\n var support = self.isSupported();\n if ( !support || !self.hidden() ) {\n callback();\n return support;\n }\n\n var listener = self.change(function (e, state) {\n if ( !self.hidden() ) {\n self.unbind(listener);\n callback();\n }\n });\n return listener;\n },\n\n // Call callback when visibility will be changed. First argument for\n // callback will be original event object, second will be visibility\n // state name.\n //\n // Return listener ID to unbind listener by `unbind` method.\n //\n // If Page Visibility API doesn’t supported method will be return false\n // and callback never will be called.\n //\n // Visibility.change(function(e, state) {\n // Statistics.visibilityChange(state);\n // });\n //\n // It is just proxy to `visibilitychange` event, but use vendor prefix.\n change: function (callback) {\n if ( !self.isSupported() ) {\n return false;\n }\n lastId += 1;\n var number = lastId;\n self._callbacks[number] = callback;\n self._listen();\n return number;\n },\n\n // Remove `change` listener by it ID.\n //\n // var id = Visibility.change(function(e, state) {\n // firstChangeCallback();\n // Visibility.unbind(id);\n // });\n unbind: function (id) {\n delete self._callbacks[id];\n },\n\n // Call `callback` in any state, expect “prerender”. If current state\n // is “prerender” it will wait until state will be changed.\n // If Page Visibility API doesn’t supported, it will call `callback`\n // immediately.\n //\n // Return false if API isn’t supported, true if page is already after\n // prerendering or listener ID (you can use it in `unbind` method)\n // if page is prerended now.\n //\n // Visibility.afterPrerendering(function () {\n // Statistics.countVisitor();\n // });\n afterPrerendering: function (callback) {\n var support = self.isSupported();\n var prerender = 'prerender';\n\n if ( !support || prerender != self.state() ) {\n callback();\n return support;\n }\n\n var listener = self.change(function (e, state) {\n if ( prerender != state ) {\n self.unbind(listener);\n callback();\n }\n });\n return listener;\n },\n\n // Return true if page now isn’t visible to user.\n //\n // if ( !Visibility.hidden() ) {\n // VideoPlayer.play();\n // }\n //\n // It is just proxy to `document.hidden`, but use vendor prefix.\n hidden: function () {\n return !!(self._doc.hidden || self._doc.webkitHidden);\n },\n\n // Return visibility state: 'visible', 'hidden' or 'prerender'.\n //\n // if ( 'prerender' == Visibility.state() ) {\n // Statistics.pageIsPrerendering();\n // }\n //\n // Don’t use `Visibility.state()` to detect, is page visible, because\n // visibility states can extend in next API versions.\n // Use more simpler and general `Visibility.hidden()` for this cases.\n //\n // It is just proxy to `document.visibilityState`, but use\n // vendor prefix.\n state: function () {\n return self._doc.visibilityState ||\n self._doc.webkitVisibilityState ||\n 'visible';\n },\n\n // Return true if browser support Page Visibility API.\n //\n // if ( Visibility.isSupported() ) {\n // Statistics.startTrackingVisibility();\n // Visibility.change(function(e, state)) {\n // Statistics.trackVisibility(state);\n // });\n // }\n isSupported: function () {\n return !!(self._doc.visibilityState ||\n self._doc.webkitVisibilityState);\n },\n\n // Link to document object to change it in tests.\n _doc: document || {},\n\n // Callbacks from `change` method, that wait visibility changes.\n _callbacks: { },\n\n // Listener for `visibilitychange` event.\n _change: function(event) {\n var state = self.state();\n\n for ( var i in self._callbacks ) {\n self._callbacks[i].call(self._doc, event, state);\n }\n },\n\n // Set listener for `visibilitychange` event.\n _listen: function () {\n if ( self._init ) {\n return;\n }\n\n var event = 'visibilitychange';\n if ( self._doc.webkitVisibilityState ) {\n event = 'webkit' + event;\n }\n\n var listener = function () {\n self._change.apply(self, arguments);\n };\n if ( self._doc.addEventListener ) {\n self._doc.addEventListener(event, listener);\n } else {\n self._doc.attachEvent(event, listener);\n }\n self._init = true;\n }\n\n };\n\n if ( typeof(module) != 'undefined' && module.exports ) {\n module.exports = self;\n } else {\n global.Visibility = self;\n }\n\n})(this);\n",";(function (window) {\n \"use strict\";\n\n var lastTimer = -1;\n\n var install = function (Visibility) {\n\n // Run callback every `interval` milliseconds if page is visible and\n // every `hiddenInterval` milliseconds if page is hidden.\n //\n // Visibility.every(60 * 1000, 5 * 60 * 1000, function () {\n // checkNewMails();\n // });\n //\n // You can skip `hiddenInterval` and callback will be called only if\n // page is visible.\n //\n // Visibility.every(1000, function () {\n // updateCountdown();\n // });\n //\n // It is analog of `setInterval(callback, interval)` but use visibility\n // state.\n //\n // It return timer ID, that you can use in `Visibility.stop(id)` to stop\n // timer (`clearInterval` analog).\n // Warning: timer ID is different from interval ID from `setInterval`,\n // so don’t use it in `clearInterval`.\n //\n // On change state from hidden to visible timers will be execute.\n Visibility.every = function (interval, hiddenInterval, callback) {\n Visibility._time();\n\n if ( !callback ) {\n callback = hiddenInterval;\n hiddenInterval = null;\n }\n\n lastTimer += 1;\n var number = lastTimer;\n\n Visibility._timers[number] = {\n visible: interval,\n hidden: hiddenInterval,\n callback: callback\n };\n Visibility._run(number, false);\n\n if ( Visibility.isSupported() ) {\n Visibility._listen();\n }\n return number;\n };\n\n // Stop timer from `every` method by it ID (`every` method return it).\n //\n // slideshow = Visibility.every(5 * 1000, function () {\n // changeSlide();\n // });\n // $('.stopSlideshow').click(function () {\n // Visibility.stop(slideshow);\n // });\n Visibility.stop = function(id) {\n if ( !Visibility._timers[id] ) {\n return false;\n }\n Visibility._stop(id);\n delete Visibility._timers[id];\n return true;\n };\n\n // Callbacks and intervals added by `every` method.\n Visibility._timers = { };\n\n // Initialize variables on page loading.\n Visibility._time = function () {\n if ( Visibility._timed ) {\n return;\n }\n Visibility._timed = true;\n Visibility._wasHidden = Visibility.hidden();\n\n Visibility.change(function () {\n Visibility._stopRun();\n Visibility._wasHidden = Visibility.hidden();\n });\n };\n\n // Try to run timer from every method by it’s ID. It will be use\n // `interval` or `hiddenInterval` depending on visibility state.\n // If page is hidden and `hiddenInterval` is null,\n // it will not run timer.\n //\n // Argument `runNow` say, that timers must be execute now too.\n Visibility._run = function (id, runNow) {\n var interval,\n timer = Visibility._timers[id];\n\n if ( Visibility.hidden() ) {\n if ( null === timer.hidden ) {\n return;\n }\n interval = timer.hidden;\n } else {\n interval = timer.visible;\n }\n\n var runner = function () {\n timer.last = new Date();\n timer.callback.call(window);\n }\n\n if ( runNow ) {\n var now = new Date();\n var last = now - timer.last ;\n\n if ( interval > last ) {\n timer.delay = setTimeout(function () {\n timer.id = setInterval(runner, interval);\n runner();\n }, interval - last);\n } else {\n timer.id = setInterval(runner, interval);\n runner();\n }\n\n } else {\n timer.id = setInterval(runner, interval);\n }\n };\n\n // Stop timer from `every` method by it’s ID.\n Visibility._stop = function (id) {\n var timer = Visibility._timers[id];\n clearInterval(timer.id);\n clearTimeout(timer.delay);\n delete timer.id;\n delete timer.delay;\n };\n\n // Listener for `visibilitychange` event.\n Visibility._stopRun = function (event) {\n var isHidden = Visibility.hidden(),\n wasHidden = Visibility._wasHidden;\n\n if ( (isHidden && !wasHidden) || (!isHidden && wasHidden) ) {\n for ( var i in Visibility._timers ) {\n Visibility._stop(i);\n Visibility._run(i, !isHidden);\n }\n }\n };\n\n return Visibility;\n }\n\n if ( typeof(module) != 'undefined' && module.exports ) {\n module.exports = install(require('./visibility.core'));\n } else {\n install(window.Visibility)\n }\n\n})(window);\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{class:[_vm.iconSizeClass, _vm.iconTestClass, _vm.cssClasses],attrs:{\"width\":_vm.width,\"height\":_vm.height,\"x\":_vm.x,\"y\":_vm.y}},[_c('use',_vm._b({},'use',{ 'xlink:href':_vm.spriteHref },false))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./icon.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./icon.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./icon.vue?vue&type=template&id=4bd8f44c\"\nimport script from \"./icon.vue?vue&type=script&lang=js\"\nexport * from \"./icon.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],class:_vm.cssClass,attrs:{\"href\":_vm.status.details_path,\"title\":!_vm.showText ? _vm.status.text : ''}},[_c('ci-icon',{attrs:{\"status\":_vm.status}}),_vm._v(\" \"),(_vm.showText)?[_vm._v(\"\\n \"+_vm._s(_vm.status.text)+\"\\n \")]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ci_badge_link.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ci_badge_link.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./ci_badge_link.vue?vue&type=template&id=58b271e9\"\nimport script from \"./ci_badge_link.vue?vue&type=script&lang=js\"\nexport * from \"./ci_badge_link.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = require('./lib/visibility.timers.js')\n","/**\n * exports HTTP status codes\n */\n\nexport default {\n ABORTED: 0,\n NO_CONTENT: 204,\n OK: 200,\n MULTIPLE_CHOICES: 300,\n BAD_REQUEST: 400,\n NOT_FOUND: 404,\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('img',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"avatar\",class:( _obj = {\n lazy: _vm.lazy\n }, _obj[_vm.avatarSizeClass] = true, _obj[_vm.cssClasses] = true, _obj ),attrs:{\"src\":_vm.resultantSrcAttribute,\"width\":_vm.size,\"height\":_vm.size,\"alt\":_vm.imgAlt,\"data-src\":_vm.sanitizedSource,\"data-container\":_vm.tooltipContainer,\"data-placement\":_vm.tooltipPlacement,\"title\":_vm.tooltipText,\"data-boundary\":\"window\"}})\nvar _obj;}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_image.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_image.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./user_avatar_image.vue?vue&type=template&id=760a8c7a\"\nimport script from \"./user_avatar_image.vue?vue&type=script&lang=js\"\nexport * from \"./user_avatar_image.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAAAAAAdJSU2AAACNElEQVR4AdXYBa7jMBCA4b3/JZahzIkjp2qt+BWUWnG5ln2XxaJJb2b5F2ukL4wvzK/rP7bUcbf92u6oftLSe1ldk8efsfaVeEjusZZeC6e1RllaCk/yG6ag1lZ4WwPX69uyD6tAe/g2ipAlNMRS37awDLaFrpcMWxXQOi0jnWCWjFkSZomYJWDWKmatYNZyEWkJsvQimoZYah5NgdaLxagCtF6GRy0DshZPkeYwS/KIJWGWYjwYUzDLxCwDtJ54OKglimBLqHWahii2g1pmHLLGBmwVoRjcKlmgOdw65H5qKuGWCVi5Qlhs6m1sENZi4q3AWNvca5UYy2RjT/SAsiZey6CsIvc0wVlV5lJ0ibPMyLUGCmlxQq0IM0hLdWyro7CWEc3sXsqaK4O2zLxOsmtpfW5Q1u68ZrVmepaaNXEewawtI9X5Xl3U3n1qND6+rfPzvqoIWz/fklNCSLY153YV53J/XUxGCJnKZ1lajsn3/Ffegf6Y5pV2LUsSNL2UHzxUfh3TlYpZqqTpXZm0KZk9zJcqaEmaWPHDw0pxe05K7bWOLHFLWXVetqpYmrjle4+1y0aBaF4UOQ1NU+lYezJClkjLUnSEjqhH6zjAW4OjtY39Ibq+sawUb6W2RQfoqG0VeKuwrRJvlba17faRdbe2pTtYq6Nty/S7yAbGsQjWIq41wVoT1+IdZNy1djUcVdu5lklQWC0xHkt1X31qNEE1Pr3qKv/9XiSNj6Aaifj3/69+AYujsR/MvkpZAAAAAElFTkSuQmCC\"","import { formatDate, getTimeago } from '../../lib/utils/datetime_utility';\n\n/**\n * Mixin with time ago methods used in some vue components\n */\nexport default {\n methods: {\n timeFormated(time) {\n const timeago = getTimeago();\n\n return timeago.format(time);\n },\n\n tooltipTitle(time) {\n return formatDate(time);\n },\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{class:_vm.cssClass},[_c('icon',{attrs:{\"name\":_vm.icon,\"size\":_vm.size}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ci_icon.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ci_icon.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ci_icon.vue?vue&type=template&id=69ea14c1\"\nimport script from \"./ci_icon.vue?vue&type=script&lang=js\"\nexport * from \"./ci_icon.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}