(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["app"],{

/***/ "./node_modules/moment/locale sync recursive ^\\.\\/.*$":
/*!**************************************************!*\
  !*** ./node_modules/moment/locale sync ^\.\/.*$ ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

var map = {
	"./af": "./node_modules/moment/locale/af.js",
	"./af.js": "./node_modules/moment/locale/af.js",
	"./ar": "./node_modules/moment/locale/ar.js",
	"./ar-dz": "./node_modules/moment/locale/ar-dz.js",
	"./ar-dz.js": "./node_modules/moment/locale/ar-dz.js",
	"./ar-kw": "./node_modules/moment/locale/ar-kw.js",
	"./ar-kw.js": "./node_modules/moment/locale/ar-kw.js",
	"./ar-ly": "./node_modules/moment/locale/ar-ly.js",
	"./ar-ly.js": "./node_modules/moment/locale/ar-ly.js",
	"./ar-ma": "./node_modules/moment/locale/ar-ma.js",
	"./ar-ma.js": "./node_modules/moment/locale/ar-ma.js",
	"./ar-sa": "./node_modules/moment/locale/ar-sa.js",
	"./ar-sa.js": "./node_modules/moment/locale/ar-sa.js",
	"./ar-tn": "./node_modules/moment/locale/ar-tn.js",
	"./ar-tn.js": "./node_modules/moment/locale/ar-tn.js",
	"./ar.js": "./node_modules/moment/locale/ar.js",
	"./az": "./node_modules/moment/locale/az.js",
	"./az.js": "./node_modules/moment/locale/az.js",
	"./be": "./node_modules/moment/locale/be.js",
	"./be.js": "./node_modules/moment/locale/be.js",
	"./bg": "./node_modules/moment/locale/bg.js",
	"./bg.js": "./node_modules/moment/locale/bg.js",
	"./bm": "./node_modules/moment/locale/bm.js",
	"./bm.js": "./node_modules/moment/locale/bm.js",
	"./bn": "./node_modules/moment/locale/bn.js",
	"./bn.js": "./node_modules/moment/locale/bn.js",
	"./bo": "./node_modules/moment/locale/bo.js",
	"./bo.js": "./node_modules/moment/locale/bo.js",
	"./br": "./node_modules/moment/locale/br.js",
	"./br.js": "./node_modules/moment/locale/br.js",
	"./bs": "./node_modules/moment/locale/bs.js",
	"./bs.js": "./node_modules/moment/locale/bs.js",
	"./ca": "./node_modules/moment/locale/ca.js",
	"./ca.js": "./node_modules/moment/locale/ca.js",
	"./cs": "./node_modules/moment/locale/cs.js",
	"./cs.js": "./node_modules/moment/locale/cs.js",
	"./cv": "./node_modules/moment/locale/cv.js",
	"./cv.js": "./node_modules/moment/locale/cv.js",
	"./cy": "./node_modules/moment/locale/cy.js",
	"./cy.js": "./node_modules/moment/locale/cy.js",
	"./da": "./node_modules/moment/locale/da.js",
	"./da.js": "./node_modules/moment/locale/da.js",
	"./de": "./node_modules/moment/locale/de.js",
	"./de-at": "./node_modules/moment/locale/de-at.js",
	"./de-at.js": "./node_modules/moment/locale/de-at.js",
	"./de-ch": "./node_modules/moment/locale/de-ch.js",
	"./de-ch.js": "./node_modules/moment/locale/de-ch.js",
	"./de.js": "./node_modules/moment/locale/de.js",
	"./dv": "./node_modules/moment/locale/dv.js",
	"./dv.js": "./node_modules/moment/locale/dv.js",
	"./el": "./node_modules/moment/locale/el.js",
	"./el.js": "./node_modules/moment/locale/el.js",
	"./en-SG": "./node_modules/moment/locale/en-SG.js",
	"./en-SG.js": "./node_modules/moment/locale/en-SG.js",
	"./en-au": "./node_modules/moment/locale/en-au.js",
	"./en-au.js": "./node_modules/moment/locale/en-au.js",
	"./en-ca": "./node_modules/moment/locale/en-ca.js",
	"./en-ca.js": "./node_modules/moment/locale/en-ca.js",
	"./en-gb": "./node_modules/moment/locale/en-gb.js",
	"./en-gb.js": "./node_modules/moment/locale/en-gb.js",
	"./en-ie": "./node_modules/moment/locale/en-ie.js",
	"./en-ie.js": "./node_modules/moment/locale/en-ie.js",
	"./en-il": "./node_modules/moment/locale/en-il.js",
	"./en-il.js": "./node_modules/moment/locale/en-il.js",
	"./en-nz": "./node_modules/moment/locale/en-nz.js",
	"./en-nz.js": "./node_modules/moment/locale/en-nz.js",
	"./eo": "./node_modules/moment/locale/eo.js",
	"./eo.js": "./node_modules/moment/locale/eo.js",
	"./es": "./node_modules/moment/locale/es.js",
	"./es-do": "./node_modules/moment/locale/es-do.js",
	"./es-do.js": "./node_modules/moment/locale/es-do.js",
	"./es-us": "./node_modules/moment/locale/es-us.js",
	"./es-us.js": "./node_modules/moment/locale/es-us.js",
	"./es.js": "./node_modules/moment/locale/es.js",
	"./et": "./node_modules/moment/locale/et.js",
	"./et.js": "./node_modules/moment/locale/et.js",
	"./eu": "./node_modules/moment/locale/eu.js",
	"./eu.js": "./node_modules/moment/locale/eu.js",
	"./fa": "./node_modules/moment/locale/fa.js",
	"./fa.js": "./node_modules/moment/locale/fa.js",
	"./fi": "./node_modules/moment/locale/fi.js",
	"./fi.js": "./node_modules/moment/locale/fi.js",
	"./fo": "./node_modules/moment/locale/fo.js",
	"./fo.js": "./node_modules/moment/locale/fo.js",
	"./fr": "./node_modules/moment/locale/fr.js",
	"./fr-ca": "./node_modules/moment/locale/fr-ca.js",
	"./fr-ca.js": "./node_modules/moment/locale/fr-ca.js",
	"./fr-ch": "./node_modules/moment/locale/fr-ch.js",
	"./fr-ch.js": "./node_modules/moment/locale/fr-ch.js",
	"./fr.js": "./node_modules/moment/locale/fr.js",
	"./fy": "./node_modules/moment/locale/fy.js",
	"./fy.js": "./node_modules/moment/locale/fy.js",
	"./ga": "./node_modules/moment/locale/ga.js",
	"./ga.js": "./node_modules/moment/locale/ga.js",
	"./gd": "./node_modules/moment/locale/gd.js",
	"./gd.js": "./node_modules/moment/locale/gd.js",
	"./gl": "./node_modules/moment/locale/gl.js",
	"./gl.js": "./node_modules/moment/locale/gl.js",
	"./gom-latn": "./node_modules/moment/locale/gom-latn.js",
	"./gom-latn.js": "./node_modules/moment/locale/gom-latn.js",
	"./gu": "./node_modules/moment/locale/gu.js",
	"./gu.js": "./node_modules/moment/locale/gu.js",
	"./he": "./node_modules/moment/locale/he.js",
	"./he.js": "./node_modules/moment/locale/he.js",
	"./hi": "./node_modules/moment/locale/hi.js",
	"./hi.js": "./node_modules/moment/locale/hi.js",
	"./hr": "./node_modules/moment/locale/hr.js",
	"./hr.js": "./node_modules/moment/locale/hr.js",
	"./hu": "./node_modules/moment/locale/hu.js",
	"./hu.js": "./node_modules/moment/locale/hu.js",
	"./hy-am": "./node_modules/moment/locale/hy-am.js",
	"./hy-am.js": "./node_modules/moment/locale/hy-am.js",
	"./id": "./node_modules/moment/locale/id.js",
	"./id.js": "./node_modules/moment/locale/id.js",
	"./is": "./node_modules/moment/locale/is.js",
	"./is.js": "./node_modules/moment/locale/is.js",
	"./it": "./node_modules/moment/locale/it.js",
	"./it-ch": "./node_modules/moment/locale/it-ch.js",
	"./it-ch.js": "./node_modules/moment/locale/it-ch.js",
	"./it.js": "./node_modules/moment/locale/it.js",
	"./ja": "./node_modules/moment/locale/ja.js",
	"./ja.js": "./node_modules/moment/locale/ja.js",
	"./jv": "./node_modules/moment/locale/jv.js",
	"./jv.js": "./node_modules/moment/locale/jv.js",
	"./ka": "./node_modules/moment/locale/ka.js",
	"./ka.js": "./node_modules/moment/locale/ka.js",
	"./kk": "./node_modules/moment/locale/kk.js",
	"./kk.js": "./node_modules/moment/locale/kk.js",
	"./km": "./node_modules/moment/locale/km.js",
	"./km.js": "./node_modules/moment/locale/km.js",
	"./kn": "./node_modules/moment/locale/kn.js",
	"./kn.js": "./node_modules/moment/locale/kn.js",
	"./ko": "./node_modules/moment/locale/ko.js",
	"./ko.js": "./node_modules/moment/locale/ko.js",
	"./ku": "./node_modules/moment/locale/ku.js",
	"./ku.js": "./node_modules/moment/locale/ku.js",
	"./ky": "./node_modules/moment/locale/ky.js",
	"./ky.js": "./node_modules/moment/locale/ky.js",
	"./lb": "./node_modules/moment/locale/lb.js",
	"./lb.js": "./node_modules/moment/locale/lb.js",
	"./lo": "./node_modules/moment/locale/lo.js",
	"./lo.js": "./node_modules/moment/locale/lo.js",
	"./lt": "./node_modules/moment/locale/lt.js",
	"./lt.js": "./node_modules/moment/locale/lt.js",
	"./lv": "./node_modules/moment/locale/lv.js",
	"./lv.js": "./node_modules/moment/locale/lv.js",
	"./me": "./node_modules/moment/locale/me.js",
	"./me.js": "./node_modules/moment/locale/me.js",
	"./mi": "./node_modules/moment/locale/mi.js",
	"./mi.js": "./node_modules/moment/locale/mi.js",
	"./mk": "./node_modules/moment/locale/mk.js",
	"./mk.js": "./node_modules/moment/locale/mk.js",
	"./ml": "./node_modules/moment/locale/ml.js",
	"./ml.js": "./node_modules/moment/locale/ml.js",
	"./mn": "./node_modules/moment/locale/mn.js",
	"./mn.js": "./node_modules/moment/locale/mn.js",
	"./mr": "./node_modules/moment/locale/mr.js",
	"./mr.js": "./node_modules/moment/locale/mr.js",
	"./ms": "./node_modules/moment/locale/ms.js",
	"./ms-my": "./node_modules/moment/locale/ms-my.js",
	"./ms-my.js": "./node_modules/moment/locale/ms-my.js",
	"./ms.js": "./node_modules/moment/locale/ms.js",
	"./mt": "./node_modules/moment/locale/mt.js",
	"./mt.js": "./node_modules/moment/locale/mt.js",
	"./my": "./node_modules/moment/locale/my.js",
	"./my.js": "./node_modules/moment/locale/my.js",
	"./nb": "./node_modules/moment/locale/nb.js",
	"./nb.js": "./node_modules/moment/locale/nb.js",
	"./ne": "./node_modules/moment/locale/ne.js",
	"./ne.js": "./node_modules/moment/locale/ne.js",
	"./nl": "./node_modules/moment/locale/nl.js",
	"./nl-be": "./node_modules/moment/locale/nl-be.js",
	"./nl-be.js": "./node_modules/moment/locale/nl-be.js",
	"./nl.js": "./node_modules/moment/locale/nl.js",
	"./nn": "./node_modules/moment/locale/nn.js",
	"./nn.js": "./node_modules/moment/locale/nn.js",
	"./pa-in": "./node_modules/moment/locale/pa-in.js",
	"./pa-in.js": "./node_modules/moment/locale/pa-in.js",
	"./pl": "./node_modules/moment/locale/pl.js",
	"./pl.js": "./node_modules/moment/locale/pl.js",
	"./pt": "./node_modules/moment/locale/pt.js",
	"./pt-br": "./node_modules/moment/locale/pt-br.js",
	"./pt-br.js": "./node_modules/moment/locale/pt-br.js",
	"./pt.js": "./node_modules/moment/locale/pt.js",
	"./ro": "./node_modules/moment/locale/ro.js",
	"./ro.js": "./node_modules/moment/locale/ro.js",
	"./ru": "./node_modules/moment/locale/ru.js",
	"./ru.js": "./node_modules/moment/locale/ru.js",
	"./sd": "./node_modules/moment/locale/sd.js",
	"./sd.js": "./node_modules/moment/locale/sd.js",
	"./se": "./node_modules/moment/locale/se.js",
	"./se.js": "./node_modules/moment/locale/se.js",
	"./si": "./node_modules/moment/locale/si.js",
	"./si.js": "./node_modules/moment/locale/si.js",
	"./sk": "./node_modules/moment/locale/sk.js",
	"./sk.js": "./node_modules/moment/locale/sk.js",
	"./sl": "./node_modules/moment/locale/sl.js",
	"./sl.js": "./node_modules/moment/locale/sl.js",
	"./sq": "./node_modules/moment/locale/sq.js",
	"./sq.js": "./node_modules/moment/locale/sq.js",
	"./sr": "./node_modules/moment/locale/sr.js",
	"./sr-cyrl": "./node_modules/moment/locale/sr-cyrl.js",
	"./sr-cyrl.js": "./node_modules/moment/locale/sr-cyrl.js",
	"./sr.js": "./node_modules/moment/locale/sr.js",
	"./ss": "./node_modules/moment/locale/ss.js",
	"./ss.js": "./node_modules/moment/locale/ss.js",
	"./sv": "./node_modules/moment/locale/sv.js",
	"./sv.js": "./node_modules/moment/locale/sv.js",
	"./sw": "./node_modules/moment/locale/sw.js",
	"./sw.js": "./node_modules/moment/locale/sw.js",
	"./ta": "./node_modules/moment/locale/ta.js",
	"./ta.js": "./node_modules/moment/locale/ta.js",
	"./te": "./node_modules/moment/locale/te.js",
	"./te.js": "./node_modules/moment/locale/te.js",
	"./tet": "./node_modules/moment/locale/tet.js",
	"./tet.js": "./node_modules/moment/locale/tet.js",
	"./tg": "./node_modules/moment/locale/tg.js",
	"./tg.js": "./node_modules/moment/locale/tg.js",
	"./th": "./node_modules/moment/locale/th.js",
	"./th.js": "./node_modules/moment/locale/th.js",
	"./tl-ph": "./node_modules/moment/locale/tl-ph.js",
	"./tl-ph.js": "./node_modules/moment/locale/tl-ph.js",
	"./tlh": "./node_modules/moment/locale/tlh.js",
	"./tlh.js": "./node_modules/moment/locale/tlh.js",
	"./tr": "./node_modules/moment/locale/tr.js",
	"./tr.js": "./node_modules/moment/locale/tr.js",
	"./tzl": "./node_modules/moment/locale/tzl.js",
	"./tzl.js": "./node_modules/moment/locale/tzl.js",
	"./tzm": "./node_modules/moment/locale/tzm.js",
	"./tzm-latn": "./node_modules/moment/locale/tzm-latn.js",
	"./tzm-latn.js": "./node_modules/moment/locale/tzm-latn.js",
	"./tzm.js": "./node_modules/moment/locale/tzm.js",
	"./ug-cn": "./node_modules/moment/locale/ug-cn.js",
	"./ug-cn.js": "./node_modules/moment/locale/ug-cn.js",
	"./uk": "./node_modules/moment/locale/uk.js",
	"./uk.js": "./node_modules/moment/locale/uk.js",
	"./ur": "./node_modules/moment/locale/ur.js",
	"./ur.js": "./node_modules/moment/locale/ur.js",
	"./uz": "./node_modules/moment/locale/uz.js",
	"./uz-latn": "./node_modules/moment/locale/uz-latn.js",
	"./uz-latn.js": "./node_modules/moment/locale/uz-latn.js",
	"./uz.js": "./node_modules/moment/locale/uz.js",
	"./vi": "./node_modules/moment/locale/vi.js",
	"./vi.js": "./node_modules/moment/locale/vi.js",
	"./x-pseudo": "./node_modules/moment/locale/x-pseudo.js",
	"./x-pseudo.js": "./node_modules/moment/locale/x-pseudo.js",
	"./yo": "./node_modules/moment/locale/yo.js",
	"./yo.js": "./node_modules/moment/locale/yo.js",
	"./zh-cn": "./node_modules/moment/locale/zh-cn.js",
	"./zh-cn.js": "./node_modules/moment/locale/zh-cn.js",
	"./zh-hk": "./node_modules/moment/locale/zh-hk.js",
	"./zh-hk.js": "./node_modules/moment/locale/zh-hk.js",
	"./zh-tw": "./node_modules/moment/locale/zh-tw.js",
	"./zh-tw.js": "./node_modules/moment/locale/zh-tw.js"
};


function webpackContext(req) {
	var id = webpackContextResolve(req);
	return __webpack_require__(id);
}
function webpackContextResolve(req) {
	if(!__webpack_require__.o(map, req)) {
		var e = new Error("Cannot find module '" + req + "'");
		e.code = 'MODULE_NOT_FOUND';
		throw e;
	}
	return map[req];
}
webpackContext.keys = function webpackContextKeys() {
	return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = "./node_modules/moment/locale sync recursive ^\\.\\/.*$";

/***/ }),

/***/ "./public/app sync recursive \\.html$":
/*!*********************************!*\
  !*** ./public/app sync \.html$ ***!
  \*********************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

var map = {
	"./core/components/help/help.html": "./public/app/core/components/help/help.html",
	"./core/components/manage_dashboards/manage_dashboards.html": "./public/app/core/components/manage_dashboards/manage_dashboards.html",
	"./core/components/search/search.html": "./public/app/core/components/search/search.html",
	"./core/components/search/search_results.html": "./public/app/core/components/search/search_results.html",
	"./features/admin/partials/admin_home.html": "./public/app/features/admin/partials/admin_home.html",
	"./features/admin/partials/edit_org.html": "./public/app/features/admin/partials/edit_org.html",
	"./features/admin/partials/edit_user.html": "./public/app/features/admin/partials/edit_user.html",
	"./features/admin/partials/new_user.html": "./public/app/features/admin/partials/new_user.html",
	"./features/admin/partials/orgs.html": "./public/app/features/admin/partials/orgs.html",
	"./features/admin/partials/settings.html": "./public/app/features/admin/partials/settings.html",
	"./features/admin/partials/stats.html": "./public/app/features/admin/partials/stats.html",
	"./features/admin/partials/styleguide.html": "./public/app/features/admin/partials/styleguide.html",
	"./features/admin/partials/users.html": "./public/app/features/admin/partials/users.html",
	"./features/alerting/partials/alert_howto.html": "./public/app/features/alerting/partials/alert_howto.html",
	"./features/alerting/partials/alert_tab.html": "./public/app/features/alerting/partials/alert_tab.html",
	"./features/alerting/partials/notification_edit.html": "./public/app/features/alerting/partials/notification_edit.html",
	"./features/alerting/partials/notifications_list.html": "./public/app/features/alerting/partials/notifications_list.html",
	"./features/annotations/partials/editor.html": "./public/app/features/annotations/partials/editor.html",
	"./features/annotations/partials/event_editor.html": "./public/app/features/annotations/partials/event_editor.html",
	"./features/dashboard/components/DashExportModal/template.html": "./public/app/features/dashboard/components/DashExportModal/template.html",
	"./features/dashboard/components/DashLinks/editor.html": "./public/app/features/dashboard/components/DashLinks/editor.html",
	"./features/dashboard/components/DashboardSettings/template.html": "./public/app/features/dashboard/components/DashboardSettings/template.html",
	"./features/dashboard/components/ExportDataModal/template.html": "./public/app/features/dashboard/components/ExportDataModal/template.html",
	"./features/dashboard/components/FolderPicker/template.html": "./public/app/features/dashboard/components/FolderPicker/template.html",
	"./features/dashboard/components/RowOptions/template.html": "./public/app/features/dashboard/components/RowOptions/template.html",
	"./features/dashboard/components/ShareModal/template.html": "./public/app/features/dashboard/components/ShareModal/template.html",
	"./features/dashboard/components/SubMenu/template.html": "./public/app/features/dashboard/components/SubMenu/template.html",
	"./features/dashboard/components/VersionHistory/template.html": "./public/app/features/dashboard/components/VersionHistory/template.html",
	"./features/datasources/partials/http_settings.html": "./public/app/features/datasources/partials/http_settings.html",
	"./features/datasources/partials/tls_auth_settings.html": "./public/app/features/datasources/partials/tls_auth_settings.html",
	"./features/folders/partials/create_folder.html": "./public/app/features/folders/partials/create_folder.html",
	"./features/folders/partials/folder_dashboards.html": "./public/app/features/folders/partials/folder_dashboards.html",
	"./features/manage-dashboards/components/MoveToFolderModal/template.html": "./public/app/features/manage-dashboards/components/MoveToFolderModal/template.html",
	"./features/manage-dashboards/partials/dashboard_import.html": "./public/app/features/manage-dashboards/partials/dashboard_import.html",
	"./features/manage-dashboards/partials/dashboard_list.html": "./public/app/features/manage-dashboards/partials/dashboard_list.html",
	"./features/manage-dashboards/partials/snapshot_list.html": "./public/app/features/manage-dashboards/partials/snapshot_list.html",
	"./features/org/partials/invite.html": "./public/app/features/org/partials/invite.html",
	"./features/org/partials/newOrg.html": "./public/app/features/org/partials/newOrg.html",
	"./features/org/partials/select_org.html": "./public/app/features/org/partials/select_org.html",
	"./features/panel/panellinks/module.html": "./public/app/features/panel/panellinks/module.html",
	"./features/panel/partials/general_tab.html": "./public/app/features/panel/partials/general_tab.html",
	"./features/panel/partials/panelTime.html": "./public/app/features/panel/partials/panelTime.html",
	"./features/panel/partials/query_editor_row.html": "./public/app/features/panel/partials/query_editor_row.html",
	"./features/playlist/partials/playlist.html": "./public/app/features/playlist/partials/playlist.html",
	"./features/playlist/partials/playlist_search.html": "./public/app/features/playlist/partials/playlist_search.html",
	"./features/playlist/partials/playlists.html": "./public/app/features/playlist/partials/playlists.html",
	"./features/plugins/partials/plugin_page.html": "./public/app/features/plugins/partials/plugin_page.html",
	"./features/plugins/partials/update_instructions.html": "./public/app/features/plugins/partials/update_instructions.html",
	"./features/profile/partials/profile.html": "./public/app/features/profile/partials/profile.html",
	"./features/teams/partials/create_team.html": "./public/app/features/teams/partials/create_team.html",
	"./features/templating/partials/editor.html": "./public/app/features/templating/partials/editor.html",
	"./partials/confirm_modal.html": "./public/app/partials/confirm_modal.html",
	"./partials/edit_json.html": "./public/app/partials/edit_json.html",
	"./partials/error.html": "./public/app/partials/error.html",
	"./partials/modal.html": "./public/app/partials/modal.html",
	"./partials/reset_password.html": "./public/app/partials/reset_password.html",
	"./partials/signup_invited.html": "./public/app/partials/signup_invited.html",
	"./partials/signup_step2.html": "./public/app/partials/signup_step2.html",
	"./partials/valueSelectDropdown.html": "./public/app/partials/valueSelectDropdown.html",
	"./plugins/app/example-app/legacy/angular_example_page.html": "./public/app/plugins/app/example-app/legacy/angular_example_page.html",
	"./plugins/app/example-app/legacy/config.html": "./public/app/plugins/app/example-app/legacy/config.html",
	"./plugins/datasource/cloudwatch/partials/annotations.editor.html": "./public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html",
	"./plugins/datasource/cloudwatch/partials/config.html": "./public/app/plugins/datasource/cloudwatch/partials/config.html",
	"./plugins/datasource/cloudwatch/partials/query.editor.html": "./public/app/plugins/datasource/cloudwatch/partials/query.editor.html",
	"./plugins/datasource/cloudwatch/partials/query.parameter.html": "./public/app/plugins/datasource/cloudwatch/partials/query.parameter.html",
	"./plugins/datasource/elasticsearch/partials/annotations.editor.html": "./public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html",
	"./plugins/datasource/elasticsearch/partials/bucket_agg.html": "./public/app/plugins/datasource/elasticsearch/partials/bucket_agg.html",
	"./plugins/datasource/elasticsearch/partials/config.html": "./public/app/plugins/datasource/elasticsearch/partials/config.html",
	"./plugins/datasource/elasticsearch/partials/metric_agg.html": "./public/app/plugins/datasource/elasticsearch/partials/metric_agg.html",
	"./plugins/datasource/elasticsearch/partials/pipeline_variables.html": "./public/app/plugins/datasource/elasticsearch/partials/pipeline_variables.html",
	"./plugins/datasource/elasticsearch/partials/query.editor.html": "./public/app/plugins/datasource/elasticsearch/partials/query.editor.html",
	"./plugins/datasource/grafana-azure-monitor-datasource/partials/annotations.editor.html": "./public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/annotations.editor.html",
	"./plugins/datasource/grafana-azure-monitor-datasource/partials/query.editor.html": "./public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/query.editor.html",
	"./plugins/datasource/grafana/partials/annotations.editor.html": "./public/app/plugins/datasource/grafana/partials/annotations.editor.html",
	"./plugins/datasource/grafana/partials/query.editor.html": "./public/app/plugins/datasource/grafana/partials/query.editor.html",
	"./plugins/datasource/graphite/partials/annotations.editor.html": "./public/app/plugins/datasource/graphite/partials/annotations.editor.html",
	"./plugins/datasource/graphite/partials/config.html": "./public/app/plugins/datasource/graphite/partials/config.html",
	"./plugins/datasource/graphite/partials/query.editor.html": "./public/app/plugins/datasource/graphite/partials/query.editor.html",
	"./plugins/datasource/influxdb/partials/annotations.editor.html": "./public/app/plugins/datasource/influxdb/partials/annotations.editor.html",
	"./plugins/datasource/influxdb/partials/config.html": "./public/app/plugins/datasource/influxdb/partials/config.html",
	"./plugins/datasource/influxdb/partials/query.editor.html": "./public/app/plugins/datasource/influxdb/partials/query.editor.html",
	"./plugins/datasource/loki/partials/annotations.editor.html": "./public/app/plugins/datasource/loki/partials/annotations.editor.html",
	"./plugins/datasource/loki/partials/config.html": "./public/app/plugins/datasource/loki/partials/config.html",
	"./plugins/datasource/mssql/partials/annotations.editor.html": "./public/app/plugins/datasource/mssql/partials/annotations.editor.html",
	"./plugins/datasource/mssql/partials/config.html": "./public/app/plugins/datasource/mssql/partials/config.html",
	"./plugins/datasource/mssql/partials/query.editor.html": "./public/app/plugins/datasource/mssql/partials/query.editor.html",
	"./plugins/datasource/mysql/partials/annotations.editor.html": "./public/app/plugins/datasource/mysql/partials/annotations.editor.html",
	"./plugins/datasource/mysql/partials/config.html": "./public/app/plugins/datasource/mysql/partials/config.html",
	"./plugins/datasource/mysql/partials/query.editor.html": "./public/app/plugins/datasource/mysql/partials/query.editor.html",
	"./plugins/datasource/opentsdb/partials/annotations.editor.html": "./public/app/plugins/datasource/opentsdb/partials/annotations.editor.html",
	"./plugins/datasource/opentsdb/partials/config.html": "./public/app/plugins/datasource/opentsdb/partials/config.html",
	"./plugins/datasource/opentsdb/partials/query.editor.html": "./public/app/plugins/datasource/opentsdb/partials/query.editor.html",
	"./plugins/datasource/postgres/partials/annotations.editor.html": "./public/app/plugins/datasource/postgres/partials/annotations.editor.html",
	"./plugins/datasource/postgres/partials/config.html": "./public/app/plugins/datasource/postgres/partials/config.html",
	"./plugins/datasource/postgres/partials/query.editor.html": "./public/app/plugins/datasource/postgres/partials/query.editor.html",
	"./plugins/datasource/prometheus/partials/annotations.editor.html": "./public/app/plugins/datasource/prometheus/partials/annotations.editor.html",
	"./plugins/datasource/prometheus/partials/config.html": "./public/app/plugins/datasource/prometheus/partials/config.html",
	"./plugins/datasource/stackdriver/partials/annotations.editor.html": "./public/app/plugins/datasource/stackdriver/partials/annotations.editor.html",
	"./plugins/datasource/stackdriver/partials/config.html": "./public/app/plugins/datasource/stackdriver/partials/config.html",
	"./plugins/datasource/stackdriver/partials/query.editor.html": "./public/app/plugins/datasource/stackdriver/partials/query.editor.html",
	"./plugins/datasource/stackdriver/partials/query.filter.html": "./public/app/plugins/datasource/stackdriver/partials/query.filter.html",
	"./plugins/datasource/testdata/partials/query.editor.html": "./public/app/plugins/datasource/testdata/partials/query.editor.html",
	"./plugins/panel/alertlist/editor.html": "./public/app/plugins/panel/alertlist/editor.html",
	"./plugins/panel/alertlist/module.html": "./public/app/plugins/panel/alertlist/module.html",
	"./plugins/panel/dashlist/editor.html": "./public/app/plugins/panel/dashlist/editor.html",
	"./plugins/panel/dashlist/module.html": "./public/app/plugins/panel/dashlist/module.html",
	"./plugins/panel/graph/axes_editor.html": "./public/app/plugins/panel/graph/axes_editor.html",
	"./plugins/panel/graph/tab_display.html": "./public/app/plugins/panel/graph/tab_display.html",
	"./plugins/panel/graph/tab_drilldown_links.html": "./public/app/plugins/panel/graph/tab_drilldown_links.html",
	"./plugins/panel/graph/tab_legend.html": "./public/app/plugins/panel/graph/tab_legend.html",
	"./plugins/panel/graph/tab_thresholds_time_regions.html": "./public/app/plugins/panel/graph/tab_thresholds_time_regions.html",
	"./plugins/panel/graph/thresholds_form.html": "./public/app/plugins/panel/graph/thresholds_form.html",
	"./plugins/panel/graph/time_regions_form.html": "./public/app/plugins/panel/graph/time_regions_form.html",
	"./plugins/panel/heatmap/module.html": "./public/app/plugins/panel/heatmap/module.html",
	"./plugins/panel/heatmap/partials/axes_editor.html": "./public/app/plugins/panel/heatmap/partials/axes_editor.html",
	"./plugins/panel/heatmap/partials/display_editor.html": "./public/app/plugins/panel/heatmap/partials/display_editor.html",
	"./plugins/panel/pluginlist/editor.html": "./public/app/plugins/panel/pluginlist/editor.html",
	"./plugins/panel/pluginlist/module.html": "./public/app/plugins/panel/pluginlist/module.html",
	"./plugins/panel/singlestat/editor.html": "./public/app/plugins/panel/singlestat/editor.html",
	"./plugins/panel/singlestat/mappings.html": "./public/app/plugins/panel/singlestat/mappings.html",
	"./plugins/panel/singlestat/module.html": "./public/app/plugins/panel/singlestat/module.html",
	"./plugins/panel/table/column_options.html": "./public/app/plugins/panel/table/column_options.html",
	"./plugins/panel/table/editor.html": "./public/app/plugins/panel/table/editor.html",
	"./plugins/panel/table/module.html": "./public/app/plugins/panel/table/module.html",
	"./plugins/panel/text/editor.html": "./public/app/plugins/panel/text/editor.html",
	"./plugins/panel/text/module.html": "./public/app/plugins/panel/text/module.html"
};


function webpackContext(req) {
	var id = webpackContextResolve(req);
	return __webpack_require__(id);
}
function webpackContextResolve(req) {
	if(!__webpack_require__.o(map, req)) {
		var e = new Error("Cannot find module '" + req + "'");
		e.code = 'MODULE_NOT_FOUND';
		throw e;
	}
	return map[req];
}
webpackContext.keys = function webpackContextKeys() {
	return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = "./public/app sync recursive \\.html$";

/***/ }),

/***/ "./public/app sync recursive extensions\\/index.ts":
/*!**********************************************!*\
  !*** ./public/app sync extensions\/index.ts ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports) {

function webpackEmptyContext(req) {
	var e = new Error("Cannot find module '" + req + "'");
	e.code = 'MODULE_NOT_FOUND';
	throw e;
}
webpackEmptyContext.keys = function() { return []; };
webpackEmptyContext.resolve = webpackEmptyContext;
module.exports = webpackEmptyContext;
webpackEmptyContext.id = "./public/app sync recursive extensions\\/index.ts";

/***/ }),

/***/ "./public/app/core/components/help/help.html":
/*!***************************************************!*\
  !*** ./public/app/core/components/help/help.html ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/core/components/help/help.html';
var html = "<div class=modal-body>\n\t<div class=modal-header>\n\t\t<h2 class=modal-header-title>\n\t\t\t<i class=\"fa fa-keyboard-o\"></i>\n\t\t\t<span class=p-l-1>Shortcuts</span>\n\t\t</h2>\n\t\t<a class=modal-header-close ng-click=ctrl.dismiss();>\n\t\t\t<i class=\"fa fa-remove\"></i>\n\t\t</a>\n\t</div>\n\n\t<div class=\"modal-content help-modal\">\n\n\t\t<p class=small style=position:absolute;top:13px;right:44px>\n\t\t\t<span class=shortcut-table-key>mod</span> =\n\t\t\t<span class=muted>CTRL on windows or linux and CMD key on Mac</span>\n\t\t</p>\n\n\t\t<div ng-repeat=\"(category, shortcuts) in ctrl.shortcuts\" class=shortcut-category>\n\t\t\t<table class=shortcut-table>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th class=shortcut-table-category-header colspan=2>{{category}}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr ng-repeat=\"shortcut in shortcuts\">\n\t\t\t\t\t\t<td class=shortcut-table-keys>\n              <span class=shortcut-table-key ng-repeat=\"key in shortcut.keys track by $index\" ng-bind-html=key>\n              </span>\n            </td>\n\t\t\t\t\t\t<td class=shortcut-table-description>{{shortcut.description}}</td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tbody>\n\t\t\t</tbody></tbody></table>\n\t\t</div>\n\n\t\t<div class=clearfix></div>\n\t</div>\n\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/core/components/manage_dashboards/manage_dashboards.html":
/*!*****************************************************************************!*\
  !*** ./public/app/core/components/manage_dashboards/manage_dashboards.html ***!
  \*****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/core/components/manage_dashboards/manage_dashboards.html';
var html = "<div class=dashboard-list>\n  <div class=\"page-action-bar page-action-bar--narrow\" ng-hide=\"ctrl.folderId && !ctrl.hasFilters && ctrl.sections.length === 0\">\n    <label class=\"gf-form gf-form--grow gf-form--has-input-icon\">\n      <input type=text class=\"gf-form-input max-width-30\" placeholder=\"Find Dashboard by name\" tabindex=1 give-focus=true ng-model=ctrl.query.query ng-model-options=\"{ debounce: 500 }\" spellcheck=false ng-change=ctrl.onQueryChange() />\n      <i class=\"gf-form-input-icon fa fa-search\"></i>\n    </label>\n    <div class=page-action-bar__spacer></div>\n    <a class=\"btn btn-primary\" ng-href={{ctrl.createDashboardUrl()}} ng-if=\"ctrl.hasEditPermissionInFolders || ctrl.canSave\">\n      New Dashboard\n    </a>\n    <a class=\"btn btn-inverse\" href=dashboards/folder/new ng-if=\"!ctrl.folderId && ctrl.isEditor\">\n      New Folder\n    </a>\n    <a class=\"btn btn-inverse\" href={{ctrl.importDashboardUrl()}} ng-if=\"ctrl.hasEditPermissionInFolders || ctrl.canSave\">\n      Import\n    </a>\n  </div>\n\n  <div class=\"page-action-bar page-action-bar--narrow\" ng-show=ctrl.hasFilters>\n    <div class=gf-form-inline>\n      <div class=gf-form ng-show=\"ctrl.query.tag.length > 0\">\n        <label class=\"gf-form-label width-4\">\n          Tags\n        </label>\n        <div class=\"gf-form-input gf-form-input--plaintext\" ng-show=\"ctrl.query.tag.length > 0\">\n          <span ng-repeat=\"tagName in ctrl.query.tag\">\n            <a ng-click=\"ctrl.removeTag(tagName, $event)\" tag-color-from-name=tagName class=\"tag label label-tag\">\n              <i class=\"fa fa-remove\"></i>&nbsp;{{tagName}}\n            </a>\n          </span>\n        </div>\n      </div>\n      <div class=gf-form ng-show=ctrl.query.starred>\n        <label class=gf-form-label>\n          <a class=pointer ng-click=ctrl.removeStarred()>\n            <i class=\"fa fa-fw fa-check\"></i> Starred\n          </a>\n        </label>\n      </div>\n      <div class=gf-form>\n        <label class=gf-form-label>\n          <a class=pointer ng-click=ctrl.clearFilters() bs-tooltip=\"'Clear current search query and filters'\">\n            <i class=\"fa fa-remove\"></i>&nbsp;Clear\n          </a>\n        </label>\n      </div>\n    </div>\n  </div>\n\n  <div class=search-results ng-show=\"ctrl.hasFilters && ctrl.sections.length === 0\">\n    <em class=muted>\n      No dashboards matching your query were found.\n    </em>\n  </div>\n\n\t<div class=search-results ng-show=\"!ctrl.folderId && !ctrl.hasFilters && ctrl.sections.length === 0\">\n    <em class=muted>\n        No dashboards found.\n    </em>\n  </div>\n\n  <div class=search-results ng-show=\"ctrl.sections.length > 0\">\n    <div class=search-results-filter-row>\n      <gf-form-checkbox on-change=ctrl.onSelectAllChanged() checked=ctrl.selectAllChecked switch-class=gf-form-checkbox--transparent />\n      <div class=search-results-filter-row__filters>\n        <div class=gf-form-select-wrapper ng-show=\"!(ctrl.canMove || ctrl.canDelete)\">\n          <select class=\"search-results-filter-row__filters-item gf-form-input\" ng-model=ctrl.selectedStarredFilter ng-options=\"t.text disable when t.disabled for t in ctrl.starredFilterOptions\" ng-change=ctrl.onStarredFilterChange() />\n        </div>\n        <div class=gf-form-select-wrapper ng-show=\"!(ctrl.canMove || ctrl.canDelete)\">\n          <select class=\"search-results-filter-row__filters-item gf-form-input\" ng-model=ctrl.selectedTagFilter ng-options=\"t.term disable when t.disabled for t in ctrl.tagFilterOptions\" ng-change=ctrl.onTagFilterChange() />\n        </div>\n        <div class=gf-form-button-row ng-show=\"ctrl.canMove || ctrl.canDelete\">\n          <button type=button class=\"btn gf-form-button btn-inverse\" ng-disabled=!ctrl.canMove ng-click=ctrl.moveTo() bs-tooltip=\"ctrl.canMove ? '' : 'Select a dashboard to move (cannot move folders)'\" data-placement=bottom>\n          <i class=\"fa fa-exchange\"></i>&nbsp;&nbsp;Move\n          </button>\n          <button type=button class=\"btn gf-form-button btn-danger\" ng-click=ctrl.delete() ng-disabled=!ctrl.canDelete>\n            <i class=\"fa fa-trash\"></i>&nbsp;&nbsp;Delete\n          </button>\n        </div>\n      </div>\n    </div>\n    <div class=search-results-container>\n      <dashboard-search-results results=ctrl.sections editable=true on-selection-changed=ctrl.selectionChanged() on-tag-selected=ctrl.filterByTag($tag) />\n    </div>\n  </div>\n\n</div>\n\n<div ng-if=\"ctrl.canSave && ctrl.folderId && !ctrl.hasFilters && ctrl.sections.length === 0\">\n  <empty-list-cta title=\"'This folder doesn\\'t have any dashboards yet'\" buttonicon=\"'gicon gicon-dashboard-new'\" buttonlink=\"'dashboard/new?folderId={{ctrl.folderId}}'\" buttontitle=\"'Create Dashboard'\" protip=\"'Add/move dashboards to your folder at ->'\" protiplink=\"'dashboards'\" protiplinktitle=\"'Manage dashboards'\" protiptarget=\"\"/>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/core/components/search/search.html":
/*!*******************************************************!*\
  !*** ./public/app/core/components/search/search.html ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/core/components/search/search.html';
var html = "\n<div class=search-backdrop ng-if=ctrl.isOpen></div>\n\n<div class=search-container ng-if=ctrl.isOpen>\n\n  <search-field query=ctrl.query autofocus=ctrl.giveSearchFocus on-change=ctrl.onQueryChange on-key-down=ctrl.onKeyDown />\n\n\n\t<div class=search-dropdown>\n    <div class=search-dropdown__col_1>\n      <div class=search-results-scroller>\n        <div class=search-results-container grafana-scrollbar>\n          <h6 ng-show=\"!ctrl.isLoading && ctrl.results.length === 0\">No dashboards matching your query were found.</h6>\n          <dashboard-search-results results=ctrl.results on-tag-selected=ctrl.filterByTag($tag) on-folder-expanding=ctrl.folderExpanding() on-folder-expanded=ctrl.folderExpanded($folder) />\n        </div>\n      </div>\n    </div>\n\n    <div class=search-dropdown__col_2>\n      <div class=search-filter-box ng-click=ctrl.onFilterboxClick()>\n        <div class=search-filter-box__header>\n          <i class=\"fa fa-filter\"></i>\n          Filter by:\n          <a class=\"pointer pull-right small\" ng-click=ctrl.clearSearchFilter()>\n            <i class=\"fa fa-remove\"></i> Clear\n          </a>\n        </div>\n\n        <tag-filter tags=ctrl.query.tags tagoptions=ctrl.getTags on-change=ctrl.onTagFiltersChanged>\n        </tag-filter>\n      </div>\n\n      <div class=search-filter-box ng-if=\"ctrl.isEditor || ctrl.hasEditPermissionInFolders\">\n        <a href=dashboard/new class=search-filter-box-link>\n          <i class=\"gicon gicon-dashboard-new\"></i> New dashboard\n        </a>\n        <a href=dashboards/folder/new class=search-filter-box-link ng-if=ctrl.isEditor>\n          <i class=\"gicon gicon-folder-new\"></i> New folder\n        </a>\n        <a href=dashboard/import class=search-filter-box-link ng-if=\"ctrl.isEditor || ctrl.hasEditPermissionInFolders\">\n          <i class=\"gicon gicon-dashboard-import\"></i> Import dashboard\n        </a>\n        <a class=search-filter-box-link target=_blank href=\"https://grafana.com/dashboards?utm_source=grafana_search\">\n          <img src=public/img/icn-dashboard-tiny.svg width=20 /> Find dashboards on Grafana.com\n        </a>\n      </div>\n    </div>\n  </div>\n</div>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/core/components/search/search_results.html":
/*!***************************************************************!*\
  !*** ./public/app/core/components/search/search_results.html ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/core/components/search/search_results.html';
var html = "<div ng-repeat=\"section in ctrl.results\" class=search-section>\n  <div class=\"search-section__header pointer\" ng-hide=section.hideHeader ng-class=\"{'selected': section.selected}\" ng-click=ctrl.toggleFolderExpand(section)>\n    <div ng-click=\"ctrl.toggleSelection(section, $event)\" class=center-vh>\n      <gf-form-checkbox ng-show=ctrl.editable on-change=ctrl.selectionChanged($event) checked=section.checked switch-class=gf-form-checkbox--transparent>\n      </gf-form-checkbox>\n    </div>\n    <i class=search-section__header__icon ng-class=section.icon></i>\n    <span class=search-section__header__text>{{::section.title}}</span>\n    <a ng-show=section.url href={{section.url}} class=search-section__header__link>\n      <i class=\"gicon gicon-cog\"></i>\n    </a>\n    <i class=\"fa fa-angle-down search-section__header__toggle\" ng-show=section.expanded></i>\n    <i class=\"fa fa-angle-right search-section__header__toggle\" ng-hide=section.expanded></i>\n  </div>\n\n  <div class=search-section__header ng-show=section.hideHeader></div>\n\n  <div ng-if=section.expanded>\n    <a ng-repeat=\"item in section.items\" class=\"search-item search-item--indent\" ng-class=\"{'selected': item.selected}\" ng-href={{::item.url}} aria-label={{::item.title}}>\n      <div ng-click=\"ctrl.toggleSelection(item, $event)\" class=center-vh>\n        <gf-form-checkbox ng-show=ctrl.editable on-change=ctrl.selectionChanged() checked=item.checked switch-class=gf-form-checkbox--transparent>\n        </gf-form-checkbox>\n      </div>\n      <span class=search-item__icon>\n        <i class=\"gicon mini gicon-dashboard-list\"></i>\n      </span>\n      <span class=search-item__body ng-click=ctrl.onItemClick(item)>\n        <div class=search-item__body-title>{{::item.title}}</div>\n        <span class=search-item__body-folder-title>{{::item.folderTitle}}</span>\n      </span>\n      <span class=search-item__tags>\n        <span ng-click=\"ctrl.selectTag(tag, $event)\" ng-repeat=\"tag in item.tags\" tag-color-from-name=tag class=\"label label-tag\">\n          {{tag}}\n        </span>\n      </span>\n    </a>\n  </div>\n</div>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/admin/partials/admin_home.html":
/*!************************************************************!*\
  !*** ./public/app/features/admin/partials/admin_home.html ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/admin/partials/admin_home.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\">\n\n  <div class=\"grafana-info-box span8\">\n    Grafana is a multi-tenant system where most can be configured per organization. These\n    admin pages are for server admins where you can manage orgs, & all users across all orgs.\n  </div>\n\n</div>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/admin/partials/edit_org.html":
/*!**********************************************************!*\
  !*** ./public/app/features/admin/partials/edit_org.html ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/admin/partials/edit_org.html';
var html = "<page-header model=navModel></page-header>\n\n<div class=\"page-container page-body\">\n\t<h3 class=page-sub-heading>Edit Organization</h3>\n\n\t<form name=orgDetailsForm class=gf-form-group>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-10\">Name</span>\n\t\t\t<input type=text required ng-model=org.name class=\"gf-form-input max-width-14\">\n\t\t</div>\n\n\t\t<div class=gf-form-button-row>\n\t\t\t<button type=submit class=\"btn btn-primary\" ng-click=update() ng-show=!createMode>Update</button>\n\t\t</div>\n\t</form>\n\n\t<h3 class=page-heading>Organization Users</h3>\n\n\t<table class=filter-table>\n\t\t<tr>\n\t\t\t<th>Username</th>\n\t\t\t<th>Email</th>\n\t\t\t<th>Role</th>\n\t\t\t<th></th>\n\t\t</tr>\n\t\t<tr ng-repeat=\"orgUser in orgUsers\">\n\t\t\t<td>{{orgUser.login}}</td>\n\t\t\t<td>{{orgUser.email}}</td>\n\t\t\t<td>\n        <div class=gf-form>\n          <span class=gf-form-select-wrapper>\n              <select type=text ng-model=orgUser.role class=\"gf-form-input max-width-8\" ng-options=\"f for f in ['Viewer', 'Editor', 'Admin']\" ng-change=updateOrgUser(orgUser)>\n              </select>\n          </span>\n        </div>\n\t\t\t</td>\n\t\t\t<td style=width:1%>\n\t\t\t\t<a ng-click=removeOrgUser(orgUser) class=\"btn btn-danger btn-small\">\n\t\t\t\t\t<i class=\"fa fa-remove\"></i>\n\t\t\t\t</a>\n\t\t\t</td>\n\t\t</tr>\n\t</table>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/admin/partials/edit_user.html":
/*!***********************************************************!*\
  !*** ./public/app/features/admin/partials/edit_user.html ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/admin/partials/edit_user.html';
var html = "<page-header model=navModel></page-header>\n\n<div class=\"page-container page-body\">\n  <h3 class=page-sub-heading>Edit User</h3>\n\n  <form name=userForm class=gf-form-group>\n    <div class=gf-form>\n      <span class=\"gf-form-label width-10\">Name</span>\n      <input type=text required ng-model=user.name class=\"gf-form-input max-width-25\"/>\n    </div>\n    <div class=gf-form>\n      <span class=\"gf-form-label width-10\">Email</span>\n      <input type=email ng-model=user.email class=\"gf-form-input max-width-25\"/>\n    </div>\n    <div class=gf-form>\n      <span class=\"gf-form-label width-10\">Username</span>\n      <input type=text ng-model=user.login class=\"gf-form-input max-width-25\"/>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button type=submit class=\"btn btn-primary\" ng-click=update() ng-show=!createMode>Update</button>\n    </div>\n  </form>\n\n  <h3 class=page-heading>Change password</h3>\n\n  <form name=passwordForm class=gf-form-group>\n    <div class=gf-form>\n      <span class=\"gf-form-label width-10\">New password</span>\n      <input type=password required ng-minlength=4 ng-model=password class=\"gf-form-input max-width-25\"/>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button type=submit class=\"btn btn-primary\" ng-click=setPassword()>Update</button>\n    </div>\n  </form>\n\n  <h3 class=page-heading>Permissions</h3>\n\n  <form name=passwordForm class=gf-form-group>\n    <div class=gf-form>\n      <gf-form-switch class=gf-form label=\"Grafana Admin\" checked=permissions.isGrafanaAdmin switch-class=max-width-6 on-change=updatePermissions()></gf-form-switch>\n    </div>\n  </form>\n\n  <h3 class=page-heading>Organizations</h3>\n\n  <form name=addOrgForm class=gf-form-group>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <span class=gf-form-label>Add</span>\n        <input type=text ng-model=newOrg.name bs-typeahead=searchOrgs required class=\"gf-form-input max-width-20\" placeholder=\"organization name\"/>\n      </div>\n      <div class=gf-form>\n        <span class=gf-form-label>Role</span>\n        <span class=gf-form-select-wrapper>\n          <select type=text ng-model=newOrg.role class=\"gf-form-input width-10\" ng-options=\"f for f in ['Viewer', 'Editor', 'Admin']\"></select>\n        </span>\n      </div>\n      <div class=gf-form>\n        <button class=\"btn btn-primary gf-form-btn\" ng-click=addOrgUser()>Add</button>\n      </div>\n    </div>\n  </form>\n\n  <div class=gf-form-group>\n    <table class=filter-table>\n      <thead>\n        <tr>\n          <th>Name</th>\n          <th>Role</th>\n          <th></th>\n        </tr>\n      </thead>\n      <tr ng-repeat=\"org in orgs\">\n        <td>{{org.name}} <span class=\"label label-info\" ng-show=\"org.orgId === user.orgId\">Current</span></td>\n        <td>\n          <div class=gf-form>\n            <span class=gf-form-select-wrapper>\n              <select type=text ng-model=org.role class=\"gf-form-input max-width-12\" ng-options=\"f for f in ['Viewer', 'Editor', 'Admin']\" ng-change=updateOrgUser(org)>\n              </select>\n            </span>\n          </div>\n        </td>\n        <td style=width:1%>\n          <a ng-click=removeOrgUser(org) class=\"btn btn-danger btn-small\">\n            <i class=\"fa fa-remove\"></i>\n          </a>\n        </td>\n      </tr>\n    </table>\n  </div>\n\n  <h3 class=page-heading>Sessions</h3>\n\n  <div class=gf-form-group>\n    <div class=gf-form>\n      <table class=\"filter-table form-inline\">\n        <thead>\n          <tr>\n            <th>Last seen</th>\n            <th>Logged on</th>\n            <th>IP address</th>\n            <th>Browser &amp; OS</th>\n            <th></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr ng-repeat=\"session in sessions\">\n            <td ng-if=session.isActive>Now</td>\n            <td ng-if=!session.isActive>{{session.seenAt}}</td>\n            <td>{{session.createdAt}}</td>\n            <td>{{session.clientIp}}</td>\n            <td>{{session.browser}} on {{session.os}} {{session.osVersion}}</td>\n            <td>\n              <button class=\"btn btn-danger btn-small\" ng-click=revokeUserSession(session.id)>\n                <i class=\"fa fa-power-off\"></i>\n              </button>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </div>\n    <div class=gf-form-button-row>\n      <button ng-if=sessions.length class=\"btn btn-danger\" ng-click=revokeAllUserSessions()>\n        Logout user from all devices\n      </button>\n    </div>\n  </div>\n\n\n  <h3 class=page-heading>User status</h3>\n\n  <div class=gf-form-group>\n    <div class=gf-form-button-row>\n      <button type=submit class=\"btn btn-danger\" ng-if=!user.isDisabled ng-click=disableUser($event) bs-tooltip=\"user.isExternal ? 'External user cannot be enabled or disabled' : ''\" ng-class=\"{'disabled': user.isExternal}\">\n        Disable\n      </button>\n      <button type=submit class=\"btn btn-primary\" ng-if=user.isDisabled ng-click=disableUser($event) bs-tooltip=\"user.isExternal ? 'External user cannot be enabled or disabled' : ''\" ng-class=\"{'disabled': user.isExternal}\">\n        Enable\n      </button>\n      <button type=submit class=\"btn btn-danger\" ng-click=deleteUser(user) ng-show=!createMode>Delete User</button>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/admin/partials/new_user.html":
/*!**********************************************************!*\
  !*** ./public/app/features/admin/partials/new_user.html ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/admin/partials/new_user.html';
var html = "<page-header model=navModel></page-header>\n\n<div class=\"page-container page-body\">\n\t<div class=page-sub-heading>\n\t\t<h3 class=page-sub-heading>Add new user</h3>\n\t</div>\n\n\t<form name=userForm class=gf-form-group>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-10\">Name</span>\n\t\t\t<input type=text required ng-model=user.name class=\"gf-form-input max-width-20\">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-10\">Email</span>\n\t\t\t<input type=email ng-model=user.email class=\"gf-form-input max-width-20\">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-10\">Username</span>\n\t\t\t<input type=text ng-model=user.login class=\"gf-form-input max-width-20\">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-10\">Password</span>\n\t\t\t<input type=password required ng-model=user.password class=\"gf-form-input max-width-20\">\n\t\t</div>\n\n\t\t<div class=gf-form-button-row>\n\t\t\t<button type=submit class=\"btn btn-primary\" ng-click=create()>Create</button>\n\t\t</div>\n\t</form>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/admin/partials/orgs.html":
/*!******************************************************!*\
  !*** ./public/app/features/admin/partials/orgs.html ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/admin/partials/orgs.html';
var html = "<page-header model=navModel></page-header>\n\n<div class=\"page-container page-body\">\n  <div class=page-action-bar>\n    <div class=page-action-bar__spacer></div>\n    <a class=\"page-header__cta btn btn-primary\" href=org/new>\n      New org\n    </a>\n  </div>\n\n  <table class=\"filter-table form-inline filter-table--hover\">\n    <thead>\n      <tr>\n        <th>Id</th>\n        <th>Name</th>\n        <th style=width:1%></th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr ng-repeat=\"org in orgs\">\n        <td class=link-td>\n          <a href=admin/orgs/edit/{{org.id}}>\n            {{org.id}}\n          </a>\n        </td>\n        <td class=link-td>\n          <a href=admin/orgs/edit/{{org.id}}>\n            {{org.name}}\n          </a>\n        </td>\n        <td class=text-right>\n          <a ng-click=deleteOrg(org) class=\"btn btn-danger btn-small\">\n            <i class=\"fa fa-remove\"></i>\n          </a>\n        </td>\n      </tr>\n    </tbody>\n  </table>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/admin/partials/settings.html":
/*!**********************************************************!*\
  !*** ./public/app/features/admin/partials/settings.html ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/admin/partials/settings.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\">\n\n\t<div class=\"grafana-info-box span8\" style=\"margin:20px 0 25px 0\">\n\t\tThese system settings are defined in grafana.ini or custom.ini (or overridden in ENV variables).\n\t\tTo change these you currently need to restart grafana.\n\t</div>\n\n\t<table class=filter-table>\n\t\t<tr ng-repeat-start=\"(secName, secValue) in settings\">\n\t\t\t<td class=admin-settings-section>{{secName}}</td>\n\t\t\t<td></td>\n\t\t</tr>\n\t\t<tr ng-repeat=\"(keyName, keyValue) in secValue\" ng-repeat-end>\n\t\t\t<td style=padding-left:25px>{{keyName}}</td>\n\t\t\t<td>{{keyValue}}</td>\n\t\t</tr>\n\t</table>\n</div>\n\n\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/admin/partials/stats.html":
/*!*******************************************************!*\
  !*** ./public/app/features/admin/partials/stats.html ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/admin/partials/stats.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\">\n\t<table class=\"filter-table form-inline\">\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t<th>Name</th>\n\t\t\t\t<th>Value</th>\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t<tr>\n\t\t\t\t<td>Total dashboards</td>\n\t\t\t\t<td>{{ctrl.stats.dashboards}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total users</td>\n\t\t\t\t<td>{{ctrl.stats.users}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Active users (seen last 14 days)</td>\n\t\t\t\t<td>{{ctrl.stats.activeUsers}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total organizations</td>\n\t\t\t\t<td>{{ctrl.stats.orgs}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total datasources</td>\n\t\t\t\t<td>{{ctrl.stats.datasources}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total playlists</td>\n\t\t\t\t<td>{{ctrl.stats.playlists}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total snapshots</td>\n\t\t\t\t<td>{{ctrl.stats.snapshots}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total dashboard tags</td>\n\t\t\t\t<td>{{ctrl.stats.tags}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total starred dashboards</td>\n\t\t\t\t<td>{{ctrl.stats.stars}}</td>\n\t\t\t</tr>\n      <tr>\n\t\t\t\t<td>Total alerts</td>\n\t\t\t\t<td>{{ctrl.stats.alerts}}</td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/admin/partials/styleguide.html":
/*!************************************************************!*\
  !*** ./public/app/features/admin/partials/styleguide.html ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/admin/partials/styleguide.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\">\n\n\t<h3 class=page-heading>Buttons</h3>\n\n\t<div class=tab-pane>\n\t\t<div ng-repeat=\"variant in ctrl.buttonVariants\" class=row>\n\t\t\t<div ng-repeat=\"btnSize in ctrl.buttonSizes\" class=\"style-guide-button-list p-a-2 col-md-4\">\n\t\t\t\t<button ng-repeat=\"buttonName in ctrl.buttonNames\" class=\"btn btn{{variant}}{{buttonName}} {{btnSize}}\">\n\t\t\t\t\tbtn{{variant}}{{buttonName}}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<h3 class=page-heading>Forms</h3>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<label class=gf-form-label>Label</label>\n\t\t\t<input type=text class=gf-form-input />\n\t\t</div>\n\t</div>\n\n</div>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/admin/partials/users.html":
/*!*******************************************************!*\
  !*** ./public/app/features/admin/partials/users.html ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/admin/partials/users.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\">\n\t<div class=page-action-bar>\n    <label class=\"gf-form gf-form--grow gf-form--has-input-icon\">\n      <input type=text class=\"gf-form-input max-width-30\" placeholder=\"Find user by name/login/email\" tabindex=1 give-focus=true ng-model=ctrl.query ng-model-options=\"{ debounce: 500 }\" spellcheck=false ng-change=ctrl.getUsers() />\n      <i class=\"gf-form-input-icon fa fa-search\"></i>\n    </label>\n    <div class=page-action-bar__spacer></div>\n    <a class=\"btn btn-primary\" href=admin/users/create>\n      New user\n    </a>\n  </div>\n\n  <div class=admin-list-table>\n    <table class=\"filter-table form-inline filter-table--hover\">\n      <thead>\n        <tr>\n          <th></th>\n          <th>Login</th>\n          <th>Email</th>\n          <th>\n            Seen\n            <tip>Time since user was seen using Grafana</tip>\n          </th>\n          <th></th>\n          <th style=width:1%></th>\n        </tr>\n      </thead>\n      <tbody>\n        <tr ng-repeat=\"user in ctrl.users\">\n          <td class=\"width-4 text-center link-td\">\n            <a href=admin/users/edit/{{user.id}}>\n              <img class=filter-table__avatar ng-src={{user.avatarUrl}}>\n            </a>\n          </td>\n          <td class=link-td>\n            <a href=admin/users/edit/{{user.id}}>\n              {{user.login}}\n            </a>\n          </td>\n          <td class=link-td>\n            <a href=admin/users/edit/{{user.id}}>\n              {{user.email}}\n            </a>\n          </td>\n          <td class=link-td>\n            <a href=admin/users/edit/{{user.id}}>\n              {{user.lastSeenAtAge}}\n            </a>\n          </td>\n          <td class=link-td>\n            <a href=admin/users/edit/{{user.id}}>\n              <i class=\"fa fa-shield\" ng-show=user.isAdmin bs-tooltip=\"'Grafana Admin'\"></i>\n            </a>\n          </td>\n          <td class=text-right>\n            <span class=\"label label-tag\" ng-style=user.authLabelStyle ng-if=user.authLabel>\n              {{user.authLabel}}\n            </span>\n          </td>\n          <td class=text-right>\n            <span class=\"label label-tag label-tag--gray\" ng-if=user.isDisabled>Disabled</span>\n          </td>\n        </tr>\n      </tbody>\n\n    </table>\n  </div>\n\n  <div class=admin-list-paging ng-if=ctrl.showPaging>\n    <ol>\n      <li ng-repeat=\"page in ctrl.pages\">\n        <button class=\"btn btn-small\" ng-class=\"{'btn-secondary': page.current, 'btn-inverse': !page.current}\" ng-click=ctrl.navigateToPage(page)>{{page.page}}</button>\n      </li>\n    </ol>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/alerting/partials/alert_howto.html":
/*!****************************************************************!*\
  !*** ./public/app/features/alerting/partials/alert_howto.html ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/alerting/partials/alert_howto.html';
var html = "<div class=modal-body>\n\t<div class=modal-header>\n\t\t<h2 class=modal-header-title>\n\t\t\t<i class=\"fa fa-info-circle\"></i>\n\t\t\t<span class=p-l-1>Adding an Alert</span>\n\t\t</h2>\n\n\t\t<a class=modal-header-close ng-click=dismiss();>\n\t\t\t<i class=\"fa fa-remove\"></i>\n\t\t</a>\n\t</div>\n\n\n\t<div class=modal-content>\n\t\t<div class=text-center>\n\t\t\t<img src=public/img/alert_howto_new.png>\n\t\t</div>\n\t\t<p class=\"p-a-2 text-center offset-lg-1 col-lg-10\">\n\t\t\tAlerts are added and configured in the <strong>Alert Tab</strong> of any dashboard\n\t\t\tgraph panel, letting you build and visualize an alert using existing queries.\n\t\t\t<br> <br>\n\t\t\tTo persist your alert rule changes remember to save the dashboard.\n\t\t\t<br>\n\t\t\t<br>\n\t\t</p>\n\t</div>\n\n</div>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/alerting/partials/alert_tab.html":
/*!**************************************************************!*\
  !*** ./public/app/features/alerting/partials/alert_tab.html ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/alerting/partials/alert_tab.html';
var html = "<div ng-if=ctrl.panel.alert>\n  <div class=\"alert alert-error m-b-2\" ng-show=ctrl.error>\n    <i class=\"fa fa-warning\"></i> {{ctrl.error}}\n  </div>\n  <div class=panel-options-group>\n    <div class=panel-options-group__body>\n      <div class=gf-form-group>\n        <h4 class=section-heading>Rule</h4>\n        <div class=gf-form-inline>\n          <div class=gf-form>\n            <span class=\"gf-form-label width-6\">Name</span>\n            <input type=text class=\"gf-form-input width-20\" ng-model=ctrl.alert.name>\n          </div>\n          <div class=gf-form>\n            <span class=\"gf-form-label width-9\">Evaluate every</span>\n            <input class=\"gf-form-input max-width-6\" type=text ng-model=ctrl.alert.frequency>\n          </div>\n          <div class=\"gf-form max-width-11\">\n            <label class=\"gf-form-label width-5\">For</label>\n            <input type=text class=\"gf-form-input max-width-6 gf-form-input--has-help-icon\" ng-model=ctrl.alert.for spellcheck=false placeholder=5m>\n            <info-popover mode=right-absolute>\n              If an alert rule has a configured For and the query violates the configured\n              threshold it\n              will first go from OK to Pending.\n              Going from OK to Pending Grafana will not send any notifications. Once the alert\n              rule\n              has\n              been firing for more than For duration, it will change to Alerting and send alert\n              notifications.\n            </info-popover>\n          </div>\n        </div>\n      </div>\n\n      <div class=gf-form-group>\n        <h4 class=section-heading>Conditions</h4>\n        <div class=gf-form-inline ng-repeat=\"conditionModel in ctrl.conditionModels\">\n          <div class=gf-form>\n            <metric-segment-model css-class=\"query-keyword width-5\" ng-if=$index property=conditionModel.operator.type options=ctrl.evalOperators custom=false></metric-segment-model>\n            <span class=\"gf-form-label query-keyword width-5\" ng-if=\"$index===0\">WHEN</span>\n          </div>\n          <div class=gf-form>\n            <query-part-editor class=\"gf-form-label query-part width-9\" part=conditionModel.reducerPart handle-event=\"ctrl.handleReducerPartEvent(conditionModel, $event)\">\n            </query-part-editor>\n            <span class=\"gf-form-label query-keyword\">OF</span>\n          </div>\n          <div class=gf-form>\n            <query-part-editor class=\"gf-form-label query-part\" part=conditionModel.queryPart handle-event=\"ctrl.handleQueryPartEvent(conditionModel, $event)\">\n            </query-part-editor>\n          </div>\n          <div class=gf-form>\n            <metric-segment-model property=conditionModel.evaluator.type options=ctrl.evalFunctions custom=false css-class=query-keyword on-change=ctrl.evaluatorTypeChanged(conditionModel.evaluator)></metric-segment-model>\n            <input class=\"gf-form-input max-width-9\" type=number step=any ng-hide=\"conditionModel.evaluator.params.length === 0\" ng-model=conditionModel.evaluator.params[0] ng-change=ctrl.evaluatorParamsChanged() />\n            <label class=\"gf-form-label query-keyword\" ng-show=\"conditionModel.evaluator.params.length === 2\">TO</label>\n            <input class=\"gf-form-input max-width-9\" type=number step=any ng-if=\"conditionModel.evaluator.params.length === 2\" ng-model=conditionModel.evaluator.params[1] ng-change=ctrl.evaluatorParamsChanged() />\n          </div>\n          <div class=gf-form>\n            <label class=gf-form-label>\n              <a class=pointer tabindex=1 ng-click=ctrl.removeCondition($index)>\n                <i class=\"fa fa-trash\"></i>\n              </a>\n            </label>\n          </div>\n        </div>\n\n        <div class=gf-form>\n          <label class=\"gf-form-label dropdown\">\n            <a class=\"pointer dropdown-toggle\" data-toggle=dropdown>\n              <i class=\"fa fa-plus\"></i>\n            </a>\n            <ul class=dropdown-menu role=menu>\n              <li ng-repeat=\"ct in ctrl.conditionTypes\" role=menuitem>\n                <a ng-click=ctrl.addCondition(ct.value);>{{ct.text}}</a>\n              </li>\n            </ul>\n          </label>\n        </div>\n      </div>\n\n      <div class=gf-form-group>\n        <h4 class=section-heading>No Data & Error Handling</h4>\n        <div class=gf-form-inline>\n          <div class=gf-form>\n            <span class=\"gf-form-label width-15\">If no data or all values are null</span>\n          </div>\n          <div class=gf-form>\n            <span class=\"gf-form-label query-keyword\">SET STATE TO</span>\n            <div class=gf-form-select-wrapper>\n              <select class=gf-form-input ng-model=ctrl.alert.noDataState ng-options=\"f.value as f.text for f in ctrl.noDataModes\">\n              </select>\n            </div>\n          </div>\n        </div>\n\n        <div class=gf-form-inline>\n          <div class=gf-form>\n            <span class=\"gf-form-label width-15\">If execution error or timeout</span>\n          </div>\n          <div class=gf-form>\n            <span class=\"gf-form-label query-keyword\">SET STATE TO</span>\n            <div class=gf-form-select-wrapper>\n              <select class=gf-form-input ng-model=ctrl.alert.executionErrorState ng-options=\"f.value as f.text for f in ctrl.executionErrorModes\">\n              </select>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n\n  <div class=panel-options-group>\n    <div class=panel-options-group__header>Notifications</div>\n    <div class=panel-options-group__body>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <span class=\"gf-form-label width-8\">Send to</span>\n        </div>\n        <div class=gf-form ng-repeat=\"nc in ctrl.alertNotifications\">\n          <span class=gf-form-label ng-style=\"{'background-color': nc.bgColor }\">\n            <i class={{nc.iconClass}}></i>&nbsp;{{nc.name}}&nbsp;\n            <i class=\"fa fa-remove pointer muted\" ng-click=ctrl.removeNotification(nc) ng-if=\"nc.isDefault === false\"></i>\n          </span>\n        </div>\n        <div class=gf-form>\n          <metric-segment segment=ctrl.addNotificationSegment get-options=ctrl.getNotifications() on-change=ctrl.notificationAdded()></metric-segment>\n        </div>\n      </div>\n      <div class=\"gf-form gf-form--v-stretch\">\n        <span class=\"gf-form-label width-8\">Message</span>\n        <textarea class=gf-form-input rows=10 ng-model=ctrl.alert.message placeholder=\"Notification message details...\"></textarea>\n      </div>\n      <div class=gf-form>\n        <span class=\"gf-form-label width-8\">Tags</span>\n        <div class=gf-form-group>\n          <div class=gf-form-inline ng-repeat=\"(name, value) in ctrl.alert.alertRuleTags\">\n            <label class=\"gf-form-label width-15\">{{ name }}</label>\n            <input class=\"gf-form-input width-15\" placeholder=\"Tag value...\" ng-model=ctrl.alert.alertRuleTags[name] type=text />\n            <label class=gf-form-label>\n              <a class=pointer tabindex=1 ng-click=ctrl.removeAlertRuleTag(name)>\n                <i class=\"fa fa-trash\"></i>\n              </a>\n            </label>\n          </div>\n          <div class=gf-form-group>\n            <div class=gf-form-inline>\n              <div class=gf-form>\n                <input class=\"gf-form-input width-15\" placeholder=\"New tag name...\" ng-model=ctrl.newAlertRuleTag.name type=text>\n                <input class=\"gf-form-input width-15\" placeholder=\"New tag value...\" ng-model=ctrl.newAlertRuleTag.value type=text>\n              </div>\n            </div>\n            <div class=gf-form>\n              <label class=gf-form-label>\n                <a class=pointer tabindex=1 ng-click=ctrl.addAlertRuleTag()>\n                  <i class=\"fa fa-plus\"></i>&nbsp;Add Tag\n                </a>\n              </label>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/alerting/partials/notification_edit.html":
/*!**********************************************************************!*\
  !*** ./public/app/features/alerting/partials/notification_edit.html ***!
  \**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/alerting/partials/notification_edit.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\">\n\n  <h3 class=page-sub-heading ng-hide=ctrl.isNew>Edit Notification Channel</h3>\n  <h3 class=page-sub-heading ng-show=ctrl.isNew>New Notification Channel</h3>\n\n  <form name=ctrl.theForm ng-if=ctrl.notifiers>\n    <div class=gf-form-group>\n      <div class=gf-form>\n        <span class=\"gf-form-label width-12\">Name</span>\n        <input type=text required class=\"gf-form-input max-width-15\" ng-model=ctrl.model.name required>\n      </div>\n      <div class=gf-form>\n        <span class=\"gf-form-label width-12\">Type</span>\n        <div class=\"gf-form-select-wrapper width-15\">\n          <select class=gf-form-input ng-model=ctrl.model.type ng-options=\"t.type as t.name for t in ctrl.notifiers\" ng-change=\"ctrl.typeChanged(notification, $index)\">\n          </select>\n        </div>\n      </div>\n      <gf-form-switch class=gf-form label=\"Default (send on all alerts)\" label-class=width-14 checked=ctrl.model.isDefault tooltip=\"Use this notification for all alerts\">\n      </gf-form-switch>\n      <gf-form-switch class=gf-form label=\"Include image\" label-class=width-14 checked=ctrl.model.settings.uploadImage tooltip=\"Captures an image and include it in the notification\">\n      </gf-form-switch>\n      <gf-form-switch class=gf-form label=\"Disable Resolve Message\" label-class=width-14 checked=ctrl.model.disableResolveMessage tooltip=\"Disable the resolve message [OK] that is sent when alerting state returns to false\">\n      </gf-form-switch>\n      <gf-form-switch class=gf-form label=\"Send reminders\" label-class=width-14 checked=ctrl.model.sendReminder tooltip=\"Send additional notifications for triggered alerts\">\n      </gf-form-switch>\n      <div class=gf-form-inline>\n        <div class=gf-form ng-if=ctrl.model.sendReminder>\n          <span class=\"gf-form-label width-12\">Send reminder every\n            <info-popover mode=right-normal position=\"top center\">\n              Specify how often reminders should be sent, e.g. every 30s, 1m, 10m, 30m or 1h etc.\n            </info-popover>\n          </span>\n          <input type=text placeholder=\"Select or specify custom\" class=\"gf-form-input width-15\" ng-model=ctrl.model.frequency bs-typeahead=ctrl.getFrequencySuggestion data-min-length=0 ng-required=ctrl.model.sendReminder>\n        </div>\n      </div>\n      <div class=gf-form>\n          <span class=\"alert alert-info width-30\" ng-if=ctrl.model.sendReminder>\n            Alert reminders are sent after rules are evaluated. Therefore a reminder can never be sent more frequently than a configured alert rule evaluation interval.\n          </span>\n        </div>\n    </div>\n\n    <div class=gf-form-group ng-include src=ctrl.notifierTemplateId>\n    </div>\n\n    <div class=\"gf-form-group gf-form-button-row\">\n\t\t\t<button type=submit ng-click=ctrl.save() class=\"btn btn-primary width-7\">Save</button>\n\t\t\t<button type=submit ng-click=ctrl.testNotification() class=\"btn btn-secondary width-7\">Send Test</button>\n\t\t\t<button type=delete ng-if=!ctrl.isNew ng-click=ctrl.deleteNotification() class=\"btn btn-danger width-7\">Delete</button>\n\t\t\t<a href=alerting/notifications class=\"btn btn-inverse\">Back</a>\n    </div>\n  </form>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/alerting/partials/notifications_list.html":
/*!***********************************************************************!*\
  !*** ./public/app/features/alerting/partials/notifications_list.html ***!
  \***********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/alerting/partials/notifications_list.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\">\n\n  <div ng-if=ctrl.notifications.length>\n    <div class=page-action-bar>\n      <div class=page-action-bar__spacer>\n      </div>\n\n      <a href=alerting/notification/new class=\"btn btn-primary\">\n        New channel\n      </a>\n    </div>\n\n    <table class=\"filter-table filter-table--hover\">\n      <thead>\n        <th style=min-width:200px>\n          <strong>Name</strong>\n        </th>\n        <th style=min-width:100px>Type</th>\n        <th style=width:1%></th>\n      </thead>\n      <tbody>\n        <tr ng-repeat=\"notification in ctrl.notifications\">\n          <td class=link-td>\n            <a href=alerting/notification/{{notification.id}}/edit>\n              {{notification.name}}\n            </a>\n          </td>\n          <td class=link-td>\n            <a href=alerting/notification/{{notification.id}}/edit>\n              {{notification.type}}\n            </a>\n          </td>\n          <td class=text-right>\n            <span class=\"btn btn-secondary btn-small\" ng-show=\"notification.isDefault == true\">\n              default\n            </span>\n            <a ng-click=ctrl.deleteNotification(notification.id) class=\"btn btn-danger btn-small\">\n              <i class=\"fa fa-remove\"></i>\n            </a>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  </div>\n  <div ng-if=\"ctrl.notifications.length === 0\">\n    <empty-list-cta title=\"'There are no notification channels defined yet'\" buttonicon=\"'gicon gicon-alert-notification-channel'\" buttonlink=\"'alerting/notification/new'\" buttontitle=\"'Add channel'\" protip=\"'You can include images in your alert notifications.'\" protiplink=\"'http://docs.grafana.org/alerting/notifications/'\" protiplinktitle=\"'Learn more'\" protiptarget=\"'_blank'\"/>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/annotations/partials/editor.html":
/*!**************************************************************!*\
  !*** ./public/app/features/annotations/partials/editor.html ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/annotations/partials/editor.html';
var html = "<div ng-controller=AnnotationsEditorCtrl>\n  <div class=page-action-bar>\n    <h3 class=dashboard-settings__header>\n      <a ng-click=ctrl.backToList()>Annotations</a>\n      <span ng-show=\"ctrl.mode === 'new'\">&gt; New</span>\n      <span ng-show=\"ctrl.mode === 'edit'\">&gt; Edit</span>\n    </h3>\n\n    <div class=page-action-bar__spacer></div>\n\n    <a type=button class=\"btn btn-primary\" ng-click=ctrl.setupNew(); ng-if=\"ctrl.annotations.length > 1\" ng-hide=\"ctrl.mode === 'edit' || ctrl.mode === 'new'\">\n      New\n    </a>\n  </div>\n\n  <div ng-if=\"ctrl.mode === 'list'\">\n    <table class=\"filter-table filter-table--hover\">\n      <thead>\n        <tr>\n          <th>Query name</th>\n          <th>Data source</th>\n          <th colspan=3></th>\n        </tr>\n      </thead>\n      <tbody>\n        <tr ng-repeat=\"annotation in ctrl.annotations track by annotation.name\">\n          <td style=width:90% ng-hide=annotation.builtIn class=pointer ng-click=ctrl.edit(annotation)>\n            <i class=\"fa fa-comment\" style=color:{};></i> &nbsp;\n            {{ annotation.name }}\n          </td>\n          <td style=width:90% ng-show=annotation.builtIn class=pointer ng-click=ctrl.edit(annotation)>\n            <i class=\"gicon gicon-annotation\"></i> &nbsp;\n            <em class=muted>{{ annotation.name }} (Built-in)</em>\n          </td>\n          <td class=pointer ng-click=ctrl.edit(annotation)>\n            {{ annotation.datasource || 'Default' }}\n          </td>\n          <td style=width:1%>\n            <i ng-click=ctrl.move($index,-1) ng-hide=$first class=\"pointer fa fa-arrow-up\"></i>\n          </td>\n          <td style=width:1%>\n            <i ng-click=ctrl.move($index,1) ng-hide=$last class=\"pointer fa fa-arrow-down\"></i>\n          </td>\n          <td style=width:1%>\n            <a ng-click=ctrl.removeAnnotation(annotation) class=\"btn btn-danger btn-small\" ng-hide=annotation.builtIn>\n              <i class=\"fa fa-remove\"></i>\n            </a>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n\n    <!-- empty list cta, there is always one built in query -->\n    <div ng-if=\"ctrl.annotations.length === 1\" class=p-t-2>\n      <empty-list-cta title=ctrl.emptyListCta.title buttonicon=ctrl.emptyListCta.buttonIcon buttontitle=ctrl.emptyListCta.buttonTitle infobox=ctrl.emptyListCta.infoBox infoboxtitle=ctrl.emptyListCta.infoBoxTitle on-click=ctrl.setupNew />\n    </div>\n  </div>\n\n  <div class=annotations-basic-settings ng-if=\"ctrl.mode === 'edit' || ctrl.mode === 'new'\">\n    <div class=gf-form-group>\n      <h5 class=section-heading>General</h5>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <span class=\"gf-form-label width-7\">Name</span>\n          <input type=text class=\"gf-form-input width-20\" ng-model=ctrl.currentAnnotation.name placeholder=name />\n        </div>\n        <div class=gf-form>\n          <span class=\"gf-form-label width-7\">Data source</span>\n          <div class=gf-form-select-wrapper>\n            <select class=gf-form-input ng-model=ctrl.currentAnnotation.datasource ng-options=\"f.name as f.name for f in ctrl.datasources\" ng-change=ctrl.datasourceChanged()></select>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <div class=gf-form-group>\n      <div class=gf-form-inline>\n        <gf-form-switch class=gf-form label=Enabled checked=ctrl.currentAnnotation.enable label-class=width-7>\n        </gf-form-switch>\n        <gf-form-switch class=gf-form label=Hidden tooltip=\"Hides the annotation query toggle from showing at the top of the dashboard\" checked=ctrl.currentAnnotation.hide label-class=width-7>\n        </gf-form-switch>\n        <div class=gf-form>\n          <label class=\"gf-form-label width-9\">Color</label>\n          <span class=gf-form-label>\n            <color-picker color=ctrl.currentAnnotation.iconColor onchange=ctrl.onColorChange></color-picker>\n          </span>\n        </div>\n      </div>\n    </div>\n\n    <h5 class=section-heading>Query</h5>\n    <rebuild-on-change property=ctrl.currentDatasource>\n      <plugin-component type=annotations-query-ctrl> </plugin-component>\n    </rebuild-on-change>\n\n    <div class=gf-form>\n      <div class=\"gf-form-button-row p-y-0\">\n        <button ng-show=\"ctrl.mode === 'new'\" type=button class=\"btn gf-form-button btn-primary\" ng-click=ctrl.add()>\n          Add\n        </button>\n        <button ng-show=\"ctrl.mode === 'edit'\" type=button class=\"btn btn-primary pull-left\" ng-click=ctrl.update()>\n          Update\n        </button>\n      </div>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/annotations/partials/event_editor.html":
/*!********************************************************************!*\
  !*** ./public/app/features/annotations/partials/event_editor.html ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/annotations/partials/event_editor.html';
var html = "\n<div class=graph-annotation>\n\t<div class=graph-annotation__header>\n\t\t<div class=graph-annotation__user bs-tooltip=\"'Created by {{ctrl.login}}'\">\n\t\t</div>\n\n\t\t<div class=graph-annotation__title>\n\t\t\t<span ng-if=!ctrl.event.id>Add Annotation</span>\n\t\t\t<span ng-if=ctrl.event.id>Edit Annotation</span>\n\t\t</div>\n\n    <div class=graph-annotation__time>{{ctrl.timeFormated}}</div>\n\t</div>\n\n\t<form name=ctrl.form class=\"graph-annotation__body text-center\">\n\t\t<div style=display:inline-block>\n\t\t\t<div class=\"gf-form gf-form--v-stretch\">\n\t\t\t\t<span class=\"gf-form-label width-7\">Description</span>\n\t\t\t\t<textarea class=\"gf-form-input width-20\" rows=2 ng-model=ctrl.event.text placeholder=Description></textarea>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class=\"gf-form-label width-7\">Tags</span>\n\t\t\t\t<bootstrap-tagsinput ng-model=ctrl.event.tags tagclass=\"label label-tag\" placeholder=\"add tags\">\n\t\t\t\t</bootstrap-tagsinput>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form-button-row>\n\t\t\t\t<button type=submit class=\"btn btn-primary\" ng-click=ctrl.save()>Save</button>\n\t\t\t\t<button ng-if=ctrl.event.id type=submit class=\"btn btn-danger\" ng-click=ctrl.delete()>Delete</button>\n\t\t\t\t<a class=btn-text ng-click=ctrl.close();>Cancel</a>\n\t\t\t</div>\n\t\t</div>\n\t</form>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/dashboard/components/DashExportModal/template.html":
/*!********************************************************************************!*\
  !*** ./public/app/features/dashboard/components/DashExportModal/template.html ***!
  \********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/dashboard/components/DashExportModal/template.html';
var html = "<div class=share-modal-header>\n\t<div class=share-modal-big-icon>\n\t\t<i class=\"fa fa-cloud-upload\"></i>\n\t</div>\n\t<div>\n\t\t<gf-form-switch class=gf-form label=\"Export for sharing externally\" label-class=width-16 checked=ctrl.shareExternally tooltip=\"Useful for sharing dashboard publicly on grafana.com. Will templatize data source names. Can then only be used with the specific dashboard import API.\">\n\t\t</gf-form-switch>\n\n\t\t<div class=gf-form-button-row>\n\t\t\t<button type=button class=\"btn gf-form-btn width-10 btn-primary\" ng-click=ctrl.saveDashboardAsFile()>\n\t\t\t  Save to file\n\t\t\t</button>\n\t\t\t<button type=button class=\"btn gf-form-btn width-10 btn-secondary\" ng-click=ctrl.viewJson()>\n\t\t\t  View JSON\n\t\t\t</button>\n\t\t\t<a class=\"btn btn-link\" ng-click=ctrl.dismiss()>Cancel</a>\n\t\t</div>\n\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/dashboard/components/DashLinks/editor.html":
/*!************************************************************************!*\
  !*** ./public/app/features/dashboard/components/DashLinks/editor.html ***!
  \************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/dashboard/components/DashLinks/editor.html';
var html = "<div class=page-action-bar>\n  <h3 class=dashboard-settings__header>\n    <a ng-click=ctrl.backToList()>Dashboard Links</a>\n    <span ng-show=\"ctrl.mode === 'new'\">&gt; New</span>\n    <span ng-show=\"ctrl.mode === 'edit'\">&gt; Edit</span>\n  </h3>\n\n  <div class=page-action-bar__spacer></div>\n  <a type=button class=\"btn btn-primary\" ng-click=ctrl.setupNew() ng-if=\"ctrl.dashboard.links.length > 0\" ng-hide=\"ctrl.mode === 'edit' || ctrl.mode === 'new'\">\n    New\n  </a>\n</div>\n\n<div ng-if=\"ctrl.mode == 'list'\">\n  <div ng-if=\"ctrl.dashboard.links.length === 0\">\n    <empty-list-cta on-click=ctrl.setupNew title=ctrl.emptyListCta.title buttonicon=ctrl.emptyListCta.buttonIcon buttontitle=ctrl.emptyListCta.buttonTitle infobox=ctrl.emptyListCta.infoBox infoboxtitle=ctrl.emptyListCta.infoBoxTitle />\n  </div>\n\n  <div ng-if=\"ctrl.dashboard.links.length > 0\">\n    <table class=\"filter-table filter-table--hover\">\n      <thead>\n        <tr>\n          <th>Type</th>\n          <th>Info</th>\n          <th colspan=3></th>\n        </tr>\n      </thead>\n      <tbody>\n        <tr ng-repeat=\"link in ctrl.dashboard.links\">\n          <td class=pointer ng-click=ctrl.editLink(link)>\n            <i class=\"fa fa-fw fa-external-link\"></i>\n            {{ link.type }}\n          </td>\n          <td>\n            <div ng-if=link.title>\n              {{ link.title }}\n            </div>\n            <div ng-if=\"!link.title && link.url\">\n              {{ link.url }}\n            </div>\n            <span ng-if=\"!link.title && link.tags\" ng-repeat=\"tag in link.tags\" tag-color-from-name=tag class=\"label label-tag\" style=margin-right:6px>\n              {{ tag }}\n            </span>\n          </td>\n          <td style=width:1%>\n            <i ng-click=\"ctrl.moveLink($index, -1)\" ng-hide=$first class=\"pointer fa fa-arrow-up\"></i>\n          </td>\n          <td style=width:1%>\n            <i ng-click=\"ctrl.moveLink($index, 1)\" ng-hide=$last class=\"pointer fa fa-arrow-down\"></i>\n          </td>\n          <td style=width:1%>\n            <a ng-click=ctrl.deleteLink($index) class=\"btn btn-danger btn-small\" ng-hide=annotation.builtIn>\n              <i class=\"fa fa-remove\"></i>\n            </a>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  </div>\n</div>\n\n<div ng-if=\"ctrl.mode == 'edit' || ctrl.mode == 'new'\">\n  <div class=gf-form-group>\n    <div class=gf-form-group>\n      <div class=gf-form>\n        <span class=\"gf-form-label width-8\">Type</span>\n        <div class=\"gf-form-select-wrapper width-10\">\n          <select class=gf-form-input ng-model=ctrl.link.type ng-options=\"f for f in ['dashboards','link']\"></select>\n        </div>\n      </div>\n\n      <div class=gf-form ng-show=\"ctrl.link.type === 'dashboards'\">\n        <span class=\"gf-form-label width-8\">With tags</span>\n        <bootstrap-tagsinput ng-model=ctrl.link.tags tagclass=\"label label-tag\" placeholder=\"add tags\" style=margin-right:.25rem></bootstrap-tagsinput>\n      </div>\n\n      <gf-form-switch ng-show=\"ctrl.link.type === 'dashboards'\" class=gf-form label=\"As dropdown\" checked=ctrl.link.asDropdown switch-class=max-width-4 label-class=width-8></gf-form-switch>\n      <div class=gf-form ng-show=\"ctrl.link.type === 'dashboards' && ctrl.link.asDropdown\">\n        <span class=\"gf-form-label width-8\">Title</span>\n        <input type=text ng-model=ctrl.link.title class=\"gf-form-input max-width-10\" ng-model-onblur/>\n      </div>\n      <div ng-show=\"ctrl.link.type === 'link'\">\n        <div class=gf-form>\n          <li class=\"gf-form-label width-8\">Url</li>\n          <input type=text ng-model=ctrl.link.url class=\"gf-form-input width-20\" ng-model-onblur/>\n        </div>\n\n        <div class=gf-form>\n          <span class=\"gf-form-label width-8\">Title</span>\n          <input type=text ng-model=ctrl.link.title class=\"gf-form-input width-20\" ng-model-onblur/>\n        </div>\n\n        <div class=gf-form>\n          <span class=\"gf-form-label width-8\">Tooltip</span>\n          <input type=text ng-model=ctrl.link.tooltip class=\"gf-form-input width-20\" placeholder=\"Open dashboard\" ng-model-onblur/>\n        </div>\n\n        <div class=gf-form>\n          <span class=\"gf-form-label width-8\">Icon</span>\n          <div class=\"gf-form-select-wrapper width-20\">\n            <select class=gf-form-input ng-model=ctrl.link.icon ng-options=\"k as k for (k, v) in ctrl.iconMap\"></select>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <div class=gf-form-group>\n      <h5 class=section-heading>Include</h5>\n      <div>\n        <gf-form-switch class=gf-form label=\"Time range\" checked=ctrl.link.keepTime switch-class=max-width-6 label-class=width-9></gf-form-switch>\n        <gf-form-switch class=gf-form label=\"Variable values\" checked=ctrl.link.includeVars switch-class=max-width-6 label-class=width-9></gf-form-switch>\n        <gf-form-switch class=gf-form label=\"Open in new tab\" checked=ctrl.link.targetBlank switch-class=max-width-6 label-class=width-9></gf-form-switch>\n      </div>\n    </div>\n  </div>\n  <button class=\"btn btn-primary\" ng-if=\"ctrl.mode == 'new'\" ng-click=ctrl.addLink()>\n    Add\n  </button>\n  <button class=\"btn btn-primary\" ng-if=\"ctrl.mode == 'edit'\" ng-click=ctrl.saveLink()>\n    Update\n  </button>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/dashboard/components/DashboardSettings/template.html":
/*!**********************************************************************************!*\
  !*** ./public/app/features/dashboard/components/DashboardSettings/template.html ***!
  \**********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/dashboard/components/DashboardSettings/template.html';
var html = "<aside class=dashboard-settings__aside>\n\t<a href={{::section.url}} class=dashboard-settings__nav-item ng-class=\"{active: ctrl.viewId === section.id}\" ng-repeat=\"section in ctrl.sections\">\n    <i class={{::section.icon}}></i>\n\t\t{{::section.title}}\n\t</a>\n\n\t<div class=dashboard-settings__aside-actions>\n    <button class=\"btn btn-primary\" ng-click=ctrl.saveDashboard() ng-show=ctrl.canSave>\n\t\t\tSave\n\t\t</button>\n\t\t<button class=\"btn btn-inverse\" ng-click=ctrl.openSaveAsModal() ng-show=ctrl.canSaveAs>\n\t\t\tSave As...\n\t\t</button>\n\t</div>\n</aside>\n\n<div class=dashboard-settings__content ng-if=\"ctrl.viewId === 'settings'\">\n\t<h3 class=dashboard-settings__header>\n\t\tGeneral\n\t</h3>\n\n\t<div class=gf-form-group>\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label width-7\">Name</label>\n\t\t\t<input type=text class=\"gf-form-input width-30\" ng-model=ctrl.dashboard.title>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label width-7\">Description</label>\n\t\t\t<input type=text class=\"gf-form-input width-30\" ng-model=ctrl.dashboard.description>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label width-7\">\n\t\t\t\tTags\n\t\t\t\t<info-popover mode=right-normal>Press enter to add a tag</info-popover>\n\t\t\t</label>\n\t\t\t<bootstrap-tagsinput ng-model=ctrl.dashboard.tags tagclass=\"label label-tag\" placeholder=\"add tags\">\n\t\t\t</bootstrap-tagsinput>\n\t\t</div>\n\t\t<folder-picker initial-title=ctrl.dashboard.meta.folderTitle initial-folder-id=ctrl.dashboard.meta.folderId on-change=ctrl.onFolderChange($folder) enable-create-new=true is-valid-selection=true label-class=width-7 dashboard-id=ctrl.dashboard.id>\n\t\t</folder-picker>\n\t\t<gf-form-switch class=gf-form label=Editable tooltip=\"Uncheck, then save and reload to disable all dashboard editing\" checked=ctrl.dashboard.editable label-class=width-7>\n\t\t</gf-form-switch>\n\t</div>\n\n\t<gf-time-picker-settings dashboard=ctrl.dashboard></gf-time-picker-settings>\n\n\t<h5 class=section-heading>Panel Options</h5>\n\t<div class=gf-form>\n\t\t<label class=\"gf-form-label width-11\">\n\t\t\tGraph Tooltip\n\t\t\t<info-popover mode=right-normal>\n\t\t\t\tCycle between options using Shortcut: CTRL+O or CMD+O\n\t\t\t</info-popover>\n\t\t</label>\n\t\t<div class=gf-form-select-wrapper>\n\t\t\t<select ng-model=ctrl.dashboard.graphTooltip class=gf-form-input ng-options=\"f.value as f.text for f in [{value: 0, text: 'Default'}, {value: 1, text: 'Shared crosshair'},{value: 2, text: 'Shared Tooltip'}]\"></select>\n\t\t</div>\n\t</div>\n\t<div class=gf-form-button-row>\n\t  <button class=\"btn btn-danger\" ng-click=ctrl.deleteDashboard() ng-show=ctrl.canDelete>\n\t\t  Delete Dashboard\n\t  </button>\n  </div>\n</div>\n\n<div class=dashboard-settings__content ng-if=\"ctrl.viewId === 'annotations'\" ng-include=\"'public/app/features/annotations/partials/editor.html'\">\n</div>\n\n<div class=dashboard-settings__content ng-if=\"ctrl.viewId === 'templating'\" ng-include=\"'public/app/features/templating/partials/editor.html'\">\n</div>\n\n<div class=dashboard-settings__content ng-if=\"ctrl.viewId === 'links'\">\n\t<dash-links-editor dashboard=ctrl.dashboard></dash-links-editor>\n</div>\n\n<div class=dashboard-settings__content ng-if=\"ctrl.viewId === 'versions'\">\n\t<gf-dashboard-history dashboard=dashboard></gf-dashboard-history>\n</div>\n\n<div class=dashboard-settings__content ng-if=\"ctrl.viewId === 'dashboard_json'\">\n\t<h3 class=dashboard-settings__header>JSON Model</h3>\n  <div class=dashboard-settings__subheader>\n    The JSON Model below is data structure that defines the dashboard. Including settings, panel settings & layout,\n    queries etc.\n  </div>\n\n\t<div class=gf-form>\n\t\t<code-editor content=ctrl.json data-mode=json data-max-lines=30></code-editor>\n\t</div>\n\n  <div class=gf-form-button-row>\n    <button class=\"btn btn-primary\" ng-click=ctrl.saveDashboardJson() ng-show=ctrl.canSave>\n      Save Changes\n    </button>\n  </div>\n</div>\n\n<div class=dashboard-settings__content ng-if=\"ctrl.viewId === 'permissions'\">\n  <dashboard-permissions ng-if=\"ctrl.dashboard && !ctrl.hasUnsavedFolderChange\" dashboardid=ctrl.dashboard.id backendsrv=ctrl.backendSrv folder=ctrl.getFolder() />\n  <div ng-if=ctrl.hasUnsavedFolderChange>\n    <h5>You have changed folder, please save to view permissions.</h5>\n  </div>\n</div>\n\n<div class=dashboard-settings__content ng-if=\"ctrl.viewId === '404'\">\n  <h3 class=dashboard-settings__header>Settings view not found</h3>\n\n  <div>\n    <h5>The settings page could not be found or you do not have permission to access it</h5>\n  </div>\n</div>\n\n<div class=dashboard-settings__content ng-if=\"ctrl.viewId === 'make_editable'\">\n  <h3 class=dashboard-settings__header>Make Editable</h3>\n\n  <button class=\"btn btn-primary\" ng-click=ctrl.makeEditable()>\n    Make Editable\n  </button>\n</div>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/dashboard/components/ExportDataModal/template.html":
/*!********************************************************************************!*\
  !*** ./public/app/features/dashboard/components/ExportDataModal/template.html ***!
  \********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/dashboard/components/ExportDataModal/template.html';
var html = "<div class=modal-body>\n  <div class=modal-header>\n    <h2 class=modal-header-title>\n      Export CSV\n    </h2>\n\n    <a class=modal-header-close ng-click=ctrl.dismiss();>\n      <i class=\"fa fa-remove\"></i>\n    </a>\n  </div>\n\n  <div class=modal-content>\n    <div class=p-t-2>\n      <div class=gf-form ng-hide=\"ctrl.panel === 'table'\">\n        <label class=\"gf-form-label width-10\">Mode</label>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=ctrl.asRows ng-options=\"f.value as f.text for f in [{text: 'Series as rows', value: true}, {text: 'Series as columns', value: false}]\">\n          </select>\n        </div>\n      </div>\n      <div class=gf-form ng-hide=\"ctrl.panel === 'table'\">\n        <label class=\"gf-form-label width-10\">Date Time Format</label>\n        <input type=text class=gf-form-input ng-model=ctrl.dateTimeFormat>\n      </div>\n      <gf-form-switch class=gf-form label=\"Excel CSV Dialect\" label-class=width-10 switch-class=max-width-6 checked=ctrl.excel>\n      </gf-form-switch>\n    </div>\n\n    <div class=\"gf-form-button-row text-center\">\n      <a class=\"btn btn-primary\" ng-click=ctrl.export();>Export</a>\n      <a class=btn-text ng-click=ctrl.dismiss();>Cancel</a>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/dashboard/components/FolderPicker/template.html":
/*!*****************************************************************************!*\
  !*** ./public/app/features/dashboard/components/FolderPicker/template.html ***!
  \*****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/dashboard/components/FolderPicker/template.html';
var html = "<div class=gf-form-inline>\n  <div class=gf-form>\n    <label class=\"gf-form-label {{ctrl.labelClass}}\">Folder</label>\n    <div class=dropdown ng-hide=ctrl.createNewFolder>\n      <gf-form-dropdown model=ctrl.folder get-options=ctrl.getOptions($query) on-change=ctrl.onFolderChange($option)>\n      </gf-form-dropdown>\n    </div>\n    <input type=text class=\"gf-form-input max-width-10\" ng-if=ctrl.createNewFolder give-focus=ctrl.createNewFolder ng-model=ctrl.newFolderName ng-model-options=\"{ debounce: 400 }\" ng-change=ctrl.newFolderNameChanged() />\n  </div>\n  <div class=gf-form ng-if=ctrl.createNewFolder>\n    <button class=\"btn btn-inverse\" ng-click=ctrl.createFolder($event) ng-disabled=\"!ctrl.newFolderNameTouched || ctrl.hasValidationError\">\n      Create\n    </button>\n  </div>\n  <div class=gf-form ng-if=ctrl.createNewFolder>\n    <button class=\"btn btn-inverse\" ng-click=ctrl.cancelCreateFolder($event)>\n      Cancel\n  </button>\n  </div>\n</div>\n<div class=gf-form-inline ng-if=\"ctrl.newFolderNameTouched && ctrl.hasValidationError\">\n  <div class=\"gf-form gf-form--grow\">\n    <label class=\"gf-form-label text-warning gf-form-label--grow\">\n      <i class=\"fa fa-warning\"></i>\n      {{ctrl.validationError}}\n    </label>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/dashboard/components/RowOptions/template.html":
/*!***************************************************************************!*\
  !*** ./public/app/features/dashboard/components/RowOptions/template.html ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/dashboard/components/RowOptions/template.html';
var html = "<div class=modal-body>\n\t<div class=modal-header>\n\t\t<h2 class=modal-header-title>\n\t\t\t<i class=\"fa fa-copy\"></i>\n\t\t\t<span class=p-l-1>Row Options</span>\n\t\t</h2>\n\n\t\t<a class=modal-header-close ng-click=ctrl.dismiss();>\n\t\t\t<i class=\"fa fa-remove\"></i>\n\t\t</a>\n\t</div>\n\n\t<form name=ctrl.saveForm ng-submit=ctrl.save() class=\"modal-content text-center\" novalidate>\n\t\t<div class=section>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class=\"gf-form-label width-7\">Title</span>\n\t\t\t\t<input type=text class=\"gf-form-input max-width-13\" ng-model=ctrl.row.title>\n\t\t\t</div>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class=\"gf-form-label width-7\">Repeat for</span>\n\t\t\t\t<dash-repeat-option panel=ctrl.row></dash-repeat-option>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form-button-row>\n\t\t\t\t<button type=submit class=\"btn btn-primary\" ng-click=ctrl.update()>Update</button>\n\t\t\t\t<button type=button class=\"btn btn-inverse\" ng-click=ctrl.dismiss()>Cancel</button>\n\t\t\t</div>\n\t\t</div>\n\t</form>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/dashboard/components/ShareModal/template.html":
/*!***************************************************************************!*\
  !*** ./public/app/features/dashboard/components/ShareModal/template.html ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/dashboard/components/ShareModal/template.html';
var html = "<div class=modal-body ng-controller=ShareModalCtrl ng-init=init()>\n  <div class=modal-header>\n    <h2 class=modal-header-title>\n      <i class=\"fa fa-share-square-o\"></i>\n      <span class=p-l-1>{{ modalTitle }}</span>\n    </h2>\n\n    <ul class=gf-tabs>\n      <li class=gf-tabs-item ng-repeat=\"tab in tabs\">\n        <a class=gf-tabs-link ng-click=\"editor.index = $index\" ng-class=\"{active: editor.index === $index}\">\n          {{::tab.title}}\n        </a>\n      </li>\n    </ul>\n\n    <a class=modal-header-close ng-click=dismiss();>\n      <i class=\"fa fa-remove\"></i>\n    </a>\n  </div>\n\n  <div class=modal-content ng-repeat=\"tab in tabs\" ng-if=\"editor.index == $index\">\n    <div ng-include src=tab.src class=share-modal-body></div>\n  </div>\n</div>\n\n<script type=text/ng-template id=shareEmbed.html>\n  <div class=\"share-modal-header\">\n  \t<div class=\"share-modal-big-icon\">\n  \t\t<i class=\"fa fa-code\"></i>\n  \t</div>\n  \t<div class=\"share-modal-content\">\n  \t\t<div ng-include src=\"'shareLinkOptions.html'\"></div>\n\n       <p class=\"share-modal-info-text\">\n  \t\t The html code below can be pasted and included in another web page. Unless anonymous access\n  \t\t is enabled, the user viewing that page need to be signed into grafana for the graph to load.\n       </p>\n\n       <div class=\"gf-form-group gf-form--grow\">\n  \t\t\t<div class=\"gf-form\">\n  \t\t\t\t<textarea rows=\"5\" data-share-panel-url class=\"gf-form-input\" ng-model='iframeHtml'></textarea>\n  \t\t\t</div>\n  \t\t</div>\n\n  \t</div>\n  </div>\n</script>\n\n<script type=text/ng-template id=shareExport.html>\n  <dash-export-modal dismiss=\"dismiss()\"></dash-export-modal>\n</script>\n\n<script type=text/ng-template id=shareLinkOptions.html>\n  <div class=\"gf-form-group\">\n  \t<gf-form-switch class=\"gf-form\"\n  \t\tlabel=\"Current time range\" label-class=\"width-12\" switch-class=\"max-width-6\"\n  \t\tchecked=\"options.forCurrent\" on-change=\"buildUrl()\">\n  \t</gf-form-switch>\n  \t<gf-form-switch class=\"gf-form\"\n  \t\tlabel=\"Template variables\" label-class=\"width-12\" switch-class=\"max-width-6\"\n  \t\tchecked=\"options.includeTemplateVars\" on-change=\"buildUrl()\">\n  \t</gf-form-switch>\n  \t<div class=\"gf-form\">\n  \t\t<span class=\"gf-form-label width-12\">Theme</span>\n  \t\t<div class=\"gf-form-select-wrapper width-10\">\n  \t\t\t<select class=\"gf-form-input\" ng-model=\"options.theme\" ng-options=\"f as f for f in ['current', 'dark', 'light']\" ng-change=\"buildUrl()\"></select>\n  \t\t</div>\n  \t</div>\n  </div>\n</script>\n\n<script type=text/ng-template id=shareLink.html>\n  <div class=\"share-modal-header\">\n  \t<div class=\"share-modal-big-icon\">\n  \t\t<i class=\"gicon gicon-link\"></i>\n  \t</div>\n  \t<div class=\"share-modal-content\">\n  \t\t<p class=\"share-modal-info-text\">\n  \t\t\tCreate a direct link to this dashboard or panel, customized with the options below.\n  \t\t</p>\n  \t\t<div ng-include src=\"'shareLinkOptions.html'\"></div>\n  \t\t<div>\n  \t\t\t<div class=\"gf-form-group\">\n  \t\t\t\t<div class=\"gf-form-inline\">\n  \t\t\t\t\t<div class=\"gf-form gf-form--grow\">\n  \t\t\t\t\t\t<input type=\"text\" data-share-panel-url class=\"gf-form-input\" ng-model=\"shareUrl\">\n  \t\t\t\t\t</div>\n  \t\t\t\t\t<div class=\"gf-form\">\n  \t\t\t\t\t\t<button class=\"btn btn-inverse\" clipboard-button=\"getShareUrl()\">Copy</button>\n  \t\t\t\t\t</div>\n  \t\t\t\t</div>\n  \t\t\t</div>\n  \t\t</div>\n  \t\t<div class=\"gf-form\" ng-show=\"modeSharePanel\">\n  \t\t\t<a href=\"{{imageUrl}}\" target=\"_blank\" aria-label=\"Link to rendered image\"><i class=\"fa fa-camera\"></i> Direct link rendered image</a>\n  \t\t</div>\n  \t</div>\n</script>\n\n<script type=text/ng-template id=shareSnapshot.html>\n  \t<div class=\"ng-cloak\" ng-cloak ng-controller=\"ShareSnapshotCtrl\" ng-init=\"init()\">\n  \t\t<div class=\"share-modal-header\">\n  \t\t\t<div class=\"share-modal-big-icon\">\n  \t\t\t\t<i ng-if=\"loading\" class=\"fa fa-spinner fa-spin\"></i>\n  \t\t\t\t<i ng-if=\"!loading\" class=\"gicon gicon-snapshots\"></i>\n  \t\t\t</div>\n        <div class=\"share-modal-content\">\n          <div ng-if=\"step === 1\">\n            <p class=\"share-modal-info-text\">\n              A snapshot is an instant way to share an interactive dashboard publicly.\n              When created, we <strong>strip sensitive data</strong> like queries (metric, template and annotation) and panel links,\n              leaving only the visible metric data and series names embedded into your dashboard.\n            </p>\n            <p class=\"share-modal-info-text\">\n              Keep in mind, your <strong>snapshot can be viewed by anyone</strong> that has the link and can reach the URL.\n              Share wisely.\n            </p>\n          </div>\n\n  \t\t\t\t<div class=\"share-modal-header\" ng-if=\"step === 3\">\n  \t\t\t\t\t<p class=\"share-modal-info-text\">\n  \t\t\t\t\t\tThe snapshot has now been deleted. If it you have already accessed it once, It might take up to an hour before it is removed from\n  \t\t\t\t\t\tbrowser caches or CDN caches.\n  \t\t\t\t\t</p>\n  \t\t\t\t</div>\n\n  \t\t\t\t<div class=\"gf-form-group share-modal-options\">\n  \t\t\t\t\t<div class=\"gf-form\" ng-if=\"step === 1\">\n  \t\t\t\t\t\t<span class=\"gf-form-label width-12\">Snapshot name</span>\n  \t\t\t\t\t\t<input type=\"text\" ng-model=\"snapshot.name\" class=\"gf-form-input max-width-15\">\n  \t\t\t\t\t</div>\n  \t\t\t\t\t<div class=\"gf-form\" ng-if=\"step === 1\">\n  \t\t\t\t\t\t<span class=\"gf-form-label width-12\">Expire</span>\n  \t\t\t\t\t\t<div class=\"gf-form-select-wrapper max-width-15\">\n  \t\t\t\t\t\t\t<select class=\"gf-form-input\" ng-model=\"snapshot.expires\" ng-options=\"f.value as f.text for f in expireOptions\"></select>\n  \t\t\t\t\t\t</div>\n  \t\t\t\t\t</div>\n\n  \t\t\t\t\t<div class=\"gf-form\" ng-if=\"step === 2\" style=\"margin-top: 40px\">\n  \t\t\t\t\t\t<div class=\"gf-form-row\">\n  \t\t\t\t\t\t\t<a href=\"{{snapshotUrl}}\" class=\"large share-modal-link\" target=\"_blank\">\n  \t\t\t\t\t\t\t\t<i class=\"fa fa-external-link-square\"></i>\n  \t\t\t\t\t\t\t\t{{snapshotUrl}}\n  \t\t\t\t\t\t\t</a>\n  \t\t\t\t\t\t\t<br>\n  \t\t\t\t\t\t\t<button class=\"btn btn-inverse\" clipboard-button=\"getSnapshotUrl()\">Copy Link</button>\n  \t\t\t\t\t\t</div>\n  \t\t\t\t\t</div>\n  \t\t\t\t</div>\n\n  \t\t\t\t<div ng-if=\"step === 1\">\n  \t\t\t\t\t<p class=\"share-modal-info-text\">\n  \t\t\t\t\t\tYou may need to configure the timeout value if it takes a long time to collect your dashboard's metrics.\n  \t\t\t\t\t</p>\n  \t\t\t\t</div>\n\n  \t\t\t\t<div class=\"gf-form-group share-modal-options\">\n  \t\t\t\t\t<div class=\"gf-form\" ng-if=\"step === 1\">\n  \t\t\t\t\t\t<span class=\"gf-form-label width-12\">Timeout (seconds)</span>\n  \t\t\t\t\t\t<input type=\"number\" ng-model=\"snapshot.timeoutSeconds\" class=\"gf-form-input max-width-15\">\n  \t\t\t\t\t</div>\n  \t\t\t\t</div>\n\n  \t\t\t\t<div ng-if=\"step === 1\" class=\"gf-form-button-row\">\n  \t\t\t\t\t<button class=\"btn gf-form-btn width-10 btn-primary\" ng-click=\"createSnapshot()\" ng-disabled=\"loading\">\n  \t\t\t\t\t\tLocal Snapshot\n  \t\t\t\t\t</button>\n  \t\t\t\t\t<button class=\"btn gf-form-btn width-16 btn-secondary\" ng-if=\"externalEnabled\" ng-click=\"createSnapshot(true)\" ng-disabled=\"loading\">\n  \t\t\t\t\t\t{{sharingButtonText}}\n  \t\t\t\t\t</button>\n  \t\t\t\t\t<a class=\"btn btn-link\" ng-click=\"dismiss()\">Cancel</a>\n  \t\t\t\t</div>\n\n  \t\t\t\t<div class=\"pull-right\" ng-if=\"step === 2\" style=\"padding: 5px\">\n  \t\t\t\t\tDid you make a mistake? <a class=\"pointer\" ng-click=\"deleteSnapshot()\" target=\"_blank\">delete snapshot.</a>\n  \t\t\t\t</div>\n  \t\t\t</div>\n  \t\t</div>\n  \t</div>\n\n  </div>\n</script>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/dashboard/components/SubMenu/template.html":
/*!************************************************************************!*\
  !*** ./public/app/features/dashboard/components/SubMenu/template.html ***!
  \************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/dashboard/components/SubMenu/template.html';
var html = "<div class=submenu-controls>\n  <div ng-repeat=\"variable in ctrl.variables\" ng-hide=\"variable.hide === 2\" class=\"submenu-item gf-form-inline\">\n    <div class=gf-form>\n      <label class=\"gf-form-label template-variable\" ng-hide=\"variable.hide === 1\">\n        {{variable.label || variable.name}}\n      </label>\n      <value-select-dropdown ng-if=\"variable.type !== 'adhoc' && variable.type !== 'textbox'\" dashboard=ctrl.dashboard variable=variable on-updated=ctrl.variableUpdated(variable)></value-select-dropdown>\n      <input type=text ng-if=\"variable.type === 'textbox'\" ng-model=variable.query class=\"gf-form-input width-12\" ng-blur=\"variable.current.value != variable.query && variable.updateOptions() && ctrl.variableUpdated(variable);\" ng-keydown=\"$event.keyCode === 13 && variable.current.value != variable.query && variable.updateOptions() && ctrl.variableUpdated(variable);\">\n    </div>\n    <ad-hoc-filters ng-if=\"variable.type === 'adhoc'\" variable=variable dashboard=ctrl.dashboard></ad-hoc-filters>\n  </div>\n\n  <div ng-if=\"ctrl.dashboard.annotations.list.length > 0\">\n    <div ng-repeat=\"annotation in ctrl.dashboard.annotations.list\" ng-hide=annotation.hide class=submenu-item ng-class=\"{'annotation-disabled': !annotation.enable}\">\n\t\t\t<gf-form-switch class=gf-form label={{annotation.name}} checked=annotation.enable on-change=ctrl.annotationStateChanged()></gf-form-switch>\n    </div>\n  </div>\n\n  <div class=\"gf-form gf-form--grow\">\n  </div>\n\n  <div ng-if=\"ctrl.dashboard.links.length > 0\">\n    <dash-links-container links=ctrl.dashboard.links dashboard=ctrl.dashboard class=gf-form-inline></dash-links-container>\n  </div>\n\n  <div class=clearfix></div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/dashboard/components/VersionHistory/template.html":
/*!*******************************************************************************!*\
  !*** ./public/app/features/dashboard/components/VersionHistory/template.html ***!
  \*******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/dashboard/components/VersionHistory/template.html';
var html = "<h3 class=dashboard-settings__header>\n  <a ng-click=\"ctrl.switchMode('list')\">Versions</a>\n  <span ng-show=\"ctrl.mode === 'compare'\">\n    &gt; Comparing {{ctrl.baseInfo.version}}\n    <i class=\"fa fa-arrows-h\"></i>\n    {{ctrl.newInfo.version}}\n    <cite class=muted ng-if=ctrl.isNewLatest>(Latest)</cite>\n  </span>\n</h3>\n\n<div ng-if=\"ctrl.mode === 'list'\">\n  <div ng-if=ctrl.loading>\n    <i class=\"fa fa-spinner fa-spin\"></i>\n    <em>Fetching history list&hellip;</em>\n  </div>\n\n  <div ng-if=!ctrl.loading>\n    <div class=gf-form-group>\n      <table class=filter-table>\n        <thead>\n          <tr>\n            <th class=width-4></th>\n            <th class=width-4>Version</th>\n            <th class=width-14>Date</th>\n            <th class=width-10>Updated By</th>\n            <th>Notes</th>\n            <th></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr ng-repeat=\"revision in ctrl.revisions\">\n            <td class=filter-table__switch-cell bs-tooltip=\"!revision.checked && ctrl.canCompare ? 'You can only compare 2 versions at a time' : ''\" data-placement=right>\n              <gf-form-checkbox switch-class=gf-form-switch--table-cell checked=revision.checked on-change=ctrl.revisionSelectionChanged() ng-disabled=\"!revision.checked && ctrl.canCompare\">\n              </gf-form-checkbox>\n            </td>\n            <td class=text-center>{{revision.version}}</td>\n            <td>{{revision.createdDateString}}</td>\n            <td>{{revision.createdBy}}</td>\n            <td>{{revision.message}}</td>\n            <td class=text-right>\n              <a class=\"btn btn-inverse btn-small\" ng-show=\"revision.version !== ctrl.dashboard.version\" ng-click=ctrl.restore(revision.version)>\n                <i class=\"fa fa-history\"></i>&nbsp;&nbsp;Restore\n              </a>\n              <a class=\"btn btn-outline-disabled btn-small\" ng-show=\"revision.version === ctrl.dashboard.version\">\n                <i class=\"fa fa-check\"></i>&nbsp;&nbsp;Latest\n              </a>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n\n      <div ng-if=ctrl.appending>\n        <i class=\"fa fa-spinner fa-spin\"></i>\n        <em>Fetching more entries&hellip;</em>\n      </div>\n\n      <div class=gf-form-group>\n        <div class=gf-form-button-row>\n          <button type=button class=\"btn gf-form-button btn-inverse\" ng-if=\"ctrl.revisions.length >= ctrl.limit\" ng-click=ctrl.addToLog() ng-disabled=ctrl.isLastPage()>\n            Show more versions\n          </button>\n          <button type=button class=\"btn btn-primary\" ng-if=\"ctrl.revisions.length > 1\" ng-disabled=!ctrl.canCompare ng-click=ctrl.getDiff(ctrl.diff) bs-tooltip=\"ctrl.canCompare ? '' : 'Select 2 versions to start comparing'\" data-placement=bottom>\n            <i class=\"fa fa-code-fork\"></i>&nbsp;&nbsp;Compare versions\n          </button>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n\n<div ng-if=\"ctrl.mode === 'compare'\">\n  <div ng-if=ctrl.loading>\n    <i class=\"fa fa-spinner fa-spin\"></i>\n    <em>Fetching changes&hellip;</em>\n  </div>\n\n  <div ng-if=!ctrl.loading>\n    <button type=button class=\"btn btn-danger pull-right\" ng-click=ctrl.restore(ctrl.baseInfo.version) ng-if=ctrl.isNewLatest>\n      <i class=\"fa fa-history\"></i>&nbsp;&nbsp;Restore to version {{ctrl.baseInfo.version}}\n    </button>\n    <section>\n      <p class=\"small muted\">\n      <strong>Version {{ctrl.newInfo.version}}</strong> updated by\n      <span>{{ctrl.newInfo.createdBy}} </span>\n      <span>{{ctrl.newInfo.ageString}}</span>\n      <span> - {{ctrl.newInfo.message}}</span>\n      </p>\n      <p class=\"small muted\">\n      <strong>Version {{ctrl.baseInfo.version}}</strong> updated by\n      <span>{{ctrl.baseInfo.createdBy}} </span>\n      <span>{{ctrl.baseInfo.ageString}}</span>\n      <span> - {{ctrl.baseInfo.message}}</span>\n      </p>\n    </section>\n\n    <div id=delta diff-delta>\n      <div class=delta-basic compile=ctrl.delta.basic></div>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button class=\"btn btn-secondary\" ng-click=\"ctrl.getDiff('json')\">View JSON Diff</button>\n    </div>\n\n    <div class=delta-html ng-show=\"ctrl.diff === 'json'\" compile=ctrl.delta.json></div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/datasources/partials/http_settings.html":
/*!*********************************************************************!*\
  !*** ./public/app/features/datasources/partials/http_settings.html ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/datasources/partials/http_settings.html';
var html = "<div class=gf-form-group>\n\t<h3 class=page-heading>HTTP</h3>\n  <div class=gf-form-group>\n    <div class=gf-form-inline>\n      <div class=\"gf-form max-width-30\">\n        <span class=\"gf-form-label width-10\">URL</span>\n        <input class=\"gf-form-input gf-form-input--has-help-icon\" type=text ng-model=current.url placeholder={{suggestUrl}} bs-typeahead=getSuggestUrls min-length=0 ng-pattern=\"/^(ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?$/\" required>\n        <info-popover mode=right-absolute>\n          <p>Specify a complete HTTP URL (for example http://your_server:8080)</p>\n          <span ng-show=\"current.access === 'direct'\">\n            Your access method is <em>Browser</em>, this means the URL\n            needs to be accessible from the browser.\n          </span>\n          <span ng-show=\"current.access === 'proxy'\">\n            Your access method is <em>Server</em>, this means the URL\n            needs to be accessible from the grafana backend/server.\n          </span>\n        </info-popover>\n      </div>\n\t\t</div>\n\n\t\t<div class=gf-form-inline ng-if=showAccessOption>\n\t\t\t<div class=\"gf-form max-width-30\">\n\t\t\t\t<span class=\"gf-form-label width-10\">Access</span>\n\t\t\t\t<div class=\"gf-form-select-wrapper max-width-24\">\n\t\t\t\t\t<select class=gf-form-input ng-model=current.access ng-options=\"f.key as f.value for f in [{key: 'proxy', value: 'Server (Default)'}, { key: 'direct', value: 'Browser'}]\"></select>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=\"gf-form-label query-keyword pointer\" ng-click=toggleAccessHelp()>\n\t\t\t\t\tHelp&nbsp;\n\t\t\t\t\t<i class=\"fa fa-caret-down\" ng-show=showAccessHelp></i>\n\t\t\t\t\t<i class=\"fa fa-caret-right\" ng-hide=showAccessHelp>&nbsp;</i>\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"grafana-info-box m-t-2\" ng-show=showAccessHelp>\n\t\t\t<p>\n\t\t\tAccess mode controls how requests to the data source will be handled.\n\t\t\t<strong><i>Server</i></strong> should be the preferred way if nothing else stated.\n\t\t\t</p>\n\t\t\t<div class=alert-title>Server access mode (Default):</div>\n\t\t\t<p>\n\t\t\tAll requests will be made from the browser to Grafana backend/server which in turn will forward the requests to the data source\n\t\t\tand by that circumvent possible Cross-Origin Resource Sharing (CORS) requirements.\n\t\t\tThe URL needs to be accessible from the grafana backend/server if you select this access mode.\n\t\t\t</p>\n\t\t\t<div class=alert-title>Browser access mode:</div>\n\t\t\t<p>\n\t\t\tAll requests will be made from the browser directly to the data source and may be subject to\n\t\t\tCross-Origin Resource Sharing (CORS) requirements. The URL needs to be accessible from the browser if you select this\n\t\t\taccess mode.\n\t\t</p></div>\n\n\t\t<div class=gf-form-inline ng-if=\"current.access=='proxy'\">\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class=\"gf-form-label width-10\">Whitelisted Cookies</span>\n\t\t\t\t<bootstrap-tagsinput ng-model=current.jsonData.keepCookies width-class=\"width-20 gf-form-input--has-help-icon\" tagclass=\"label label-tag\" placeholder=\"Add Name\">\n\t\t\t\t</bootstrap-tagsinput>\n\t\t\t\t<info-popover mode=right-absolute>\n\t\t\t\t\tGrafana Proxy deletes forwarded cookies by default. Specify cookies by name that should be forwarded to the data source.\n\t\t\t\t</info-popover>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<h3 class=page-heading>Auth</h3>\n\t<div class=gf-form-group>\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-checkbox class=gf-form label=\"Basic Auth\" checked=current.basicAuth label-class=width-13 switch-class=max-width-6></gf-form-checkbox>\n\t\t\t<gf-form-checkbox class=gf-form label=\"With Credentials\" tooltip=\"Whether credentials such as cookies or auth\n\t\t\t  headers should be sent with cross-site requests.\" checked=current.withCredentials label-class=width-13 switch-class=max-width-6></gf-form-checkbox>\n\t\t</div>\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-checkbox class=gf-form ng-if=\"current.access=='proxy'\" label=\"TLS Client Auth\" label-class=width-13 checked=current.jsonData.tlsAuth switch-class=max-width-6></gf-form-checkbox>\n\t\t\t<gf-form-checkbox class=gf-form ng-if=\"current.access=='proxy'\" label=\"With CA Cert\" tooltip=\"Needed for\n\t\t\t  verifing self-signed TLS Certs\" checked=current.jsonData.tlsAuthWithCACert label-class=width-13 switch-class=max-width-6></gf-form-checkbox>\n\t\t</div>\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-checkbox class=gf-form ng-if=\"current.access=='proxy'\" label=\"Skip TLS Verify\" label-class=width-13 checked=current.jsonData.tlsSkipVerify switch-class=max-width-6></gf-form-checkbox>\n\t\t</div>\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-checkbox class=gf-form ng-if=\"current.access=='proxy'\" label=\"Forward OAuth Identity\" label-class=width-13 tooltip=\"Forward the user's upstream OAuth identity to the datasource (Their access token gets passed along).\" checked=current.jsonData.oauthPassThru switch-class=max-width-6></gf-form-checkbox>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-group ng-if=current.basicAuth>\n\t\t<h6>Basic Auth Details</h6>\n\t\t<div class=gf-form ng-if=current.basicAuth>\n\t\t\t<span class=\"gf-form-label width-10\">User</span>\n\t\t\t<input class=\"gf-form-input max-width-21\" type=text ng-model=current.basicAuthUser placeholder=user required>\n\t\t</div>\n\t\t<div class=gf-form>\n      <secret-form-field isconfigured=\"current.basicAuthPassword || current.secureJsonFields.basicAuthPassword\" value=\"current.secureJsonData.basicAuthPassword || ''\" on-reset=onBasicAuthPasswordReset on-change=onBasicAuthPasswordChange inputwidth=18 labelwidth=10 />\n\t\t</div>\n\t</div>\n\n<datasource-tls-auth-settings current=current ng-if=\"(current.jsonData.tlsAuth || current.jsonData.tlsAuthWithCACert) && current.access=='proxy'\">\n</datasource-tls-auth-settings>\n</div>";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/datasources/partials/tls_auth_settings.html":
/*!*************************************************************************!*\
  !*** ./public/app/features/datasources/partials/tls_auth_settings.html ***!
  \*************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/datasources/partials/tls_auth_settings.html';
var html = "<div class=gf-form-group>\n  <div class=gf-form>\n    <h6>TLS Auth Details</h6>\n    <info-popover mode=header>TLS Certs are encrypted and stored in the Grafana database.</info-popover>\n  </div>\n  <div ng-if=current.jsonData.tlsAuthWithCACert>\n    <div class=gf-form-inline>\n      <div class=\"gf-form gf-form--v-stretch\"><label class=\"gf-form-label width-7\">CA Cert</label></div>\n      <div class=\"gf-form gf-form--grow\" ng-if=!current.secureJsonFields.tlsCACert>\n        <textarea rows=7 class=\"gf-form-input gf-form-textarea\" ng-model=current.secureJsonData.tlsCACert placeholder=\"Begins with -----BEGIN CERTIFICATE-----\"></textarea>\n      </div>\n\n      <div class=gf-form ng-if=current.secureJsonFields.tlsCACert>\n        <input type=text class=\"gf-form-input max-width-12\" disabled=disabled value=configured />\n        <a class=\"btn btn-secondary gf-form-btn\" href=# ng-click=\"current.secureJsonFields.tlsCACert = false\">reset</a>\n      </div>\n    </div>\n  </div>\n\n  <div ng-if=current.jsonData.tlsAuth>\n    <div class=gf-form-inline>\n      <div class=\"gf-form gf-form--v-stretch\"><label class=\"gf-form-label width-7\">Client Cert</label></div>\n      <div class=\"gf-form gf-form--grow\" ng-if=!current.secureJsonFields.tlsClientCert>\n        <textarea rows=7 class=\"gf-form-input gf-form-textarea\" ng-model=current.secureJsonData.tlsClientCert placeholder=\"Begins with -----BEGIN CERTIFICATE-----\" required></textarea>\n      </div>\n      <div class=gf-form ng-if=current.secureJsonFields.tlsClientCert>\n        <input type=text class=\"gf-form-input max-width-12\" disabled=disabled value=configured />\n        <a class=\"btn btn-secondary gf-form-btn\" href=# ng-click=\"current.secureJsonFields.tlsClientCert = false\">reset</a>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=\"gf-form gf-form--v-stretch\"><label class=\"gf-form-label width-7\">Client Key</label></div>\n      <div class=\"gf-form gf-form--grow\" ng-if=!current.secureJsonFields.tlsClientKey>\n        <textarea rows=7 class=\"gf-form-input gf-form-textarea\" ng-model=current.secureJsonData.tlsClientKey placeholder=\"Begins with -----BEGIN RSA PRIVATE KEY-----\" required></textarea>\n      </div>\n      <div class=gf-form ng-if=current.secureJsonFields.tlsClientKey>\n        <input type=text class=\"gf-form-input max-width-12\" disabled=disabled value=configured />\n        <a class=\"btn btn-secondary gf-form-btn\" href=# ng-click=\"current.secureJsonFields.tlsClientKey = false\">reset</a>\n      </div>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/folders/partials/create_folder.html":
/*!*****************************************************************!*\
  !*** ./public/app/features/folders/partials/create_folder.html ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/folders/partials/create_folder.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\" ng-cloak>\n\n\t<h3 class=page-sub-heading>New Dashboard Folder</h3>\n\n  <form name=ctrl.saveForm ng-submit=ctrl.create() novalidate>\n\t\t<div class=gf-form-inline>\n\t\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t\t<label class=\"gf-form-label width-10\">Name</label>\n\t\t\t\t<input type=text class=gf-form-input ng-model=ctrl.title give-focus=true ng-change=ctrl.titleChanged() ng-model-options=\"{ debounce: 400 }\" ng-class=\"{'validation-error': ctrl.nameExists || !ctrl.dash.title}\">\n\t\t\t\t<label class=\"gf-form-label text-success\" ng-if=\"ctrl.titleTouched && !ctrl.hasValidationError\">\n\t\t\t\t\t<i class=\"fa fa-check\"></i>\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=gf-form-inline ng-if=ctrl.hasValidationError>\n\t\t\t<div class=\"gf-form offset-width-10 gf-form--grow\">\n\t\t\t\t<label class=\"gf-form-label text-warning gf-form-label--grow\">\n\t\t\t\t\t<i class=\"fa fa-warning\"></i>\n\t\t\t\t\t{{ctrl.validationError}}\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=gf-form-button-row>\n\t\t\t<button type=submit class=\"btn btn-primary width-12\" ng-disabled=\"!ctrl.titleTouched || ctrl.hasValidationError\">\n\t\t\t\tCreate\n\t\t\t</button>\n\t\t</div>\n\t</form>\n\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/folders/partials/folder_dashboards.html":
/*!*********************************************************************!*\
  !*** ./public/app/features/folders/partials/folder_dashboards.html ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/folders/partials/folder_dashboards.html';
var html = "<page-header ng-if=ctrl.navModel model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\">\n    <manage-dashboards ng-if=\"ctrl.folderId && ctrl.uid\" folder-id=ctrl.folderId folder-uid=ctrl.uid />\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/manage-dashboards/components/MoveToFolderModal/template.html":
/*!******************************************************************************************!*\
  !*** ./public/app/features/manage-dashboards/components/MoveToFolderModal/template.html ***!
  \******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/manage-dashboards/components/MoveToFolderModal/template.html';
var html = "<div class=modal-body>\n  <div class=modal-header>\n    <h2 class=modal-header-title>\n\t\t\t<i class=\"gicon gicon-folder-new\"></i>\n      <span class=p-l-1>Choose Dashboard Folder</span>\n    </h2>\n\n    <a class=modal-header-close ng-click=ctrl.dismiss();>\n      <i class=\"fa fa-remove\"></i>\n    </a>\n  </div>\n\n  <form name=ctrl.saveForm ng-submit=ctrl.save() class=\"modal-content folder-modal\" novalidate>\n    <p>Move the {{ctrl.dashboards.length}} selected dashboards to the following folder:</p>\n\n    <div class=p-t-2>\n      <div class=gf-form>\n          <folder-picker on-load=ctrl.onFolderChange($folder) on-change=ctrl.onFolderChange($folder) enter-folder-creation=ctrl.onEnterFolderCreation() exit-folder-creation=ctrl.onExitFolderCreation() enable-create-new=true label-class=width-7>\n          </folder-picker>\n      </div>\n    </div>\n    <div class=\"gf-form-button-row text-center\">\n      <button type=submit class=\"btn btn-primary\" ng-disabled=\"ctrl.saveForm.$invalid || !ctrl.isValidFolderSelection\">Move</button>\n      <a class=btn-text ng-click=ctrl.dismiss();>Cancel</a>\n    </div>\n  </form>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/manage-dashboards/partials/dashboard_import.html":
/*!******************************************************************************!*\
  !*** ./public/app/features/manage-dashboards/partials/dashboard_import.html ***!
  \******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/manage-dashboards/partials/dashboard_import.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\" ng-cloak>\n  <div ng-if=\"ctrl.step === 1\">\n\n    <form class=page-action-bar>\n      <div class=page-action-bar__spacer></div>\n      <dash-upload on-upload=ctrl.onUpload(dash)></dash-upload>\n    </form>\n\n    <h5 class=section-heading>Grafana.com Dashboard</h5>\n\n    <div class=gf-form-group>\n      <div class=\"gf-form gf-form--grow\">\n        <input type=text class=\"gf-form-input max-width-30\" ng-model=ctrl.gnetUrl placeholder=\"Paste Grafana.com dashboard url or id\" ng-blur=ctrl.checkGnetDashboard()>\n      </div>\n      <div class=gf-form ng-if=ctrl.gnetError>\n        <label class=\"gf-form-label text-warning\">\n          <i class=\"fa fa-warning\"></i>\n          {{ctrl.gnetError}}\n        </label>\n      </div>\n    </div>\n\n    <h5 class=section-heading>Or paste JSON</h5>\n\n    <div class=gf-form-group>\n      <div class=gf-form>\n        <textarea rows=10 data-share-panel-url=\"\" class=gf-form-input ng-model=ctrl.jsonText></textarea>\n      </div>\n      <button type=button class=\"btn btn-secondary\" ng-click=ctrl.loadJsonText()>\n        <i class=\"fa fa-paste\"></i>\n        Load\n      </button>\n      <span ng-if=ctrl.parseError class=\"text-error p-l-1\">\n        <i class=\"fa fa-warning\"></i>\n        {{ctrl.parseError}}\n      </span>\n    </div>\n  </div>\n\n  <div ng-if=\"ctrl.step === 2\">\n    <div class=gf-form-group ng-if=ctrl.dash.gnetId>\n      <h3 class=section-heading>\n        Importing Dashboard from\n        <a href=https://grafana.com/dashboards/{{ctrl.dash.gnetId}} class=external-link target=_blank>Grafana.com</a>\n      </h3>\n\n      <div class=gf-form>\n        <label class=\"gf-form-label width-15\">Published by</label>\n        <label class=\"gf-form-label width-15\">{{ctrl.gnetInfo.orgName}}</label>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-15\">Updated on</label>\n        <label class=\"gf-form-label width-15\">{{ctrl.gnetInfo.updatedAt | date : 'yyyy-MM-dd HH:mm:ss'}}</label>\n      </div>\n    </div>\n\n    <h3 class=section-heading>\n      Options\n    </h3>\n\n    <div class=gf-form-group>\n      <div class=gf-form-inline>\n        <div class=\"gf-form gf-form--grow\">\n          <label class=\"gf-form-label width-15\">Name</label>\n          <input type=text class=gf-form-input ng-model=ctrl.dash.title give-focus=true ng-change=ctrl.titleChanged() ng-class=\"{'validation-error': ctrl.nameExists || !ctrl.dash.title}\">\n          <label class=\"gf-form-label text-success\" ng-if=\"ctrl.titleTouched && !ctrl.hasNameValidationError\">\n            <i class=\"fa fa-check\"></i>\n          </label>\n        </div>\n      </div>\n\n      <div class=gf-form-inline ng-if=ctrl.hasNameValidationError>\n        <div class=\"gf-form offset-width-15 gf-form--grow\">\n          <label class=\"gf-form-label text-warning gf-form-label--grow\">\n            <i class=\"fa fa-warning\"></i>\n            {{ctrl.nameValidationError}}\n          </label>\n        </div>\n      </div>\n\n      <div class=gf-form-inline>\n        <div class=\"gf-form gf-form--grow\">\n          <folder-picker label-class=width-15 initial-folder-id=ctrl.folderId initial-title=ctrl.initialFolderTitle on-change=ctrl.onFolderChange($folder) on-load=ctrl.onFolderChange($folder) enter-folder-creation=ctrl.onEnterFolderCreation() exit-folder-creation=ctrl.onExitFolderCreation() enable-create-new=true>\n          </folder-picker>\n        </div>\n      </div>\n\n      <div class=gf-form-inline>\n        <div class=\"gf-form gf-form--grow\">\n          <span class=\"gf-form-label width-15\">\n            Unique identifier (uid)\n            <info-popover mode=right-normal>\n                The unique identifier (uid) of a dashboard can be used for uniquely identify a dashboard between multiple Grafana installs.\n                The uid allows having consistent URL’s for accessing dashboards so changing the title of a dashboard will not break any\n                bookmarked links to that dashboard.\n            </info-popover>\n          </span>\n          <input type=text class=gf-form-input disabled=disabled ng-model=ctrl.autoGenerateUidValue ng-if=ctrl.autoGenerateUid>\n          <a class=\"btn btn-secondary gf-form-btn\" href=# ng-click=\"ctrl.autoGenerateUid = false\" ng-if=ctrl.autoGenerateUid>change</a>\n          <input type=text class=gf-form-input maxlength=40 placeholder=\"optional, will be auto-generated if empty\" ng-model=ctrl.dash.uid ng-change=ctrl.uidChanged() ng-if=!ctrl.autoGenerateUid>\n          <label class=\"gf-form-label text-success\" ng-if=\"!ctrl.autoGenerateUid && !ctrl.hasUidValidationError\">\n            <i class=\"fa fa-check\"></i>\n          </label>\n        </div>\n      </div>\n\n      <div class=gf-form-inline ng-if=ctrl.hasUidValidationError>\n        <div class=\"gf-form offset-width-15 gf-form--grow\">\n          <label class=\"gf-form-label text-warning gf-form-label--grow\">\n            <i class=\"fa fa-warning\"></i>\n            {{ctrl.uidValidationError}}\n          </label>\n        </div>\n      </div>\n\n      <div ng-repeat=\"input in ctrl.inputs\">\n        <div class=gf-form>\n          <label class=\"gf-form-label width-15\">\n            {{input.label}}\n            <info-popover mode=right-normal>\n              {{input.info}}\n            </info-popover>\n          </label>\n          <!-- Data source input -->\n          <div class=gf-form-select-wrapper style=width:100% ng-if=\"input.type === 'datasource'\">\n            <select class=gf-form-input ng-model=input.value ng-options=\"v.value as v.text for v in input.options\" ng-change=ctrl.inputValueChanged()>\n              <option value=\"\" ng-hide=input.value>{{input.info}}</option>\n            </select>\n          </div>\n          <!-- Constant input -->\n          <input ng-if=\"input.type === 'constant'\" type=text class=gf-form-input ng-model=input.value placeholder={{input.default}} ng-change=ctrl.inputValueChanged()>\n          <label class=\"gf-form-label text-success\" ng-show=input.value>\n            <i class=\"fa fa-check\"></i>\n          </label>\n        </div>\n      </div>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button type=button class=\"btn btn-primary width-12\" ng-click=ctrl.saveDashboard() ng-hide=\"ctrl.nameExists || ctrl.uidExists\" ng-disabled=!ctrl.isValid()>\n        Import\n      </button>\n      <button type=button class=\"btn btn-danger width-12\" ng-click=ctrl.saveDashboard() ng-show=\"ctrl.nameExists || ctrl.uidExists\" ng-disabled=!ctrl.isValid()>\n        Import (Overwrite)\n      </button>\n      <a class=\"btn btn-link\" ng-click=ctrl.back()>Cancel</a>\n    </div>\n\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/manage-dashboards/partials/dashboard_list.html":
/*!****************************************************************************!*\
  !*** ./public/app/features/manage-dashboards/partials/dashboard_list.html ***!
  \****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/manage-dashboards/partials/dashboard_list.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\">\n  <manage-dashboards/>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/manage-dashboards/partials/snapshot_list.html":
/*!***************************************************************************!*\
  !*** ./public/app/features/manage-dashboards/partials/snapshot_list.html ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/manage-dashboards/partials/snapshot_list.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\">\n   <table class=filter-table>\n    <thead>\n      <th><strong>Name</strong></th>\n      <th><strong>Snapshot url</strong></th>\n      <th style=width:70px></th>\n      <th style=width:30px></th>\n      <th style=width:25px></th>\n\t\t</thead>\n\t\t<tr ng-repeat=\"snapshot in ctrl.snapshots\">\n      <td>\n        <a href={{snapshot.url}}>{{snapshot.name}}</a>\n      </td>\n      <td>\n        <a href={{snapshot.url}}>{{snapshot.url}}</a>\n      </td>\n      <td>\n        <span class=query-keyword ng-if=snapshot.external>External</span>\n      </td>\n      <td class=text-center>\n        <a href={{snapshot.url}} class=\"btn btn-inverse btn-small\">\n          <i class=\"gicon gicon-viewer\"></i>\n          View\n        </a>\n      </td>\n      <td class=text-right>\n        <a ng-click=ctrl.removeSnapshot(snapshot) class=\"btn btn-danger btn-small\">\n          <i class=\"fa fa-remove\"></i>\n        </a>\n      </td>\n    </tr>\n  </table>\n\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/org/partials/invite.html":
/*!******************************************************!*\
  !*** ./public/app/features/org/partials/invite.html ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/org/partials/invite.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\" ng-cloak>\n\n\t<h3 class=page-sub-heading>Invite User</h3>\n\n\t<div class=p-b-2>\n\t\tSend invite or add existing Grafana user to the organization\n\t\t<span class=highlight-word>{{contextSrv.user.orgName}}</span>\n\t</div>\n\n\t<form name=ctrl.inviteForm>\n\t\t<div class=gf-form-group>\n\t\t\t<div class=\"gf-form max-width-30\">\n\t\t\t\t<span class=\"gf-form-label width-10\">Email or Username</span>\n\t\t\t\t<input type=text ng-model=ctrl.invite.loginOrEmail required class=gf-form-input placeholder=email@test.com>\n\t\t\t</div>\n\t\t\t<div class=\"gf-form max-width-30\">\n\t\t\t\t<span class=\"gf-form-label width-10\">Name</span>\n\t\t\t\t<input type=text ng-model=ctrl.invite.name class=gf-form-input placeholder=\"name (optional)\">\n\t\t\t</div>\n\t\t\t<div class=\"gf-form max-width-30\">\n        <span class=\"gf-form-label width-10\">Role</span>\n\t\t\t\t<select ng-model=ctrl.invite.role class=gf-form-input ng-options=\"f for f in ['Viewer', 'Editor', 'Admin']\">\n\t\t\t\t</select>\n\t\t\t</div>\n\n\t\t\t<gf-form-switch class=gf-form label=\"Send invite email\" checked=ctrl.invite.sendEmail label-class=width-10></gf-form-switch>\n\n\t\t\t<div class=gf-form-button-row>\n\t\t\t\t<button type=submit class=\"btn btn-primary\" ng-click=ctrl.sendInvite();>Invite</button>\n\t\t\t\t<a class=\"btn btn-inverse\" href=org/users>Back</a>\n\t\t\t</div>\n\t</div></form>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/org/partials/newOrg.html":
/*!******************************************************!*\
  !*** ./public/app/features/org/partials/newOrg.html ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/org/partials/newOrg.html';
var html = "<page-header model=navModel></page-header>\n\n<div class=\"page-container page-body\" ng-form=playlistEditForm>\n\t<h3 class=page-sub-heading>\n\t\tNew Organization\n\t</h3>\n\n\t<p class=playlist-description>Each organization contains their own dashboards, data sources and configuration, and cannot be shared between orgs. While users may belong to more than one, multiple organization are most frequently used in multi-tenant deployments. </p>\n\n\t<form>\n\t\t<div class=gf-form-group>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class=\"gf-form-label width-10\">Org. name</span>\n\t\t\t\t<input type=text ng-model=newOrg.name required class=\"gf-form-input max-width-21\" placeholder=\"organization name\">\n\t\t\t</div>\n\t\t\t<br>\n\t\t\t<div class=gf-form-buttons-row>\n\t\t\t\t<button type=submit class=\"btn btn-primary\" ng-click=createOrg()>Create</button>\n\t\t\t</div>\n\t\t</div>\n\t</form>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/org/partials/select_org.html":
/*!**********************************************************!*\
  !*** ./public/app/features/org/partials/select_org.html ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/org/partials/select_org.html';
var html = "<page-header model=navModel></page-header>\n\n<div class=\"page-container page-body\">\n\n\t<div class=signup>\n\t\t<div class=login-form>\n\n\t\t\t<div class=modal-tagline>\n\t\t\t\tYou have been added to another Organization due to an open invitation!\n\n\t\t\t\tPlease select which organization you want to <br>\n\t\t\t\tuse right now (you can change this later at any time).\n\t\t\t</div>\n\n\t\t\t<div style=\"display:inline-block;width:400px;margin:30px 0\">\n\t\t\t\t<div ng-repeat=\"org in orgs\">\n\t\t\t\t\t<a ng-click=setUsingOrg(org) class=\"btn btn-primary\">\n\t\t\t\t\t\t{{org.name}} ({{org.role}})\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/panel/panellinks/module.html":
/*!**********************************************************!*\
  !*** ./public/app/features/panel/panellinks/module.html ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/panel/panellinks/module.html';
var html = "<div class=editor-row>\n\t<div class=gf-form-group ng-repeat=\"link in panel.links\">\n\t\t<div class=section>\n\t\t\t<div class=\"gf-form max-width-25\">\n\t\t\t\t<span class=\"gf-form-label width-7\">Type</span>\n\t\t\t\t<div class=\"gf-form-select-wrapper gf-form--grow\">\n\t\t\t\t\t<select class=gf-form-input ng-model=link.type ng-options=\"f for f in ['dashboard','absolute']\"></select>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=\"gf-form max-width-25\">\n\t\t\t\t<span class=\"gf-form-label width-7\" ng-show=\"link.type === 'dashboard'\">Dashboard</span>\n\t\t\t\t<input ng-show=\"link.type === 'dashboard'\" type=text ng-model=link.dashboard bs-typeahead=searchDashboards class=gf-form-input ng-blur=dashboardChanged(link)>\n\n\t\t\t\t<span class=\"gf-form-label width-7\" ng-show=\"link.type === 'absolute'\">Url</span>\n\t\t\t\t<input ng-show=\"link.type === 'absolute'\" type=text ng-model=link.url class=\"gf-form-input max-width-14\">\n\t\t\t</div>\n\n\t\t\t<div class=\"gf-form max-width-25\">\n\t\t\t\t<div class=\"gf-form-label width-7\">Title</div>\n\t\t\t\t<input type=text ng-model=link.title class=gf-form-input>\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=section>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class=\"gf-form-label width-10\">Url params</span>\n\t\t\t\t<input type=text ng-model=link.params class=\"gf-form-input width-10\">\n\t\t\t</div>\n\n\t\t\t<gf-form-switch class=gf-form label-class=width-10 label=\"Include time range\" checked=link.keepTime></gf-form-switch>\n\t\t\t<gf-form-switch class=gf-form label-class=width-10 label=\"Include variables\" checked=link.includeVars></gf-form-switch>\n\t\t\t<gf-form-switch class=gf-form label-class=width-10 label=\"Open in new tab \" checked=link.targetBlank></gf-form-switch>\n\t\t</div>\n\n\t\t<div class=section>\n\t\t\t<div class=gf-form>\n\t\t\t\t<button class=\"btn btn-inverse gf-form-btn\" ng-click=deleteLink(link)><i class=\"fa fa-trash\"></i> Remove Link</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div class=editor-row>\n\t<button class=\"btn btn-inverse\" ng-click=addLink()><i class=\"fa fa-plus\"></i> Add link</button>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/panel/partials/general_tab.html":
/*!*************************************************************!*\
  !*** ./public/app/features/panel/partials/general_tab.html ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/panel/partials/general_tab.html';
var html = "<div class=panel-options-group>\n  <!-- <div class=\"panel&#45;option&#45;section__header\">Information</div> -->\n  <div class=panel-options-group__body>\n    <div class=section>\n      <div class=gf-form>\n        <span class=\"gf-form-label width-7\">Title</span>\n        <input type=text class=\"gf-form-input width-25\" ng-model=ctrl.panel.title ng-model-onblur>\n      </div>\n      <gf-form-switch class=gf-form label-class=width-7 switch-class=max-width-6 label=Transparent checked=ctrl.panel.transparent on-change=ctrl.render()></gf-form-switch>\n    </div>\n    <div class=section>\n      <div class=\"gf-form gf-form--v-stretch\">\n        <span class=\"gf-form-label width-7\">Description</span>\n        <textarea class=\"gf-form-input width-25\" rows=5 ng-model=ctrl.panel.description ng-model-onblur placeholder=\"Panel description, supports markdown & links\"></textarea>\n      </div>\n    </div>\n  </div>\n</div>\n\n<div class=panel-options-group>\n  <div class=panel-options-group__header>\n    <div class=panel-options-group__title>Repeating</div>\n  </div>\n  <div class=panel-options-group__body>\n    <div class=section>\n      <div class=gf-form>\n        <span class=\"gf-form-label width-9\">Repeat</span>\n        <dash-repeat-option panel=ctrl.panel></dash-repeat-option>\n      </div>\n      <div class=gf-form ng-show=ctrl.panel.repeat>\n        <span class=\"gf-form-label width-9\">Direction</span>\n        <select class=gf-form-input ng-model=ctrl.panel.repeatDirection ng-options=\"f.value as f.text for f in [{value: 'v', text: 'Vertical'}, {value: 'h', text: 'Horizontal'}]\">\n          <option value=\"\"></option>\n        </select>\n      </div>\n      <div class=gf-form ng-show=\"ctrl.panel.repeat && ctrl.panel.repeatDirection == 'h'\">\n        <span class=\"gf-form-label width-9\">Max per row</span>\n        <select class=gf-form-input ng-model=ctrl.panel.maxPerRow ng-options=\"f for f in [2,3,4,6,12,24]\">\n          <option value=\"\"></option>\n        </select>\n      </div>\n      <div class=gf-form-hint>\n        <div class=\"gf-form-hint-text muted\">\n          Note: You may need to change the variable selection to see this in action.\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/panel/partials/panelTime.html":
/*!***********************************************************!*\
  !*** ./public/app/features/panel/partials/panelTime.html ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/panel/partials/panelTime.html';
var html = "<div class=gf-form-group>\n\t<div class=gf-form>\n\t\t<span class=gf-form-label>\n\t\t\t<i class=\"fa fa-clock-o\"></i>\n\t\t</span>\n\n\t\t<span class=\"gf-form-label width-12\">Override relative time</span>\n\t\t<span class=\"gf-form-label width-6\">Last</span>\n\n\t\t<input type=text class=\"gf-form-input max-width-8\" placeholder=1h empty-to-null ng-model=ctrl.panel.timeFrom valid-time-span ng-change=ctrl.refresh() ng-model-onblur>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<span class=gf-form-label>\n\t\t\t<i class=\"fa fa-clock-o\"></i>\n\t\t</span>\n\t\t<span class=\"gf-form-label width-12\">Add time shift</span>\n\t\t<span class=\"gf-form-label width-6\">Amount</span>\n\t\t<input type=text class=\"gf-form-input max-width-8\" placeholder=1h empty-to-null ng-model=ctrl.panel.timeShift valid-time-span ng-change=ctrl.refresh() ng-model-onblur>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>\n\t\t\t\t<i class=\"fa fa-clock-o\"></i>\n\t\t\t</span>\n\t\t</div>\n\t\t<gf-form-switch class=\"gf-form max-width-30\" label=\"Hide time override info\" label-class=width-12 checked=ctrl.panel.hideTimeOverride switch-class=max-width-6 on-change=ctrl.refresh()>\n\t\t</gf-form-switch>\n\t</div>\n</div>\n\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/panel/partials/query_editor_row.html":
/*!******************************************************************!*\
  !*** ./public/app/features/panel/partials/query_editor_row.html ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/panel/partials/query_editor_row.html';
var html = "<div ng-transclude class=gf-form-query-content></div>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/playlist/partials/playlist.html":
/*!*************************************************************!*\
  !*** ./public/app/features/playlist/partials/playlist.html ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/playlist/partials/playlist.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\" ng-form=ctrl.playlistEditForm>\n\n\t<h3 class=page-sub-heading ng-hide=ctrl.isNew>Edit Playlist</h3>\n\t<h3 class=page-sub-heading ng-show=ctrl.isNew>New Playlist</h3>\n\n\t<p class=playlist-description>A playlist rotates through a pre-selected list of Dashboards. A Playlist can be a great way to build situational awareness, or just show off your metrics to your team or visitors.</p>\n\n\t<div class=gf-form-group>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-7\">Name</span>\n\t\t\t<input type=text required ng-model=ctrl.playlist.name class=\"gf-form-input max-width-21\">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-7\">Interval</span>\n\t\t\t<input type=text required ng-model=ctrl.playlist.interval placeholder=5m class=\"gf-form-input max-width-21\">\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-group>\n\t\t<h3 class=page-headering>Dashboards</h3>\n\n\t\t<table class=\"filter-table playlist-available-list\">\n\t\t\t<tr ng-repeat=\"playlistItem in ctrl.playlistItems\">\n\t\t\t\t<td ng-if=\"playlistItem.type === 'dashboard_by_id'\">\n\t\t\t\t\t<i class=\"gicon gicon-dashboard\"></i>&nbsp;&nbsp;{{playlistItem.title}}\n\t\t\t\t</td>\n\t\t\t\t<td ng-if=\"playlistItem.type === 'dashboard_by_tag'\">\n\t\t\t\t\t<a class=\"search-result-tag label label-tag\" tag-color-from-name=playlistItem.title>\n\t\t\t\t\t\t<i class=\"fa fa-tag\"></i>\n\t\t\t\t\t\t<span>{{playlistItem.title}}</span>\n\t\t\t\t\t</a>\n\t\t\t\t</td>\n\n\t\t\t\t<td class=selected-playlistitem-settings>\n\t\t\t\t\t<button class=\"btn btn-inverse btn-small\" ng-hide=$first ng-click=ctrl.movePlaylistItemUp(playlistItem)>\n\t\t\t\t\t\t<i class=\"fa fa-arrow-up\"></i>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button class=\"btn btn-inverse btn-small\" ng-hide=$last ng-click=ctrl.movePlaylistItemDown(playlistItem)>\n\t\t\t\t\t\t<i class=\"fa fa-arrow-down\"></i>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button class=\"btn btn-inverse btn-small\" ng-click=ctrl.removePlaylistItem(playlistItem)>\n\t\t\t\t\t\t<i class=\"fa fa-remove\"></i>\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t<tr ng-if=\"ctrl.playlistItems.length === 0\">\n\t\t\t\t<td><em>Playlist is empty, add dashboards below.</em></td>\n\t\t\t</tr>\n\t\t</table>\n\t</div>\n\n\t<div class=gf-form-group>\n\t\t<h3 class=page-headering>Add dashboards</h3>\n\t\t<playlist-search class=playlist-search-container search-started=ctrl.searchStarted(promise)></playlist-search>\n\n\t\t<div ng-if=\"ctrl.filteredDashboards.length > 0\">\n\t\t\t<table class=\"filter-table playlist-available-list\">\n\t\t\t\t<tr ng-repeat=\"playlistItem in ctrl.filteredDashboards\">\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<i class=\"gicon gicon-dashboard\"></i>\n\t\t\t\t\t\t&nbsp;&nbsp;{{playlistItem.title}}\n\t\t\t\t\t\t<i class=\"fa fa-star\" ng-show=playlistItem.isStarred></i>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=add-dashboard>\n\t\t\t\t\t\t<button class=\"btn btn-inverse btn-small pull-right\" ng-click=ctrl.addPlaylistItem(playlistItem)>\n\t\t\t\t\t\t\t<i class=\"fa fa-plus\"></i>\n\t\t\t\t\t\t\tAdd to playlist\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</div>\n\t\t<div class=playlist-search-results-container ng-if=\"ctrl.filteredTags.length > 0;\">\n\t\t\t<table class=\"filter-table playlist-available-list\">\n\t\t\t\t<tr ng-repeat=\"tag in ctrl.filteredTags\">\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<a class=\"search-result-tag label label-tag\" tag-color-from-name=tag.term>\n\t\t\t\t\t\t\t<i class=\"fa fa-tag\"></i>\n\t\t\t\t\t\t\t<span>{{tag.term}} &nbsp;({{tag.count}})</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=add-dashboard>\n\t\t\t\t\t\t<button class=\"btn btn-inverse btn-small pull-right\" ng-click=ctrl.addTagPlaylistItem(tag)>\n\t\t\t\t\t\t\t<i class=\"fa fa-plus\"></i>\n\t\t\t\t\t\t\tAdd to playlist\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</div>\n\t</div>\n\n\t<div class=clearfix></div>\n\n\t<div class=gf-form-button-row>\n\t\t<a class=\"btn btn-primary\" ng-show=ctrl.isNew ng-disabled=\"ctrl.playlistEditForm.$invalid || ctrl.isPlaylistEmpty()\" ng-click=\"ctrl.savePlaylist(ctrl.playlist, ctrl.playlistItems)\">Create</a>\n\t\t<a class=\"btn btn-primary\" ng-show=!ctrl.isNew ng-disabled=\"ctrl.playlistEditForm.$invalid || ctrl.isPlaylistEmpty()\" ng-click=\"ctrl.savePlaylist(ctrl.playlist, ctrl.playlistItems)\">Save</a>\n\t\t<a class=btn-text ng-click=ctrl.backToList()>Cancel</a>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/playlist/partials/playlist_search.html":
/*!********************************************************************!*\
  !*** ./public/app/features/playlist/partials/playlist_search.html ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/playlist/partials/playlist_search.html';
var html = "<div class=playlist-search-field-wrapper>\n  <span style=position:relative>\n    <input type=text placeholder=\"Find dashboards by name\" tabindex=1 ng-keydown=ctrl.keyDown($event) ng-model=ctrl.query.query ng-model-options=\"{ debounce: 500 }\" spellcheck=false ng-change=ctrl.searchDashboards() />\n\t\t<div class=playlist-search-switches>\n\t\t\t<i class=\"fa fa-filter\"></i>\n\t\t\t<a class=pointer href=\"javascript:void 0;\" ng-click=ctrl.showStarred() tabindex=2>\n\t\t\t\t<i class=\"fa fa-remove\" ng-show=ctrl.query.starred></i>\n\t\t\t\tstarred\n\t\t\t</a> |\n\t\t\t<a class=pointer href=\"javascript:void 0;\" ng-click=ctrl.getTags() tabindex=3>\n\t\t\t\t<i class=\"fa fa-remove\" ng-show=ctrl.tagsMode></i>\n\t\t\t\ttags\n\t\t\t</a>\n\t\t\t<span ng-if=ctrl.query.tag.length>\n\t\t\t\t|\n\t\t\t\t<span ng-repeat=\"tagName in ctrl.query.tag\">\n\t\t\t\t\t<a ng-click=\"ctrl.removeTag(tagName, $event)\" tag-color-from-name=ctrl.tagName class=\"label label-tag\">\n\t\t\t\t\t\t<i class=\"fa fa-remove\"></i>\n\t\t\t\t\t\t{{tagName}}\n\t\t\t\t\t</a>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</div>\n\t</span>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/playlist/partials/playlists.html":
/*!**************************************************************!*\
  !*** ./public/app/features/playlist/partials/playlists.html ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/playlist/partials/playlists.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\">\n  <div ng-if=\"ctrl.playlists.length > 0\">\n    <div class=page-action-bar>\n      <div class=page-action-bar__spacer></div>\n      <a class=\"btn btn-primary pull-right\" href=playlists/create>\n        New playlist\n      </a>\n    </div>\n\n    <table class=\"filter-table filter-table--hover\">\n      <thead>\n        <th><strong>Name</strong></th>\n        <th style=width:100px></th>\n        <th style=width:78px></th>\n      </thead>\n      <tr ng-repeat=\"playlist in ctrl.playlists\">\n        <td class=link-td>\n          <a href=playlists/edit/{{playlist.id}}>{{playlist.name}}</a>\n        </td>\n        <td class=dropdown>\n          <button class=\"btn btn-inverse btn-small\" data-toggle=dropdown>\n            Start playlist\n            <i class=\"fa fa-caret-down\"></i>\n          </button>\n          <ul class=dropdown-menu role=menu>\n            <li>\n              <a href={{playlist.startUrl}}>\n                <i class=\"fa fa-play\"></i> In Normal mode\n              </a>\n              <a href=\"{{playlist.startUrl}}?kiosk=tv\">\n                <i class=\"fa fa-play\"></i> In TV mode\n              </a>\n              <a href=\"{{playlist.startUrl}}?kiosk=tv&autofitpanels\">\n                <i class=\"fa fa-play\"></i> In TV mode <span class=muted>(with auto fit panels)</span>\n              </a>\n              <a href={{playlist.startUrl}}?kiosk>\n                <i class=\"fa fa-play\"></i> In Kiosk mode\n              </a>\n              <a ng-href={{playlist.startUrl}}?kiosk&autofitpanels>\n                <i class=\"fa fa-play\"></i> In Kiosk mode <span class=muted>(with auto fit panels)</span>\n              </a>\n            </li>\n          </ul>\n        </td>\n        <td class=text-right>\n          <a ng-click=ctrl.removePlaylist(playlist) class=\"btn btn-danger btn-small\">\n            <i class=\"fa fa-remove\"></i>\n          </a>\n        </td>\n      </tr>\n    </table>\n  </div>\n  <div ng-if=\"ctrl.playlists.length === 0\">\n    <empty-list-cta title=\"'There are no playlists created yet'\" buttonicon=\"'fa fa-plus'\" buttonlink=\"'playlists/create'\" buttontitle=\"'Create Playlist'\" protip=\"'You can use playlists to cycle dashboards on TVs without user control'\" protiplink=\"'http://docs.grafana.org/reference/playlist/'\" protiplinktitle=\"'Learn more'\" protiptarget=\"'_blank'\"/>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/plugins/partials/plugin_page.html":
/*!***************************************************************!*\
  !*** ./public/app/features/plugins/partials/plugin_page.html ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/plugins/partials/plugin_page.html';
var html = "<div ng-if=ctrl.navModel>\n  <page-header model=ctrl.navModel></page-header>\n\n  <div class=page-container>\n    <div ng-if=ctrl.page>\n      <plugin-component type=app-page>\n      </plugin-component>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/plugins/partials/update_instructions.html":
/*!***********************************************************************!*\
  !*** ./public/app/features/plugins/partials/update_instructions.html ***!
  \***********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/plugins/partials/update_instructions.html';
var html = "<div class=modal-body>\n\t<div class=modal-header>\n\t\t<h2 class=modal-header-title>\n\t\t\t<i class=\"fa fa-cloud-download\"></i>\n\t\t\t<span class=p-l-1>Update Plugin</span>\n\t\t</h2>\n\n\t\t<a class=modal-header-close ng-click=dismiss();>\n\t\t\t<i class=\"fa fa-remove\"></i>\n\t\t</a>\n\t</div>\n\n\t<div class=modal-content>\n\t\t<div class=gf-form-group>\n\t\t\t<p>Type the following on the command line to update {{model.name}}.</p>\n\t\t\t<pre><code>grafana-cli plugins update {{model.id}}</code></pre>\n\t\t\t<span class=small>Check out {{model.name}} on <a href=https://grafana.com/plugins/{{model.id}}>Grafana.com</a> for README and changelog. If you do not have access to the command line, ask your Grafana administator.</span>\n\t\t</div>\n\t\t<p class=pluginlist-none-installed><img class=pluginlist-inline-logo src=public/img/grafana_icon.svg><strong>Pro tip</strong>: To update all plugins at once, type <code class=code--small>grafana-cli plugins update-all</code> on the command line.</p></div>\n\t</div>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/profile/partials/profile.html":
/*!***********************************************************!*\
  !*** ./public/app/features/profile/partials/profile.html ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/profile/partials/profile.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\">\n  <react-profile-wrapper></react-profile-wrapper>\n\n  <h3 class=page-heading>Sessions</h3>\n  <div class=gf-form-group>\n    <table class=\"filter-table form-inline\">\n      <thead>\n        <tr>\n          <th>Last seen</th>\n          <th>Logged on</th>\n          <th>IP address</th>\n          <th>Browser &amp; OS</th>\n          <th></th>\n        </tr>\n      </thead>\n      <tbody>\n        <tr ng-repeat=\"session in ctrl.sessions\">\n          <td ng-if=session.isActive>Now</td>\n          <td ng-if=!session.isActive>{{ session.seenAt }}</td>\n          <td>{{ session.createdAt }}</td>\n          <td>{{ session.clientIp }}</td>\n          <td>{{ session.browser }} on {{ session.os }} {{ session.osVersion }}</td>\n          <td>\n            <button class=\"btn btn-danger btn-small\" ng-click=ctrl.revokeUserSession(session.id)>\n              <i class=\"fa fa-power-off\"></i>\n            </button>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/teams/partials/create_team.html":
/*!*************************************************************!*\
  !*** ./public/app/features/teams/partials/create_team.html ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/teams/partials/create_team.html';
var html = "<page-header model=ctrl.navModel></page-header>\n\n<div class=\"page-container page-body\" ng-cloak>\n\t<h3 class=page-sub-heading>New Team</h3>\n\n\t<form name=ctrl.saveForm class=gf-form-group ng-submit=ctrl.create()>\n\t\t<div class=\"gf-form max-width-30\">\n\t\t\t<span class=\"gf-form-label width-10\">Name</span>\n\t\t\t<input type=text required ng-model=ctrl.name class=\"gf-form-input max-width-22\" give-focus=true>\n\t\t</div>\n\t\t<div class=\"gf-form max-width-30\">\n\t\t\t<span class=\"gf-form-label width-10\">\n\t\t\t\tEmail\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tThis is optional and is primarily used for allowing custom team avatars.\n\t\t\t\t</info-popover>\n\t\t\t</span>\n\t\t\t<input class=\"gf-form-input max-width-22\" type=email ng-model=ctrl.email placeholder=email@test.com>\n\t\t</div>\n\t\t<div class=gf-form-button-row>\n\t\t\t<button type=submit class=\"btn btn-primary\">\n\t\t\t\tCreate\n\t\t\t</button>\n\t\t</div>\n\t</form>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/features/templating/partials/editor.html":
/*!*************************************************************!*\
  !*** ./public/app/features/templating/partials/editor.html ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/features/templating/partials/editor.html';
var html = "<div ng-controller=VariableEditorCtrl ng-init=init()>\n  <div class=page-action-bar>\n    <h3 class=dashboard-settings__header>\n      <a ng-click=\"setMode('list')\">Variables</a>\n      <span ng-show=\"mode === 'new'\">&gt; New</span>\n      <span ng-show=\"mode === 'edit'\">&gt; Edit</span>\n    </h3>\n\n    <div class=page-action-bar__spacer></div>\n    <a type=button class=\"btn btn-primary\" ng-click=\"setMode('new');\" ng-if=\"variables.length > 0\" ng-hide=\"mode === 'edit' || mode === 'new'\">\n\t\t\tNew\n\t  </a>\n  </div>\n\n  <div ng-if=\"mode === 'list'\">\n    <div ng-if=\"variables.length === 0\">\n        <empty-list-cta on-click=setNewMode title=emptyListCta.title infobox=emptyListCta.infoBox infoboxtitle=emptyListCta.infoBoxTitle buttontitle=emptyListCta.buttonTitle buttonicon=emptyListCta.buttonIcon />\n    </div>\n\n    <div ng-if=variables.length>\n      <table class=\"filter-table filter-table--hover\">\n        <thead>\n          <tr>\n            <th>Variable</th>\n            <th>Definition</th>\n            <th colspan=5></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr ng-repeat=\"variable in variables\">\n            <td style=width:1%>\n              <span ng-click=edit(variable) class=\"pointer template-variable\"> ${{ variable.name }} </span>\n            </td>\n            <td style=max-width:200px ng-click=edit(variable) class=\"pointer max-width\">\n              {{ variable.definition ? variable.definition : variable.query }}\n            </td>\n            <td style=width:1%>\n              <i ng-click=_.move(variables,$index,$index-1) ng-hide=$first class=\"pointer fa fa-arrow-up\"></i>\n            </td>\n            <td style=width:1%>\n              <i ng-click=_.move(variables,$index,$index+1) ng-hide=$last class=\"pointer fa fa-arrow-down\"></i>\n            </td>\n            <td style=width:1%>\n              <a ng-click=duplicate(variable) class=\"btn btn-inverse btn-small\">\n                Duplicate\n              </a>\n            </td>\n            <td style=width:1%>\n              <a ng-click=removeVariable(variable) class=\"btn btn-danger btn-small\">\n                <i class=\"fa fa-remove\"></i>\n              </a>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </div>\n  </div>\n\n  <form ng-if=\"mode === 'edit' || mode === 'new'\" name=ctrl.form>\n    <h5 class=section-heading>General</h5>\n    <div class=gf-form-group>\n      <div class=gf-form-inline>\n        <div class=\"gf-form max-width-19\">\n          <span class=\"gf-form-label width-6\">Name</span>\n          <input type=text class=gf-form-input name=name placeholder=name ng-model=current.name required ng-pattern=namePattern />\n        </div>\n        <div class=\"gf-form max-width-19\">\n          <span class=\"gf-form-label width-6\">\n            Type\n            <info-popover mode=right-normal>\n              {{ variableTypes[current.type].description }}\n            </info-popover>\n          </span>\n          <div class=\"gf-form-select-wrapper max-width-17\">\n            <select class=gf-form-input ng-model=current.type ng-options=\"k as v.name for (k, v) in variableTypes\" ng-change=typeChanged()></select>\n          </div>\n        </div>\n      </div>\n\n      <div class=gf-form ng-show=ctrl.form.name.$error.pattern>\n        <span class=\"gf-form-label gf-form-label--error\">Template names cannot begin with '__', that's reserved for Grafana's global variables</span>\n      </div>\n\n      <div class=gf-form-inline>\n        <div class=\"gf-form max-width-19\">\n          <span class=\"gf-form-label width-6\">Label</span>\n          <input type=text class=gf-form-input ng-model=current.label placeholder=\"optional display name\"/>\n        </div>\n        <div class=\"gf-form max-width-19\">\n          <span class=\"gf-form-label width-6\">Hide</span>\n          <div class=\"gf-form-select-wrapper max-width-15\">\n            <select class=gf-form-input ng-model=current.hide ng-options=\"f.value as f.text for f in hideOptions\"></select>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <div ng-if=\"current.type === 'interval'\" class=gf-form-group>\n      <h5 class=section-heading>Interval Options</h5>\n\n      <div class=gf-form>\n        <span class=\"gf-form-label width-9\">Values</span>\n        <input type=text class=gf-form-input ng-model=current.query placeholder=1m,10m,1h,6h,1d,7d ng-model-onblur ng-change=runQuery() required/>\n      </div>\n\n      <div class=gf-form-inline>\n        <gf-form-switch class=gf-form label=\"Auto Option\" label-class=width-9 checked=current.auto on-change=runQuery()>\n        </gf-form-switch>\n\n        <div class=gf-form>\n          <span class=\"gf-form-label width-9\" ng-show=current.auto>\n            Step count <tip>How many times should the current time range be divided to calculate the value</tip>\n          </span>\n          <div class=\"gf-form-select-wrapper max-width-10\" ng-show=current.auto>\n            <select class=gf-form-input ng-model=current.auto_count ng-options=\"f for f in [1,2,3,4,5,10,20,30,40,50,100,200,300,400,500]\" ng-change=runQuery()></select>\n          </div>\n        </div>\n        <div class=gf-form>\n          <span class=gf-form-label ng-show=current.auto>\n            Min interval <tip>The calculated value will not go below this threshold</tip>\n          </span>\n          <input type=text class=\"gf-form-input max-width-10\" ng-show=current.auto ng-model=current.auto_min ng-change=runQuery() placeholder=10s />\n        </div>\n      </div>\n    </div>\n\n    <div ng-if=\"current.type === 'custom'\" class=gf-form-group>\n      <h5 class=section-heading>Custom Options</h5>\n      <div class=gf-form>\n        <span class=\"gf-form-label width-14\">Values separated by comma</span>\n        <input type=text class=gf-form-input ng-model=current.query ng-blur=runQuery() placeholder=\"1, 10, 20, myvalue, escaped\\,value\" required/>\n      </div>\n    </div>\n\n    <div ng-if=\"current.type === 'constant'\" class=gf-form-group>\n      <h5 class=section-heading>Constant options</h5>\n      <div class=gf-form>\n        <span class=gf-form-label>Value</span>\n        <input type=text class=gf-form-input ng-model=current.query ng-blur=runQuery() placeholder=\"your metric prefix\"/>\n      </div>\n    </div>\n\n    <div ng-if=\"current.type === 'textbox'\" class=gf-form-group>\n      <h5 class=section-heading>Text options</h5>\n      <div class=gf-form>\n        <span class=gf-form-label>Default value</span>\n        <input type=text class=gf-form-input ng-model=current.query ng-blur=runQuery() placeholder=\"default value, if any\"/>\n      </div>\n    </div>\n\n    <div ng-if=\"current.type === 'query'\" class=gf-form-group>\n      <h5 class=section-heading>Query Options</h5>\n\n      <div class=gf-form-inline>\n        <div class=\"gf-form max-width-21\">\n          <span class=\"gf-form-label width-10\">Data source</span>\n          <div class=\"gf-form-select-wrapper max-width-14\">\n            <select class=gf-form-input ng-model=current.datasource ng-options=\"f.value as f.name for f in datasources\" ng-change=datasourceChanged() required>\n              <option value=\"\" ng-if=false></option>\n            </select>\n          </div>\n        </div>\n\n        <div class=\"gf-form max-width-22\">\n          <span class=\"gf-form-label width-10\">\n            Refresh\n            <info-popover mode=right-normal>\n              When to update the values of this variable.\n            </info-popover>\n          </span>\n          <div class=\"gf-form-select-wrapper width-15\">\n            <select class=gf-form-input ng-model=current.refresh ng-options=\"f.value as f.text for f in refreshOptions\"></select>\n          </div>\n        </div>\n      </div>\n\n      <rebuild-on-change property=currentDatasource>\n        <variable-query-editor-loader> </variable-query-editor-loader>\n      </rebuild-on-change>\n\n      <div class=gf-form>\n        <span class=\"gf-form-label width-10\">\n          Regex\n          <info-popover mode=right-normal>\n            Optional, if you want to extract part of a series name or metric node segment.\n          </info-popover>\n        </span>\n        <input type=text class=gf-form-input ng-model=current.regex placeholder=/.*-(.*)-.*/ ng-model-onblur ng-change=runQuery() />\n      </div>\n      <div class=\"gf-form max-width-21\">\n        <span class=\"gf-form-label width-10\">\n          Sort\n          <info-popover mode=right-normal>\n            How to sort the values of this variable.\n          </info-popover>\n        </span>\n        <div class=\"gf-form-select-wrapper max-width-14\">\n          <select class=gf-form-input ng-model=current.sort ng-options=\"f.value as f.text for f in sortOptions\" ng-change=runQuery()></select>\n        </div>\n      </div>\n    </div>\n\n    <div ng-show=\"current.type === 'datasource'\" class=gf-form-group>\n      <h5 class=section-heading>Data source options</h5>\n\n      <div class=gf-form>\n        <label class=\"gf-form-label width-12\">Type</label>\n        <div class=\"gf-form-select-wrapper max-width-18\">\n          <select class=gf-form-input ng-model=current.query ng-options=\"f.value as f.text for f in datasourceTypes\" ng-change=runQuery()></select>\n        </div>\n      </div>\n\n      <div class=gf-form>\n        <label class=\"gf-form-label width-12\">\n          Instance name filter\n          <info-popover mode=right-normal>\n            Regex filter for which data source instances to choose from in the variable value dropdown. Leave empty for\n            all.\n            <br/><br/>\n            Example: <code>/^prod/</code>\n          </info-popover>\n        </label>\n        <input type=text class=\"gf-form-input max-width-18\" ng-model=current.regex placeholder=/.*-(.*)-.*/ ng-model-onblur ng-change=runQuery() />\n      </div>\n    </div>\n\n    <div ng-if=\"current.type === 'adhoc'\" class=gf-form-group>\n      <h5 class=section-heading>Options</h5>\n      <div class=\"gf-form max-width-21\">\n        <span class=\"gf-form-label width-8\">Data source</span>\n        <div class=\"gf-form-select-wrapper max-width-14\">\n          <select class=gf-form-input ng-model=current.datasource ng-options=\"f.value as f.name for f in datasources\" required ng-change=validate()>\n            <option value=\"\" ng-if=false></option>\n          </select>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"section gf-form-group\" ng-show=variableTypes[current.type].supportsMulti>\n      <h5 class=section-heading>Selection Options</h5>\n      <div class=section>\n        <gf-form-switch class=gf-form label=Multi-value label-class=width-10 tooltip=\"Enables multiple values to be selected at the same time\" checked=current.multi on-change=runQuery()>\n        </gf-form-switch>\n        <gf-form-switch class=gf-form label=\"Include All option\" label-class=width-10 checked=current.includeAll on-change=runQuery()>\n        </gf-form-switch>\n      </div>\n      <div class=gf-form ng-if=current.includeAll>\n        <span class=\"gf-form-label width-10\">Custom all value</span>\n        <input type=text class=\"gf-form-input max-width-15\" ng-model=current.allValue placeholder=\"blank = auto\"/>\n      </div>\n    </div>\n\n    <div class=gf-form-group ng-if=\"current.type === 'query'\">\n      <h5>Value groups/tags (Experimental feature)</h5>\n      <gf-form-switch class=gf-form label=Enabled label-class=width-10 checked=current.useTags on-change=runQuery()>\n      </gf-form-switch>\n      <div class=\"gf-form last\" ng-if=current.useTags>\n        <span class=\"gf-form-label width-10\">Tags query</span>\n        <input type=text class=gf-form-input ng-model=current.tagsQuery placeholder=\"metric name or tags query\" ng-model-onblur/>\n      </div>\n      <div class=gf-form ng-if=current.useTags>\n        <li class=\"gf-form-label width-10\">Tag values query</li>\n        <input type=text class=gf-form-input ng-model=current.tagValuesQuery placeholder=apps.$tag.* ng-model-onblur/>\n      </div>\n    </div>\n\n    <div class=gf-form-group ng-show=current.options.length>\n      <h5>Preview of values</h5>\n      <div class=gf-form-inline>\n        <div class=gf-form ng-repeat=\"option in current.options | limitTo: optionsLimit\">\n          <span class=gf-form-label>{{ option.text }}</span>\n        </div>\n        <div class=gf-form ng-if=\"current.options.length > optionsLimit\">\n          <a class=\"gf-form-label btn-secondary\" ng-click=showMoreOptions()>Show more</a>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"alert alert-info gf-form-group\" ng-if=infoText>\n      {{ infoText }}\n    </div>\n\n    <div class=\"gf-form-button-row p-y-0\">\n      <button type=submit class=\"btn btn-primary\" ng-show=\"mode === 'edit'\" ng-click=update();>Update</button>\n      <button type=submit class=\"btn btn-primary\" ng-show=\"mode === 'new'\" ng-click=add();>Add</button>\n    </div>\n  </form>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/partials/confirm_modal.html":
/*!************************************************!*\
  !*** ./public/app/partials/confirm_modal.html ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/partials/confirm_modal.html';
var html = "<div class=modal-body ng-cloak>\n\t<div class=modal-header>\n\t\t<h2 class=modal-header-title>\n\t\t\t<i class=\"fa {{icon}}\"></i>\n\t\t\t<span class=p-l-1>\n\t\t\t\t{{title}}\n\t\t\t</span>\n\t\t</h2>\n\n\t\t<a class=modal-header-close ng-click=dismiss();>\n\t\t\t<i class=\"fa fa-remove\"></i>\n\t\t</a>\n\t</div>\n\n\t<div class=\"modal-content text-center\">\n\n\t\t<div class=confirm-modal-text>\n\t\t\t{{text}}\n\t\t\t<div ng-if=\"text2 && text2htmlBind\" class=confirm-modal-text2 ng-bind-html=text2></div>\n      <div ng-if=\"text2 && !text2htmlBind\" class=confirm-modal-text2>{{text2}}</div>\n\t\t</div>\n\n\t\t<div class=modal-content-confirm-text ng-if=confirmText>\n\t\t\t<input type=text class=\"gf-form-input width-16\" style=display:inline-block placeholder=\"Type {{confirmText}} to confirm\" ng-model=confirmInput ng-change=updateConfirmText(confirmInput)>\n\t\t</div>\n\n\t\t<div class=confirm-modal-buttons>\n\t\t\t<button ng-show=onAltAction type=button class=\"btn btn-primary\" ng-click=dismiss();onAltAction();>{{altActionText}}</button>\n\t\t\t<button ng-show=onConfirm type=button class=\"btn btn-danger\" ng-click=onConfirm();dismiss(); ng-disabled=!confirmTextValid give-focus=true>{{yesText}}</button>\n\t\t\t<button type=button class=\"btn btn-inverse\" ng-click=dismiss()>{{noText}}</button>\n\t\t</div>\n\t</div>\n\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/partials/edit_json.html":
/*!********************************************!*\
  !*** ./public/app/partials/edit_json.html ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/partials/edit_json.html';
var html = "<div ng-controller=JsonEditorCtrl>\n  <div class=tabbed-view-header>\n    <h2 class=tabbed-view-title>\n      JSON\n    </h2>\n\n    <button class=tabbed-view-close-btn ng-click=dismiss()>\n      <i class=\"fa fa-remove\"></i>\n    </button>\n  </div>\n\n  <div class=tabbed-view-body>\n    <div class=gf-form>\n      <code-editor content=json data-mode=json data-max-lines=20></code-editor>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button type=button class=\"btn btn-primary\" ng-show=canUpdate ng-click=\"update(); dismiss();\">Update</button>\n      <button class=\"btn btn-secondary\" ng-if=canCopy clipboard-button=getContentForClipboard()>\n        Copy to Clipboard\n      </button>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/partials/error.html":
/*!****************************************!*\
  !*** ./public/app/partials/error.html ***!
  \****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/partials/error.html';
var html = "<page-header model=navModel></page-header>\n\n<div class=\"page-container page-body\">\n  <div class=\"panel-container error-container\">\n    <div class=\"error-column graph-box\">\n      <div class=error-row>\n        <div class=\"error-column error-space-between graph-percentage\">\n          <p>100%</p>\n          <p>80%</p>\n          <p>60%</p>\n          <p>40%</p>\n          <p>20%</p>\n          <p>0%</p>\n        </div>\n        <div class=\"error-column image-box\">\n          <img src=public/img/graph404.svg width=100%>\n          <div class=\"error-row error-space-between\">\n            <p class=graph-text>Then</p>\n            <p class=graph-text>Now</p>\n          </div>\n        </div>\n      </div>\n    </div>\n    <div class=\"error-column info-box\">\n      <div class=\"error-row current-box\">\n        <p class=current-text>current</p>\n      </div>\n      <div class=error-row style=flex:1>\n        <i class=\"fa fa-minus error-minus\"></i>\n        <div class=\"error-column error-space-between error-full-width\">\n          <div class=\"error-row error-space-between\">\n            <p>Chances you are on the page you are looking for.</p>\n            <p class=left-margin>0%</p>\n          </div>\n          <div>\n            <h3>Sorry for the inconvenience</h3>\n            <p>Please go back to your\n            <a href={{appSubUrl}}/ class=error-link>home dashboard</a> and try again.</p>\n            <p>If the error persists, seek help on the\n            <a href=https://community.grafana.com target=_blank class=error-link>community site</a>.</p>\n          </div>\n        </div>\n      </div>\n    </div>\n    <span class=react-resizable-handle style=cursor:default></span>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/partials/modal.html":
/*!****************************************!*\
  !*** ./public/app/partials/modal.html ***!
  \****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/partials/modal.html';
var html = "<div class=modal-header>\n  <button type=button class=close data-dismiss=modal aria-hidden=true>×</button>\n  <h3>{{modal.title}}</h3>\n</div>\n<div class=modal-body>\n\n  <div ng-bind-html=modal.body></div>\n\n</div>\n<div class=modal-footer>\n  <button type=button class=\"btn btn-danger\" ng-click=dismiss()>Close</button>\n</div>";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/partials/reset_password.html":
/*!*************************************************!*\
  !*** ./public/app/partials/reset_password.html ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/partials/reset_password.html';
var html = "<page-header model=navModel></page-header>\n\n<div class=\"page-container page-body\">\n\t<div class=signup>\n\t\t<h3 class=p-b-1>Reset password</h3>\n\n\t\t<div ng-if=\"ldapEnabled || authProxyEnabled\">\n\t\t\tYou cannot reset password when LDAP or Auth Proxy authentication is enabled.\n\t\t</div>\n\t\t<div ng-if=disableLoginForm>\n\t\t\tYou cannot reset password when login form is disabled.\n\t\t</div>\n\t\t<form name=sendResetForm class=\"login-form gf-form-group\" ng-show=\"mode === 'send'\" ng-hide=\"ldapEnabled || authProxyEnabled || disableLoginForm\">\n\t\t\t<div class=gf-form>\n\t\t\t\t\t<span class=\"gf-form-label width-7\">User</span>\n\t\t\t\t\t<input type=text name=username class=\"gf-form-input max-width-14\" required ng-model=formModel.userOrEmail placeholder=\"email or username\">\n\t\t\t</div>\n\t\t\t<div class=gf-form-button-row>\n\t\t\t\t<button type=submit class=\"btn btn-primary\" ng-click=sendResetEmail(); ng-disabled=!sendResetForm.$valid>\n\t\t\t\t\tReset Password\n\t\t\t\t</button>\n\t\t\t\t<a href=login class=\"btn btn-inverse\">\n\t\t\t\t\tBack\n\t\t\t\t</a>\n\n\t\t\t</div>\n\t\t</form>\n\t\t<div ng-show=\"mode === 'email-sent'\">\n\t\t\tAn email with a reset link has been sent to the email address. <br>\n\t\t\tYou should receive it shortly.\n\t\t\t<div class=p-t-1>\n\t\t\t\t<a href=login class=\"btn btn-primary p-t-1\">\n\t\t\t\t\tLogin\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t\t<form name=resetForm class=\"login-form gf-form-group\" ng-show=\"mode === 'reset'\">\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class=\"gf-form-label width-9\">New Password</span>\n\t\t\t\t<input type=password name=NewPassword class=\"gf-form-input max-width-14\" required ng-minlength=4 ng-model=formModel.newPassword placeholder=password watch-change=\"formModel.newPassword = inputValue;\">\n\t\t\t</div>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class=\"gf-form-label width-9\">Confirm Password</span>\n\t\t\t\t<input type=password name=ConfirmPassword class=\"gf-form-input max-width-14\" required ng-minlength=4 ng-model=formModel.confirmPassword placeholder=\"confirm password\">\n\t\t\t</div>\n\t\t\t<div class=signup__password-strength>\n\t\t\t\t<password-strength password=formModel.newPassword></password-strength>\n\t\t\t</div>\n\t\t\t<div class=gf-form-button-row>\n\t\t\t\t<button type=submit class=\"btn btn-primary\" ng-click=submitReset(); ng-disabled=!resetForm.$valid>\n\t\t\t\t\tReset Password\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</form>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/partials/signup_invited.html":
/*!*************************************************!*\
  !*** ./public/app/partials/signup_invited.html ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/partials/signup_invited.html';
var html = "<page-header model=navModel></page-header>\n\n<div class=\"page-container page-body\">\n\t<h3 class=page-sub-heading>Hello {{greeting}}.</h3>\n\n\t<div class=\"modal-tagline p-b-2\">\n\t\t<em>{{invitedBy}}</em> has invited you to join Grafana and the organization <span class=highlight-word>{{contextSrv.user.orgName}}</span><br>Please complete the following and choose a password to accept your invitation and continue:\n\t</div>\n\n\t<form name=inviteForm class=\"login-form gf-form-group\">\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-7\">Email</span>\n\t\t\t<input type=email name=email class=\"gf-form-input max-width-21\" required ng-model=formModel.email placeholder=Email>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-7\">Name</span>\n\t\t\t<input type=text name=name class=\"gf-form-input max-width-21\" ng-model=formModel.name placeholder=\"Name (optional)\">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-7\">Username</span>\n\t\t\t<input type=text name=username class=\"gf-form-input max-width-21\" required ng-model=formModel.username placeholder=Username>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-7\">Password</span>\n\t\t\t<input type=password name=password class=\"gf-form-input max-width-21\" required ng-model=formModel.password id=inputPassword placeholder=password>\n\t\t</div>\n\n\t\t<div class=gf-form-button-row>\n\t\t\t<button type=submit class=\"btn btn-primary\" ng-click=submit(); ng-disable=!inviteForm.$valid>\n\t\t\t\tSign Up\n\t\t\t</button>\n\t\t</div>\n\t</form>\n</div>\n\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/partials/signup_step2.html":
/*!***********************************************!*\
  !*** ./public/app/partials/signup_step2.html ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/partials/signup_step2.html';
var html = "<page-header model=navModel></page-header>\n\n<div class=\"page-container page-body\">\n  <div class=signup>\n    <h3 class=p-b-1>You're almost there.</h3>\n    <div class=p-b-1>\n      We just need a couple of more bits of<br> information to finish creating your account.\n    </div>\n    <form name=signUpForm class=\"login-form gf-form-group\">\n      <div class=gf-form ng-if=verifyEmailEnabled>\n        <span class=\"gf-form-label width-9\">\n          Email code<tip>Email verification code (sent to your email)</tip>\n        </span>\n        <input type=text class=\"gf-form-input max-width-14\" ng-model=formModel.code required>\n      </div>\n\n      <div class=gf-form ng-if=!autoAssignOrg>\n        <span class=\"gf-form-label width-9\">Org. name</span>\n        <input type=text name=orgName class=\"gf-form-input max-width-14\" ng-model=formModel.orgName placeholder=\"Name your organization\">\n      </div>\n\n      <div class=gf-form>\n        <span class=\"gf-form-label width-9\">Your name</span>\n        <input type=text name=name class=\"gf-form-input max-width-14\" ng-model=formModel.name placeholder=(optional)>\n      </div>\n      <div class=gf-form>\n        <span class=\"gf-form-label width-9\">Email</span>\n        <input type=text class=\"gf-form-input max-width-14\" required ng-model=formModel.username placeholder=Email autocomplete=off>\n      </div>\n      <div class=gf-form>\n        <span class=\"gf-form-label width-9\">Password</span>\n        <input type=password class=\"gf-form-input max-width-14\" required ng-model=formModel.password id=inputPassword placeholder=password autocomplete=off>\n      </div>\n\n      <div class=\"gf-form-button-row p-t-3\">\n        <button type=submit class=\"btn btn-primary\" ng-click=ctrl.submit(); ng-disabled=!signUpForm.$valid>\n          Sign Up\n        </button>\n        <a href=login class=\"btn btn-inverse\">\n            Back\n        </a>\n      </div>\n    </form>\n  </div>\n</div>";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/partials/valueSelectDropdown.html":
/*!******************************************************!*\
  !*** ./public/app/partials/valueSelectDropdown.html ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/partials/valueSelectDropdown.html';
var html = "<div class=variable-link-wrapper>\n\t<a ng-click=vm.show() class=variable-value-link>\n\t\t{{vm.linkText}}\n\t\t<span ng-repeat=\"tag in vm.selectedTags\" bs-tooltip=tag.valuesText data-placement=bottom>\n\t\t\t<span class=label-tag tag-color-from-name=tag.text>\n\t\t\t\t&nbsp;&nbsp;<i class=\"fa fa-tag\"></i>&nbsp;\n\t\t\t\t{{tag.text}}\n\t\t\t</span>\n\t\t</span>\n\t\t<i class=\"fa fa-caret-down\" style=font-size:12px></i>\n\t</a>\n\n\t<input type=text class=gf-form-input style=display:none ng-keydown=vm.keyDown($event) ng-model=vm.search.query ng-change=vm.queryChanged()>\n\n\t<div class=variable-value-dropdown ng-if=vm.dropdownVisible ng-class=\"{'multi': vm.variable.multi, 'single': !vm.variable.multi}\">\n\t\t<div class=variable-options-wrapper>\n\t\t\t<div class=variable-options-column>\n\t\t\t\t<a class=variable-options-column-header ng-if=vm.variable.multi ng-class=\"{'many-selected': vm.selectedValues.length > 1}\" bs-tooltip=\"'Clear selections'\" data-placement=top ng-click=vm.clearSelections()>\n\t\t\t\t\t<span class=variable-option-icon></span>\n\t\t\t\t\tSelected ({{vm.selectedValues.length}})\n\t\t\t\t</a>\n\t\t\t\t<a class=\"variable-option pointer\" ng-repeat=\"option in vm.search.options\" ng-class=\"{'selected': option.selected, 'highlighted': $index === vm.highlightIndex}\" ng-click=\"vm.selectValue(option, $event)\">\n\t\t\t\t\t<span class=variable-option-icon></span>\n\t\t\t\t\t<span>{{option.text}}</span>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t\t<div class=variable-options-column ng-if=vm.tags.length>\n\t\t\t\t<div class=\"variable-options-column-header text-center\">\n\t\t\t\t\tTags\n\t\t\t\t</div>\n\t\t\t\t<a class=\"variable-option-tag pointer\" ng-repeat=\"tag in vm.tags\" ng-click=\"vm.selectTag(tag, $event)\" ng-class=\"{'selected': tag.selected}\">\n\t\t\t\t\t<span class=\"fa fa-fw variable-option-icon\"></span>\n\t\t\t\t\t<span class=label-tag tag-color-from-name=tag.text>{{tag.text}}&nbsp;&nbsp;<i class=\"fa fa-tag\"></i>&nbsp;</span>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/app/example-app/legacy/angular_example_page.html":
/*!*****************************************************************************!*\
  !*** ./public/app/plugins/app/example-app/legacy/angular_example_page.html ***!
  \*****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/app/example-app/legacy/angular_example_page.html';
var html = "\n\n<h3 class=page-heading>\n\tExample Page\n</h3>\n\n<p>this is in angular</p>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/app/example-app/legacy/config.html":
/*!***************************************************************!*\
  !*** ./public/app/plugins/app/example-app/legacy/config.html ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/app/example-app/legacy/config.html';
var html = "<h2>Example Application</h2>\n\n<p>\nAngular based config:\n</p>\n\n<div class=gf-form>\n  <div class=gf-form-group>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <span class=gf-form-label>json Data property</span>\n        <input type=text class=gf-form-input ng-model=ctrl.appModel.jsonData.customText>\n      </div>\n      <div class=gf-form>\n        <gf-form-checkbox class=gf-form label=\"Custom Value\" checked=ctrl.appModel.jsonData.customCheckbox switch-class=max-width-6></gf-form-checkbox>\n      </div>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html":
/*!***********************************************************************************!*\
  !*** ./public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html ***!
  \***********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html';
var html = "<cloudwatch-query-parameter target=ctrl.annotation datasource=ctrl.datasource></cloudwatch-query-parameter>\n\n<div class=editor-row style=\"padding:2rem 0\">\n\t<div class=section>\n\t\t<h5>Prefix matching</h5>\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-switch class=gf-form label=Enable checked=ctrl.annotation.prefixMatching switch-class=max-width-6></gf-form-switch>\n\t\t\t<div class=gf-form ng-if=ctrl.annotation.prefixMatching>\n\t\t\t\t<span class=gf-form-label>Action</span>\n\t\t\t\t<input type=text class=gf-form-input ng-model=ctrl.annotation.actionPrefix>\n\t\t\t</div>\n\t\t\t<div class=gf-form ng-if=ctrl.annotation.prefixMatching>\n\t\t\t\t<span class=gf-form-label>Alarm Name</span>\n\t\t\t\t<input type=text class=gf-form-input ng-model=ctrl.annotation.alarmNamePrefix>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/cloudwatch/partials/config.html":
/*!***********************************************************************!*\
  !*** ./public/app/plugins/datasource/cloudwatch/partials/config.html ***!
  \***********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/cloudwatch/partials/config.html';
var html = "<h3 class=page-heading>CloudWatch details</h3>\n\n<div class=\"gf-form-group max-width-30\">\n  <div class=\"gf-form gf-form-select-wrapper\">\n    <label class=\"gf-form-label width-13\">Auth Provider</label>\n    <select class=\"gf-form-input gf-max-width-13\" ng-model=ctrl.current.jsonData.authType ng-options=\"f.value as f.name for f in ctrl.authTypes\"></select>\n  </div>\n\n  <div class=gf-form ng-show='ctrl.current.jsonData.authType == \"credentials\"'>\n    <label class=\"gf-form-label width-13\">Credentials profile name</label>\n    <input type=text class=\"gf-form-input max-width-18 gf-form-input--has-help-icon\" ng-model=ctrl.current.database placeholder=default>\n    <info-popover mode=right-absolute>\n      Credentials profile name, as specified in ~/.aws/credentials, leave blank for default\n    </info-popover>\n  </div>\n\n  <div class=gf-form ng-show='ctrl.current.jsonData.authType == \"keys\"'>\n    <label class=\"gf-form-label width-13\">Access key ID </label>\n    <label class=\"gf-form-label width-13\" ng-show=ctrl.accessKeyExist>Configured</label>\n    <a class=\"btn btn-secondary gf-form-btn\" type=submit ng-click=ctrl.resetAccessKey() ng-show=ctrl.accessKeyExist>Reset</a>\n    <input type=text class=\"gf-form-input max-width-18\" ng-hide=ctrl.accessKeyExist ng-model=ctrl.current.secureJsonData.accessKey>\n  </div>\n\n  <div class=gf-form ng-show='ctrl.current.jsonData.authType == \"keys\"'>\n    <label class=\"gf-form-label width-13\">Secret access key</label>\n    <label class=\"gf-form-label width-13\" ng-show=ctrl.secretKeyExist>Configured</label>\n    <a class=\"btn btn-secondary gf-form-btn\" type=submit ng-click=ctrl.resetSecretKey() ng-show=ctrl.secretKeyExist>Reset</a>\n    <input type=text class=\"gf-form-input max-width-18\" ng-hide=ctrl.secretKeyExist ng-model=ctrl.current.secureJsonData.secretKey>\n  </div>\n\n  <div class=gf-form ng-show='ctrl.current.jsonData.authType == \"arn\"'>\n    <label class=\"gf-form-label width-13\">Assume Role ARN</label>\n    <input type=text class=\"gf-form-input max-width-18 gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.assumeRoleArn placeholder=arn:aws:iam:*>\n    <info-popover mode=right-absolute>\n      ARN of Assume Role\n    </info-popover>\n  </div>\n\n  <div class=gf-form>\n    <label class=\"gf-form-label width-13\">Default Region</label>\n    <div class=\"gf-form-select-wrapper max-width-18 gf-form-select-wrapper--has-help-icon\">\n      <select class=gf-form-input ng-model=ctrl.current.jsonData.defaultRegion ng-options=\"region for region in ctrl.regions\"></select>\n      <info-popover mode=right-absolute>\n        Specify the region, such as for US West (Oregon) use ` us-west-2 ` as the region.\n      </info-popover>\n    </div>\n  </div>\n  <div class=gf-form>\n    <label class=\"gf-form-label width-13\">Custom Metrics</label>\n    <input type=text class=\"gf-form-input max-width-18 gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.customMetricsNamespaces placeholder=Namespace1,Namespace2>\n    <info-popover mode=right-absolute>\n      Namespaces of Custom Metrics\n    </info-popover>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/cloudwatch/partials/query.editor.html":
/*!*****************************************************************************!*\
  !*** ./public/app/plugins/datasource/cloudwatch/partials/query.editor.html ***!
  \*****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/cloudwatch/partials/query.editor.html';
var html = "<query-editor-row query-ctrl=ctrl can-collapse=false>\n\t<cloudwatch-query-parameter target=ctrl.target datasource=ctrl.datasource on-change=ctrl.refresh()></cloudwatch-query-parameter>\n</query-editor-row>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/cloudwatch/partials/query.parameter.html":
/*!********************************************************************************!*\
  !*** ./public/app/plugins/datasource/cloudwatch/partials/query.parameter.html ***!
  \********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/cloudwatch/partials/query.parameter.html';
var html = "<div class=gf-form-inline>\n        <div class=gf-form>\n                <label class=\"gf-form-label query-keyword width-8\">Region</label>\n                <metric-segment segment=regionSegment get-options=getRegions() on-change=regionChanged()></metric-segment>\n        </div>\n\n        <div class=\"gf-form gf-form--grow\">\n                <div class=\"gf-form-label gf-form-label--grow\"></div>\n        </div>\n</div>\n\n<div class=gf-form-inline ng-if=\"target.expression.length === 0\">\n\t<div class=gf-form>\n\t\t<label class=\"gf-form-label query-keyword width-8\">Metric</label>\n\n\t\t<metric-segment segment=namespaceSegment get-options=getNamespaces() on-change=namespaceChanged()></metric-segment>\n\t\t<metric-segment segment=metricSegment get-options=getMetrics() on-change=metricChanged()></metric-segment>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class=\"gf-form-label query-keyword\">Stats</label>\n\t</div>\n\n\t<div class=gf-form ng-repeat=\"segment in statSegments\">\n\t\t<metric-segment segment=segment get-options=\"getStatSegments(segment, $index)\" on-change=\"statSegmentChanged(segment, $index)\"></metric-segment>\n\t</div>\n\n\t<div class=\"gf-form gf-form--grow\">\n\t\t<div class=\"gf-form-label gf-form-label--grow\"></div>\n\t</div>\n</div>\n\n<div class=gf-form-inline ng-if=\"target.expression.length === 0\">\n\t<div class=gf-form>\n\t\t<label class=\"gf-form-label query-keyword width-8\">Dimensions</label>\n\t\t<metric-segment ng-repeat=\"segment in dimSegments\" segment=segment get-options=\"getDimSegments(segment, $index)\" on-change=\"dimSegmentChanged(segment, $index)\"></metric-segment>\n\t</div>\n\n\t<div class=\"gf-form gf-form--grow\">\n\t\t<div class=\"gf-form-label gf-form-label--grow\"></div>\n\t</div>\n</div>\n\n<div class=gf-form-inline ng-if=\"target.statistics.length === 1\">\n\t<div class=gf-form>\n\t\t<label class=\"gf-form-label query-keyword width-8\">\n\t\t\tId\n\t\t\t<info-popover mode=\"right-normal \">Id can include numbers, letters, and underscore, and must start with a lowercase letter.</info-popover>\n\t\t</label>\n\t\t<input type=\"text \" class=gf-form-input ng-model=\"target.id \" spellcheck=false ng-pattern=/^[a-z][a-zA-Z0-9_]*$/ ng-model-onblur ng-change=\"onChange() \">\n\t</div>\n\t<div class=\"gf-form max-width-30\">\n\t\t<label class=\"gf-form-label query-keyword width-7\">Expression</label>\n\t\t<input type=\"text \" class=gf-form-input ng-model=\"target.expression\n\t \" spellcheck=false ng-model-onblur ng-change=\"onChange() \">\n\t</div>\n</div>\n\n<div class=gf-form-inline>\n\t<div class=gf-form>\n\t\t<label class=\"gf-form-label query-keyword width-8\">\n\t\t\tMin period\n\t\t\t<info-popover mode=\"right-normal \">Minimum interval between points in seconds</info-popover>\n\t\t</label>\n\t\t<input type=\"text \" class=gf-form-input ng-model=\"target.period \" spellcheck=false placeholder=\"auto\n\t \" ng-model-onblur ng-change=\"onChange() \"/>\n\t</div>\n\t<div class=\"gf-form max-width-30\">\n\t\t<label class=\"gf-form-label query-keyword width-7\">Alias</label>\n\t\t<input type=\"text \" class=gf-form-input ng-model=\"target.alias \" spellcheck=false ng-model-onblur ng-change=\"onChange() \">\n\t\t<info-popover mode=\"right-absolute \">\n\t\t\tAlias replacement variables:\n\t\t\t<ul ng-non-bindable>\n\t\t\t\t<li>{{metric}}</li>\n\t\t\t\t<li>{{stat}}</li>\n\t\t\t\t<li>{{namespace}}</li>\n\t\t\t\t<li>{{region}}</li>\n\t\t\t\t<li>{{period}}</li>\n\t\t\t\t<li>{{label}}</li>\n\t\t\t\t<li>{{YOUR_DIMENSION_NAME}}</li>\n\t\t\t</ul>\n\t\t</info-popover>\n\t</div>\n\t<div class=gf-form>\n\t\t<gf-form-switch class=gf-form label=\"HighRes \" label-class=\"width-5 \" checked=\"target.highResolution \" on-change=\"onChange() \">\n\t\t</gf-form-switch>\n\t</div>\n\n\t<div class=\"gf-form gf-form--grow\">\n\t\t<div class=\"gf-form-label gf-form-label--grow\"></div>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html":
/*!**************************************************************************************!*\
  !*** ./public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html ***!
  \**************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html';
var html = "<div class=gf-form-group>\n\t<div class=gf-form ng-if=ctrl.annotation.index>\n\t\t<span class=\"gf-form-label width-14\">Index name</span>\n\t\t<input type=text class=\"gf-form-input max-width-20\" ng-model=ctrl.annotation.index placeholder=events-*>\n\t</div>\n\t<div class=gf-form-group>\n\t\t<div class=gf-form>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.annotation.query placeholder=\"Elasticsearch lucene query\">\n\t\t</div>\n\t</div>\n</div>\n\n<div class=gf-form-group>\n\t<h6>Field mappings</h6>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Time</span>\n\t\t\t<input type=text class=\"gf-form-input max-width-14\" ng-model=ctrl.annotation.timeField placeholder=@timestamp>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Text</span>\n\t\t\t<input type=text class=\"gf-form-input max-width-14\" ng-model=ctrl.annotation.textField placeholder=\"\">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Tags</span>\n\t\t\t<input type=text class=\"gf-form-input max-width-10\" ng-model=ctrl.annotation.tagsField placeholder=tags>\n\t\t</div>\n\t\t<div class=gf-form ng-show=ctrl.annotation.titleField>\n\t\t\t<span class=gf-form-label>Title <em class=muted>(deprecated)</em></span>\n\t\t\t<input type=text class=\"gf-form-input max-width-16\" ng-model=ctrl.annotation.titleField placeholder=desc>\n\t\t</div>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/elasticsearch/partials/bucket_agg.html":
/*!******************************************************************************!*\
  !*** ./public/app/plugins/datasource/elasticsearch/partials/bucket_agg.html ***!
  \******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/elasticsearch/partials/bucket_agg.html';
var html = "<div class=gf-form-inline>\n\t<div class=gf-form>\n\t\t<label class=\"gf-form-label query-keyword width-7\">\n\t\t\t<span ng-show=isFirst>Group by</span>\n\t\t\t<span ng-hide=isFirst>Then by</span>\n\t\t</label>\n\n\t\t<gf-form-dropdown model=agg.type lookup-text=true get-options=getBucketAggTypes() on-change=onTypeChanged() allow-custom=false label-mode=true css-class=width-10>\n\t\t</gf-form-dropdown>\n\t\t<gf-form-dropdown ng-if=agg.field model=agg.field get-options=getFieldsInternal() on-change=onChange() allow-custom=false label-mode=true css-class=width-12>\n\t\t</gf-form-dropdown>\n\t</div>\n\n\t<div class=\"gf-form gf-form--grow\">\n\t\t<label class=\"gf-form-label gf-form-label--grow\">\n\t\t\t<a ng-click=toggleOptions()>\n\t\t\t\t<i class=\"fa fa-caret-down\" ng-show=showOptions></i>\n\t\t\t\t<i class=\"fa fa-caret-right\" ng-hide=showOptions></i>\n\t\t\t\t{{settingsLinkText}}\n\t\t\t</a>\n\t\t</label>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class=gf-form-label ng-if=isFirst>\n\t\t\t<a class=pointer ng-click=addBucketAgg()><i class=\"fa fa-plus\"></i></a>\n\t\t</label>\n\t\t<label class=gf-form-label ng-if=\"bucketAggCount > 1\">\n\t\t\t<a class=pointer ng-click=removeBucketAgg()><i class=\"fa fa-minus\"></i></a>\n\t\t</label>\n\t</div>\n</div>\n\n<div class=gf-form-group ng-if=showOptions>\n\t<div ng-if=\"agg.type === 'date_histogram'\">\n\t\t<div class=\"gf-form offset-width-7\">\n\t\t\t<label class=\"gf-form-label width-10\">Interval</label>\n\t\t\t<gf-form-dropdown model=agg.settings.interval get-options=getIntervalOptions() on-change=onChangeInternal() allow-custom=true label-mode=true css-class=width-12>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\n\t\t<div class=\"gf-form offset-width-7\">\n\t\t\t<label class=\"gf-form-label width-10\">Min Doc Count</label>\n\t\t\t<input type=number class=\"gf-form-input max-width-12\" ng-model=agg.settings.min_doc_count ng-blur=onChangeInternal()>\n\t\t</div>\n\n\t\t<div class=\"gf-form offset-width-7\">\n\t\t\t<label class=\"gf-form-label width-10\">\n\t\t\t\tTrim edges\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tTrim the edges on the timeseries datapoints\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t\t<input class=\"gf-form-input max-width-12\" type=number ng-model=agg.settings.trimEdges ng-change=onChangeInternal()>\n\t\t</div>\n\t\t<div class=\"gf-form offset-width-7\">\n\t\t\t<label class=\"gf-form-label width-10\">\n\t\t\t\tOffset\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tChange the start value of each bucket by the specified positive (+) or negative offset (-) duration, such as 1h for an hour, or 1d for a day\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t\t<input class=\"gf-form-input max-width-12\" type=text ng-model=agg.settings.offset ng-change=onChangeInternal()>\n\t\t</div>\n\n\t</div>\n\n\t<div ng-if=\"agg.type === 'histogram'\">\n\t\t<div class=\"gf-form offset-width-7\">\n\t\t\t<label class=\"gf-form-label width-10\">Interval</label>\n\t\t\t<input type=number class=\"gf-form-input max-width-12\" ng-model=agg.settings.interval ng-blur=onChangeInternal()>\n\t\t</div>\n\t\t<div class=\"gf-form offset-width-7\">\n\t\t\t<label class=\"gf-form-label width-10\">Min Doc Count</label>\n\t\t\t<input type=number class=\"gf-form-input max-width-12\" ng-model=agg.settings.min_doc_count ng-blur=onChangeInternal()>\n\t\t</div>\n\t</div>\n\n\t<div ng-if=\"agg.type === 'terms'\">\n\t\t<div class=\"gf-form offset-width-7\">\n\t\t\t<label class=\"gf-form-label width-10\">Order</label>\n\t\t\t<gf-form-dropdown model=agg.settings.order lookup-text=true get-options=getOrderOptions() on-change=onChangeInternal() label-mode=true css-class=width-12>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\t\t<div class=\"gf-form offset-width-7\">\n\t\t\t<label class=\"gf-form-label width-10\">Size</label>\n\t\t\t<gf-form-dropdown model=agg.settings.size lookup-text=true get-options=getSizeOptions() on-change=onChangeInternal() label-mode=true allow-custom=true css-class=width-12>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\t\t<div class=\"gf-form offset-width-7\">\n\t\t\t<label class=\"gf-form-label width-10\">Min Doc Count</label>\n\t\t\t<input type=number class=\"gf-form-input max-width-12\" ng-model=agg.settings.min_doc_count ng-blur=onChangeInternal()>\n\t\t</div>\n\t\t<div class=\"gf-form offset-width-7\">\n\t\t\t<label class=\"gf-form-label width-10\">Order By</label>\n\t\t\t<gf-form-dropdown model=agg.settings.orderBy lookup-text=true get-options=getOrderByOptions() on-change=onChangeInternal() label-mode=true css-class=width-12>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\t\t<div class=\"gf-form offset-width-7\">\n\t\t\t<label class=\"gf-form-label width-10\">\n\t\t\t\tMissing\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tThe missing parameter defines how documents that are missing a value should be treated. By default they will be ignored but it is also possible to treat them as if they had a value\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t\t<input type=text class=\"gf-form-input max-width-12\" empty-to-null ng-model=agg.settings.missing ng-blur=onChangeInternal() spellcheck=false>\n\t\t</div>\n\t</div>\n\n\t<div ng-if=\"agg.type === 'filters'\">\n\t\t<div class=\"gf-form-inline offset-width-7\" ng-repeat=\"filter in agg.settings.filters\">\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=\"gf-form-label width-10\">Query {{$index + 1}}</label>\n\t\t\t\t<input type=text class=\"gf-form-input max-width-12\" ng-model=filter.query spellcheck=false placeholder=\"Lucene query\" ng-blur=onChangeInternal()>\n\t\t\t\t<label class=\"gf-form-label width-10\">Label {{$index + 1}}</label>\n\t\t\t\t<input type=text class=\"gf-form-input max-width-12\" ng-model=filter.label spellcheck=false placeholder=Label ng-blur=onChangeInternal()>\n\t\t\t</div>\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=gf-form-label ng-if=$first>\n\t\t\t\t\t<a class=pointer ng-click=addFiltersQuery()><i class=\"fa fa-plus\"></i></a>\n\t\t\t\t</label>\n\t\t\t\t<label class=gf-form-label ng-if=!$first>\n\t\t\t\t\t<a class=pointer ng-click=removeFiltersQuery(filter)><i class=\"fa fa-minus\"></i></a>\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div ng-if=\"agg.type === 'geohash_grid'\">\n\t\t<div class=\"gf-form offset-width-7\">\n\t\t\t<label class=\"gf-form-label width-10\">Precision</label>\n\t\t\t<input type=number class=\"gf-form-input max-width-12\" ng-model=agg.settings.precision spellcheck=false placeholder=3 ng-blur=onChangeInternal()>\n\t\t</div>\n\t</div>\n\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/elasticsearch/partials/config.html":
/*!**************************************************************************!*\
  !*** ./public/app/plugins/datasource/elasticsearch/partials/config.html ***!
  \**************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/elasticsearch/partials/config.html';
var html = "<datasource-http-settings current=ctrl.current suggest-url=http://localhost:9200>\n</datasource-http-settings>\n\n<h3 class=page-heading>Elasticsearch details</h3>\n\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=\"gf-form max-width-25\">\n\t\t\t<span class=\"gf-form-label width-9\">Index name</span>\n\t\t\t<input class=gf-form-input type=text ng-model=ctrl.current.database placeholder=\"\" required>\n\t\t</div>\n\n\t\t<div class=\"gf-form width-14\">\n      <span class=\"gf-form-label width-9\">Pattern</span>\n      <span class=gf-form-select-wrapper>\n          <select class=\"gf-form-input gf-size-auto\" ng-model=ctrl.current.jsonData.interval ng-options=\"f.value as f.name for f in ctrl.indexPatternTypes\" ng-change=ctrl.indexPatternTypeChanged()></select>\n      </span>\n\t\t</div>\n\t</div>\n\n\t<div class=\"gf-form max-width-25\">\n\t\t<span class=\"gf-form-label width-9\">Time field name</span>\n\t\t<input class=gf-form-input type=text ng-model=ctrl.current.jsonData.timeField placeholder=\"\" required ng-init=\"\">\n\t</div>\n\n\t<div class=gf-form>\n    <span class=\"gf-form-label width-9\">Version</span>\n    <span class=gf-form-select-wrapper>\n        <select class=\"gf-form-input gf-size-auto\" ng-model=ctrl.current.jsonData.esVersion ng-options=\"f.value as f.name for f in ctrl.esVersions\" ng-change=ctrl.versionChanged()></select>\n    </span>\n\t</div>\n    <div class=\"gf-form max-width-30\" ng-if=\"ctrl.current.jsonData.esVersion>=56\">\n        <span class=\"gf-form-label width-15\">Max concurrent Shard Requests</span>\n        <input class=gf-form-input type=text ng-model=ctrl.current.jsonData.maxConcurrentShardRequests placeholder=\"\" required>\n    </div>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-9\">Min time interval</span>\n\t\t\t<input type=text class=\"gf-form-input width-6 gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.timeInterval spellcheck=false placeholder=10s ng-pattern=/^\\d+(ms|[Mwdhmsy])$/ >\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\n\t\t\t\tfor example <code>1m</code> if your data is written every minute.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n\n<b>Logs</b>\n\n<div class=gf-form-group>\n\t<div class=\"gf-form max-width-30\">\n\t\t<span class=\"gf-form-label width-11\">Message field name</span>\n\t\t<input class=gf-form-input type=text ng-model=ctrl.current.jsonData.logMessageField placeholder=_source />\n\t</div>\n\t<div class=\"gf-form max-width-30\">\n\t\t<span class=\"gf-form-label width-11\">Level field name</span>\n\t\t<input class=gf-form-input type=text ng-model=ctrl.current.jsonData.logLevelField placeholder=\"\"/>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/elasticsearch/partials/metric_agg.html":
/*!******************************************************************************!*\
  !*** ./public/app/plugins/datasource/elasticsearch/partials/metric_agg.html ***!
  \******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/elasticsearch/partials/metric_agg.html';
var html = "<div class=gf-form-inline ng-class=\"{'gf-form-disabled': agg.hide}\">\n\t<div class=gf-form>\n\t\t<label class=\"gf-form-label query-keyword width-7\">\n\t\t\tMetric\n\t\t\t&nbsp;\n\t\t\t<a ng-click=toggleShowMetric() bs-tooltip=\"'Click to toggle show / hide metric'\">\n\t\t\t\t<i class=\"fa fa-eye\" ng-hide=agg.hide></i>\n\t\t\t\t<i class=\"fa fa-eye-slash\" ng-show=agg.hide></i>\n\t\t\t</a>\n\t\t</label>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<metric-segment-model property=agg.type options=metricAggTypes on-change=onTypeChange() custom=false css-class=width-10></metric-segment-model>\n\t\t<metric-segment-model ng-if=aggDef.requiresField property=agg.field get-options=getFieldsInternal() on-change=onChange() css-class=width-12></metric-segment-model>\n\t\t<metric-segment-model ng-if=\"aggDef.isPipelineAgg && !aggDef.supportsMultipleBucketPaths\" property=agg.pipelineAgg options=pipelineAggOptions on-change=onChangeInternal() custom=false css-class=width-12></metric-segment-model>\n\t</div>\n\n  <div class=\"gf-form gf-form--grow\" ng-if=\"aggDef.isPipelineAgg && aggDef.supportsMultipleBucketPaths\">\n\t\t<label class=\"gf-form-label gf-form-label--grow\">\n\t\t\t<a ng-click=toggleVariables()>\n\t\t\t\t<i class=\"fa fa-caret-down\" ng-show=showVariables></i>\n\t\t\t\t<i class=\"fa fa-caret-right\" ng-hide=showVariables></i>\n        {{variablesLinkText}}\n\t\t\t</a>\n\t\t</label>\n\t</div>\n\n\t<div class=\"gf-form gf-form--grow\">\n\t\t<label class=\"gf-form-label gf-form-label--grow\">\n\t\t\t<a ng-click=toggleOptions() ng-if=settingsLinkText>\n\t\t\t\t<i class=\"fa fa-caret-down\" ng-show=showOptions></i>\n\t\t\t\t<i class=\"fa fa-caret-right\" ng-hide=showOptions></i>\n\t\t\t\t\t{{settingsLinkText}}\n\t\t\t</a>\n\t\t</label>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class=gf-form-label ng-if=isFirst>\n\t\t\t<a class=pointer ng-click=addMetricAgg()><i class=\"fa fa-plus\"></i></a>\n\t\t</label>\n\t\t<label class=gf-form-label ng-if=!isSingle>\n\t\t\t<a class=pointer ng-click=removeMetricAgg()><i class=\"fa fa-minus\"></i></a>\n\t\t</label>\n\t</div>\n</div>\n\n<div class=gf-form-group ng-if=showVariables>\n\t<elastic-pipeline-variables variables=agg.pipelineVariables options=pipelineAggOptions on-change=onChangeInternal() />\n  <div class=\"gf-form offset-width-7\">\n    <label class=\"gf-form-label width-10\">\n      Script\n      <info-popover mode=right-normal>\n        Elasticsearch v5.0 and above: Scripting language is Painless. Use <i>params.&lt;var&gt;</i> to reference a variable.<br/><br/>\n        Elasticsearch pre-v5.0: Scripting language is per default Groovy if not changed. For Groovy use <i>&lt;var&gt;</i> to reference a variable.\n      </info-popover>\n    </label>\n    <input type=text class=\"gf-form-input max-width-24\" empty-to-null ng-model=agg.settings.script ng-blur=onChangeInternal() spellcheck=false placeholder=\"params.var1 / params.var2\">\n  </div>\n</div>\n\n<div class=gf-form-group ng-if=showOptions>\n\t<div class=\"gf-form offset-width-7\" ng-if=\"agg.type === 'derivative'\">\n\t\t<label class=\"gf-form-label width-10\">Unit</label>\n\t\t<input type=text class=\"gf-form-input max-width-12\" ng-model=agg.settings.unit ng-blur=onChangeInternal() spellcheck=false>\n\t</div>\n\n  <div ng-if=\"agg.type === 'moving_avg'\">\n    <div class=\"gf-form offset-width-7\">\n      <label class=\"gf-form-label width-10\">Model</label>\n      <metric-segment-model property=agg.settings.model options=movingAvgModelTypes on-change=onChangeClearInternal() custom=false css-class=width-12></metric-segment-model>\n    </div>\n\n    <div class=\"gf-form offset-width-7\">\n      <label class=\"gf-form-label width-10\">Window</label>\n      <input type=number class=\"gf-form-input max-width-12\" ng-model=agg.settings.window ng-blur=onChangeInternal() spellcheck=false>\n    </div>\n\n    <div class=\"gf-form offset-width-7\">\n      <label class=\"gf-form-label width-10\">Predict</label>\n      <input type=number class=\"gf-form-input max-width-12\" ng-model=agg.settings.predict ng-blur=onChangeInternal() spellcheck=false>\n    </div>\n\n\n    <div class=\"gf-form offset-width-7\" ng-repeat=\"setting in modelSettings\">\n      <label class=\"gf-form-label width-10\">{{setting.text}}</label>\n      <input type=number class=\"gf-form-input max-width-12\" ng-model=agg.settings.settings[setting.value] ng-blur=onChangeInternal() spellcheck=false>\n    </div>\n\n    <gf-form-switch ng-if=\"agg.settings.model == 'holt_winters'\" class=\"gf-form offset-width-7\" label=Pad label-class=width-10 checked=agg.settings.settings.pad on-change=onChangeInternal()></gf-form-switch>\n    <gf-form-switch ng-if=\"agg.settings.model.match('ewma|holt_winters|holt') !== null\" class=\"gf-form offset-width-7\" label=Minimize label-class=width-10 checked=agg.settings.minimize on-change=onChangeInternal()></gf-form-switch>\n  </div>\n\n  <div class=\"gf-form offset-width-7\" ng-if=\"agg.type === 'percentiles'\">\n    <label class=\"gf-form-label width-10\">Percentiles</label>\n    <input type=text class=\"gf-form-input max-width-12\" ng-model=agg.settings.percents array-join ng-blur=onChange()>\n  </div>\n  <div class=\"gf-form offset-width-7\" ng-if=\"agg.type === 'raw_document'\">\n    <label class=\"gf-form-label width-10\">Size</label>\n    <input type=number class=\"gf-form-input max-width-12\" ng-model=agg.settings.size ng-blur=onChange()>\n  </div>\n\n\n  <div class=\"gf-form offset-width-7\" ng-if=\"agg.type === 'cardinality'\">\n    <label class=\"gf-form-label width-10\">Precision threshold</label>\n    <input type=number class=\"gf-form-input max-width-12\" ng-model=agg.settings.precision_threshold ng-blur=onChange()>\n  </div>\n\n  <div ng-if=\"agg.type === 'extended_stats'\">\n    <gf-form-switch ng-repeat=\"stat in extendedStats\" class=\"gf-form offset-width-7\" label={{stat.text}} label-class=width-10 checked=agg.meta[stat.value] on-change=onChangeInternal()></gf-form-switch>\n\n    <div class=\"gf-form offset-width-7\">\n      <label class=\"gf-form-label width-10\">Sigma</label>\n      <input type=number class=\"gf-form-input max-width-12\" placeholder=3 ng-model=agg.settings.sigma ng-blur=onChange()>\n    </div>\n  </div>\n\n  <div class=\"gf-form offset-width-7\" ng-if=aggDef.supportsInlineScript>\n    <label class=\"gf-form-label width-10\">Script</label>\n    <input type=text class=\"gf-form-input max-width-12\" empty-to-null ng-model=agg.inlineScript ng-blur=onChangeInternal() spellcheck=false placeholder=\"_value * 1\">\n  </div>\n\n  <div class=\"gf-form offset-width-7\" ng-if=aggDef.supportsMissing>\n\t\t<label class=\"gf-form-label width-10\">\n\t\t\tMissing\n\t\t\t<tip>The missing parameter defines how documents that are missing a value should be treated. By default they will be ignored but it is also possible to treat them as if they had a value</tip>\n\t\t</label>\n\t\t<input type=number class=\"gf-form-input max-width-12\" empty-to-null ng-model=agg.settings.missing ng-blur=onChangeInternal() spellcheck=false>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/elasticsearch/partials/pipeline_variables.html":
/*!**************************************************************************************!*\
  !*** ./public/app/plugins/datasource/elasticsearch/partials/pipeline_variables.html ***!
  \**************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/elasticsearch/partials/pipeline_variables.html';
var html = "<div ng-repeat=\"var in variables\">\n  <div class=\"gf-form offset-width-7\" ng-if=\"$index === 0\">\n    <label class=\"gf-form-label width-10\">Variables</label>\n    <input type=text class=\"gf-form-input max-width-12\" ng-model=var.name placeholder=\"Variable name\" ng-blur=onChangeInternal() spellcheck=false>\n    <metric-segment-model property=var.pipelineAgg options=options on-change=onChangeInternal() custom=false css-class=width-12></metric-segment-model>\n    <label class=gf-form-label>\n      <a class=pointer ng-click=remove($index)><i class=\"fa fa-minus\"></i></a>\n    </label>\n    <label class=gf-form-label>\n      <a class=pointer ng-click=add()><i class=\"fa fa-plus\"></i></a>\n    </label>\n  </div>\n  <div class=\"gf-form offset-width-17\" ng-if=\"$index !== 0\">\n    <input type=text class=\"gf-form-input max-width-12\" ng-model=var.name placeholder=\"Variable name\" ng-blur=onChangeInternal() spellcheck=false>\n    <metric-segment-model property=var.pipelineAgg options=options on-change=onChangeInternal() custom=false css-class=width-12></metric-segment-model>\n    <label class=gf-form-label>\n      <a class=pointer ng-click=remove($index)><i class=\"fa fa-minus\"></i></a>\n    </label>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/elasticsearch/partials/query.editor.html":
/*!********************************************************************************!*\
  !*** ./public/app/plugins/datasource/elasticsearch/partials/query.editor.html ***!
  \********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/elasticsearch/partials/query.editor.html';
var html = "<query-editor-row query-ctrl=ctrl can-collapse=true>\n\n\t<div class=gf-form-inline>\n\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t<label class=\"gf-form-label query-keyword width-7\">Query</label>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.target.query spellcheck=false placeholder=\"Lucene query\" ng-blur=ctrl.refresh()>\n\t\t</div>\n\t\t<div class=\"gf-form max-width-15\">\n\t\t\t<label class=\"gf-form-label query-keyword\">Alias</label>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.target.alias spellcheck=false placeholder=\"alias patterns\" ng-blur=ctrl.refresh()>\n\t\t</div>\n\t</div>\n\n\t<div ng-repeat=\"agg in ctrl.target.metrics\">\n\t\t<elastic-metric-agg target=ctrl.target index=$index get-fields=ctrl.getFields($fieldType) on-change=ctrl.queryUpdated() es-version=ctrl.esVersion>\n\t\t</elastic-metric-agg>\n\t</div>\n\n\t<div ng-repeat=\"agg in ctrl.target.bucketAggs\">\n\t\t<elastic-bucket-agg target=ctrl.target index=$index get-fields=ctrl.getFields($fieldType) on-change=ctrl.queryUpdated()>\n\t\t</elastic-bucket-agg>\n\t</div>\n\n</query-editor-row>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/annotations.editor.html":
/*!*********************************************************************************************************!*\
  !*** ./public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/annotations.editor.html ***!
  \*********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/annotations.editor.html';
var html = "<div class=gf-form-group>\n  <div class=gf-form>\n    <label class=\"gf-form-label query-keyword width-9\">Service</label>\n    <div class=\"gf-form-select-wrapper gf-form-select-wrapper--caret-indent\">\n      <select class=\"gf-form-input service-dropdown\" ng-model=ctrl.annotation.queryType ng-options=\"f as f for f in ['Application Insights', 'Azure Monitor', 'Azure Log Analytics']\"></select>\n    </div>\n  </div>\n  <div class=gf-form ng-show=\"ctrl.annotation.queryType === 'Azure Log Analytics'\">\n    <label class=\"gf-form-label query-keyword width-9\">Subscription</label>\n    <div class=\"gf-form-select-wrapper gf-form-select-wrapper--caret-indent\">\n      <select class=\"gf-form-input service-dropdown\" ng-model=ctrl.annotation.subscription ng-options=\"f.value as f.text for f in ctrl.subscriptions\" ng-change=ctrl.onSubscriptionChange()></select>\n    </div>\n  </div>\n  <div ng-show=\"ctrl.annotation.queryType === 'Azure Log Analytics'\">\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-9\">Workspace</label>\n        <div class=\"gf-form-select-wrapper gf-form-select-wrapper--caret-indent\">\n          <select class=\"gf-form-input min-width-12\" ng-model=ctrl.annotation.workspace ng-options=\"f.value as f.text for f in ctrl.workspaces\"></select>\n        </div>\n      </div>\n      <div class=gf-form>\n        <div class=width-1></div>\n      </div>\n      <div class=gf-form>\n        <button class=\"btn btn-primary width-10\" ng-click=ctrl.panelCtrl.refresh()>Run</button>\n      </div>\n      <div class=gf-form>\n        <label class=gf-form-label>(Run Query: Shift+Enter, Trigger Suggestion: Ctrl+Space)</label>\n      </div>\n    </div>\n    <kusto-editor class=\"gf-form gf-form--grow\" query=ctrl.annotation.rawQuery variables=ctrl.templateVariables change=ctrl.onLogAnalyticsQueryChange getschema=ctrl.getAzureLogAnalyticsSchema />\n  </div>\n\n  <div class=gf-form-inline ng-show=\"ctrl.annotation.queryType !== 'Azure Log Analytics'\">\n    <div class=\"gf-form gf-form--grow\">\n      <label class=gf-form-label>No annotations support for {{ctrl.annotation.queryType}}</label>\n    </div>\n  </div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class=\"gf-form-label query-keyword\" ng-click=\"ctrl.showHelp = !ctrl.showHelp\">\n        Show Help\n        <i class=\"fa fa-caret-down\" ng-show=ctrl.showHelp></i>\n        <i class=\"fa fa-caret-right\" ng-hide=ctrl.showHelp></i>\n      </label>\n    </div>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showHelp>\n    <pre class=\"gf-form-pre alert alert-info\" ng-show=\"ctrl.annotation.queryType === 'Azure Log Analytics'\"><h6>Annotation Query Format</h6>\nAn annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the datetime column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\n\n- column with the datetime type.\n- column with alias: <b>Text</b> or <b>text</b> for the annotation text\n- column with alias: <b>Tags</b> or <b>tags</b> for annotation tags. This is should return a comma separated string of tags e.g. 'tag1,tag2'\n\nMacros:\n    - $__timeFilter() -&gt; TimeGenerated &ge; datetime(2018-06-05T18:09:58.907Z) and TimeGenerated &le; datetime(2018-06-05T20:09:58.907Z)\n    - $__timeFilter(datetimeColumn) -&gt;  datetimeColumn  &ge; datetime(2018-06-05T18:09:58.907Z) and datetimeColumn &le; datetime(2018-06-05T20:09:58.907Z)\n\n    Or build your own conditionals using these built-in variables which just return the values:\n    - $__timeFrom -&gt;  datetime(2018-06-05T18:09:58.907Z)\n    - $__timeTo -&gt; datetime(2018-06-05T20:09:58.907Z)\n    - $__interval -&gt; 5m\n</pre>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/query.editor.html":
/*!***************************************************************************************************!*\
  !*** ./public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/query.editor.html ***!
  \***************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/query.editor.html';
var html = "<query-editor-row query-ctrl=ctrl can-collapse=false has-text-edit-mode=\"ctrl.target.queryType === 'Application Insights'\">\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class=\"gf-form-label query-keyword width-9\">Service</label>\n      <div class=\"gf-form-select-wrapper gf-form-select-wrapper--caret-indent\">\n        <select class=\"gf-form-input service-dropdown\" ng-model=ctrl.target.queryType ng-options=\"f as f for f in ['Application Insights', 'Azure Monitor', 'Azure Log Analytics']\" ng-change=ctrl.onQueryTypeChange()></select>\n      </div>\n    </div>\n    <div class=gf-form ng-if=\"ctrl.target.queryType === 'Azure Monitor' || ctrl.target.queryType === 'Azure Log Analytics'\">\n      <label class=\"gf-form-label query-keyword width-9\">Subscription</label>\n      <gf-form-dropdown model=ctrl.target.subscription allow-custom=true lookup-text=true get-options=ctrl.getSubscriptions() on-change=ctrl.onSubscriptionChange() css-class=min-width-12>\n      </gf-form-dropdown>\n    </div>\n    <div class=\"gf-form gf-form--grow\">\n      <div class=\"gf-form-label gf-form-label--grow\"></div>\n    </div>\n  </div>\n  <div ng-if=\"ctrl.target.queryType === 'Azure Monitor'\">\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-9\">Resource Group</label>\n        <gf-form-dropdown model=ctrl.target.azureMonitor.resourceGroup allow-custom=true lookup-text=true get-options=ctrl.getResourceGroups($query) on-change=ctrl.onResourceGroupChange() css-class=min-width-12>\n        </gf-form-dropdown>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-9\">Namespace</label>\n        <gf-form-dropdown model=ctrl.target.azureMonitor.metricDefinition allow-custom=true lookup-text=true get-options=ctrl.getMetricDefinitions($query) on-change=ctrl.onMetricDefinitionChange() css-class=min-width-20>\n        </gf-form-dropdown>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-9\">Resource Name</label>\n        <gf-form-dropdown model=ctrl.target.azureMonitor.resourceName allow-custom=true lookup-text=true get-options=ctrl.getResourceNames($query) on-change=ctrl.onResourceNameChange() css-class=min-width-12>\n        </gf-form-dropdown>\n      </div>\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-9\">Metric Namespace</label>\n        <gf-form-dropdown model=ctrl.target.azureMonitor.metricNamespace allow-custom=true lookup-text=true get-options=ctrl.getMetricNamespaces($query) on-change=ctrl.onMetricNamespacesChange() css-class=min-width-12>\n        </gf-form-dropdown>\n      </div>\n      <div class=gf-form>        \n        <label class=\"gf-form-label query-keyword width-9\">Metric</label>\n        <gf-form-dropdown model=ctrl.target.azureMonitor.metricName allow-custom=true lookup-text=true get-options=ctrl.getMetricNames($query) on-change=ctrl.onMetricNameChange() css-class=min-width-12>\n        </gf-form-dropdown>\n      </div>\n      <div class=\"gf-form gf-form--grow aggregation-dropdown-wrapper\">\n        <label class=\"gf-form-label query-keyword width-9\">Aggregation</label>\n        <div class=\"gf-form-select-wrapper gf-form-select-wrapper--caret-indent\">\n          <select class=\"gf-form-input width-11\" ng-model=ctrl.target.azureMonitor.aggregation ng-options=\"f as f for f in ctrl.target.azureMonitor.aggOptions\" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n    </div>\n    <div class=gf-form-inline>      \n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-9\">Time Grain</label>\n        <div class=\"gf-form-select-wrapper gf-form-select-wrapper--caret-indent timegrainunit-dropdown-wrapper\">\n          <select class=gf-form-input ng-model=ctrl.target.azureMonitor.timeGrain ng-options=\"f.value as f.text for f in ctrl.target.azureMonitor.timeGrains\" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class=gf-form ng-show=\"ctrl.target.azureMonitor.timeGrain.trim() === 'auto'\">\n        <label class=gf-form-label>Auto Interval</label>\n        <label class=gf-form-label>{{ctrl.getAutoInterval()}}</label>\n      </div>\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n    <div class=gf-form-inline ng-show=\"ctrl.target.azureMonitor.dimensions.length > 0\">\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-9\">Dimension</label>\n        <div class=\"gf-form-select-wrapper gf-form-select-wrapper--caret-indent\">\n          <select class=\"gf-form-input min-width-12\" ng-model=ctrl.target.azureMonitor.dimension ng-options=\"f.value as f.text for f in ctrl.target.azureMonitor.dimensions\" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-3\">eq</label>\n        <input type=text class=\"gf-form-input width-17\" ng-model=ctrl.target.azureMonitor.dimensionFilter spellcheck=false placeholder=auto ng-blur=ctrl.refresh()>\n      </div>\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-9\">Legend Format</label>\n        <input type=text class=\"gf-form-input width-30\" ng-model=ctrl.target.azureMonitor.alias spellcheck=false placeholder=\"alias patterns (see help for more info)\" ng-blur=ctrl.refresh()>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n  </div>\n\n  <div ng-if=\"ctrl.target.queryType === 'Azure Log Analytics'\">\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-9\">Workspace</label>\n        <gf-form-dropdown model=ctrl.target.azureLogAnalytics.workspace allow-custom=true lookup-text=true get-options=ctrl.workspaces on-change=ctrl.refresh() css-class=min-width-12>\n        </gf-form-dropdown>\n        <div class=gf-form>\n          <div class=width-1></div>\n        </div>\n        <div class=gf-form>\n          <button class=\"btn btn-primary width-10\" ng-click=ctrl.refresh()>Run</button>\n        </div>\n        <div class=gf-form>\n          <label class=gf-form-label>(Run Query: Shift+Enter, Trigger Suggestion: Ctrl+Space)</label>\n        </div>\n        <div class=\"gf-form gf-form--grow\">\n          <div class=\"gf-form-label gf-form-label--grow\"></div>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"gf-form gf-form--grow\">\n      <kusto-editor class=\"gf-form gf-form--grow\" query=ctrl.target.azureLogAnalytics.query change=ctrl.onLogAnalyticsQueryChange execute=ctrl.onLogAnalyticsQueryExecute variables=ctrl.templateVariables getschema=ctrl.getAzureLogAnalyticsSchema />\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-7\">Format As</label>\n        <div class=gf-form-select-wrapper>\n          <select class=\"gf-form-input gf-size-auto\" ng-model=ctrl.target.azureLogAnalytics.resultFormat ng-options=\"f.value as f.text for f in ctrl.resultFormats\" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword\" ng-click=\"ctrl.showHelp = !ctrl.showHelp\">\n          Show Help\n          <i class=\"fa fa-caret-down\" ng-show=ctrl.showHelp></i>\n          <i class=\"fa fa-caret-right\" ng-hide=ctrl.showHelp></i>\n        </label>\n      </div>\n      <div class=gf-form ng-show=ctrl.lastQuery>\n        <label class=\"gf-form-label query-keyword\" ng-click=\"ctrl.showLastQuery = !ctrl.showLastQuery\">\n          Raw Query\n          <i class=\"fa fa-caret-down\" ng-show=ctrl.showLastQuery></i>\n          <i class=\"fa fa-caret-right\" ng-hide=ctrl.showLastQuery></i>\n        </label>\n      </div>\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n    <div class=gf-form ng-show=ctrl.showLastQuery>\n      <pre class=gf-form-pre>{{ctrl.lastQuery}}</pre>\n    </div>\n    <div class=gf-form ng-show=ctrl.showHelp>\n      <pre class=\"gf-form-pre alert alert-info\">\n    Format as Table:\n    - return any set of columns\n\n    Format as Time series:\n    - Requires a column of type datetime\n    - returns the first column with a numeric datatype as the value\n    - (Optional: returns the first column with type string to represent the series name. If no column is found the column name of the value column is used as series name)\n\n    Example Time Series Query:\n\n    AzureActivity\n    | where $__timeFilter()\n    | summarize count() by Category, bin(TimeGenerated, 60min)\n    | order by TimeGenerated asc\n\n    Macros:\n    - $__timeFilter() -&gt; TimeGenerated &ge; datetime(2018-06-05T18:09:58.907Z) and TimeGenerated &le; datetime(2018-06-05T20:09:58.907Z)\n    - $__timeFilter(datetimeColumn) -&gt;  datetimeColumn  &ge; datetime(2018-06-05T18:09:58.907Z) and datetimeColumn &le; datetime(2018-06-05T20:09:58.907Z)\n    - $__escapeMulti($myTemplateVar) -&gt; $myTemplateVar should be a multi-value template variables that contains illegal characters\n    - $__contains(aColumn, $myTemplateVar) -&gt; aColumn in ($myTemplateVar)\n      If using the All option, then check the Include All Option checkbox and in the Custom all value field type in: all. If All is chosen -&gt; 1 == 1\n\n    Or build your own conditionals using these built-in variables which just return the values:\n    - $__timeFrom -&gt;  datetime(2018-06-05T18:09:58.907Z)\n    - $__timeTo -&gt; datetime(2018-06-05T20:09:58.907Z)\n    - $__interval -&gt; 5m\n\n    Examples:\n    - ¡ where $__timeFilter\n    - | where TimeGenerated &ge; $__timeFrom and TimeGenerated &le; $__timeTo\n    - | summarize count() by Category, bin(TimeGenerated, $__interval)\n      </pre>\n    </div>\n\n  </div>\n\n  <div ng-if=\"ctrl.target.queryType === 'Application Insights'\">\n    <div ng-show=!ctrl.target.appInsights.rawQuery>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <label class=\"gf-form-label query-keyword width-9\">Metric</label>\n          <gf-form-dropdown model=ctrl.target.appInsights.metricName allow-custom=true lookup-text=true get-options=ctrl.getAppInsightsMetricNames($query) on-change=ctrl.onAppInsightsMetricNameChange() css-class=min-width-20>\n          </gf-form-dropdown>\n        </div>\n        <div class=gf-form>\n          <label class=\"gf-form-label query-keyword width-9\">Aggregation</label>\n          <div class=\"gf-form-select-wrapper gf-form-select-wrapper--caret-indent\">\n            <select class=gf-form-input ng-model=ctrl.target.appInsights.aggregation ng-options=\"f as f for f in ctrl.target.appInsights.aggOptions\" ng-change=ctrl.refresh()></select>\n          </div>\n        </div>\n        <div class=\"gf-form gf-form--grow\">\n          <div class=\"gf-form-label gf-form-label--grow\"></div>\n        </div>\n      </div>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <label class=\"gf-form-label query-keyword width-9\">Group By</label>\n          <gf-form-dropdown allow-custom=true ng-hide=\"ctrl.target.appInsights.groupBy !== 'none'\" model=ctrl.target.appInsights.groupBy lookup-text=true get-options=ctrl.getAppInsightsGroupBySegments($query) on-change=ctrl.refresh() css-class=min-width-20>\n          </gf-form-dropdown>\n          <label class=\"gf-form-label min-width-20 pointer\" ng-hide=\"ctrl.target.appInsights.groupBy === 'none'\" ng-click=ctrl.resetAppInsightsGroupBy()>{{ctrl.target.appInsights.groupBy}}\n            <i class=\"fa fa-remove\"></i>\n          </label>\n        </div>\n        <div class=gf-form-inline>\n          <div class=gf-form>\n            <label class=\"gf-form-label query-keyword width-9\">Filter</label>\n            <input type=text class=\"gf-form-input width-17\" ng-model=ctrl.target.appInsights.filter spellcheck=false placeholder=\"your/groupby eq 'a_value'\" ng-blur=ctrl.refresh()>\n          </div>\n        </div>\n        <div class=\"gf-form gf-form--grow\">\n          <div class=\"gf-form-label gf-form-label--grow\"></div>\n        </div>\n      </div>\n\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <label class=\"gf-form-label query-keyword width-9\">Time Grain</label>\n          <div class=\"gf-form-select-wrapper gf-form-select-wrapper--caret-indent\">\n            <select class=gf-form-input ng-model=ctrl.target.appInsights.timeGrainType ng-options=\"f as f for f in ['auto', 'none', 'specific']\" ng-change=ctrl.updateTimeGrainType()></select>\n          </div>\n        </div>\n        <div class=gf-form ng-hide=\"ctrl.target.appInsights.timeGrainType === 'auto' || ctrl.target.appInsights.timeGrainType === 'none'\">\n          <input type=text class=\"gf-form-input width-3\" ng-model=ctrl.target.appInsights.timeGrain spellcheck=false placeholder=\"\" ng-blur=ctrl.refresh()>\n        </div>\n        <div class=gf-form ng-hide=\"ctrl.target.appInsights.timeGrainType === 'auto' || ctrl.target.appInsights.timeGrainType === 'none'\">\n          <div class=\"gf-form-select-wrapper gf-form-select-wrapper--caret-indent timegrainunit-dropdown-wrapper\">\n            <select class=gf-form-input ng-model=ctrl.target.appInsights.timeGrainUnit ng-options=\"f as f for f in ['minute', 'hour', 'day', 'month', 'year']\" ng-change=ctrl.refresh()></select>\n          </div>\n        </div>\n        <div class=gf-form ng-hide=\"ctrl.target.appInsights.timeGrainType !== 'auto'\">\n          <label class=gf-form-label>Auto Interval</label>\n          <label class=gf-form-label>{{ctrl.getAppInsightsAutoInterval()}}</label>\n        </div>\n        <div class=\"gf-form gf-form--grow\">\n          <div class=\"gf-form-label gf-form-label--grow\"></div>\n        </div>\n      </div>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <label class=\"gf-form-label query-keyword width-9\">Legend Format</label>\n          <input type=text class=\"gf-form-input width-30\" ng-model=ctrl.target.appInsights.alias spellcheck=false placeholder=\"alias patterns (see help for more info)\" ng-blur=ctrl.refresh()>\n        </div>\n\n        <div class=\"gf-form gf-form--grow\">\n          <div class=\"gf-form-label gf-form-label--grow\"></div>\n        </div>\n      </div>\n    </div>\n    <div ng-show=ctrl.target.appInsights.rawQuery>\n      <!-- <div class=\"gf-form\">\n        <textarea rows=\"3\" class=\"gf-form-input\" ng-model=\"ctrl.target.appInsights.rawQueryString\" spellcheck=\"false\"\n          placeholder=\"Application Insights Query\" ng-model-onblur ng-change=\"ctrl.refresh()\"></textarea>\n      </div> -->\n      <div class=\"gf-form gf-form--grow\">\n        <kusto-editor class=\"gf-form gf-form--grow\" query=ctrl.target.appInsights.rawQueryString placeholder=\"'Application Insights Query'\" change=ctrl.onAppInsightsQueryChange execute=ctrl.onAppInsightsQueryExecute variables=ctrl.templateVariables getschema=ctrl.getAppInsightsQuerySchema />\n      </div>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <label class=\"gf-form-label query-keyword width-9\">X-axis</label>\n          <gf-form-dropdown model=ctrl.target.appInsights.xaxis allow-custom=true placeholder=\"eg. 'timestamp'\" get-options=ctrl.getAppInsightsColumns($query) on-change=ctrl.onAppInsightsColumnChange() css-class=min-width-20>\n          </gf-form-dropdown>\n        </div>\n        <div class=gf-form>\n          <label class=\"gf-form-label query-keyword width-9\">Y-axis(es)</label>\n          <gf-form-dropdown model=ctrl.target.appInsights.yaxis allow-custom=true get-options=ctrl.getAppInsightsColumns($query) on-change=ctrl.onAppInsightsColumnChange() css-class=min-width-20>\n          </gf-form-dropdown>\n        </div>\n        <div class=\"gf-form gf-form--grow\">\n          <div class=\"gf-form-label gf-form-label--grow\"></div>\n        </div>\n      </div>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <label class=\"gf-form-label query-keyword width-9\">Split On</label>\n          <gf-form-dropdown model=ctrl.target.appInsights.spliton allow-custom=true get-options=ctrl.getAppInsightsColumns($query) on-change=ctrl.onAppInsightsColumnChange() css-class=min-width-20>\n          </gf-form-dropdown>\n        </div>\n        <div class=\"gf-form gf-form--grow\">\n          <div class=\"gf-form-label gf-form-label--grow\"></div>\n        </div>\n      </div>\n    </div>\n  </div>\n  <div class=gf-form ng-show=ctrl.lastQueryError>\n    <pre class=\"gf-form-pre alert alert-error\">{{ctrl.lastQueryError}}</pre>\n  </div>\n</query-editor-row>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/grafana/partials/annotations.editor.html":
/*!********************************************************************************!*\
  !*** ./public/app/plugins/datasource/grafana/partials/annotations.editor.html ***!
  \********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/grafana/partials/annotations.editor.html';
var html = "\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-9\">\n\t\t\t\tFilter by\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>Dashboard: This will fetch annotation and alert state changes for whole dashboard and show them only on the event's originating panel.</li>\n\t\t\t\t\t\t<li>Tags: This will fetch any annotation events that match the tags filter.</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</info-popover>\n\t\t\t</span>\n\t\t\t<div class=\"gf-form-select-wrapper width-8\">\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.annotation.type ng-options=\"f.value as f.text for f in ctrl.types\">\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Max limit</span>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.annotation.limit ng-options=\"f for f in [10,50,100,200,300,500,1000,2000]\">\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form ng-if=\"ctrl.annotation.type === 'tags'\">\n\t\t\t<gf-form-switch class=gf-form label=\"Match any\" label-class=width-9 checked=ctrl.annotation.matchAny on-change=ctrl.refresh() tooltip=\"By default Grafana only shows annotations that match all tags in the query. Enabling this returns annotations that match any of the tags in the query.\"></gf-form-switch>\n\t\t</div>\n\t\t<div class=gf-form ng-if=\"ctrl.annotation.type === 'tags'\">\n\t\t\t<span class=gf-form-label>\n\t\t\t\tTags\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tA tag entered here as 'foo' will match\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>annotation tags 'foo'</li>\n\t\t\t\t\t\t<li>annotation key-value tags formatted as 'foo:bar'</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</info-popover>\n\t\t\t</span>\n\t\t\t<bootstrap-tagsinput ng-model=ctrl.annotation.tags tagclass=\"label label-tag\" placeholder=\"add tags\">\n\t\t\t</bootstrap-tagsinput>\n\t\t</div>\n\t</div>\n</div>\n\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/grafana/partials/query.editor.html":
/*!**************************************************************************!*\
  !*** ./public/app/plugins/datasource/grafana/partials/query.editor.html ***!
  \**************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/grafana/partials/query.editor.html';
var html = "<query-editor-row query-ctrl=ctrl can-collapse=false>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<label class=gf-form-label>Test data: random walk</label>\n\t\t</div>\n\n\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t<div class=\"gf-form-label gf-form-label--grow\"></div>\n\t\t</div>\n\t</div>\n</query-editor-row>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/graphite/partials/annotations.editor.html":
/*!*********************************************************************************!*\
  !*** ./public/app/plugins/datasource/graphite/partials/annotations.editor.html ***!
  \*********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/graphite/partials/annotations.editor.html';
var html = "<div class=gf-form-group>\n  <div class=gf-form>\n    <span class=\"gf-form-label width-12\">Graphite query</span>\n    <input type=text class=gf-form-input ng-model=ctrl.annotation.target placeholder=\"Example: statsd.application.counters.*.count\">\n  </div>\n\n\t<h5 class=section-heading>Or</h5>\n\n  <div class=gf-form>\n    <span class=\"gf-form-label width-12\">Graphite events tags</span>\n    <input type=text class=gf-form-input ng-model=ctrl.annotation.tags placeholder=\"Example: event_tag_name\">\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/graphite/partials/config.html":
/*!*********************************************************************!*\
  !*** ./public/app/plugins/datasource/graphite/partials/config.html ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/graphite/partials/config.html';
var html = "<datasource-http-settings current=ctrl.current suggest-url=http://localhost:8080>\n</datasource-http-settings>\n\n<h3 class=page-heading>Graphite details</h3>\n\n<div class=gf-form-group>\n\t<div class=gf-form>\n\t\t<span class=\"gf-form-label width-8\">\n      Version\n      <info-popover mode=right-normal position=\"top center\">\n        This option controls what functions are available in the Graphite query editor.\n      </info-popover>\n    </span>\n    <span class=gf-form-select-wrapper>\n        <select class=\"gf-form-input gf-size-auto\" ng-model=ctrl.current.jsonData.graphiteVersion ng-options=\"f.value as f.name for f in ctrl.graphiteVersions\"></select>\n    </span>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/graphite/partials/query.editor.html":
/*!***************************************************************************!*\
  !*** ./public/app/plugins/datasource/graphite/partials/query.editor.html ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/graphite/partials/query.editor.html';
var html = "<query-editor-row query-ctrl=ctrl has-text-edit-mode=true>\n\n  <div class=gf-form ng-show=ctrl.target.textEditor>\n    <input type=text class=gf-form-input ng-model=ctrl.target.target spellcheck=false ng-blur=ctrl.targetTextChanged()>\n  </div>\n\n  <div ng-hide=ctrl.target.textEditor>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-6 query-keyword\">Series</label>\n      </div>\n\n      <div ng-if=ctrl.queryModel.seriesByTagUsed ng-repeat=\"tag in ctrl.queryModel.tags\" class=gf-form>\n        <gf-form-dropdown model=tag.key allow-custom=true label-mode=true debounce=true placeholder=\"Tag key\" css-class=query-segment-key get-options=\"ctrl.getTags($index, $query)\" on-change=\"ctrl.tagChanged(tag, $index)\"/>\n        <gf-form-dropdown model=tag.operator label-mode=true css-class=query-segment-operator get-options=ctrl.getTagOperators() on-change=\"ctrl.tagChanged(tag, $index)\" min-input-width=30 />\n        <gf-form-dropdown model=tag.value allow-custom=true label-mode=true debounce=true css-class=query-segment-value placeholder=\"Tag value\" get-options=\"ctrl.getTagValues(tag, $index, $query)\" on-change=\"ctrl.tagChanged(tag, $index)\"/>\n        <label class=\"gf-form-label query-keyword\" ng-if=ctrl.showDelimiter($index)>AND</label>\n      </div>\n\n      <div ng-if=ctrl.queryModel.seriesByTagUsed ng-repeat=\"segment in ctrl.addTagSegments\" role=menuitem class=gf-form>\n        <metric-segment segment=segment get-options=ctrl.getTagsAsSegments($query) on-change=ctrl.addNewTag(segment) debounce=true />\n      </div>\n\n      <div ng-if=!ctrl.queryModel.seriesByTagUsed ng-repeat=\"segment in ctrl.segments\" role=menuitem class=gf-form>\n        <metric-segment segment=segment get-options=\"ctrl.getAltSegments($index, $query)\" on-change=\"ctrl.segmentValueChanged(segment, $index)\"/>\n      </div>\n\n      <div ng-if=ctrl.paused class=gf-form>\n        <a ng-click=ctrl.unpause() class=\"gf-form-label query-part\"><i class=\"fa fa-play\"></i></a>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-6 query-keyword\">Functions</label>\n      </div>\n\n      <div ng-repeat=\"func in ctrl.queryModel.functions\" class=gf-form>\n        <span graphite-func-editor class=\"gf-form-label query-part\" ng-hide=func.hidden></span>\n      </div>\n\n      <div class=\"gf-form dropdown\">\n        <span graphite-add-func></span>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n  </div>\n\n</query-editor-row>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/influxdb/partials/annotations.editor.html":
/*!*********************************************************************************!*\
  !*** ./public/app/plugins/datasource/influxdb/partials/annotations.editor.html ***!
  \*********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/influxdb/partials/annotations.editor.html';
var html = "\n<div class=gf-form-group>\n\t<div class=gf-form>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.annotation.query placeholder=\"select text from events where $timeFilter limit 1000\">\n\t</div>\n</div>\n\n<h5 class=section-heading>Field mappings <tip>If your influxdb query returns more than one field you need to specify the column names below. An annotation event is composed of a title, tags, and an additional text field.</tip></h5>\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-4\">Text</span>\n\t\t\t<input type=text class=\"gf-form-input max-width-10\" ng-model=ctrl.annotation.textColumn placeholder=\"\">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-4\">Tags</span>\n\t\t\t<input type=text class=\"gf-form-input max-width-10\" ng-model=ctrl.annotation.tagsColumn placeholder=\"\">\n\t\t</div>\n\t\t<div class=gf-form ng-show=ctrl.annotation.titleColumn>\n\t\t\t<span class=\"gf-form-label width-4\">Title <em class=muted>(deprecated)</em></span>\n\t\t\t<input type=text class=\"gf-form-input max-width-10\" ng-model=ctrl.annotation.titleColumn placeholder=\"\">\n\t\t</div>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/influxdb/partials/config.html":
/*!*********************************************************************!*\
  !*** ./public/app/plugins/datasource/influxdb/partials/config.html ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/influxdb/partials/config.html';
var html = "<datasource-http-settings current=ctrl.current suggest-url=http://localhost:8086>\n</datasource-http-settings>\n\n<h3 class=page-heading>InfluxDB Details</h3>\n\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=\"gf-form max-width-30\">\n\t\t\t<span class=\"gf-form-label width-10\">Database</span>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.current.database placeholder=\"\" required>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=\"gf-form max-width-15\">\n\t\t\t<span class=\"gf-form-label width-10\">User</span>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.current.user placeholder=\"\">\n\t\t</div>\n\t\t<div class=gf-form>\n      <secret-form-field isconfigured=\"ctrl.current.password || ctrl.current.secureJsonFields.password\" value=\"ctrl.current.secureJsonData.password || ''\" on-reset=ctrl.onPasswordReset on-change=ctrl.onPasswordChange inputwidth=9 />\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class=\"gf-form-label width-8\">HTTP Method</label>\n\t\t<div class=\"gf-form-select-wrapper width-8 gf-form-select-wrapper--has-help-icon\">\n\t\t\t<select class=gf-form-input ng-model=ctrl.current.jsonData.httpMode ng-options=\"f.value as f.name for f in ctrl.httpMode\"></select>\n      \t\t<info-popover mode=right-absolute>\n        \t\tYou can use either <code>GET</code> or <code>POST</code> HTTP method to query your InfluxDB database. The <code>POST</code>\n\t\t\t\tmethod allows you to perform heavy requests (with a lots of <code>WHERE</code> clause) while the <code>GET</code> method\n\t\t\t\twill restrict you and return an error if the query is too large.\n      \t\t</info-popover>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n<div class=gf-form-group>\n\t<div class=grafana-info-box>\n\t\t<h5>Database Access</h5>\n\t\t<p>\n\t\t\tSetting the database for this datasource does not deny access to other databases.  The InfluxDB query syntax allows\n\t\t\tswitching the database in the query.  For example:\n\t\t\t<code>SHOW MEASUREMENTS ON _internal</code> or <code>SELECT * FROM \"_internal\"..\"database\" LIMIT 10</code>\n\t\t\t<br/><br/>\n\t\t\tTo support data isolation and security, make sure appropriate permissions are configured in InfluxDB.\n\t\t</p>\n\t</div>\n</div>\n\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Min time interval</span>\n\t\t\t<input type=text class=\"gf-form-input width-6 gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.timeInterval spellcheck=false placeholder=10s>\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\n\t\t\t\tfor example <code>1m</code> if your data is written every minute.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/influxdb/partials/query.editor.html":
/*!***************************************************************************!*\
  !*** ./public/app/plugins/datasource/influxdb/partials/query.editor.html ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/influxdb/partials/query.editor.html';
var html = "<query-editor-row query-ctrl=ctrl can-collapse=true has-text-edit-mode=true>\n  <div ng-if=ctrl.target.rawQuery>\n    <div class=gf-form>\n      <textarea rows=3 class=gf-form-input ng-model=ctrl.target.query spellcheck=false placeholder=\"InfluxDB Query\" ng-model-onblur ng-change=ctrl.refresh()></textarea>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword\">FORMAT AS</label>\n        <div class=gf-form-select-wrapper>\n          <select class=\"gf-form-input gf-size-auto\" ng-model=ctrl.target.resultFormat ng-options=\"f.value as f.text for f in ctrl.resultFormats\" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class=\"gf-form max-width-25\" ng-hide=\"ctrl.target.resultFormat === 'table'\">\n        <label class=\"gf-form-label query-keyword\">ALIAS BY</label>\n        <input type=text class=gf-form-input ng-model=ctrl.target.alias spellcheck=false placeholder=\"Naming pattern\" ng-blur=ctrl.refresh() />\n      </div>\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n  </div>\n\n  <div ng-if=!ctrl.target.rawQuery>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-7\">FROM</label>\n\n        <metric-segment segment=ctrl.policySegment get-options=ctrl.getPolicySegments() on-change=ctrl.policyChanged()></metric-segment>\n        <metric-segment segment=ctrl.measurementSegment get-options=ctrl.getMeasurements($query) on-change=ctrl.measurementChanged()></metric-segment>\n      </div>\n\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword\">WHERE</label>\n      </div>\n\n      <div class=gf-form ng-repeat=\"segment in ctrl.tagSegments\">\n        <metric-segment segment=segment get-options=\"ctrl.getTagsOrValues(segment, $index)\" on-change=\"ctrl.tagSegmentUpdated(segment, $index)\"></metric-segment>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline ng-repeat=\"selectParts in ctrl.queryModel.selectModels\">\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-7\"> <span ng-show=\"$index === 0\">SELECT</span>&nbsp; </label>\n      </div>\n\n      <div class=gf-form ng-repeat=\"part in selectParts\">\n        <query-part-editor class=\"gf-form-label query-part\" part=part handle-event=\"ctrl.handleSelectPartEvent(selectParts, part, $event)\">\n        </query-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <label class=dropdown dropdown-typeahead2=ctrl.selectMenu dropdown-typeahead-on-select=\"ctrl.addSelectPart(selectParts, $item, $subItem)\" button-template-class=\"gf-form-label query-part\">\n        </label>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-7\">\n          <span>GROUP BY</span>\n        </label>\n\n        <query-part-editor ng-repeat=\"part in ctrl.queryModel.groupByParts\" part=part class=\"gf-form-label query-part\" handle-event=\"ctrl.handleGroupByPartEvent(part, $index, $event)\">\n        </query-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <metric-segment segment=ctrl.groupBySegment get-options=ctrl.getGroupByOptions() on-change=\"ctrl.groupByAction(part, $index)\"></metric-segment>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline ng-if=\"ctrl.target.orderByTime === 'DESC'\">\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-7\">ORDER BY</label>\n        <label class=\"gf-form-label pointer\" ng-click=ctrl.removeOrderByTime()>time <span class=query-keyword>DESC</span> <i class=\"fa fa-remove\"></i></label>\n      </div>\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline ng-if=ctrl.target.limit>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-7\">LIMIT</label>\n        <input type=text class=\"gf-form-input width-9\" ng-model=ctrl.target.limit spellcheck=false placeholder=\"No Limit\" ng-blur=ctrl.refresh() />\n      </div>\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline ng-if=ctrl.target.slimit>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-7\">SLIMIT</label>\n        <input type=text class=\"gf-form-input width-9\" ng-model=ctrl.target.slimit spellcheck=false placeholder=\"No Limit\" ng-blur=ctrl.refresh() />\n      </div>\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline ng-if=ctrl.target.tz>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-7\">tz</label>\n        <input type=text class=\"gf-form-input width-9\" ng-model=ctrl.target.tz spellcheck=false placeholder=\"No Timezone\" ng-blur=ctrl.refresh() />\n      </div>\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-7\">FORMAT AS</label>\n        <div class=gf-form-select-wrapper>\n          <select class=\"gf-form-input gf-size-auto\" ng-model=ctrl.target.resultFormat ng-options=\"f.value as f.text for f in ctrl.resultFormats\" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline ng-hide=\"ctrl.target.resultFormat === 'table'\">\n      <div class=\"gf-form max-width-30\">\n        <label class=\"gf-form-label query-keyword width-7\">ALIAS BY</label>\n        <input type=text class=gf-form-input ng-model=ctrl.target.alias spellcheck=false placeholder=\"Naming pattern\" ng-blur=ctrl.refresh() />\n      </div>\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n  </div>\n</query-editor-row>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/loki/partials/annotations.editor.html":
/*!*****************************************************************************!*\
  !*** ./public/app/plugins/datasource/loki/partials/annotations.editor.html ***!
  \*****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/loki/partials/annotations.editor.html';
var html = "<loki-annotations-query-editor expr=ctrl.annotation.expr on-change=ctrl.onQueryChange datasource=ctrl.datasource />\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/loki/partials/config.html":
/*!*****************************************************************!*\
  !*** ./public/app/plugins/datasource/loki/partials/config.html ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/loki/partials/config.html';
var html = "<datasource-http-settings current=ctrl.current no-direct-access=true>\n</datasource-http-settings>\n\n<div class=gf-form-group>\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <span class=\"gf-form-label width-8\">Maximum lines</span>\n      <input type=text class=\"gf-form-input width-8 gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.maxLines spellcheck=false placeholder=1000>\n      <info-popover mode=right-absolute>\n        Loki queries must contain a limit of the maximum number of lines returned (default: 1000).\n        Increase this limit to have a bigger result set for ad-hoc analysis.\n        Decrease this limit if your browser becomes sluggish when displaying the log results.\n      </info-popover>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/mssql/partials/annotations.editor.html":
/*!******************************************************************************!*\
  !*** ./public/app/plugins/datasource/mssql/partials/annotations.editor.html ***!
  \******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/mssql/partials/annotations.editor.html';
var html = "\n<div class=gf-form-group>\n  <div class=gf-form-inline>\n\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t<textarea rows=10 class=gf-form-input ng-model=ctrl.annotation.rawQuery spellcheck=false placeholder=\"query expression\" data-min-length=0 data-items=100 ng-model-onblur ng-change=ctrl.panelCtrl.refresh()></textarea>\n\t\t</div>\n\t</div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class=\"gf-form-label query-keyword\" ng-click=\"ctrl.showHelp = !ctrl.showHelp\">\n        Show Help\n        <i class=\"fa fa-caret-down\" ng-show=ctrl.showHelp></i>\n        <i class=\"fa fa-caret-right\" ng-hide=ctrl.showHelp></i>\n      </label>\n\t\t</div>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showHelp>\n\t\t<pre class=\"gf-form-pre alert alert-info\"><h6>Annotation Query Format</h6>\nAn annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the <b>time</b> column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\n\n- column with alias: <b>time</b> for the annotation event time. Use epoch time or any native date data type.\n- column with alias: <b>text</b> for the annotation text.\n- column with alias: <b>tags</b> for annotation tags. This is a comma separated string of tags e.g. 'tag1,tag2'.\n\n\nMacros:\n- $__time(column) -&gt; column AS time\n- $__timeEpoch(column) -&gt; DATEDIFF(second, '1970-01-01', column) AS time\n- $__timeFilter(column) -&gt; column BETWEEN '2017-04-21T05:01:17Z' AND '2017-04-21T05:01:17Z'\n- $__unixEpochFilter(column) -&gt; column &gt;= 1492750877 AND column &lt;= 1492750877\n- $__unixEpochNanoFilter(column) -&gt;  column &gt;= 1494410783152415214 AND column &lt;= 1494497183142514872\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -&gt;  '2017-04-21T05:01:17Z'\n- $__timeTo() -&gt;  '2017-04-21T05:01:17Z'\n- $__unixEpochFrom() -&gt; 1492750877\n- $__unixEpochTo() -&gt; 1492750877\n- $__unixEpochNanoFrom() -&gt;  1494410783152415214\n- $__unixEpochNanoTo() -&gt;  1494497183142514872\n\t\t</pre>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/mssql/partials/config.html":
/*!******************************************************************!*\
  !*** ./public/app/plugins/datasource/mssql/partials/config.html ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/mssql/partials/config.html';
var html = "\n<h3 class=page-heading>MSSQL Connection</h3>\n\n<div class=gf-form-group>\n\t<div class=\"gf-form max-width-30\">\n\t\t<span class=\"gf-form-label width-7\">Host</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.url placeholder=localhost:1433 bs-typeahead=\"{{['localhost', 'localhost:1433']}}\" required>\n\t</div>\n\n\t<div class=\"gf-form max-width-30\">\n\t\t<span class=\"gf-form-label width-7\">Database</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.database placeholder=\"database name\" required>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=\"gf-form max-width-15\">\n\t\t\t<span class=\"gf-form-label width-7\">User</span>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.current.user placeholder=user>\n\t\t</div>\n    <div class=gf-form>\n      <secret-form-field isconfigured=ctrl.current.secureJsonFields.password value=ctrl.current.secureJsonData.password on-reset=ctrl.onPasswordReset on-change=ctrl.onPasswordChange inputwidth=9 />\n    </div>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class=\"gf-form-label width-7\">Encrypt</label>\n\t\t<div class=\"gf-form-select-wrapper max-width-15 gf-form-select-wrapper--has-help-icon\">\n\t\t\t<select class=gf-form-input ng-model=ctrl.current.jsonData.encrypt ng-options=\"mode for mode in ['disable', 'false', 'true']\" ng-init=ctrl.current.jsonData.encrypt></select>\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tDetermines whether or to which extent a secure SSL TCP/IP connection will be negotiated with the server.\n\t\t\t\t<ul>\n\t\t\t\t\t<li><i>disable</i> - Data sent between client and server is not encrypted.</li>\n\t\t\t\t\t<li><i>false</i> - Data sent between client and server is not encrypted beyond the login packet. (default)</li>\n\t\t\t\t\t<li><i>true</i> - Data sent between client and server is encrypted.</li>\n\t\t\t\t</ul>\n\t\t\t\tIf you're using an older version of Microsoft SQL Server like 2008 and 2008R2 you may need to disable encryption to be able to connect.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n\n<b>Connection limits</b>\n\n<div class=gf-form-group>\n\t<div class=\"gf-form max-width-15\">\n\t\t<span class=\"gf-form-label width-7\">Max open</span>\n\t\t<input type=number min=0 class=\"gf-form-input gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.maxOpenConns placeholder=unlimited>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of open connections to the database. If <i>Max idle connections</i> is greater than 0 and the\n\t\t\t<i>Max open connections</i> is less than <i>Max idle connections</i>, then <i>Max idle connections</i> will be\n\t\t\treduced to match the <i>Max open connections</i> limit. If set to 0, there is no limit on the number of open\n\t\t\tconnections.\n\t\t</info-popover>\n\t</div>\n\t<div class=\"gf-form max-width-15\">\n\t\t<span class=\"gf-form-label width-7\">Max idle</span>\n\t\t<input type=number min=0 class=\"gf-form-input gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.maxIdleConns placeholder=2>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of connections in the idle connection pool. If <i>Max open connections</i> is greater than 0 but\n\t\t\tless than the <i>Max idle connections</i>, then the <i>Max idle connections</i> will be reduced to match the\n\t\t\t<i>Max open connections</i> limit. If set to 0, no idle connections are retained.\n\t\t</info-popover>\n\t</div>\n\t<div class=\"gf-form max-width-15\">\n\t\t<span class=\"gf-form-label width-7\">Max lifetime</span>\n\t\t<input type=number min=0 class=\"gf-form-input gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.connMaxLifetime placeholder=14400>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum amount of time in seconds a connection may be reused. If set to 0, connections are reused forever.\n\t\t</info-popover>\n\t</div>\n</div>\n\n<h3 class=page-heading>MSSQL details</h3>\n\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-9\">Min time interval</span>\n\t\t\t<input type=text class=\"gf-form-input width-6 gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.timeInterval spellcheck=false placeholder=1m ng-pattern=/^\\d+(ms|[Mwdhmsy])$/ >\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\n\t\t\t\tfor example <code>1m</code> if your data is written every minute.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n\n<div class=gf-form-group>\n\t<div class=grafana-info-box>\n\t\t<h5>User Permission</h5>\n\t\t<p>\n\t\t\tThe database user should only be granted SELECT permissions on the specified database &amp; tables you want to query.\n\t\t\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\n\t\t\tlike <code>USE otherdb;</code> and <code>DROP TABLE user;</code> would be executed. To protect against this we\n\t\t\t<strong>Highly</strong> recommmend you create a specific MSSQL user with restricted permissions.\n\t\t</p>\n\t</div>\n</div>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/mssql/partials/query.editor.html":
/*!************************************************************************!*\
  !*** ./public/app/plugins/datasource/mssql/partials/query.editor.html ***!
  \************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/mssql/partials/query.editor.html';
var html = "<query-editor-row query-ctrl=ctrl can-collapse=false>\n\t<div class=gf-form-inline>\n\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t<code-editor content=ctrl.target.rawSql datasource=ctrl.datasource on-change=ctrl.panelCtrl.refresh() data-mode=sqlserver>\n\t\t\t</code-editor>\n\t\t</div>\n\t</div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n\t\t\t<label class=\"gf-form-label query-keyword\">Format as</label>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select class=\"gf-form-input gf-size-auto\" ng-model=ctrl.target.format ng-options=\"f.value as f.text for f in ctrl.formats\" ng-change=ctrl.refresh()></select>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=gf-form>\n      <label class=\"gf-form-label query-keyword\" ng-click=\"ctrl.showHelp = !ctrl.showHelp\">\n        Show Help\n        <i class=\"fa fa-caret-down\" ng-show=ctrl.showHelp></i>\n        <i class=\"fa fa-caret-right\" ng-hide=ctrl.showHelp></i>\n      </label>\n\t\t</div>\n\t\t<div class=gf-form ng-show=ctrl.lastQueryMeta>\n      <label class=\"gf-form-label query-keyword\" ng-click=\"ctrl.showLastQuerySQL = !ctrl.showLastQuerySQL\">\n        Generated SQL\n        <i class=\"fa fa-caret-down\" ng-show=ctrl.showLastQuerySQL></i>\n        <i class=\"fa fa-caret-right\" ng-hide=ctrl.showLastQuerySQL></i>\n      </label>\n\t\t</div>\n\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t<div class=\"gf-form-label gf-form-label--grow\"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form ng-show=ctrl.showLastQuerySQL>\n\t\t<pre class=gf-form-pre>{{ctrl.lastQueryMeta.sql}}</pre>\n\t</div>\n\n\t<div class=gf-form ng-show=ctrl.showHelp>\n\t\t<pre class=\"gf-form-pre alert alert-info\">Time series:\n- return column named time (in UTC), as a unix time stamp or any sql native date data type. You can use the macros below.\n- any other columns returned will be the time point values.\nOptional:\n  - return column named <i>metric</i> to represent the series name.\n  - If multiple value columns are returned the metric column is used as prefix.\n  - If no column named metric is found the column name of the value column is used as series name\n\nResultsets of time series queries need to be sorted by time.\n\nTable:\n- return any set of columns\n\nMacros:\n- $__time(column) -&gt; column AS time\n- $__timeEpoch(column) -&gt; DATEDIFF(second, '1970-01-01', column) AS time\n- $__timeFilter(column) -&gt; column BETWEEN '2017-04-21T05:01:17Z' AND '2017-04-21T05:01:17Z'\n- $__unixEpochFilter(column) -&gt; column &gt;= 1492750877 AND column &lt;= 1492750877\n- $__unixEpochNanoFilter(column) -&gt;  column &gt;= 1494410783152415214 AND column &lt;= 1494497183142514872\n- $__timeGroup(column, '5m'[, fillvalue]) -&gt; CAST(ROUND(DATEDIFF(second, '1970-01-01', column)/300.0, 0) as bigint)*300.\n     by setting fillvalue grafana will fill in missing values according to the interval\n     fillvalue can be either a literal value, NULL or previous; previous will fill in the previous seen value or NULL if none has been seen yet\n- $__timeGroupAlias(column, '5m'[, fillvalue]) -&gt; CAST(ROUND(DATEDIFF(second, '1970-01-01', column)/300.0, 0) as bigint)*300 AS [time]\n- $__unixEpochGroup(column,'5m') -&gt; FLOOR(column/300)*300\n- $__unixEpochGroupAlias(column,'5m') -&gt; FLOOR(column/300)*300 AS [time]\n\nExample of group by and order by with $__timeGroup:\nSELECT\n  $__timeGroup(date_time_col, '1h') AS time,\n  sum(value) as value\nFROM yourtable\nGROUP BY $__timeGroup(date_time_col, '1h')\nORDER BY 1\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -&gt;  '2017-04-21T05:01:17Z'\n- $__timeTo() -&gt;  '2017-04-21T05:01:17Z'\n- $__unixEpochFrom() -&gt; 1492750877\n- $__unixEpochTo() -&gt; 1492750877\n- $__unixEpochNanoFrom() -&gt;  1494410783152415214\n- $__unixEpochNanoTo() -&gt;  1494497183142514872\n\t\t</pre>\n\t</div>\n\n\t\n\n\t<div class=gf-form ng-show=ctrl.lastQueryError>\n\t\t<pre class=\"gf-form-pre alert alert-error\">{{ctrl.lastQueryError}}</pre>\n\t</div>\n\n</query-editor-row>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/mysql/partials/annotations.editor.html":
/*!******************************************************************************!*\
  !*** ./public/app/plugins/datasource/mysql/partials/annotations.editor.html ***!
  \******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/mysql/partials/annotations.editor.html';
var html = "\n<div class=gf-form-group>\n  <div class=gf-form-inline>\n\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t<textarea rows=10 class=gf-form-input ng-model=ctrl.annotation.rawQuery spellcheck=false placeholder=\"query expression\" data-min-length=0 data-items=100 ng-model-onblur ng-change=ctrl.panelCtrl.refresh()></textarea>\n\t\t</div>\n\t</div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class=\"gf-form-label query-keyword\" ng-click=\"ctrl.showHelp = !ctrl.showHelp\">\n        Show Help\n        <i class=\"fa fa-caret-down\" ng-show=ctrl.showHelp></i>\n        <i class=\"fa fa-caret-right\" ng-hide=ctrl.showHelp></i>\n      </label>\n\t\t</div>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showHelp>\n\t\t<pre class=\"gf-form-pre alert alert-info\"><h6>Annotation Query Format</h6>\nAn annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the <i>time</i> or <i>time_sec</i> column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\n\n- column with alias: <b>time</b> or <i>time_sec</i> for the annotation event time. Use epoch time or any native date data type.\n- column with alias: <b>text</b> for the annotation text\n- column with alias: <b>tags</b> for annotation tags. This is a comma separated string of tags e.g. 'tag1,tag2'\n\n\nMacros:\n- $__time(column) -&gt; UNIX_TIMESTAMP(column) as time (or as time_sec)\n- $__timeEpoch(column) -&gt; UNIX_TIMESTAMP(column) as time (or as time_sec)\n- $__timeFilter(column) -&gt; column BETWEEN FROM_UNIXTIME(1492750877) AND FROM_UNIXTIME(1492750877)\n- $__unixEpochFilter(column) -&gt;  time_unix_epoch &gt; 1492750877 AND time_unix_epoch &lt; 1492750877\n- $__unixEpochNanoFilter(column) -&gt;  column &gt;= 1494410783152415214 AND column &lt;= 1494497183142514872\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -&gt; FROM_UNIXTIME(1492750877)\n- $__timeTo() -&gt;  FROM_UNIXTIME(1492750877)\n- $__unixEpochFrom() -&gt;  1492750877\n- $__unixEpochTo() -&gt;  1492750877\n- $__unixEpochNanoFrom() -&gt;  1494410783152415214\n- $__unixEpochNanoTo() -&gt;  1494497183142514872\n\t\t</pre>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/mysql/partials/config.html":
/*!******************************************************************!*\
  !*** ./public/app/plugins/datasource/mysql/partials/config.html ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/mysql/partials/config.html';
var html = "<h3 class=page-heading>MySQL Connection</h3>\n\n<div class=gf-form-group>\n\t<div class=\"gf-form max-width-30\">\n\t\t<span class=\"gf-form-label width-7\">Host</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.url placeholder=localhost:3306 bs-typeahead=\"{{['localhost:3306', 'localhost:3307']}}\" required>\n\t</div>\n\n\t<div class=\"gf-form max-width-30\">\n\t\t<span class=\"gf-form-label width-7\">Database</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.database placeholder=\"database name\" required>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=\"gf-form max-width-15\">\n\t\t\t<span class=\"gf-form-label width-7\">User</span>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.current.user placeholder=user>\n\t\t</div>\n\t\t<div class=gf-form>\n      <secret-form-field isconfigured=ctrl.current.secureJsonFields.password value=ctrl.current.secureJsonData.password on-reset=ctrl.onPasswordReset on-change=ctrl.onPasswordChange inputwidth=9 />\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-group>\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-checkbox class=gf-form label=\"TLS Client Auth\" label-class=width-10 checked=ctrl.current.jsonData.tlsAuth switch-class=max-width-6></gf-form-checkbox>\n\t\t\t<gf-form-checkbox class=gf-form label=\"With CA Cert\" tooltip=\"Needed for\n\t\t\t\tverifing self-signed TLS Certs\" checked=ctrl.current.jsonData.tlsAuthWithCACert label-class=width-11 switch-class=max-width-6></gf-form-checkbox>\n\t\t</div>\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-checkbox class=gf-form label=\"Skip TLS Verify\" label-class=width-10 checked=ctrl.current.jsonData.tlsSkipVerify switch-class=max-width-6></gf-form-checkbox>\n\t\t</div>\n\t</div>\n\n<datasource-tls-auth-settings current=ctrl.current ng-if=\"(ctrl.current.jsonData.tlsAuth || ctrl.current.jsonData.tlsAuthWithCACert)\">\n</datasource-tls-auth-settings>\n\n<b>Connection limits</b>\n\n<div class=gf-form-group>\n\t<div class=\"gf-form max-width-15\">\n\t\t<span class=\"gf-form-label width-7\">Max open</span>\n\t\t<input type=number min=0 class=\"gf-form-input gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.maxOpenConns placeholder=unlimited>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of open connections to the database. If <i>Max idle connections</i> is greater than 0 and the\n\t\t\t<i>Max open connections</i> is less than <i>Max idle connections</i>, then <i>Max idle connections</i> will be\n\t\t\treduced to match the <i>Max open connections</i> limit. If set to 0, there is no limit on the number of open\n\t\t\tconnections.\n\t\t</info-popover>\n\t</div>\n\t<div class=\"gf-form max-width-15\">\n\t\t<span class=\"gf-form-label width-7\">Max idle</span>\n\t\t<input type=number min=0 class=\"gf-form-input gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.maxIdleConns placeholder=2>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of connections in the idle connection pool. If <i>Max open connections</i> is greater than 0 but\n\t\t\tless than the <i>Max idle connections</i>, then the <i>Max idle connections</i> will be reduced to match the\n\t\t\t<i>Max open connections</i> limit. If set to 0, no idle connections are retained.\n\t\t</info-popover>\n\t</div>\n\t<div class=\"gf-form max-width-15\">\n\t\t<span class=\"gf-form-label width-7\">Max lifetime</span>\n\t\t<input type=number min=0 class=\"gf-form-input gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.connMaxLifetime placeholder=14400>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum amount of time in seconds a connection may be reused. If set to 0, connections are reused forever.<br/><br/>\n\t\t\tThis should always be lower than configured <a href=https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_wait_timeout target=_blank>wait_timeout</a> in MySQL.\n\t\t</info-popover>\n\t</div>\n</div>\n\n<h3 class=page-heading>MySQL details</h3>\n\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-9\">Min time interval</span>\n\t\t\t<input type=text class=\"gf-form-input width-6 gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.timeInterval spellcheck=false placeholder=1m ng-pattern=/^\\d+(ms|[Mwdhmsy])$/ >\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\n\t\t\t\tfor example <code>1m</code> if your data is written every minute.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n\n<div class=gf-form-group>\n\t<div class=grafana-info-box>\n\t\t<h5>User Permission</h5>\n\t\t<p>\n\t\t\tThe database user should only be granted SELECT permissions on the specified database &amp; tables you want to query.\n\t\t\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\n\t\t\tlike <code>USE otherdb;</code> and <code>DROP TABLE user;</code> would be executed. To protect against this we\n\t\t\t<strong>Highly</strong> recommmend you create a specific MySQL user with restricted permissions.\n\n\t\t\tCheckout the <a class=external-link target=_blank href=http://docs.grafana.org/features/datasources/mysql/ >MySQL Data Source Docs</a> for more information.\n\t\t</p>\n\t</div>\n</div>\n</div>";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/mysql/partials/query.editor.html":
/*!************************************************************************!*\
  !*** ./public/app/plugins/datasource/mysql/partials/query.editor.html ***!
  \************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/mysql/partials/query.editor.html';
var html = "<query-editor-row query-ctrl=ctrl has-text-edit-mode=true>\n\n  <div ng-if=ctrl.target.rawQuery>\n    <div class=gf-form-inline>\n      <div class=\"gf-form gf-form--grow\">\n        <code-editor content=ctrl.target.rawSql datasource=ctrl.datasource on-change=ctrl.panelCtrl.refresh() data-mode=sql>\n        </code-editor>\n      </div>\n    </div>\n  </div>\n\n  <div ng-if=!ctrl.target.rawQuery>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-6\">FROM</label>\n        <metric-segment segment=ctrl.tableSegment get-options=ctrl.getTableSegments() on-change=ctrl.tableChanged()></metric-segment>\n\n        <label class=\"gf-form-label query-keyword width-7\">Time column</label>\n        <metric-segment segment=ctrl.timeColumnSegment get-options=ctrl.getTimeColumnSegments() on-change=ctrl.timeColumnChanged()></metric-segment>\n\n        <label class=\"gf-form-label query-keyword width-9\">\n          Metric column\n          <info-popover mode=right-normal>Column to be used as metric name for the value column.</info-popover>\n        </label>\n        <metric-segment segment=ctrl.metricColumnSegment get-options=ctrl.getMetricColumnSegments() on-change=ctrl.metricColumnChanged()></metric-segment>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n\n    </div>\n\n    <div class=gf-form-inline ng-repeat=\"selectParts in ctrl.selectParts\">\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-6\">\n          <span ng-show=\"$index === 0\">SELECT</span>&nbsp;\n        </label>\n      </div>\n\n      <div class=gf-form ng-repeat=\"part in selectParts\">\n        <sql-part-editor class=\"gf-form-label sql-part\" part=part handle-event=\"ctrl.handleSelectPartEvent(selectParts, part, $event)\">\n        </sql-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <label class=dropdown dropdown-typeahead2=ctrl.selectMenu dropdown-typeahead-on-select=\"ctrl.addSelectPart(selectParts, $item, $subItem)\" button-template-class=\"gf-form-label query-part\">\n        </label>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-6\">WHERE</label>\n      </div>\n\n      <div class=gf-form ng-repeat=\"part in ctrl.whereParts\">\n        <sql-part-editor class=\"gf-form-label sql-part\" part=part handle-event=\"ctrl.handleWherePartEvent(ctrl.whereParts, part, $event, $index)\">\n        </sql-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <metric-segment segment=ctrl.whereAdd get-options=ctrl.getWhereOptions() on-change=\"ctrl.addWhereAction(part, $index)\"></metric-segment>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-6\">\n          <span>GROUP BY</span>\n        </label>\n\n        <sql-part-editor ng-repeat=\"part in ctrl.groupParts\" part=part class=\"gf-form-label sql-part\" handle-event=\"ctrl.handleGroupPartEvent(part, $index, $event)\">\n        </sql-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <metric-segment segment=ctrl.groupAdd get-options=ctrl.getGroupOptions() on-change=\"ctrl.addGroupAction(part, $index)\"></metric-segment>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n  </div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class=\"gf-form-label query-keyword\">Format as</label>\n      <div class=gf-form-select-wrapper>\n        <select class=\"gf-form-input gf-size-auto\" ng-model=ctrl.target.format ng-options=\"f.value as f.text for f in ctrl.formats\" ng-change=ctrl.refresh()></select>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label query-keyword pointer\" ng-click=ctrl.toggleEditorMode() ng-show=\"ctrl.panelCtrl.panel.type !== 'table'\">\n        <span ng-show=ctrl.target.rawQuery>Query Builder</span>\n        <span ng-hide=ctrl.target.rawQuery>Edit SQL</span>\n      </label>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label query-keyword pointer\" ng-click=\"ctrl.showHelp = !ctrl.showHelp\">\n        Show Help\n        <i class=\"fa fa-caret-down\" ng-show=ctrl.showHelp></i>\n        <i class=\"fa fa-caret-right\" ng-hide=ctrl.showHelp></i>\n      </label>\n    </div>\n    <div class=gf-form ng-show=ctrl.lastQueryMeta>\n      <label class=\"gf-form-label query-keyword pointer\" ng-click=\"ctrl.showLastQuerySQL = !ctrl.showLastQuerySQL\">\n        Generated SQL\n        <i class=\"fa fa-caret-down\" ng-show=ctrl.showLastQuerySQL></i>\n        <i class=\"fa fa-caret-right\" ng-hide=ctrl.showLastQuerySQL></i>\n      </label>\n    </div>\n    <div class=\"gf-form gf-form--grow\">\n      <div class=\"gf-form-label gf-form-label--grow\"></div>\n    </div>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showLastQuerySQL>\n    <pre class=gf-form-pre>{{ctrl.lastQueryMeta.sql}}</pre>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showHelp>\n    <pre class=\"gf-form-pre alert alert-info\">Time series:\n- return column named time or time_sec (in UTC), as a unix time stamp or any sql native date data type. You can use the macros below.\n- return column(s) with numeric datatype as values\nOptional:\n  - return column named <i>metric</i> to represent the series name.\n  - If multiple value columns are returned the metric column is used as prefix.\n  - If no column named metric is found the column name of the value column is used as series name\n\nResultsets of time series queries need to be sorted by time.\n\nTable:\n- return any set of columns\n\nMacros:\n- $__time(column) -&gt; UNIX_TIMESTAMP(column) as time_sec\n- $__timeEpoch(column) -&gt; UNIX_TIMESTAMP(column) as time_sec\n- $__timeFilter(column) -&gt; column BETWEEN FROM_UNIXTIME(1492750877) AND FROM_UNIXTIME(1492750877)\n- $__unixEpochFilter(column) -&gt;  time_unix_epoch &gt; 1492750877 AND time_unix_epoch &lt; 1492750877\n- $__unixEpochNanoFilter(column) -&gt;  column &gt;= 1494410783152415214 AND column &lt;= 1494497183142514872\n- $__timeGroup(column,'5m'[, fillvalue]) -&gt; cast(cast(UNIX_TIMESTAMP(column)/(300) as signed)*300 as signed)\n     by setting fillvalue grafana will fill in missing values according to the interval\n     fillvalue can be either a literal value, NULL or previous; previous will fill in the previous seen value or NULL if none has been seen yet\n- $__timeGroupAlias(column,'5m') -&gt; cast(cast(UNIX_TIMESTAMP(column)/(300) as signed)*300 as signed) AS \"time\"\n- $__unixEpochGroup(column,'5m') -&gt; column DIV 300 * 300\n- $__unixEpochGroupAlias(column,'5m') -&gt; column DIV 300 * 300 AS \"time\"\n\nExample of group by and order by with $__timeGroup:\nSELECT\n  $__timeGroupAlias(timestamp_col, '1h'),\n  sum(value_double) as value\nFROM yourtable\nGROUP BY 1\nORDER BY 1\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -&gt; FROM_UNIXTIME(1492750877)\n- $__timeTo() -&gt;  FROM_UNIXTIME(1492750877)\n- $__unixEpochFrom() -&gt;  1492750877\n- $__unixEpochTo() -&gt;  1492750877\n- $__unixEpochNanoFrom() -&gt;  1494410783152415214\n- $__unixEpochNanoTo() -&gt;  1494497183142514872\n    </pre>\n  </div>\n\n  \n\n  <div class=gf-form ng-show=ctrl.lastQueryError>\n    <pre class=\"gf-form-pre alert alert-error\">{{ctrl.lastQueryError}}</pre>\n  </div>\n\n</query-editor-row>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/opentsdb/partials/annotations.editor.html":
/*!*********************************************************************************!*\
  !*** ./public/app/plugins/datasource/opentsdb/partials/annotations.editor.html ***!
  \*********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/opentsdb/partials/annotations.editor.html';
var html = "<div class=gf-form-group>\n  <div class=gf-form>\n    <span class=\"gf-form-label width-13\">OpenTSDB metrics query</span>\n    <input type=text class=gf-form-input ng-model=ctrl.annotation.target placeholder=events.eventname>\n  </div>\n  <gf-form-switch class=gf-form label=\"Show Global Annotations?\" checked=ctrl.annotation.isGlobal switch-class=max-width-6 label-class=width-13></gf-form-switch>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/opentsdb/partials/config.html":
/*!*********************************************************************!*\
  !*** ./public/app/plugins/datasource/opentsdb/partials/config.html ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/opentsdb/partials/config.html';
var html = "<datasource-http-settings current=ctrl.current suggest-url=http://localhost:4242></datasource-http-settings>\n\n<h5>OpenTSDB settings</h5>\n<div class=gf-form>\n  <span class=\"gf-form-label width-7\">\n    Version\n  </span>\n  <span class=gf-form-select-wrapper>\n    <select class=\"gf-form-input gf-size-auto\" ng-model=ctrl.current.jsonData.tsdbVersion ng-options=\"v.value as v.name for v in ctrl.tsdbVersions\"></select>\n  </span>\n</div>\n<div class=gf-form>\n  <span class=\"gf-form-label width-7\">\n    Resolution\n  </span>\n  <span class=gf-form-select-wrapper>\n    <select class=\"gf-form-input gf-size-auto\" ng-model=ctrl.current.jsonData.tsdbResolution ng-options=\"v.value as v.name for v in ctrl.tsdbResolutions\"></select>\n  </span>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/opentsdb/partials/query.editor.html":
/*!***************************************************************************!*\
  !*** ./public/app/plugins/datasource/opentsdb/partials/query.editor.html ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/opentsdb/partials/query.editor.html';
var html = "<query-editor-row query-ctrl=ctrl can-collapse=false>\n\t<div class=gf-form-inline>\n\t\t<div class=\"gf-form max-width-25\">\n\t\t\t<label class=\"gf-form-label query-keyword width-8\">\n\t\t\t\tMetric\n\t\t\t\t<label class=gf-form-label bs-tooltip=ctrl.errors.metric style=color:#e5bd1c ng-show=ctrl.errors.metric>\n\t\t\t\t\t<i class=\"fa fa-warning\"></i>\n\t\t\t\t</label>\n\t\t\t</label>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.target.metric spellcheck=false bs-typeahead=ctrl.suggestMetrics placeholder=\"metric name\" data-min-length=0 data-items=100 ng-blur=ctrl.targetBlur()>\n\t\t\t\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label query-keyword\">\n\t\t\t\tAggregator\n\t\t\t\t<a bs-tooltip=ctrl.errors.aggregator style=color:#e5bd1c ng-show=ctrl.errors.aggregator>\n\t\t\t\t\t<i class=\"fa fa-warning\"></i>\n\t\t\t\t</a>\n\t\t\t</label>\n\t\t\t<div class=\"gf-form-select-wrapper max-width-15\">\n\t\t\t\t<select ng-model=ctrl.target.aggregator class=gf-form-input ng-options=\"agg for agg in ctrl.aggregators\" ng-change=ctrl.targetBlur()>\n\t\t \t </select>\n\t\t\t</div>\n\t\t</div>\n\t\t\t<div class=\"gf-form max-width-20\">\n\t\t\t\t<label class=\"gf-form-label query-keyword width-6\">\n\t\t\t\t\tAlias:\n\t\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\t\tUse patterns like $tag_tagname to replace part of the alias for a tag value\n\t\t\t\t\t</info-popover>\n\t\t\t\t</label>\n\t\t\t\t<input type=text class=gf-form-input ng-model=ctrl.target.alias spellcheck=false placeholder=\"series alias\" data-min-length=0 data-items=100 ng-blur=ctrl.targetBlur()>\n\t\t\t</div>\n\n\t\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t\t<div class=\"gf-form-label gf-form-label--grow\"></div>\n\t\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=\"gf-form max-width-25\">\n\t\t\t<label class=\"gf-form-label query-keyword width-8\">Down sample</label>\n\t\t\t<input type=text class=\"gf-form-input gf-form-input--has-help-icon\" ng-model=ctrl.target.downsampleInterval ng-model-onblur ng-change=ctrl.targetBlur() placeholder=interval>\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tblank for auto, or for example <code>1m</code>\n\t\t\t</info-popover>\n\t\t</div>\n\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label query-keyword\">Aggregator</label>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select ng-model=ctrl.target.downsampleAggregator class=gf-form-input ng-options=\"agg for agg in ctrl.aggregators\" ng-change=ctrl.targetBlur()>\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=gf-form ng-if=\"ctrl.tsdbVersion >= 2\">\n\t\t\t<label class=\"gf-form-label query-keyword width-6\">Fill</label>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select ng-model=ctrl.target.downsampleFillPolicy class=gf-form-input ng-options=\"agg for agg in ctrl.fillPolicies\" ng-change=ctrl.targetBlur()>\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<gf-form-switch class=gf-form label=\"Disable downsampling\" label-class=query-keyword checked=ctrl.target.disableDownsampling on-change=ctrl.targetBlur()>\n\t\t</gf-form-switch>\n\n\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t<div class=\"gf-form-label gf-form-label--grow\"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline ng-if=\"ctrl.tsdbVersion >= 2\">\n\t\t<div class=gf-form>\n\n\t\t\t<label class=\"gf-form-label query-keyword width-8\">\n\t\t\t\tFilters\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tFilters does not work with tags, either of the two will work but not both.\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\n\t\t\t<div ng-repeat=\"fil in ctrl.target.filters track by $index\" class=gf-form-label>\n\t\t\t\t{{fil.tagk}}&nbsp;=&nbsp;{{fil.type}}&#40;{{fil.filter}}&#41;&nbsp;&#44&nbsp;groupBy&nbsp;=&nbsp;{{fil.groupBy}}\n\t\t\t\t<a ng-click=\"ctrl.editFilter(fil, $index)\">\n\t\t\t\t\t<i class=\"fa fa-pencil\"></i>\n\t\t\t\t</a>\n\t\t\t\t<a ng-click=ctrl.removeFilter($index)>\n\t\t\t\t\t<i class=\"fa fa-remove\"></i>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t\t<label class=\"gf-form-label query-keyword\" ng-hide=ctrl.addFilterMode>\n\t\t\t\t<a ng-click=ctrl.addFilter()>\n\t\t\t\t\t<i class=\"fa fa-plus\"></i>\n\t\t\t\t</a>\n\t\t\t</label>\n \t\t</div>\n\n\t\t<div class=gf-form-inline ng-show=ctrl.addFilterMode>\n\t\t\t<div class=gf-form>\n\t\t\t\t<input type=text class=gf-form-input spellcheck=false bs-typeahead=ctrl.suggestTagKeys data-min-length=0 data-items=100 ng-model=ctrl.target.currentFilterKey placeholder=key>\n\t\t\t\t\n\t\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=\"gf-form-label query-keyword\">Type</label>\n\t\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t\t<select ng-model=ctrl.target.currentFilterType class=gf-form-input ng-options=\"filType for filType in ctrl.filterTypes\">\n\t\t\t\t\t</select>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<input type=text class=gf-form-input spellcheck=false bs-typeahead=ctrl.suggestTagValues data-min-length=0 data-items=100 ng-model=ctrl.target.currentFilterValue placeholder=filter>\n\t\t\t\t\n\t\t\t</div>\n\n      <gf-form-switch class=gf-form label=\"Group by\" label-class=query-keyword checked=ctrl.target.currentFilterGroupBy on-change=ctrl.targetBlur()>\n\t\t\t</gf-form-switch>\n\n\t\t\t<div class=gf-form ng-show=ctrl.addFilterMode>\n\t\t\t\t<label class=gf-form-label ng-show=ctrl.errors.filters>\n\t\t\t\t\t<a bs-tooltip=ctrl.errors.filters style=color:#e5bd1c>\n\t\t\t\t\t\t<i class=\"fa fa-warning\"></i>\n\t\t\t\t\t</a>\n\t\t\t\t</label>\n\t\t\t\t<label class=gf-form-label>\n\t\t\t\t\t<a ng-click=ctrl.addFilter() ng-hide=ctrl.errors.filters>add filter</a>\n\t\t\t\t\t<a ng-click=ctrl.closeAddFilterMode()>\n\t\t\t\t\t\t<i class=\"fa fa-remove\"></i>\n\t\t\t\t\t</a>\n\t\t\t\t</label>\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t<div class=\"gf-form-label gf-form-label--grow\"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label query-keyword width-8\">\n\t\t\t\tTags\n\t\t\t\t<info-popover mode=right-normal ng-if=\"ctrl.tsdbVersion >= 2\">\n\t\t\t\t\tPlease use filters, tags are deprecated in opentsdb 2.2\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t</div>\n\n\t\t<div class=gf-form ng-repeat=\"(key, value) in ctrl.target.tags track by $index\" class=gf-form>\n\t\t\t<label class=gf-form-label>\n\t\t\t\t{{key}}&nbsp;=&nbsp;{{value}}\n\t\t\t\t<a ng-click=\"ctrl.editTag(key, value)\">\n\t\t\t\t\t<i class=\"fa fa-pencil\"></i>\n\t\t\t\t</a>\n\t\t\t\t<a ng-click=ctrl.removeTag(key)>\n\t\t\t\t\t<i class=\"fa fa-remove\"></i>\n\t\t\t\t</a>\n\t\t\t</label>\n\t\t</div>\n\n\t\t<div class=gf-form ng-hide=ctrl.addTagMode>\n\t\t\t<label class=\"gf-form-label query-keyword\">\n\t\t\t\t<a ng-click=ctrl.addTag()><i class=\"fa fa-plus\"></i></a>\n\t\t\t</label>\n\t\t</div>\n\n\t\t<div class=gf-form ng-show=ctrl.addTagMode>\n\t\t\t<input type=text class=gf-form-input spellcheck=false bs-typeahead=ctrl.suggestTagKeys data-min-length=0 data-items=100 ng-model=ctrl.target.currentTagKey placeholder=key>\n\t\t\t\n\n\t\t\t<input type=text class=gf-form-input spellcheck=false bs-typeahead=ctrl.suggestTagValues data-min-length=0 data-items=100 ng-model=ctrl.target.currentTagValue placeholder=value>\n\t\t\t\n\n\t\t\t<label class=gf-form-label ng-show=ctrl.errors.tags>\n\t\t\t\t<a bs-tooltip=ctrl.errors.tags style=color:#e5bd1c>\n\t\t\t\t\t<i class=\"fa fa-warning\"></i>\n\t\t\t\t</a>\n\t\t\t</label>\n\t\t\t<label class=gf-form-label>\n\t\t\t\t<a ng-click=ctrl.addTag() ng-hide=ctrl.errors.tags>add tag</a>\n\t\t\t\t<a ng-click=ctrl.closeAddTagMode()><i class=\"fa fa-remove\"></i></a>\n\t\t\t</label>\n\t\t</div>\n\n\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t<div class=\"gf-form-label gf-form-label--grow\"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<gf-form-switch class=gf-form label=Rate label-class=\"width-8 query-keyword\" checked=ctrl.target.shouldComputeRate on-change=ctrl.targetBlur()>\n\t\t</gf-form-switch>\n\n\t\t<gf-form-switch ng-hide=!ctrl.target.shouldComputeRate class=gf-form label=Counter label-class=query-keyword checked=ctrl.target.isCounter on-change=ctrl.targetBlur()>\n\t\t</gf-form-switch>\n\n\n\t\t<div class=gf-form ng-hide=\"!ctrl.target.isCounter || !ctrl.target.shouldComputeRate\">\n\t\t\t<label class=\"gf-form-label query-keyword\">Counter Max</label>\n\t\t\t<input type=text class=gf-form-input ng-disabled=!ctrl.target.shouldComputeRate ng-model=ctrl.target.counterMax spellcheck=false placeholder=\"max value\" ng-model-onblur ng-blur=ctrl.targetBlur()>\n\t\t\t\n\n\t\t\t<label class=\"gf-form-label query-keyword\">Reset Value</label>\n\t\t\t<input type=text class=\"tight-form-input input-small\" ng-disabled=!ctrl.target.shouldComputeRate ng-model=ctrl.target.counterResetValue spellcheck=false placeholder=\"reset value\" ng-model-onblur ng-blur=ctrl.targetBlur()>\n\t\t\t\n\t\t</div>\n\n\t\t<div class=gf-form ng-if=\"ctrl.tsdbVersion > 2\">\n\t\t\t<gf-form-switch class=gf-form label=\"Explicit tags\" label-class=\"width-8 query-keyword\" checked=ctrl.target.explicitTags on-change=ctrl.targetBlur()>\n\t\t\t</gf-form-switch>\n\t\t</div>\n\n\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t<div class=\"gf-form-label gf-form-label--grow\"></div>\n\t\t</div>\n\t</div>\n</query-editor-row>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/postgres/partials/annotations.editor.html":
/*!*********************************************************************************!*\
  !*** ./public/app/plugins/datasource/postgres/partials/annotations.editor.html ***!
  \*********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/postgres/partials/annotations.editor.html';
var html = "\n<div class=gf-form-group>\n  <div class=gf-form-inline>\n\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t<textarea rows=10 class=gf-form-input ng-model=ctrl.annotation.rawQuery spellcheck=false placeholder=\"query expression\" data-min-length=0 data-items=100 ng-model-onblur ng-change=ctrl.panelCtrl.refresh()></textarea>\n\t\t</div>\n\t</div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class=\"gf-form-label query-keyword\" ng-click=\"ctrl.showHelp = !ctrl.showHelp\">\n        Show Help\n        <i class=\"fa fa-caret-down\" ng-show=ctrl.showHelp></i>\n        <i class=\"fa fa-caret-right\" ng-hide=ctrl.showHelp></i>\n      </label>\n\t\t</div>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showHelp>\n\t\t<pre class=\"gf-form-pre alert alert-info\"><h6>Annotation Query Format</h6>\nAn annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the time column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\n\n- column with alias: <b>time</b> for the annotation event time. Use epoch time or any native date data type.\n- column with alias: <b>text</b> for the annotation text\n- column with alias: <b>tags</b> for annotation tags. This is a comma separated string of tags e.g. 'tag1,tag2'\n\n\nMacros:\n- $__time(column) -&gt; column as \"time\"\n- $__timeEpoch -&gt; extract(epoch from column) as \"time\"\n- $__timeFilter(column) -&gt; column BETWEEN '2017-04-21T05:01:17Z' AND '2017-04-21T05:01:17Z'\n- $__unixEpochFilter(column) -&gt;  column &gt;= 1492750877 AND column &lt;= 1492750877\n- $__unixEpochNanoFilter(column) -&gt;  column &gt;= 1494410783152415214 AND column &lt;= 1494497183142514872\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -&gt;  '2017-04-21T05:01:17Z'\n- $__timeTo() -&gt;  '2017-04-21T05:01:17Z'\n- $__unixEpochFrom() -&gt;  1492750877\n- $__unixEpochTo() -&gt;  1492750877\n- $__unixEpochNanoFrom() -&gt;  1494410783152415214\n- $__unixEpochNanoTo() -&gt;  1494497183142514872\n\t\t</pre>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/postgres/partials/config.html":
/*!*********************************************************************!*\
  !*** ./public/app/plugins/datasource/postgres/partials/config.html ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/postgres/partials/config.html';
var html = "\n<h3 class=page-heading>PostgreSQL Connection</h3>\n\n<div class=gf-form-group>\n\t<div class=\"gf-form max-width-30\">\n\t\t<span class=\"gf-form-label width-7\">Host</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.url placeholder=localhost:5432 bs-typeahead=\"{{['localhost:5432', 'localhost:5433']}}\" required>\n\t</div>\n\n\t<div class=\"gf-form max-width-30\">\n\t\t<span class=\"gf-form-label width-7\">Database</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.database placeholder=\"database name\" required>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=\"gf-form max-width-15\">\n\t\t\t<span class=\"gf-form-label width-7\">User</span>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.current.user placeholder=user>\n\t\t</div>\n    <div class=gf-form>\n      <secret-form-field isconfigured=ctrl.current.secureJsonFields.password value=ctrl.current.secureJsonData.password on-reset=ctrl.onPasswordReset on-change=ctrl.onPasswordChange inputwidth=9 />\n    </div>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class=\"gf-form-label width-7\">SSL Mode</label>\n\t\t<div class=\"gf-form-select-wrapper max-width-15 gf-form-select-wrapper--has-help-icon\">\n\t\t\t<select class=gf-form-input ng-model=ctrl.current.jsonData.sslmode ng-options=\"mode for mode in ['disable', 'require', 'verify-ca', 'verify-full']\" ng-init=ctrl.current.jsonData.sslmode></select>\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tThis option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the server.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n\n<b>Connection limits</b>\n\n<div class=gf-form-group>\n\t<div class=\"gf-form max-width-15\">\n\t\t<span class=\"gf-form-label width-7\">Max open</span>\n\t\t<input type=number min=0 class=\"gf-form-input gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.maxOpenConns placeholder=unlimited>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of open connections to the database. If <i>Max idle connections</i> is greater than 0 and the\n\t\t\t<i>Max open connections</i> is less than <i>Max idle connections</i>, then <i>Max idle connections</i> will be\n\t\t\treduced to match the <i>Max open connections</i> limit. If set to 0, there is no limit on the number of open\n\t\t\tconnections.\n\t\t</info-popover>\n\t</div>\n\t<div class=\"gf-form max-width-15\">\n\t\t<span class=\"gf-form-label width-7\">Max idle</span>\n\t\t<input type=number min=0 class=\"gf-form-input gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.maxIdleConns placeholder=2>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of connections in the idle connection pool. If <i>Max open connections</i> is greater than 0 but\n\t\t\tless than the <i>Max idle connections</i>, then the <i>Max idle connections</i> will be reduced to match the\n\t\t\t<i>Max open connections</i> limit. If set to 0, no idle connections are retained.\n\t\t</info-popover>\n\t</div>\n\t<div class=\"gf-form max-width-15\">\n\t\t<span class=\"gf-form-label width-7\">Max lifetime</span>\n\t\t<input type=number min=0 class=\"gf-form-input gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.connMaxLifetime placeholder=14400>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum amount of time in seconds a connection may be reused. If set to 0, connections are reused forever.\n\t\t</info-popover>\n\t</div>\n</div>\n\n<h3 class=page-heading>PostgreSQL details</h3>\n\n<div class=gf-form-group>\n\t<div class=gf-form>\n\t\t<span class=\"gf-form-label width-9\">\n\t\t\tVersion\n\t\t\t<info-popover mode=right-normal position=\"top center\">\n\t\t\t\tThis option controls what functions are available in the PostgreSQL query builder.\n\t\t\t</info-popover>\n\t\t</span>\n\t\t<span class=gf-form-select-wrapper>\n\t\t\t<select class=\"gf-form-input gf-size-auto\" ng-model=ctrl.current.jsonData.postgresVersion ng-options=\"f.value as f.name for f in ctrl.postgresVersions\"></select>\n\t\t</span>\n\t</div>\n\t<div class=gf-form>\n\t\t<gf-form-switch class=gf-form label=TimescaleDB label-class=width-9 checked=ctrl.current.jsonData.timescaledb switch-class=max-width-6></gf-form-switch>\n    <label class=\"gf-form-label query-keyword pointer\" ng-click=ctrl.toggleTimescaleDBHelp()>\n      Help&nbsp;\n      <i class=\"fa fa-caret-down\" ng-show=ctrl.showTimescaleDBHelp></i>\n      <i class=\"fa fa-caret-right\" ng-hide=ctrl.showTimescaleDBHelp>&nbsp;</i>\n    </label>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-9\">Min time interval</span>\n\t\t\t<input type=text class=\"gf-form-input width-6 gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.timeInterval spellcheck=false placeholder=1m ng-pattern=/^\\d+(ms|[Mwdhmsy])$/ >\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\n\t\t\t\tfor example <code>1m</code> if your data is written every minute.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n<div class=\"grafana-info-box alert alert-info\" ng-show=ctrl.showTimescaleDBHelp>\n  <div class=alert-body>\n    <p>\n\t\t\t<a href=https://github.com/timescale/timescaledb class=pointer target=_blank>TimescaleDB</a> is a time-series database built as a PostgreSQL extension. If enabled, Grafana will use <code>time_bucket</code> in the <code>$__timeGroup</code> macro and display TimescaleDB specific aggregate functions in the query builder.\n    </p>\n  </div>\n</div>\n\n</div>\n\n\n<div class=gf-form-group>\n\t<div class=grafana-info-box>\n\t\t<h5>User Permission</h5>\n\t\t<p>\n\t\t\tThe database user should only be granted SELECT permissions on the specified database &amp; tables you want to query.\n\t\t\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\n\t\t\tlike <code>DELETE FROM user;</code> and <code>DROP TABLE user;</code> would be executed. To protect against this we\n\t\t\t<strong>Highly</strong> recommmend you create a specific PostgreSQL user with restricted permissions.\n\t\t</p>\n\t</div>\n</div>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/postgres/partials/query.editor.html":
/*!***************************************************************************!*\
  !*** ./public/app/plugins/datasource/postgres/partials/query.editor.html ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/postgres/partials/query.editor.html';
var html = "<query-editor-row query-ctrl=ctrl has-text-edit-mode=true>\n\n  <div ng-if=ctrl.target.rawQuery>\n    <div class=gf-form-inline>\n      <div class=\"gf-form gf-form--grow\">\n        <code-editor content=ctrl.target.rawSql datasource=ctrl.datasource on-change=ctrl.panelCtrl.refresh() data-mode=sql>\n        </code-editor>\n      </div>\n    </div>\n  </div>\n\n  <div ng-if=!ctrl.target.rawQuery>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-6\">FROM</label>\n        <metric-segment segment=ctrl.tableSegment get-options=ctrl.getTableSegments() on-change=ctrl.tableChanged()></metric-segment>\n\n        <label class=\"gf-form-label query-keyword width-7\">Time column</label>\n        <metric-segment segment=ctrl.timeColumnSegment get-options=ctrl.getTimeColumnSegments() on-change=ctrl.timeColumnChanged()></metric-segment>\n\n        <label class=\"gf-form-label query-keyword width-9\">\n          Metric column\n          <info-popover mode=right-normal>Column to be used as metric name for the value column.</info-popover>\n        </label>\n        <metric-segment segment=ctrl.metricColumnSegment get-options=ctrl.getMetricColumnSegments() on-change=ctrl.metricColumnChanged()></metric-segment>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n\n    </div>\n\n    <div class=gf-form-inline ng-repeat=\"selectParts in ctrl.selectParts\">\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-6\">\n          <span ng-show=\"$index === 0\">SELECT</span>&nbsp;\n        </label>\n      </div>\n\n      <div class=gf-form ng-repeat=\"part in selectParts\">\n        <sql-part-editor class=\"gf-form-label sql-part\" part=part handle-event=\"ctrl.handleSelectPartEvent(selectParts, part, $event)\">\n        </sql-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <label class=dropdown dropdown-typeahead2=ctrl.selectMenu dropdown-typeahead-on-select=\"ctrl.addSelectPart(selectParts, $item, $subItem)\" button-template-class=\"gf-form-label query-part\">\n        </label>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-6\">WHERE</label>\n      </div>\n\n      <div class=gf-form ng-repeat=\"part in ctrl.whereParts\">\n        <sql-part-editor class=\"gf-form-label sql-part\" part=part handle-event=\"ctrl.handleWherePartEvent(ctrl.whereParts, part, $event, $index)\">\n        </sql-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <metric-segment segment=ctrl.whereAdd get-options=ctrl.getWhereOptions() on-change=\"ctrl.addWhereAction(part, $index)\"></metric-segment>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label query-keyword width-6\">\n          <span>GROUP BY</span>\n        </label>\n\n        <sql-part-editor ng-repeat=\"part in ctrl.groupParts\" part=part class=\"gf-form-label sql-part\" handle-event=\"ctrl.handleGroupPartEvent(part, $index, $event)\">\n        </sql-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <metric-segment segment=ctrl.groupAdd get-options=ctrl.getGroupOptions() on-change=\"ctrl.addGroupAction(part, $index)\"></metric-segment>\n      </div>\n\n      <div class=\"gf-form gf-form--grow\">\n        <div class=\"gf-form-label gf-form-label--grow\"></div>\n      </div>\n    </div>\n\n  </div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class=\"gf-form-label query-keyword\">Format as</label>\n      <div class=gf-form-select-wrapper>\n        <select class=\"gf-form-input gf-size-auto\" ng-model=ctrl.target.format ng-options=\"f.value as f.text for f in ctrl.formats\" ng-change=ctrl.refresh()></select>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label query-keyword pointer\" ng-click=ctrl.toggleEditorMode() ng-show=\"ctrl.panelCtrl.panel.type !== 'table'\">\n        <span ng-show=ctrl.target.rawQuery>Query Builder</span>\n        <span ng-hide=ctrl.target.rawQuery>Edit SQL</span>\n      </label>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label query-keyword pointer\" ng-click=\"ctrl.showHelp = !ctrl.showHelp\">\n        Show Help\n        <i class=\"fa fa-caret-down\" ng-show=ctrl.showHelp></i>\n        <i class=\"fa fa-caret-right\" ng-hide=ctrl.showHelp></i>\n      </label>\n    </div>\n    <div class=gf-form ng-show=ctrl.lastQueryMeta>\n      <label class=\"gf-form-label query-keyword pointer\" ng-click=\"ctrl.showLastQuerySQL = !ctrl.showLastQuerySQL\">\n        Generated SQL\n        <i class=\"fa fa-caret-down\" ng-show=ctrl.showLastQuerySQL></i>\n        <i class=\"fa fa-caret-right\" ng-hide=ctrl.showLastQuerySQL></i>\n      </label>\n    </div>\n    <div class=\"gf-form gf-form--grow\">\n      <div class=\"gf-form-label gf-form-label--grow\"></div>\n    </div>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showLastQuerySQL>\n    <pre class=gf-form-pre>{{ctrl.lastQueryMeta.sql}}</pre>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showHelp>\n    <pre class=\"gf-form-pre alert alert-info\">Time series:\n- return column named <i>time</i> (UTC in seconds or timestamp)\n- return column(s) with numeric datatype as values\nOptional:\n  - return column named <i>metric</i> to represent the series name.\n  - If multiple value columns are returned the metric column is used as prefix.\n  - If no column named metric is found the column name of the value column is used as series name\n\nResultsets of time series queries need to be sorted by time.\n\nTable:\n- return any set of columns\n\nMacros:\n- $__time(column) -&gt; column as \"time\"\n- $__timeEpoch -&gt; extract(epoch from column) as \"time\"\n- $__timeFilter(column) -&gt; column BETWEEN '2017-04-21T05:01:17Z' AND '2017-04-21T05:01:17Z'\n- $__unixEpochFilter(column) -&gt;  column &gt;= 1492750877 AND column &lt;= 1492750877\n- $__unixEpochNanoFilter(column) -&gt;  column &gt;= 1494410783152415214 AND column &lt;= 1494497183142514872\n- $__timeGroup(column,'5m'[, fillvalue]) -&gt; (extract(epoch from column)/300)::bigint*300\n     by setting fillvalue grafana will fill in missing values according to the interval\n     fillvalue can be either a literal value, NULL or previous; previous will fill in the previous seen value or NULL if none has been seen yet\n- $__timeGroupAlias(column,'5m') -&gt; (extract(epoch from column)/300)::bigint*300 AS \"time\"\n- $__unixEpochGroup(column,'5m') -&gt; floor(column/300)*300\n- $__unixEpochGroupAlias(column,'5m') -&gt; floor(column/300)*300 AS \"time\"\n\nExample of group by and order by with $__timeGroup:\nSELECT\n  $__timeGroup(date_time_col, '1h'),\n  sum(value) as value\nFROM yourtable\nGROUP BY time\nORDER BY time\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -&gt;  '2017-04-21T05:01:17Z'\n- $__timeTo() -&gt;  '2017-04-21T05:01:17Z'\n- $__unixEpochFrom() -&gt;  1492750877\n- $__unixEpochTo() -&gt;  1492750877\n- $__unixEpochNanoFrom() -&gt;  1494410783152415214\n- $__unixEpochNanoTo() -&gt;  1494497183142514872\n    </pre>\n  </div>\n\n  \n\n  <div class=gf-form ng-show=ctrl.lastQueryError>\n    <pre class=\"gf-form-pre alert alert-error\">{{ctrl.lastQueryError}}</pre>\n  </div>\n\n</query-editor-row>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/prometheus/partials/annotations.editor.html":
/*!***********************************************************************************!*\
  !*** ./public/app/plugins/datasource/prometheus/partials/annotations.editor.html ***!
  \***********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/prometheus/partials/annotations.editor.html';
var html = "<div class=gf-form-group>\n\t<div class=gf-form>\n\t\t<span class=\"gf-form-label width-10\">Search expression</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.annotation.expr placeholder=ALERTS>\n\t</div>\n\t<div class=gf-form>\n\t\t<span class=\"gf-form-label width-10\">step</span>\n\t\t<input type=text class=\"gf-form-input max-width-6\" ng-model=ctrl.annotation.step placeholder=60s>\n\t</div>\n</div>\n\n<div class=gf-form-group>\n\t<h5 class=section-heading>Field formats</h5>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-5\">Title</span>\n\t\t\t<input type=text class=\"gf-form-input max-width-9\" ng-model=ctrl.annotation.titleFormat placeholder=alertname>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-5\">Tags</span>\n\t\t\t<input type=text class=\"gf-form-input max-width-9\" ng-model=ctrl.annotation.tagKeys placeholder=label1,label2>\n\t\t</div>\n\t\t<div class=gf-form-inline>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class=\"gf-form-label width-5\">Text</span>\n\t\t\t\t<input type=text class=\"gf-form-input max-width-9\" ng-model=ctrl.annotation.textFormat placeholder=instance>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<h5 class=section-heading>Other options</h5>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<gf-form-switch class=gf-form label=\"Series value as timestamp\" label-class=width-14 checked=ctrl.annotation.useValueForTime tooltip=\"The unit of timestamp is milliseconds. If the unit of the series value is seconds, multiply its range vector by 1000.\">\n\t\t\t</gf-form-switch>\n\t\t</div>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/prometheus/partials/config.html":
/*!***********************************************************************!*\
  !*** ./public/app/plugins/datasource/prometheus/partials/config.html ***!
  \***********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/prometheus/partials/config.html';
var html = "<datasource-http-settings current=ctrl.current suggest-url=http://localhost:9090>\n</datasource-http-settings>\n\n<div class=gf-form-group>\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <span class=\"gf-form-label width-8\">Scrape interval</span>\n      <input type=text class=\"gf-form-input width-8 gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.timeInterval spellcheck=false placeholder=15s ng-pattern=/^\\d+[Mwdhmsy]$/ >\n      <info-popover mode=right-absolute>\n        Set this to your global scrape interval defined in your Prometheus config file. This will be used as a lower limit for the\n        Prometheus step query parameter.\n      </info-popover>\n    </div>\n  </div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <span class=\"gf-form-label width-8\">Query timeout</span>\n      <input type=text class=\"gf-form-input width-8 gf-form-input--has-help-icon\" ng-model=ctrl.current.jsonData.queryTimeout spellcheck=false placeholder=60s ng-pattern=/^\\d+[Mwdhmsy]$/ >\n      <info-popover mode=right-absolute>\n        Set the Prometheus query timeout.\n      </info-popover>\n    </div>\n  </div>\n\n  <div class=gf-form>\n    <label class=\"gf-form-label width-8\">HTTP Method</label>\n    <div class=\"gf-form-select-wrapper width-8 gf-form-select-wrapper--has-help-icon\">\n      <select class=gf-form-input ng-model=ctrl.current.jsonData.httpMethod ng-options=\"method for method in ['GET', 'POST']\"></select>\n      <info-popover mode=right-absolute>\n        Specify the HTTP Method to query Prometheus. (POST is only available in Prometheus >= v2.1.0)\n      </info-popover>\n    </div>\n  </div>\n</div>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/stackdriver/partials/annotations.editor.html":
/*!************************************************************************************!*\
  !*** ./public/app/plugins/datasource/stackdriver/partials/annotations.editor.html ***!
  \************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/stackdriver/partials/annotations.editor.html';
var html = "<stackdriver-annotation-query-editor target=ctrl.annotation.target on-query-change=(ctrl.onQueryChange) datasource=ctrl.datasource template-srv=ctrl.templateSrv></stackdriver-annotation-query-editor>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/stackdriver/partials/config.html":
/*!************************************************************************!*\
  !*** ./public/app/plugins/datasource/stackdriver/partials/config.html ***!
  \************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/stackdriver/partials/config.html';
var html = "<div class=gf-form-group>\n  <div class=grafana-info-box>\n    <h4>Stackdriver Authentication</h4>\n    <p>There are two ways to authenticate the Stackdriver plugin - either by uploading a Service Account key file, or by\n      automatically retrieving credentials from the Google metadata server. The latter option is only available\n      when running Grafana on a GCE virtual machine.</p>\n\n    <h5>Uploading a Service Account Key File</h5>\n    <p>\n      First you need to create a Google Cloud Platform (GCP) Service Account for\n      the Project you want to show data for. A Grafana datasource integrates with one GCP Project. If you want to\n      visualize data from multiple GCP Projects then you need to create one datasource per GCP Project.\n    </p>\n    <p>\n      The <strong>Monitoring Viewer</strong> role provides all the permissions that Grafana needs. The following API\n      needs to be enabled on GCP for the datasource to work: <a class=external-link target=_blank href=https://console.cloud.google.com/apis/library/monitoring.googleapis.com>Monitoring\n        API</a>\n    </p>\n\n    <h5>GCE Default Service Account</h5>\n    <p>\n      If Grafana is running on a Google Compute Engine (GCE) virtual machine, it is possible for Grafana to\n      automatically retrieve the default project id and authentication token from the metadata server. In order for this to\n      work, you need to make sure that you have a service account that is setup as the default account for the virtual\n      machine and that the service account has been given read access to the Stackdriver Monitoring API.\n    </p>\n\n    <p>Detailed instructions on how to create a Service Account can be found <a class=external-link target=_blank href=http://docs.grafana.org/datasources/stackdriver/ >in\n        the documentation.</a>\n    </p>\n  </div>\n</div>\n\n<div class=gf-form-group>\n  <div class=gf-form>\n    <h3>Authentication</h3>\n    <info-popover mode=header>Upload your Service Account key file or paste in the contents of the file. The file\n      contents will be encrypted and saved in the Grafana database.</info-popover>\n  </div>\n\n  <div class=gf-form-inline>\n    <div class=\"gf-form max-width-30\">\n      <span class=\"gf-form-label width-10\">Authentication Type</span>\n      <div class=\"gf-form-select-wrapper max-width-24\">\n        <select class=gf-form-input ng-model=ctrl.current.jsonData.authenticationType ng-options=\"f.key as f.value for f in ctrl.authenticationTypes\"></select>\n      </div>\n    </div>\n  </div>\n\n  <div ng-if=\"ctrl.current.jsonData.authenticationType === ctrl.defaultAuthenticationType && !ctrl.current.jsonData.clientEmail && !ctrl.inputDataValid\">\n    <div class=gf-form-group ng-if=!ctrl.inputDataValid>\n      <div class=gf-form>\n        <form>\n          <dash-upload on-upload=ctrl.onUpload(dash) btn-text=\"Upload Service Account key file\"></dash-upload>\n        </form>\n      </div>\n    </div>\n    <div class=gf-form-group>\n      <h5 class=section-heading ng-if=!ctrl.inputDataValid>Or paste Service Account key JSON</h5>\n      <div class=gf-form ng-if=!ctrl.inputDataValid>\n        <textarea rows=10 data-share-panel-url=\"\" class=gf-form-input ng-model=ctrl.jsonText ng-paste=ctrl.onPasteJwt($event)></textarea>\n      </div>\n      <div ng-repeat=\"valError in ctrl.validationErrors\" class=\"text-error p-l-1\">\n        <i class=\"fa fa-warning\"></i>\n        {{valError}}\n      </div>\n    </div>\n  </div>\n</div>\n\n<div class=gf-form-group ng-if=\"ctrl.current.jsonData.authenticationType === ctrl.defaultAuthenticationType && (ctrl.inputDataValid || ctrl.current.jsonData.clientEmail)\">\n  <h6>Uploaded Key Details</h6>\n\n  <div class=gf-form>\n    <span class=\"gf-form-label width-10\">Project</span>\n    <input class=\"gf-form-input width-40\" disabled=disabled type=text ng-model=ctrl.current.jsonData.defaultProject />\n  </div>\n  <div class=gf-form>\n    <span class=\"gf-form-label width-10\">Client Email</span>\n    <input class=\"gf-form-input width-40\" disabled=disabled type=text ng-model=ctrl.current.jsonData.clientEmail />\n  </div>\n  <div class=gf-form>\n    <span class=\"gf-form-label width-10\">Token URI</span>\n    <input class=\"gf-form-input width-40\" disabled=disabled type=text ng-model=ctrl.current.jsonData.tokenUri />\n  </div>\n  <div class=gf-form ng-if=ctrl.current.secureJsonFields.privateKey>\n    <span class=\"gf-form-label width-10\">Private Key</span>\n    <input type=text class=\"gf-form-input max-width-12\" disabled=disabled value=configured>\n  </div>\n\n  <div class=\"gf-form width-18\">\n    <a class=\"btn btn-secondary gf-form-btn\" href=# ng-click=ctrl.resetValidationMessages()>Reset Service\n      Account Key </a>\n    <info-popover mode=right-normal>\n      Reset to clear the uploaded key and upload a new file.\n    </info-popover>\n  </div>\n</div>\n\n<p class=gf-form-label ng-hide=\"ctrl.current.secureJsonFields.privateKey || ctrl.current.jsonData.authenticationType !== ctrl.defaultAuthenticationType\"><i class=\"fa fa-save\"></i> Do not forget to save your changes after uploading a file.</p>\n\n<p class=gf-form-label ng-show=\"ctrl.current.jsonData.authenticationType !== ctrl.defaultAuthenticationType\"><i class=\"fa fa-save\"></i>\n  Verify GCE default service account by clicking Save & Test</p>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/stackdriver/partials/query.editor.html":
/*!******************************************************************************!*\
  !*** ./public/app/plugins/datasource/stackdriver/partials/query.editor.html ***!
  \******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/stackdriver/partials/query.editor.html';
var html = "<query-editor-row query-ctrl=ctrl has-text-edit-mode=false>\n  <stackdriver-query-editor target=ctrl.target events=ctrl.panelCtrl.events datasource=ctrl.datasource template-srv=ctrl.templateSrv on-query-change=(ctrl.onQueryChange) on-execute-query=(ctrl.onExecuteQuery)></stackdriver-query-editor>\n</query-editor-row>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/stackdriver/partials/query.filter.html":
/*!******************************************************************************!*\
  !*** ./public/app/plugins/datasource/stackdriver/partials/query.filter.html ***!
  \******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/stackdriver/partials/query.filter.html';
var html = "<div class=gf-form-inline>\n  <div class=gf-form>\n    <span class=\"gf-form-label query-keyword width-9\">Filter</span>\n    <div class=gf-form ng-repeat=\"segment in ctrl.filterSegments.filterSegments\">\n      <metric-segment segment=segment get-options=\"ctrl.getFilters(segment, $index)\" on-change=\"ctrl.filterSegmentUpdated(segment, $index)\"></metric-segment>\n    </div>\n  </div>\n  <div class=\"gf-form gf-form--grow\"><div class=\"gf-form-label gf-form-label--grow\"></div></div>\n</div>\n<div class=gf-form-inline ng-hide=ctrl.hideGroupBys>\n  <div class=gf-form>\n    <span class=\"gf-form-label query-keyword width-9\">Group By</span>\n    <div class=gf-form ng-repeat=\"segment in ctrl.groupBySegments\">\n      <metric-segment segment=segment get-options=ctrl.getGroupBys(segment) on-change=\"ctrl.groupByChanged(segment, $index)\"></metric-segment>\n    </div>\n  </div>\n  <div class=\"gf-form gf-form--grow\"><div class=\"gf-form-label gf-form-label--grow\"></div></div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/datasource/testdata/partials/query.editor.html":
/*!***************************************************************************!*\
  !*** ./public/app/plugins/datasource/testdata/partials/query.editor.html ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/datasource/testdata/partials/query.editor.html';
var html = "<query-editor-row query-ctrl=ctrl has-text-edit-mode=false>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label query-keyword width-7\">Scenario</label>\n\t\t\t<div class=\"gf-form-select-wrapper width-15\">\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.target.scenarioId ng-options=\"v.id as v.name for v in ctrl.scenarioList\" ng-change=ctrl.scenarioChanged() aria-label=\"Scenario Select\"></select>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"gf-form gf-form gf-form--grow\" ng-if=ctrl.scenario.stringInput>\n\t\t\t<label class=\"gf-form-label query-keyword\">String Input</label>\n      <input type=text class=gf-form-input placeholder={{ctrl.scenario.stringInput}} ng-model=ctrl.target.stringInput ng-change=ctrl.refresh() ng-model-onblur>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label query-keyword\">Alias</label>\n\t\t\t<input type=text class=\"gf-form-input max-width-7\" placeholder=optional ng-model=ctrl.target.alias ng-change=ctrl.refresh() ng-model-onblur>\n\t\t</div>\n\t\t<div ng-if=ctrl.showLabels class=\"gf-form gf-form--grow\">\n\t\t\t<label class=\"gf-form-label query-keyword\">\n\t\t\t\tLabels\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tSet labels using a key=value syntax:<br/>\n\t\t\t\t\t{key=\"value\", key2=\"value\"}<br/>\n\t\t\t\t\tkey=\"value\", key2=\"value\"<br/>\n\t\t\t\t\tkey=value, key2=value<br/>\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t\t<input type=text class=\"gf-form-input gf-form--grow\" placeholder=\"key=value, key2=value2\" ng-model=ctrl.target.labels ng-change=ctrl.refresh() ng-model-onblur>\n\t\t</div>\n\t\t<div ng-if=!ctrl.showLabels class=\"gf-form gf-form--grow\">\n\t\t\t<div class=\"gf-form-label gf-form-label--grow\"></div>\n\t\t</div>\n\t</div>\n\t<div class=gf-form-inline ng-if=\"ctrl.scenario.id === 'manual_entry'\">\n\t\t<div class=\"gf-form gf-form\">\n\t\t\t<label class=\"gf-form-label query-keyword width-7\">New value</label>\n      <input type=number class=\"gf-form-input width-15\" placeholder=value ng-model=ctrl.newPointValue>\n\t\t\t<label class=\"gf-form-label query-keyword\">Time</label>\n      <input type=string class=\"gf-form-input width-12\" placeholder=time ng-model=ctrl.newPointTime input-datetime>\n\t\t\t<button class=\"btn btn-secondary gf-form-btn\" ng-click=ctrl.addPoint()>Add</button>\n\t\t\t<label class=\"gf-form-label query-keyword\">All values</label>\n\t\t\t<gf-form-dropdown css-class=width-12 model=ctrl.selectedPoint get-options=ctrl.getPoints() on-change=ctrl.pointSelected($option)>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\t\t<div class=\"gf-form gf-form\" ng-if=\"ctrl.selectedPoint.value !== null\">\n\t\t\t<button class=\"btn btn-danger gf-form-btn\" ng-click=ctrl.deletePoint()>Delete</button>\n\t\t</div>\n\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t<div class=\"gf-form-label gf-form-label--grow\"></div>\n\t\t</div>\n\t</div>\n\t<div class=gf-form-inline ng-if=\"ctrl.scenario.id === 'streaming_client'\">\n\t\t<div class=\"gf-form gf-form\">\n\t\t\t<label class=\"gf-form-label query-keyword width-7\">Type</label>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select ng-model=ctrl.target.stream.type class=gf-form-input ng-options=\"type for type in ['signal','logs', 'fetch']\" ng-change=ctrl.streamChanged() />\n\t\t\t\t\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label query-keyword\">Speed (ms)</label>\n\t\t\t<input type=number class=\"gf-form-input width-5\" placeholder=value ng-model=ctrl.target.stream.speed min=10 step=10 ng-change=ctrl.streamChanged() />\n\t\t</div>\n\t\t<div class=gf-form ng-if=\"ctrl.target.stream.type === 'signal'\">\n\t\t\t<label class=\"gf-form-label query-keyword\">Spread</label>\n\t\t\t<input type=number class=\"gf-form-input width-5\" placeholder=value ng-model=ctrl.target.stream.spread min=0.5 step=0.1 ng-change=ctrl.streamChanged() />\n\t\t</div>\n\t\t<div class=gf-form ng-if=\"ctrl.target.stream.type === 'signal'\">\n\t\t\t<label class=\"gf-form-label query-keyword\">Noise</label>\n\t\t\t<input type=number class=\"gf-form-input width-5\" placeholder=value ng-model=ctrl.target.stream.noise min=0 step=0.1 ng-change=ctrl.streamChanged() />\n\t\t</div>\n\t\t<div class=gf-form ng-if=\"ctrl.target.stream.type === 'signal'\">\n\t\t\t<label class=\"gf-form-label query-keyword\">Bands</label>\n\t\t\t<input type=number class=\"gf-form-input width-5\" placeholder=bands ng-model=ctrl.target.stream.bands min=0 step=1 ng-change=ctrl.streamChanged() />\n\t\t</div>\n\t\t<div class=\"gf-form gf-form--grow\" ng-if=\"ctrl.target.stream.type === 'fetch'\">\n\t\t\t<label class=\"gf-form-label query-keyword\">URL</label>\n\t\t\t<input type=string class=\"gf-form-input gf-form-label--grow\" placeholder=\"Fetch URL\" ng-model=ctrl.target.stream.url ng-change=ctrl.streamChanged() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=\"gf-form gf-form--grow\" ng-if=\"ctrl.target.stream.type !== 'fetch'\">\n\t\t\t<div class=\"gf-form-label gf-form-label--grow\"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline ng-if=\"ctrl.scenario.id === 'logs'\">\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label query-keyword\">Lines</label>\n\t\t\t<input type=number class=\"gf-form-input width-5\" placeholder=10 ng-model=ctrl.target.lines ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<gf-form-switch class=gf-form label=Level label-class=\"query-keyword width-5\" checked=ctrl.target.levelColumn switch-class=max-width-6 on-change=ctrl.refresh()></gf-form-switch>\n\t\t</div>\n\t</div>\n\n\t<!-- Predictable Pulse Scenario Options Form -->\n\t<div class=gf-form-inline ng-if=\"ctrl.scenario.id === 'predictable_pulse'\">\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label query-keyword width-7\">\n\t\t\t\tStep\n\t\t\t\t<info-popover mode=right-normal>The number of seconds between datapoints.</info-popover>\n\t\t\t</label>\n\t\t\t\t<input type=number class=\"gf-form-input width-5\" placeholder=60 ng-model=ctrl.target.pulseWave.timeStep ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label query-keyword width-7\">\n\t\t\t\tOn Count\n\t\t\t\t<info-popover mode=right-normal>The number of values within a cycle, at the start of the cycle, that should have the onValue.</info-popover>\n\t\t\t</label>\n\t\t\t<input type=number class=\"gf-form-input width-3\" placeholder=3 ng-model=ctrl.target.pulseWave.onCount ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label query-keyword width-7\">\n\t\t\t\tOff Count\n\t\t\t\t<info-popover mode=right-normal>The number of offValues within the cycle.</info-popover>\n\t\t\t</label>\n\t\t\t<input type=number class=\"gf-form-input width-3\" placeholder=6 ng-model=ctrl.target.pulseWave.offCount ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label query-keyword width-7\">\n\t\t\t\tOn Value\n\t\t\t\t<info-popover mode=right-normal>The value for \"on values\", may be a int, float, or null.</info-popover>\n\t\t\t</label>\n\t\t\t<input type=string class=\"gf-form-input width-5\" placeholder=1 ng-model=ctrl.target.pulseWave.onValue ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label query-keyword width-7\">\n\t\t\t\tOff Value\n\t\t\t\t<info-popover mode=right-normal>The value for \"off values\", may be a int, float, or null.</info-popover>\n\t\t\t</label>\n\t\t\t<input type=string class=\"gf-form-input width-5\" placeholder=1 ng-model=ctrl.target.pulseWave.offValue ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t</div>\n\n\t<!-- Predictable CSV Wave Scenario Options Form -->\n\t<div class=gf-form-inline ng-if=\"ctrl.scenario.id === 'predictable_csv_wave'\">\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=\"gf-form-label query-keyword width-7\">\n\t\t\t\t\tStep\n\t\t\t\t\t<info-popover mode=right-normal>The number of seconds between datapoints.</info-popover>\n\t\t\t\t</label>\n\t\t\t\t\t<input type=number class=\"gf-form-input width-5\" placeholder=60 ng-model=ctrl.target.csvWave.timeStep ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t\t</div>\n\t\t\t<div class=\"gf-form gf-form--grow\">\n\t\t\t\t\t<label class=\"gf-form-label query-keyword width-10\">\n\t\t\t\t\t\t\tCSV Values\n\t\t\t\t\t\t\t<info-popover mode=right-normal>Comma separated values. Each value may be an int, float, or null and must not be empty. Whitespace and trailing commas are removed.</info-popover>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t<input type=string class=\"gf-form-input gf-form-label--grow\" placeholder=1,2,3,2 ng-model=ctrl.target.csvWave.valuesCSV ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t\t\t</div>\n\t\t</div>\n</query-editor-row>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/alertlist/editor.html":
/*!********************************************************!*\
  !*** ./public/app/plugins/panel/alertlist/editor.html ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/alertlist/editor.html';
var html = "<div>\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Options</h5>\n    <div class=gf-form>\n      <span class=\"gf-form-label width-8\">Show</span>\n      <div class=\"gf-form-select-wrapper max-width-15\">\n        <select class=gf-form-input ng-model=ctrl.panel.show ng-options=\"f.value as f.text for f in ctrl.showOptions\" ng-change=ctrl.onRefresh()></select>\n      </div>\n    </div>\n    <div class=gf-form>\n      <span class=\"gf-form-label width-8\">Max items</span>\n      <input type=text class=\"gf-form-input max-width-15\" ng-model=ctrl.panel.limit ng-change=ctrl.onRefresh() />\n    </div>\n    <div class=gf-form ng-show=\"ctrl.panel.show === 'current'\">\n      <span class=\"gf-form-label width-8\">Sort order</span>\n      <div class=\"gf-form-select-wrapper max-width-15\">\n        <select class=gf-form-input ng-model=ctrl.panel.sortOrder ng-options=\"f.value as f.text for f in ctrl.sortOrderOptions\" ng-change=ctrl.onRefresh()></select>\n      </div>\n    </div>\n    <gf-form-switch class=gf-form label=\"Alerts from this dashboard\" label-class=width-18 checked=ctrl.panel.onlyAlertsOnDashboard on-change=ctrl.updateStateFilter()></gf-form-switch>\n  </div>\n  <div class=\"section gf-form-group\" ng-show=\"ctrl.panel.show === 'current'\">\n    <h5 class=section-heading>Filter</h5>\n    <div class=gf-form>\n      <span class=\"gf-form-label width-8\">Alert name</span>\n      <input type=text class=\"gf-form-input max-width-15\" ng-model=ctrl.panel.nameFilter placeholder=\"Alert name query\" ng-change=ctrl.onRefresh() />\n    </div>\n    <div class=gf-form>\n      <span class=\"gf-form-label width-8\">Dashboard title</span>\n      <input type=text class=gf-form-input placeholder=\"Dashboard title query\" ng-model=ctrl.panel.dashboardFilter ng-change=ctrl.onRefresh() ng-model-onblur>\n    </div>\n    <div class=gf-form>\n      <folder-picker initial-folder-id=ctrl.panel.folderId on-change=ctrl.onFolderChange($folder) label-class=width-8 initial-title=\"'All'\" enable-reset=true>\n      </folder-picker>\n    </div>\n    <div class=gf-form>\n        <span class=\"gf-form-label width-8\">Dashboard tags</span>\n        <bootstrap-tagsinput ng-model=ctrl.panel.dashboardTags tagclass=\"label label-tag\" placeholder=\"add tags\" on-tags-updated=ctrl.refresh()>\n        </bootstrap-tagsinput>\n    </div>\n  </div>\n  <div class=\"section gf-form-group\" ng-show=\"ctrl.panel.show === 'current'\">\n    <h5 class=section-heading>State filter</h5>\n    <gf-form-switch class=gf-form label=Ok label-class=width-10 checked=\"ctrl.stateFilter['ok']\" on-change=ctrl.updateStateFilter()></gf-form-switch>\n    <gf-form-switch class=gf-form label=Paused label-class=width-10 checked=\"ctrl.stateFilter['paused']\" on-change=ctrl.updateStateFilter()></gf-form-switch>\n    <gf-form-switch class=gf-form label=\"No data\" label-class=width-10 checked=\"ctrl.stateFilter['no_data']\" on-change=ctrl.updateStateFilter()></gf-form-switch>\n    <gf-form-switch class=gf-form label=\"Execution error\" label-class=width-10 checked=\"ctrl.stateFilter['execution_error']\" on-change=ctrl.updateStateFilter()></gf-form-switch>\n    <gf-form-switch class=gf-form label=Alerting label-class=width-10 checked=\"ctrl.stateFilter['alerting']\" on-change=ctrl.updateStateFilter()></gf-form-switch>\n    <gf-form-switch class=gf-form label=Pending label-class=width-10 checked=\"ctrl.stateFilter['pending']\" on-change=ctrl.updateStateFilter()></gf-form-switch>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/alertlist/module.html":
/*!********************************************************!*\
  !*** ./public/app/plugins/panel/alertlist/module.html ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/alertlist/module.html';
var html = "<div class=panel-alert-list>\n  <div class=panel-alert-list__no-alerts ng-show=ctrl.noAlertsMessage>\n    {{ctrl.noAlertsMessage}}\n  </div>\n\n  <section ng-if=\"ctrl.panel.show === 'current'\">\n    <ol class=alert-rule-list>\n      <li class=alert-rule-item ng-repeat=\"alert in ctrl.currentAlerts\">\n        <div class=\"alert-rule-item__icon {{alert.stateModel.stateClass}}\">\n          <i class={{alert.stateModel.iconClass}}></i>\n        </div>\n        <div class=alert-rule-item__body>\n          <div class=alert-rule-item__header>\n            <p class=alert-rule-item__name>\n              <a href=\"{{alert.url}}?panelId={{alert.panelId}}&fullscreen&edit&tab=alert\">\n                {{alert.name}}\n              </a>\n            </p>\n            <div class=alert-rule-item__text>\n              <span class={{alert.stateModel.stateClass}}>{{alert.stateModel.text}}</span>\n              <span class=alert-rule-item__time>for {{alert.newStateDateAgo}}</span>\n            </div>\n          </div>\n        </div>\n      </li>\n    </ol>\n  </section>\n\n  <section ng-if=\"ctrl.panel.show === 'changes'\">\n    <ol class=alert-rule-list>\n      <li class=alert-rule-item ng-repeat=\"al in ctrl.alertHistory\">\n        <div class=\"alert-rule-item__icon {{al.stateModel.stateClass}}\">\n          <i class={{al.stateModel.iconClass}}></i>\n        </div>\n        <div class=alert-rule-item__body>\n          <div class=alert-rule-item__header>\n            <p class=alert-rule-item__name>{{al.alertName}}</p>\n            <div class=alert-rule-item__text>\n              <span class={{al.stateModel.stateClass}}>{{al.stateModel.text}}</span>\n            </div>\n          </div>\n          <span class=alert-rule-item__info>{{al.info}}</span>\n        </div>\n        <div class=alert-rule-item__time>\n          <span>{{al.time}}</span>\n        </div>\n      </li>\n    </ol>\n  </section>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/dashlist/editor.html":
/*!*******************************************************!*\
  !*** ./public/app/plugins/panel/dashlist/editor.html ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/dashlist/editor.html';
var html = "<div>\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Options</h5>\n\n    <gf-form-switch class=gf-form label=Starred label-class=width-9 checked=ctrl.panel.starred on-change=ctrl.refresh()></gf-form-switch>\n    <gf-form-switch class=gf-form label=\"Recently viewed\" label-class=width-9 checked=ctrl.panel.recent on-change=ctrl.refresh()></gf-form-switch>\n    <gf-form-switch class=gf-form label=Search label-class=width-9 checked=ctrl.panel.search on-change=ctrl.refresh()></gf-form-switch>\n\n    <gf-form-switch class=gf-form label=\"Show headings\" label-class=width-9 checked=ctrl.panel.headings on-change=ctrl.refresh()></gf-form-switch>\n\n    <div class=gf-form>\n      <span class=\"gf-form-label width-9\">Max items</span>\n      <input class=\"gf-form-input max-width-5\" type=number ng-model=ctrl.panel.limit ng-model-onblur ng-change=ctrl.refresh()>\n    </div>\n  </div>\n\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Search</h5>\n\n    <div class=gf-form>\n      <span class=\"gf-form-label width-6\">Query</span>\n      <input type=text class=gf-form-input placeholder=\"title query\" ng-model=ctrl.panel.query ng-change=ctrl.refresh() ng-model-onblur>\n    </div>\n\n    <div class=gf-form>\n      <folder-picker initial-folder-id=ctrl.panel.folderId on-change=ctrl.onFolderChange($folder) label-class=width-6 initial-title=\"'All'\" enable-reset=true>\n\t\t\t</folder-picker>\n    </div>\n\n    <div class=gf-form>\n      <span class=\"gf-form-label width-6\">Tags</span>\n      <bootstrap-tagsinput ng-model=ctrl.panel.tags tagclass=\"label label-tag\" placeholder=\"add tags\" on-tags-updated=ctrl.refresh()>\n      </bootstrap-tagsinput>\n    </div>\n  </div>\n\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/dashlist/module.html":
/*!*******************************************************!*\
  !*** ./public/app/plugins/panel/dashlist/module.html ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/dashlist/module.html';
var html = "<div>\n  <div class=dashlist ng-repeat=\"group in ctrl.groups\">\n    <div class=dashlist-section ng-if=group.show>\n      <h6 class=dashlist-section-header ng-show=ctrl.panel.headings>\n        {{group.header}}\n      </h6>\n      <div class=dashlist-item ng-repeat=\"dash in group.list\">\n        <a class=\"dashlist-link dashlist-link-{{dash.type}}\" href={{dash.url}}>\n          <span class=dashlist-title>\n            {{dash.title}}\n          </span>\n          <span class=dashlist-star ng-click=\"ctrl.starDashboard(dash, $event)\">\n            <i class=fa ng-class=\"{'fa-star': dash.isStarred, 'fa-star-o': dash.isStarred === false}\"></i>\n          </span>\n        </a>\n      </div>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/graph/axes_editor.html":
/*!*********************************************************!*\
  !*** ./public/app/plugins/panel/graph/axes_editor.html ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/graph/axes_editor.html';
var html = "<div class=editor-row>\n\t<div class=\"section gf-form-group\" ng-repeat=\"yaxis in ctrl.panel.yaxes\">\n\n\t\t<h5 class=section-heading ng-show=\"$index === 0\">Left Y</h5>\n\t\t<h5 class=section-heading ng-show=\"$index === 1\">Right Y</h5>\n\n\t\t<gf-form-switch class=gf-form label=Show label-class=width-6 checked=yaxis.show on-change=ctrl.render()></gf-form-switch>\n\n\t\t<div ng-if=yaxis.show>\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=\"gf-form-label width-6\">Unit</label>\n\t\t\t\t<div class=\"gf-form-dropdown-typeahead max-width-20\" ng-model=yaxis.format dropdown-typeahead2=ctrl.unitFormats dropdown-typeahead-on-select=\"ctrl.setUnitFormat(yaxis, $subItem)\"></div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=\"gf-form-label width-6\">Scale</label>\n\t\t\t\t<div class=\"gf-form-select-wrapper max-width-20\">\n\t\t\t\t\t<select class=gf-form-input ng-model=yaxis.logBase ng-options=\"v as k for (k, v) in ctrl.logScales\" ng-change=ctrl.render()></select>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form-inline>\n\t\t\t\t<div class=gf-form>\n\t\t\t\t\t<label class=\"gf-form-label width-6\">Y-Min</label>\n\t\t\t\t\t<input type=text class=\"gf-form-input width-5\" placeholder=auto empty-to-null ng-model=yaxis.min ng-change=ctrl.render() ng-model-onblur>\n\t\t\t\t</div>\n\t\t\t\t<div class=gf-form>\n\t\t\t\t\t<label class=\"gf-form-label width-6\">Y-Max</label>\n\t\t\t\t\t<input type=text class=\"gf-form-input width-5\" placeholder=auto empty-to-null ng-model=yaxis.max ng-change=ctrl.render() ng-model-onblur>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t<div ng-if=yaxis.show>\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=\"gf-form-label width-6\">Decimals</label>\n\t\t\t\t<input type=number class=\"gf-form-input max-width-20\" placeholder=auto empty-to-null bs-tooltip=\"'Override automatic decimal precision for y-axis'\" data-placement=right ng-model=yaxis.decimals ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=\"gf-form-label width-6\">Label</label>\n\t\t\t\t<input type=text class=\"gf-form-input max-width-20\" ng-model=yaxis.label ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"section gf-form-group\" aria-label=\"X-Axis section\">\n\t\t<h5 class=section-heading>X-Axis</h5>\n\t\t<gf-form-switch class=gf-form label=Show label-class=width-6 checked=ctrl.panel.xaxis.show on-change=ctrl.render()></gf-form-switch>\n\n\t\t<div class=gf-form>\n\t\t\t<label class=\"gf-form-label width-6\">Mode</label>\n\t\t\t<div class=\"gf-form-select-wrapper max-width-15\">\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.panel.xaxis.mode ng-options=\"v as k for (k, v) in ctrl.xAxisModes\" ng-change=ctrl.xAxisModeChanged()> </select>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- Series mode -->\n\t\t<div class=gf-form ng-if=\"ctrl.panel.xaxis.mode === 'series'\">\n\t\t\t<label class=\"gf-form-label width-6\">Value</label>\n      <metric-segment-model property=ctrl.panel.xaxis.values[0] options=ctrl.xAxisStatOptions on-change=ctrl.xAxisValueChanged() custom=false css-class=width-10 select-mode=true></metric-segment-model>\n\t\t</div>\n\n\t\t<!-- Histogram mode -->\n\t\t<div class=gf-form ng-if=\"ctrl.panel.xaxis.mode === 'histogram'\">\n\t\t\t<label class=\"gf-form-label width-6\">Buckets</label>\n\t\t\t<input type=number class=\"gf-form-input max-width-8\" ng-model=ctrl.panel.xaxis.buckets placeholder=auto ng-change=ctrl.render() ng-model-onblur bs-tooltip=\"'Number of buckets'\" data-placement=right>\n\t\t</div>\n\n\t\t<div class=gf-form-inline ng-if=\"ctrl.panel.xaxis.mode === 'histogram'\">\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=\"gf-form-label width-6\">X-Min</label>\n\t\t\t\t<input type=number class=\"gf-form-input width-5\" placeholder=auto empty-to-null ng-model=ctrl.panel.xaxis.min ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=\"gf-form-label width-6\">X-Max</label>\n\t\t\t\t<input type=number class=\"gf-form-input width-5\" placeholder=auto empty-to-null ng-model=ctrl.panel.xaxis.max ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div>\n\t\t\t<br/>\n\t\t\t<h5 class=section-heading>Y-Axes</h5>\n\t\t\t<gf-form-switch class=gf-form label=Align tooltip=\"Align left and right Y-axes\" label-class=width-6 switch-class=width-5 checked=ctrl.panel.yaxis.align on-change=ctrl.render()></gf-form-switch>\n\t\t\t<div class=gf-form ng-show=ctrl.panel.yaxis.align>\n\t\t\t\t<label class=\"gf-form-label width-6\">\n\t\t\t\t\tLevel\n\t\t\t\t</label>\n\t\t\t\t<input type=number class=\"gf-form-input width-5\" placeholder=0 ng-model=ctrl.panel.yaxis.alignLevel ng-change=ctrl.render() ng-model-onblur bs-tooltip=\"'Alignment of Y-axes are based on this value, starting from Y=0'\" data-placement=right>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/graph/tab_display.html":
/*!*********************************************************!*\
  !*** ./public/app/plugins/panel/graph/tab_display.html ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/graph/tab_display.html';
var html = "<div class=editor-row>\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Draw Modes</h5>\n    <gf-form-switch class=gf-form label=Bars label-class=width-5 checked=ctrl.panel.bars on-change=ctrl.render()></gf-form-switch>\n    <gf-form-switch class=gf-form label=Lines label-class=width-5 checked=ctrl.panel.lines on-change=ctrl.render()></gf-form-switch>\n    <gf-form-switch class=gf-form label=Points label-class=width-5 checked=ctrl.panel.points on-change=ctrl.render()></gf-form-switch>\n  </div>\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Mode Options</h5>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-8\">Fill</label>\n      <div class=\"gf-form-select-wrapper max-width-5\">\n        <select class=gf-form-input ng-model=ctrl.panel.fill ng-options=\"f for f in [0,1,2,3,4,5,6,7,8,9,10]\" ng-change=ctrl.render() ng-disabled=!ctrl.panel.lines></select>\n      </div>\n    </div>\n    <div class=gf-form ng-if=\"ctrl.panel.lines && ctrl.panel.fill\">\n      <label class=\"gf-form-label width-8\">Fill Gradient</label>\n      <div class=\"gf-form-select-wrapper max-width-5\">\n        <select class=gf-form-input ng-model=ctrl.panel.fillGradient ng-options=\"f for f in [0,1,2,3,4,5,6,7,8,9,10]\" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-8\">Line Width</label>\n      <div class=\"gf-form-select-wrapper max-width-5\">\n        <select class=gf-form-input ng-model=ctrl.panel.linewidth ng-options=\"f for f in [0,1,2,3,4,5,6,7,8,9,10]\" ng-change=ctrl.render() ng-disabled=!ctrl.panel.lines></select>\n      </div>\n    </div>\n    <gf-form-switch ng-disabled=!ctrl.panel.lines class=gf-form label=Staircase label-class=width-8 checked=ctrl.panel.steppedLine on-change=ctrl.render()>\n    </gf-form-switch>\n    <div class=gf-form ng-if=ctrl.panel.points>\n      <label class=\"gf-form-label width-8\">Point Radius</label>\n      <div class=\"gf-form-select-wrapper max-width-5\">\n        <select class=gf-form-input ng-model=ctrl.panel.pointradius ng-options=\"f for f in [0.5,1,2,3,4,5,6,7,8,9,10]\" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n  </div>\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Hover tooltip</h5>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-9\">Mode</label>\n      <div class=\"gf-form-select-wrapper max-width-8\">\n        <select class=gf-form-input ng-model=ctrl.panel.tooltip.shared ng-options=\"f.value as f.text for f in [{text: 'All series', value: true}, {text: 'Single', value: false}]\" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-9\">Sort order</label>\n      <div class=\"gf-form-select-wrapper max-width-8\">\n        <select class=gf-form-input ng-model=ctrl.panel.tooltip.sort ng-options=\"f.value as f.text for f in [{text: 'None', value: 0}, {text: 'Increasing', value: 1}, {text: 'Decreasing', value: 2}]\" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n    <div class=gf-form ng-show=ctrl.panel.stack>\n      <label class=\"gf-form-label width-9\">Stacked value</label>\n      <div class=\"gf-form-select-wrapper max-width-8\">\n        <select class=gf-form-input ng-model=ctrl.panel.tooltip.value_type ng-options=\"f for f in ['cumulative','individual']\" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Stacking & Null value</h5>\n    <gf-form-switch class=gf-form label=Stack label-class=width-7 checked=ctrl.panel.stack on-change=ctrl.render()>\n    </gf-form-switch>\n    <gf-form-switch class=gf-form ng-show=ctrl.panel.stack label=Percent label-class=width-7 checked=ctrl.panel.percentage on-change=ctrl.render()>\n    </gf-form-switch>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-7\">Null value</label>\n      <div class=gf-form-select-wrapper>\n        <select class=\"gf-form-input max-width-9\" ng-model=ctrl.panel.nullPointMode ng-options=\"f for f in ['connected', 'null', 'null as zero']\" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n  </div>\n</div>\n\n<div>\n  <div class=gf-form-inline ng-repeat=\"override in ctrl.panel.seriesOverrides\" ng-controller=SeriesOverridesCtrl>\n    <div class=gf-form>\n      <label class=gf-form-label>alias or regex</label>\n    </div>\n    <div class=\"gf-form width-15\">\n      <input type=text ng-model=override.alias bs-typeahead=getSeriesNames ng-blur=ctrl.render() data-min-length=0 data-items=100 class=\"gf-form-input width-15\"/>\n    </div>\n    <div class=gf-form ng-repeat=\"option in currentOverrides\">\n      <label class=gf-form-label>\n        <i class=\"pointer fa fa-remove\" ng-click=removeOverride(option)></i>\n        <span ng-show=\"option.propertyName === 'color'\">\n          Color: <i class=\"fa fa-circle\" ng-style={color:option.value}></i>\n        </span>\n        <span ng-show=\"option.propertyName !== 'color'\"> {{ option.name }}: {{ option.value }} </span>\n      </label>\n    </div>\n\n    <div class=gf-form>\n      <span class=dropdown dropdown-typeahead2=overrideMenu dropdown-typeahead-on-select=\"setOverride($item, $subItem)\" button-template-class=gf-form-label>\n      </span>\n    </div>\n\n    <div class=\"gf-form gf-form--grow\">\n      <div class=\"gf-form-label gf-form-label--grow\"></div>\n    </div>\n\n    <div class=gf-form>\n      <label class=gf-form-label>\n        <i class=\"fa fa-trash pointer\" ng-click=ctrl.removeSeriesOverride(override)></i>\n      </label>\n    </div>\n  </div>\n  <div class=gf-form-button-row>\n    <button class=\"btn btn-inverse\" ng-click=ctrl.addSeriesOverride()>\n      <i class=\"fa fa-plus\"></i>&nbsp;Add series override<tip>Regex match example: /server[0-3]/i </tip>\n    </button>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/graph/tab_drilldown_links.html":
/*!*****************************************************************!*\
  !*** ./public/app/plugins/panel/graph/tab_drilldown_links.html ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/graph/tab_drilldown_links.html';
var html = "<drilldown-links-editor value=ctrl.panel.options.dataLinks suggestions=ctrl.linkVariableSuggestions on-change=ctrl.onDataLinksChange></drilldown-links-editor>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/graph/tab_legend.html":
/*!********************************************************!*\
  !*** ./public/app/plugins/panel/graph/tab_legend.html ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/graph/tab_legend.html';
var html = "<div class=editor-row>\n\t<div class=\"section gf-form-group\">\n\t\t<h5 class=section-heading>Options</h5>\n\t\t<gf-form-switch class=gf-form label=Show label-class=width-7 checked=ctrl.panel.legend.show on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t\t<gf-form-switch class=gf-form label=\"As Table\" label-class=width-7 checked=ctrl.panel.legend.alignAsTable on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t\t<gf-form-switch class=gf-form label=\"To the right\" label-class=width-7 checked=ctrl.panel.legend.rightSide on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t\t<div ng-if=ctrl.panel.legend.rightSide class=gf-form>\n\t\t\t<label class=\"gf-form-label width-7\">Width</label>\n\t\t\t<input type=number class=\"gf-form-input max-width-5\" placeholder=250 bs-tooltip=\"'Set a min-width for the legend side table/block'\" data-placement=right ng-model=ctrl.panel.legend.sideWidth ng-change=ctrl.render() ng-model-onblur>\n\t\t</div>\n\t</div>\n\n\t<div class=\"section gf-form-group\">\n\t\t<h5 class=section-heading>Values</h5>\n\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-switch class=gf-form label=Min label-class=width-4 checked=ctrl.panel.legend.min on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\n\t\t\t<gf-form-switch class=\"gf-form max-width-12\" label=Max label-class=width-6 switch-class=max-width-5 checked=ctrl.panel.legend.max on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\t\t</div>\n\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-switch class=gf-form label=Avg label-class=width-4 checked=ctrl.panel.legend.avg on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\n\t\t\t<gf-form-switch class=\"gf-form max-width-12\" label=Current label-class=width-6 switch-class=max-width-5 checked=ctrl.panel.legend.current on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\t\t</div>\n\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-switch class=gf-form label=Total label-class=width-4 checked=ctrl.panel.legend.total on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=\"gf-form-label width-6\">Decimals</label>\n\t\t\t\t<input type=number class=\"gf-form-input width-5\" placeholder=auto bs-tooltip=\"'Override automatic decimal precision for legend and tooltips'\" data-placement=right ng-model=ctrl.panel.decimals ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"section gf-form-group\">\n\t\t<h5 class=section-heading>Hide series</h5>\n\t\t<gf-form-switch class=gf-form label=\"With only nulls\" label-class=width-10 checked=ctrl.panel.legend.hideEmpty on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t\t<gf-form-switch class=gf-form label=\"With only zeros\" label-class=width-10 checked=ctrl.panel.legend.hideZero on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/graph/tab_thresholds_time_regions.html":
/*!*************************************************************************!*\
  !*** ./public/app/plugins/panel/graph/tab_thresholds_time_regions.html ***!
  \*************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/graph/tab_thresholds_time_regions.html';
var html = "<graph-threshold-form panel-ctrl=ctrl></graph-threshold-form>\n<graph-time-region-form panel-ctrl=ctrl></graph-time-region-form>";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/graph/thresholds_form.html":
/*!*************************************************************!*\
  !*** ./public/app/plugins/panel/graph/thresholds_form.html ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/graph/thresholds_form.html';
var html = "<div class=gf-form-group>\n  <p class=muted ng-show=ctrl.disabled>\n    Visual thresholds options <strong>disabled.</strong>\n    Visit the Alert tab update your thresholds. <br>\n    To re-enable thresholds, the alert rule must be deleted from this panel.\n  </p>\n  <div ng-class=\"{'thresholds-form-disabled': ctrl.disabled}\">\n    <div class=gf-form-inline ng-repeat=\"threshold in ctrl.panel.thresholds\">\n      <div class=gf-form>\n        <label class=gf-form-label>T{{$index+1}}</label>\n      </div>\n\n      <div class=gf-form>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=threshold.op ng-options=\"f for f in ['gt', 'lt']\" ng-change=ctrl.render() ng-disabled=ctrl.disabled></select>\n        </div>\n        <input type=number ng-model=threshold.value class=\"gf-form-input width-8\" ng-change=ctrl.render() placeholder=value ng-disabled=ctrl.disabled>\n      </div>\n\n      <div class=gf-form>\n        <label class=gf-form-label>Color</label>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=threshold.colorMode ng-options=\"f for f in ['custom', 'critical', 'warning', 'ok']\" ng-change=ctrl.onThresholdTypeChange($index) ng-disabled=ctrl.disabled>\n          </select>\n        </div>\n      </div>\n\n      <gf-form-switch class=gf-form label=Fill checked=threshold.fill on-change=ctrl.render() ng-disabled=ctrl.disabled></gf-form-switch>\n\n      <div class=gf-form ng-if=\"threshold.fill && threshold.colorMode === 'custom'\">\n        <label class=gf-form-label>Fill color</label>\n        <span class=gf-form-label>\n          <color-picker color=threshold.fillColor onchange=ctrl.onFillColorChange($index)></color-picker>\n        </span>\n      </div>\n\n      <gf-form-switch class=gf-form label=Line checked=threshold.line on-change=ctrl.render() ng-disabled=ctrl.disabled></gf-form-switch>\n\n      <div class=gf-form ng-if=\"threshold.line && threshold.colorMode === 'custom'\">\n        <label class=gf-form-label>Line color</label>\n        <span class=gf-form-label>\n          <color-picker color=threshold.lineColor onchange=ctrl.onLineColorChange($index)></color-picker>\n        </span>\n      </div>\n\n      <div class=gf-form>\n        <label class=gf-form-label>Y-Axis</label>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=threshold.yaxis ng-init=\"threshold.yaxis = threshold.yaxis === 'left' || threshold.yaxis === 'right' ? threshold.yaxis : 'left'\" ng-options=\"f for f in ['left', 'right']\" ng-change=ctrl.render() ng-disabled=ctrl.disabled>\n          </select>\n        </div>\n      </div>\n\n      <div class=gf-form>\n        <label class=gf-form-label>\n          <a class=pointer ng-click=ctrl.removeThreshold($index) ng-disabled=ctrl.disabled>\n            <i class=\"fa fa-trash\"></i>\n          </a>\n        </label>\n      </div>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button class=\"btn btn-inverse\" ng-click=ctrl.addThreshold() ng-disabled=ctrl.disabled>\n        <i class=\"fa fa-plus\"></i>&nbsp;Add Threshold\n      </button>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/graph/time_regions_form.html":
/*!***************************************************************!*\
  !*** ./public/app/plugins/panel/graph/time_regions_form.html ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/graph/time_regions_form.html';
var html = "<div class=gf-form-group>\n  <div class=gf-form-inline ng-repeat=\"timeRegion in ctrl.panel.timeRegions\">\n    <div class=gf-form>\n      <label class=gf-form-label>T{{$index+1}}</label>\n    </div>\n\n    <div class=gf-form>\n      <label class=gf-form-label>From</label>\n      <div class=gf-form-select-wrapper>\n        <select class=\"gf-form-input width-6\" ng-model=timeRegion.fromDayOfWeek ng-options=\"f.d as f.value for f in [{d: undefined, value: 'Any'}, {d:1, value: 'Mon'}, {d:2, value: 'Tue'}, {d:3, value: 'Wed'}, {d:4, value: 'Thu'}, {d:5, value: 'Fri'}, {d:6, value: 'Sat'}, {d:7, value: 'Sun'}]\" ng-change=ctrl.render()></select>\n      </div>\n      <input type=text ng-maxlength=5 ng-model=timeRegion.from class=\"gf-form-input width-5\" ng-change=ctrl.render() placeholder=hh:mm>\n      <label class=gf-form-label>To</label>\n      <div class=gf-form-select-wrapper>\n        <select class=\"gf-form-input width-6\" ng-model=timeRegion.toDayOfWeek ng-options=\"f.d as f.value for f in [{d: undefined, value: 'Any'}, {d:1, value: 'Mon'}, {d:2, value: 'Tue'}, {d:3, value: 'Wed'}, {d:4, value: 'Thu'}, {d:5, value: 'Fri'}, {d:6, value: 'Sat'}, {d:7, value: 'Sun'}]\" ng-change=ctrl.render()></select>\n      </div>\n      <input type=text ng-maxlength=5 ng-model=timeRegion.to class=\"gf-form-input width-5\" ng-change=ctrl.render() placeholder=hh:mm>\n    </div>\n\n    <div class=gf-form>\n      <label class=gf-form-label>Color</label>\n      <div class=gf-form-select-wrapper>\n        <select class=gf-form-input ng-model=timeRegion.colorMode ng-options=\"f.key as f.value for f in ctrl.colorModes\" ng-change=ctrl.render()>\n        </select>\n      </div>\n    </div>\n\n    <gf-form-switch class=gf-form label=Fill checked=timeRegion.fill on-change=ctrl.render()></gf-form-switch>\n\n    <div class=gf-form ng-if=\"timeRegion.fill && timeRegion.colorMode === 'custom'\">\n      <label class=gf-form-label>Fill color</label>\n      <span class=gf-form-label>\n        <color-picker color=timeRegion.fillColor onchange=ctrl.onFillColorChange($index)></color-picker>\n      </span>\n    </div>\n\n    <gf-form-switch class=gf-form label=Line checked=timeRegion.line on-change=ctrl.render()></gf-form-switch>\n\n    <div class=gf-form ng-if=\"timeRegion.line && timeRegion.colorMode === 'custom'\">\n      <label class=gf-form-label>Line color</label>\n      <span class=gf-form-label>\n        <color-picker color=timeRegion.lineColor onchange=ctrl.onLineColorChange($index)></color-picker>\n      </span>\n    </div>\n\n    <div class=gf-form>\n      <label class=gf-form-label>\n        <a class=pointer ng-click=ctrl.removeTimeRegion($index)>\n          <i class=\"fa fa-trash\"></i>\n        </a>\n      </label>\n    </div>\n  </div>\n\n  <div class=gf-form-button-row>\n    <button class=\"btn btn-inverse\" ng-click=ctrl.addTimeRegion()>\n      <i class=\"fa fa-plus\"></i>&nbsp;Add time region<tip>All configured time regions refers to UTC time</tip>\n    </button>\n  </div>\n</div>";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/heatmap/module.html":
/*!******************************************************!*\
  !*** ./public/app/plugins/panel/heatmap/module.html ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/heatmap/module.html';
var html = "<div class=heatmap-wrapper>\n\t<div class=heatmap-canvas-wrapper>\n\n\t\t<div class=datapoints-warning ng-if=ctrl.dataWarning>\n\t\t\t<span class=small bs-tooltip=ctrl.dataWarning.tip>{{ctrl.dataWarning.title}}</span>\n\t\t</div>\n\n\t\t<div class=heatmap-panel ng-dblclick=ctrl.zoomOut()></div>\n\t</div>\n\t<div class=heatmap-legend-wrapper ng-if=ctrl.panel.legend.show>\n\t\t<heatmap-legend></heatmap-legend>\n\t</div>\n</div>\n<div class=clearfix></div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/heatmap/partials/axes_editor.html":
/*!********************************************************************!*\
  !*** ./public/app/plugins/panel/heatmap/partials/axes_editor.html ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/heatmap/partials/axes_editor.html';
var html = "<div class=editor-row>\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Y Axis</h5>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-8\">Unit</label>\n      <div class=\"gf-form-dropdown-typeahead width-12\" ng-model=ctrl.panel.yAxis.format dropdown-typeahead2=editor.unitFormats dropdown-typeahead-on-select=editor.setUnitFormat($subItem)>\n      </div>\n    </div>\n    <div ng-if=\"ctrl.panel.dataFormat == 'timeseries'\">\n      <div class=gf-form>\n        <label class=\"gf-form-label width-8\">Scale</label>\n        <div class=\"gf-form-select-wrapper width-12\">\n          <select class=gf-form-input ng-model=ctrl.panel.yAxis.logBase ng-options=\"v as k for (k, v) in editor.logScales\" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-8\">Y-Min</label>\n        <input type=text class=\"gf-form-input width-12\" placeholder=auto empty-to-null ng-model=ctrl.panel.yAxis.min ng-change=ctrl.render() ng-model-onblur>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-8\">Y-Max</label>\n        <input type=text class=\"gf-form-input width-12\" placeholder=auto empty-to-null ng-model=ctrl.panel.yAxis.max ng-change=ctrl.render() ng-model-onblur>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-8\">Decimals</label>\n      <input type=number class=\"gf-form-input width-12\" placeholder=auto data-placement=right bs-tooltip=\"'Override automatic decimal precision for axis.'\" ng-model=ctrl.panel.yAxis.decimals ng-change=ctrl.render() ng-model-onblur>\n    </div>\n    <div class=gf-form ng-if=\"ctrl.panel.dataFormat == 'tsbuckets'\">\n      <label class=\"gf-form-label width-8\">Bucket bound</label>\n      <div class=\"gf-form-select-wrapper max-width-12\">\n        <select class=gf-form-input ng-model=ctrl.panel.yBucketBound ng-options=\"v as k for (k, v) in editor.yBucketBoundModes\" ng-change=ctrl.render() data-placement=right bs-tooltip=\"'Use series label as an upper or lower bucket bound.'\">\n        </select>\n      </div>\n    </div>\n    <gf-form-switch ng-if=\"ctrl.panel.dataFormat == 'tsbuckets'\" class=gf-form label-class=width-8 label=\"Reverse order\" checked=ctrl.panel.reverseYBuckets on-change=ctrl.refresh()>\n    </gf-form-switch>\n  </div>\n\n  <div class=\"section gf-form-group\" ng-if=\"ctrl.panel.dataFormat == 'timeseries'\">\n    <h5 class=section-heading>Buckets</h5>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-5\">Y Axis</label>\n      </div>\n      <div class=gf-form ng-show=\"ctrl.panel.yAxis.logBase === 1\">\n        <label class=\"gf-form-label width-5\">Buckets</label>\n        <input type=number class=\"gf-form-input width-5\" placeholder=auto data-placement=right bs-tooltip=\"'Number of buckets for Y axis.'\" ng-model=ctrl.panel.yBucketNumber ng-change=ctrl.refresh() ng-model-onblur>\n      </div>\n      <div class=gf-form ng-show=\"ctrl.panel.yAxis.logBase === 1\">\n        <label class=\"gf-form-label width-4\">Size</label>\n        <input type=number class=\"gf-form-input width-5\" placeholder=auto data-placement=right bs-tooltip=\"'Size of bucket. Has priority over Buckets option.'\" ng-model=ctrl.panel.yBucketSize ng-change=ctrl.refresh() ng-model-onblur>\n      </div>\n      <div class=gf-form ng-show=\"ctrl.panel.yAxis.logBase !== 1\">\n        <label class=\"gf-form-label width-10\">Split Factor</label>\n        <input type=number class=\"gf-form-input width-9\" placeholder=1 data-placement=right bs-tooltip=\"'For log scales only. By default Y values is splitted by integer powers of log base (1, 2, 4, 8, 16, ... for log2). This option allows to split each default bucket into specified number of buckets.'\" ng-model=ctrl.panel.yAxis.splitFactor ng-change=ctrl.refresh() ng-model-onblur>\n        \n      </div>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-5\">X Axis</label>\n        <label class=\"gf-form-label width-5\">Buckets</label>\n        <input type=number class=\"gf-form-input width-5\" placeholder=auto data-placement=right bs-tooltip=\"'Number of buckets for X axis.'\" ng-model=ctrl.panel.xBucketNumber ng-change=ctrl.refresh() ng-model-onblur>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-4\">Size</label>\n        <input type=text class=\"gf-form-input width-5\" placeholder=auto data-placement=right bs-tooltip=\"'Size of bucket. Number or interval (10s, 5m, 1h, etc). Supported intervals: ms, s, m, h, d, w, M, y. Has priority over Buckets option.'\" ng-model=ctrl.panel.xBucketSize ng-change=ctrl.refresh() ng-model-onblur>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Data format</h5>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-5\">Format</label>\n      <div class=\"gf-form-select-wrapper max-width-15\">\n        <select class=gf-form-input ng-model=ctrl.panel.dataFormat ng-options=\"v as k for (k, v) in editor.dataFormats\" ng-change=ctrl.render() data-placement=right bs-tooltip=\"'Time series: create heatmap from regular time series. <br>Time series buckets: use histogram data returned from data source. Each series represents bucket which upper/lower bound is a series label.'\">\n        </select>\n      </div>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/heatmap/partials/display_editor.html":
/*!***********************************************************************!*\
  !*** ./public/app/plugins/panel/heatmap/partials/display_editor.html ***!
  \***********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/heatmap/partials/display_editor.html';
var html = "<div class=editor-row>\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Colors</h5>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-9\">Mode</label>\n      <div class=\"gf-form-select-wrapper width-8\">\n        <select class=\"input-small gf-form-input\" ng-model=ctrl.panel.color.mode ng-options=\"s for s in ctrl.colorModes\" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n\n    <div ng-show=\"ctrl.panel.color.mode === 'opacity'\">\n      <div class=gf-form>\n        <label class=\"gf-form-label width-9\">Color</label>\n        <span class=gf-form-label>\n          <color-picker color=ctrl.panel.color.cardColor onchange=ctrl.onCardColorChange></color-picker>\n        </span>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-9\">Scale</label>\n        <div class=\"gf-form-select-wrapper width-8\">\n          <select class=\"input-small gf-form-input\" ng-model=ctrl.panel.color.colorScale ng-options=\"s for s in ctrl.opacityScales\" ng-change=ctrl.render()></select>\n        </div>\n      </div>\n      <div class=gf-form ng-if=\"ctrl.panel.color.colorScale === 'sqrt'\">\n        <label class=\"gf-form-label width-9\">Exponent</label>\n        <input type=number class=\"gf-form-input width-8\" placeholder=auto data-placement=right bs-tooltip=\"''\" ng-model=ctrl.panel.color.exponent ng-change=ctrl.refresh() ng-model-onblur>\n      </div>\n    </div>\n\n    <div ng-show=\"ctrl.panel.color.mode === 'spectrum'\">\n      <div class=gf-form>\n        <label class=\"gf-form-label width-9\">Scheme</label>\n        <div class=\"gf-form-select-wrapper width-8\">\n          <select class=\"input-small gf-form-input\" ng-model=ctrl.panel.color.colorScheme ng-options=\"s.value as s.name for s in ctrl.colorSchemes\" ng-change=ctrl.render()></select>\n        </div>\n      </div>\n    </div>\n\n    <div class=gf-form>\n      <color-legend></color-legend>\n    </div>\n  </div>\n\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Color scale</h5>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-8\">Min</label>\n      <input type=number ng-model=ctrl.panel.color.min class=\"gf-form-input width-5\" placeholder=auto data-placement=right bs-tooltip=\"''\" ng-change=ctrl.refresh() ng-model-onblur>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-8\">Max</label>\n      <input type=number ng-model=ctrl.panel.color.max class=\"gf-form-input width-5\" placeholder=auto data-placement=right bs-tooltip=\"''\" ng-change=ctrl.refresh() ng-model-onblur>\n    </div>\n  </div>\n\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Legend</h5>\n    <gf-form-switch class=gf-form label-class=width-8 label=\"Show legend\" checked=ctrl.panel.legend.show on-change=ctrl.render()>\n    </gf-form-switch>\n  </div>\n\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Buckets</h5>\n    <gf-form-switch class=gf-form label-class=width-8 label=\"Hide zero\" checked=ctrl.panel.hideZeroBuckets on-change=ctrl.render()>\n    </gf-form-switch>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-8\">Space</label>\n      <input type=number class=\"gf-form-input width-5\" placeholder=auto data-placement=right bs-tooltip=\"''\" ng-model=ctrl.panel.cards.cardPadding ng-change=ctrl.refresh() ng-model-onblur>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-8\">Round</label>\n      <input type=number class=\"gf-form-input width-5\" placeholder=auto data-placement=right bs-tooltip=\"''\" ng-model=ctrl.panel.cards.cardRound ng-change=ctrl.refresh() ng-model-onblur>\n    </div>\n  </div>\n\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Tooltip</h5>\n    <gf-form-switch class=gf-form label-class=width-8 label=\"Show tooltip\" checked=ctrl.panel.tooltip.show on-change=ctrl.render()>\n    </gf-form-switch>\n    <div ng-if=ctrl.panel.tooltip.show>\n      <gf-form-switch class=gf-form label-class=width-8 label=Histogram checked=ctrl.panel.tooltip.showHistogram on-change=ctrl.render()>\n      </gf-form-switch>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-8\">Decimals</label>\n        <input type=number class=\"gf-form-input width-5\" placeholder=auto data-placement=right bs-tooltip=\"'Max decimal precision for tooltip.'\" ng-model=ctrl.panel.tooltipDecimals ng-change=ctrl.render() ng-model-onblur>\n      </div>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/pluginlist/editor.html":
/*!*********************************************************!*\
  !*** ./public/app/plugins/panel/pluginlist/editor.html ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/pluginlist/editor.html';
var html = "<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-10\">Mode</span>\n\t\t\t<div class=\"gf-form-select-wrapper max-width-10\">\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.panel.mode ng-options=\"f for f in ctrl.modes\" ng-change=ctrl.refresh()></select>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=gf-form ng-show=\"ctrl.panel.mode === 'recently viewed'\">\n\t\t\t<span class=gf-form-label>\n\t\t\t\t<i class=\"grafana-tip fa fa-question-circle ng-scope\" bs-tooltip=\"'WARNING: This list will be cleared when clearing browser cache'\" data-original-title=\"\" title=\"\"></i>\n\t\t\t</span>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline ng-if=\"ctrl.panel.mode === 'search'\">\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-10\">Search options</span>\n\t\t\t<span class=gf-form-label>Query</span>\n\n\t\t\t<input type=text class=gf-form-input placeholder=\"title query\" ng-model=ctrl.panel.query ng-change=ctrl.refresh() ng-model-onblur>\n\n\t\t</div>\n\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Tags</span>\n\n\t\t\t<bootstrap-tagsinput ng-model=ctrl.panel.tags tagclass=\"label label-tag\" placeholder=\"add tags\" on-tags-updated=ctrl.refresh()>\n\t\t\t</bootstrap-tagsinput>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=\"gf-form-label width-10\">Limit number to</span>\n\t\t\t<input class=gf-form-input type=number ng-model=ctrl.panel.limit ng-model-onblur ng-change=ctrl.refresh()>\n\t\t</div>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/pluginlist/module.html":
/*!*********************************************************!*\
  !*** ./public/app/plugins/panel/pluginlist/module.html ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/pluginlist/module.html';
var html = "<div class=pluginlist>\n  <div class=pluginlist-section ng-repeat=\"category in ctrl.viewModel\">\n    <h6 class=pluginlist-section-header>\n      {{category.header}}\n    </h6>\n    <div class=pluginlist-item ng-repeat=\"plugin in category.list\">\n      <a class=\"pluginlist-link pluginlist-link-{{plugin.state}} pointer\" href={{plugin.defaultNavUrl}}>\n        <span>\n          <img ng-src={{plugin.info.logos.small}} class=pluginlist-image>\n          <span class=pluginlist-title>{{plugin.name}}</span>\n          <span class=pluginlist-version>v{{plugin.info.version}}</span>\n        </span>\n        <span ng-if=ctrl.isAdmin>\n          <span class=\"pluginlist-message pluginlist-message--update\" ng-show=plugin.hasUpdate ng-click=\"ctrl.updateAvailable(plugin, $event)\" bs-tooltip=\"'New version: ' + plugin.latestVersion\">\n            Update available!\n          </span>\n          <span class=\"pluginlist-message pluginlist-message--enable\" ng-show=\"!plugin.enabled && !plugin.hasUpdate\">\n            Enable now\n          </span>\n          <span class=\"pluginlist-message pluginlist-message--no-update\" ng-show=\"plugin.enabled && !plugin.hasUpdate\">\n            Up to date\n          </span>\n        </span>\n      </a>\n    </div>\n    <div class=pluginlist-item ng-show=\"category.list.length === 0\">\n      <a class=\"pluginlist-link pluginlist-link-{{plugin.state}}\" href=https://grafana.com/plugins>\n        <span class=pluginlist-none-installed>None installed. <span class=pluginlist-emphasis>Browse Grafana.com</span></span>\n      </a>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/singlestat/editor.html":
/*!*********************************************************!*\
  !*** ./public/app/plugins/panel/singlestat/editor.html ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/singlestat/editor.html';
var html = "<div class=editor-row>\n\n  <div class=grafana-info-box ng-if=ctrl.panel.gauge.show>\n    <h5>Gauge Migration</h5>\n    <p>\n      Gauge visualizations within the Singlestat panel are deprecated.  Please\n      migrate this panel to use the Gauge panel\n    \n      </p><div class=gf-form-button-row>\n        <button class=\"btn btn-primary\" ng-click=ctrl.migrateToGaugePanel(true)>\n          Migrate to Gauge Panel\n        </button>\n        <button class=\"btn btn-inverse\" ng-click=ctrl.migrateToGaugePanel(false)>\n          Show as single stat\n        </button>\n      </div>\n    \n      <br/>\n      \n      <div ng-if=ctrl.panel.sparkline.show>\n        <b>NOTE:</b> Sparklines are not supported in the gauge panel\n      </div>\n\n      <div ng-if=ctrl.panel.prefix>\n        <b>NOTE:</b> Prefix will not be show in the gauge panel\n      </div>\n\n      <div ng-if=ctrl.panel.postfix>\n        <b>NOTE:</b> Postfix will not be show in the gauge panel\n      </div>\n\n      <div ng-if=\"ctrl.panel.links && ctrl.panel.links.length\">\n        <b>NOTE:</b> Links will be in the upper left corner, rather than anywhere on the gauge\n      </div>\n    <p></p>\n  </div>\n    \n\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Value</h5>\n\n    <div class=gf-form-inline>\n      <div class=gf-form ng-if=\"ctrl.fieldNames.length > 1\">\n        <label class=\"gf-form-label width-6\">Field</label>\n        <div class=\"gf-form-select-wrapper width-12\">\n          <select class=gf-form-input ng-model=ctrl.panel.tableColumn ng-options=\"f for f in ctrl.fieldNames\" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-6\">Show</label>\n        <div class=\"gf-form-select-wrapper width-12\">\n          <select class=gf-form-input ng-model=ctrl.panel.valueName ng-options=\"f.value as f.text for f in ctrl.valueNameOptions\" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-6\">Font size</label>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=ctrl.panel.valueFontSize ng-options=\"f for f in ctrl.fontSizes\" ng-change=ctrl.render()></select>\n        </div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-6\">Prefix</label>\n        <input type=text class=\"gf-form-input width-12\" ng-model=ctrl.panel.prefix ng-change=ctrl.render() ng-model-onblur>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-6\">Font size</label>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=ctrl.panel.prefixFontSize ng-options=\"f for f in ctrl.fontSizes\" ng-change=ctrl.render() ng-disabled=!ctrl.canModifyText()></select>\n        </div>\n      </div>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-6\">Postfix</label>\n        <input type=text class=\"gf-form-input width-12\" ng-model=ctrl.panel.postfix ng-change=ctrl.render() ng-model-onblur>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-6\">Font size</label>\n        <div class=gf-form-select-wrapper>\n          <select class=\"input-small gf-form-input\" ng-model=ctrl.panel.postfixFontSize ng-options=\"f for f in ctrl.fontSizes\" ng-change=ctrl.render() ng-disabled=!ctrl.canModifyText()></select>\n        </div>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-6\">Unit</label>\n      <div class=\"gf-form-dropdown-typeahead width-18\" ng-model=ctrl.panel.format dropdown-typeahead2=ctrl.unitFormats dropdown-typeahead-on-select=ctrl.setUnitFormat($subItem)></div>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-6\">Decimals</label>\n      <input type=number class=\"gf-form-input width-18\" placeholder=auto data-placement=right bs-tooltip=\"'Override automatic decimal precision for legend and tooltips'\" ng-model=ctrl.panel.decimals ng-change=ctrl.refresh() ng-model-onblur>\n    </div>\n  </div>\n\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Coloring</h5>\n    <div class=gf-form-inline>\n      <gf-form-switch class=gf-form label-class=width-8 label=Background checked=ctrl.panel.colorBackground on-change=ctrl.render()></gf-form-switch>\n      <gf-form-switch class=gf-form label-class=width-6 label=Value checked=ctrl.panel.colorValue on-change=ctrl.render()></gf-form-switch>\n    </div>\n    <div class=gf-form-inline>\n      <gf-form-switch class=gf-form label-class=width-8 label=Prefix checked=ctrl.panel.colorPrefix on-change=ctrl.render() ng-disabled=!ctrl.canModifyText()></gf-form-switch>\n      <gf-form-switch class=gf-form label-class=width-6 label=Postfix checked=ctrl.panel.colorPostfix on-change=ctrl.render() ng-disabled=!ctrl.canModifyText()></gf-form-switch>\n    </div>\n    <div class=gf-form-inline>\n      <div class=\"gf-form max-width-21\">\n        <label class=\"gf-form-label width-8\">Thresholds\n          <tip>Define two threshold values&lt;br /&gt; 50,80 will produce: value &lt; 50 = Green, 50 &lt;= value &lt; 80 = Yellow, value &gt;= 80 = Red</tip>\n        </label>\n        <input type=text class=gf-form-input ng-model=ctrl.panel.thresholds ng-blur=ctrl.render() placeholder=50,80>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-8\">Colors</label>\n      <span class=gf-form-label ng-repeat=\"color in ctrl.panel.colors track by $index\">\n        <color-picker color=color onchange=ctrl.onColorChange($index)></color-picker>\n      </span>\n      <span class=gf-form-label>\n        <a ng-click=ctrl.invertColorOrder()>\n          Invert\n        </a>\n      </span>\n    </div>\n  </div>\n\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Spark lines</h5>\n    <gf-form-switch class=gf-form label-class=width-9 label=Show checked=ctrl.panel.sparkline.show on-change=ctrl.refresh()></gf-form-switch>\n    <div ng-if=ctrl.panel.sparkline.show>\n      <gf-form-switch class=gf-form label-class=width-9 label=\"Full height\" checked=ctrl.panel.sparkline.full on-change=ctrl.render()></gf-form-switch>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-9\">Y-Min</label>\n        <input type=number class=\"gf-form-input width-5\" placeholder=auto data-placement=right ng-model=ctrl.panel.sparkline.ymin ng-change=ctrl.render() ng-model-onblur empty-to-null>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-9\">Y-Max</label>\n        <input type=number class=\"gf-form-input width-5\" placeholder=auto data-placement=right ng-model=ctrl.panel.sparkline.ymax ng-change=ctrl.render() ng-model-onblur empty-to-null>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-9\">Line Color</label>\n        <span class=gf-form-label>\n          <color-picker color=ctrl.panel.sparkline.lineColor onchange=ctrl.onSparklineColorChange></color-picker>\n        </span>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-9\">Fill Color</label>\n        <span class=gf-form-label>\n          <color-picker color=ctrl.panel.sparkline.fillColor onchange=ctrl.onSparklineFillChange></color-picker>\n        </span>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"section gf-form-group\" ng-if=ctrl.panel.gauge.show>\n    <h5 class=section-heading>Gauge</h5>\n    <gf-form-switch class=gf-form label-class=width-10 switch-class=max-width-6 label=Show checked=ctrl.panel.gauge.show on-change=ctrl.render()></gf-form-switch>\n    <div ng-if=ctrl.panel.gauge.show>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-10\">Min</label>\n        <input type=number class=\"gf-form-input width-6\" placeholder=0 data-placement=right ng-model=ctrl.panel.gauge.minValue ng-change=ctrl.refresh() ng-model-onblur>\n        <label class=\"gf-form-label alert-state-critical\" ng-show=ctrl.invalidGaugeRange>\n          &nbsp; <i class=\"fa fa-warning\"></i>\n          Min value is bigger than max.\n        </label>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-10\">Max</label>\n        <input type=number class=\"gf-form-input width-6\" placeholder=0 data-placement=right ng-model=ctrl.panel.gauge.maxValue ng-change=ctrl.refresh() ng-model-onblur>\n      </div>\n      <gf-form-switch class=gf-form label-class=width-10 switch-class=max-width-6 label=\"Threshold labels\" checked=ctrl.panel.gauge.thresholdLabels on-change=ctrl.render()></gf-form-switch>\n      <gf-form-switch class=gf-form label-class=width-10 switch-class=max-width-6 label=\"Threshold markers\" checked=ctrl.panel.gauge.thresholdMarkers on-change=ctrl.render()></gf-form-switch>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/singlestat/mappings.html":
/*!***********************************************************!*\
  !*** ./public/app/plugins/panel/singlestat/mappings.html ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/singlestat/mappings.html';
var html = "<div class=editor-row>\n  <div class=gf-form-group>\n    <div class=gf-form>\n        <span class=gf-form-label>\n          Type\n        </span>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=ctrl.panel.mappingType ng-options=\"f.value as f.name for f in ctrl.panel.mappingTypes\" ng-change=ctrl.refresh()></select>\n        </div>\n    </div>\n  </div>\n</div>\n<div class=editor-row ng-if=\"ctrl.panel.mappingType==1\">\n  <h5 class=section-heading>Set value mappings</h5>\n  <div class=gf-form-group>\n    <div class=gf-form ng-repeat=\"map in ctrl.panel.valueMaps\">\n      <span class=gf-form-label>\n        <i class=\"fa fa-remove pointer\" ng-click=ctrl.removeValueMap(map)></i>\n      </span>\n      <input type=text ng-model=map.value placeholder=value class=\"gf-form-input max-width-6\" ng-blur=ctrl.refresh()>\n      <span class=gf-form-label>\n        <i class=\"fa fa-arrow-right\"></i>\n      </span>\n      <input type=text placeholder=text ng-model=map.text class=\"gf-form-input max-width-8\" ng-blur=ctrl.refresh()>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button class=\"btn btn-inverse\" ng-click=ctrl.addValueMap();>\n        <i class=\"fa fa-plus\"></i>\n        Add a value mapping\n      </button>\n    </div>\n  </div>\n</div>\n<div class=editor-row ng-if=\"ctrl.panel.mappingType==2\">\n  <h5 class=section-heading>Set range mappings</h5>\n  <div class=gf-form-group>\n    <div class=gf-form ng-repeat=\"rangeMap in ctrl.panel.rangeMaps\">\n        <span class=gf-form-label>\n          <i class=\"fa fa-remove pointer\" ng-click=ctrl.removeRangeMap(rangeMap)></i>\n        </span>\n        <span class=gf-form-label>From</span>\n        <input type=text ng-model=rangeMap.from class=\"gf-form-input max-width-6\" ng-blur=ctrl.refresh()>\n        <span class=gf-form-label>To</span>\n        <input type=text ng-model=rangeMap.to class=\"gf-form-input max-width-6\" ng-blur=ctrl.refresh()>\n        <span class=gf-form-label>Text</span>\n        <input type=text ng-model=rangeMap.text class=\"gf-form-input max-width-8\" ng-blur=ctrl.refresh()>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button class=\"btn btn-inverse\" ng-click=ctrl.addRangeMap()>\n        <i class=\"fa fa-plus\"></i>\n        Add a range mapping\n      </button>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/singlestat/module.html":
/*!*********************************************************!*\
  !*** ./public/app/plugins/panel/singlestat/module.html ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/singlestat/module.html';
var html = "<div class=singlestat-panel>\n\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/table/column_options.html":
/*!************************************************************!*\
  !*** ./public/app/plugins/panel/table/column_options.html ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/table/column_options.html';
var html = "<div class=edit-tab-content ng-repeat=\"style in editor.panel.styles\">\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Options</h5>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-12\">Apply to columns named</label>\n        <input type=text placeholder=\"Name or regex\" class=\"gf-form-input width-13\" ng-model=style.pattern bs-tooltip=\"'Specify regex using /my.*regex/ syntax'\" bs-typeahead=editor.getColumnNames ng-blur=editor.render() data-min-length=0 data-items=100 ng-model-onblur data-placement=right>\n      </div>\n    </div>\n    <div class=gf-form ng-if=\"style.type !== 'hidden'\">\n      <label class=\"gf-form-label width-12\">Column Header</label>\n      <input type=text class=\"gf-form-input width-12\" ng-model=style.alias ng-change=editor.render() ng-model-onblur placeholder=\"Override header label\">\n    </div>\n    <gf-form-switch class=gf-form label-class=width-12 label=\"Render value as link\" checked=style.link on-change=editor.render()></gf-form-switch>\n  </div>\n\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Type</h5>\n\n    <div class=gf-form>\n      <label class=\"gf-form-label width-10\">Type</label>\n      <div class=\"gf-form-select-wrapper width-16\">\n        <select class=gf-form-input ng-model=style.type ng-options=\"c.value as c.text for c in editor.columnTypes\" ng-change=editor.render()></select>\n      </div>\n    </div>\n    <div class=gf-form ng-if=\"style.type === 'date'\">\n      <label class=\"gf-form-label width-10\">Date Format</label>\n      <gf-form-dropdown model=style.dateFormat css-class=\"gf-form-input width-16\" lookup-text=true get-options=editor.dateFormats on-change=editor.render() allow-custom=true>\n      </gf-form-dropdown>\n    </div>\n\n    <div ng-if=\"style.type === 'string'\">\n      <gf-form-switch class=gf-form label-class=width-10 ng-if=\"style.type === 'string'\" label=\"Sanitize HTML\" checked=style.sanitize on-change=editor.render()></gf-form-switch>\n    </div>\n    <div ng-if=\"style.type === 'string'\">\n      <gf-form-switch class=gf-form label-class=width-10 ng-if=\"style.type === 'string'\" label=\"Preserve Formatting\" checked=style.preserveFormat on-change=editor.render()></gf-form-switch>\n    </div>\n\n    <div ng-if=\"style.type === 'number'\">\n      <div class=gf-form>\n        <label class=\"gf-form-label width-10\">Unit</label>\n        <div class=\"gf-form-dropdown-typeahead width-16\" ng-model=style.unit dropdown-typeahead2=editor.unitFormats dropdown-typeahead-on-select=\"editor.setUnitFormat(style, $subItem)\"></div>\n      </div>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-10\">Decimals</label>\n        <input type=number class=\"gf-form-input width-4\" data-placement=right ng-model=style.decimals ng-change=editor.render() ng-model-onblur>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"section gf-form-group\" ng-if=\"style.type === 'string'\">\n    <h5 class=section-heading>Value Mappings</h5>\n    <div class=editor-row>\n      <div class=gf-form-group>\n        <div class=gf-form>\n          <span class=gf-form-label>\n            Type\n          </span>\n          <div class=gf-form-select-wrapper>\n            <select class=gf-form-input ng-model=style.mappingType ng-options=\"c.value as c.text for c in editor.mappingTypes\" ng-change=editor.render()></select>\n          </div>\n        </div>\n        <div class=gf-form-group ng-if=\"style.mappingType==1\">\n          <div class=gf-form ng-repeat=\"map in style.valueMaps\">\n            <span class=gf-form-label>\n              <i class=\"fa fa-remove pointer\" ng-click=\"editor.removeValueMap(style, $index)\"></i>\n            </span>\n            <input type=text class=\"gf-form-input max-width-6\" ng-model=map.value placeholder=Value ng-blur=editor.render()>\n            <label class=gf-form-label>\n              <i class=\"fa fa-arrow-right\"></i>\n            </label>\n            <input type=text class=\"gf-form-input max-width-8\" ng-model=map.text placeholder=Text ng-blur=editor.render()>\n          </div>\n          <div class=gf-form>\n            <label class=gf-form-label>\n              <a class=pointer ng-click=editor.addValueMap(style)><i class=\"fa fa-plus\"></i></a>\n            </label>\n          </div>\n        </div>\n        <div class=gf-form-group ng-if=\"style.mappingType==2\">\n          <div class=gf-form ng-repeat=\"rangeMap in style.rangeMaps\">\n            <span class=gf-form-label>\n              <i class=\"fa fa-remove pointer\" ng-click=\"editor.removeRangeMap(style, $index)\"></i>\n            </span>\n            <span class=gf-form-label>From</span>\n            <input type=text ng-model=rangeMap.from class=\"gf-form-input max-width-6\" ng-blur=editor.render()>\n            <span class=gf-form-label>To</span>\n            <input type=text ng-model=rangeMap.to class=\"gf-form-input max-width-6\" ng-blur=editor.render()>\n            <span class=gf-form-label>Text</span>\n            <input type=text ng-model=rangeMap.text class=\"gf-form-input max-width-8\" ng-blur=editor.render()>\n          </div>\n          <div class=gf-form>\n            <label class=gf-form-label>\n              <a class=pointer ng-click=editor.addRangeMap(style)><i class=\"fa fa-plus\"></i></a>\n            </label>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"section gf-form-group\" ng-if=\"['number', 'string'].indexOf(style.type) !== -1\">\n    <h5 class=section-heading>Thresholds</h5>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-8\">Thresholds\n        <tip>Comma separated values</tip>\n      </label>\n      <input type=text class=\"gf-form-input width-10\" ng-model=style.thresholds placeholder=50,80 ng-blur=editor.render() array-join>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-8\">Color Mode</label>\n      <div class=\"gf-form-select-wrapper width-10\">\n        <select class=gf-form-input ng-model=style.colorMode ng-options=\"c.value as c.text for c in editor.colorModes\" ng-change=editor.render()></select>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-8\">Colors</label>\n      <span class=gf-form-label>\n        <color-picker color=style.colors[0] onchange=editor.onColorChange(style,0)></color-picker>\n      </span>\n      <span class=gf-form-label>\n        <color-picker color=style.colors[1] onchange=editor.onColorChange(style,1)></color-picker>\n      </span>\n      <span class=gf-form-label>\n        <color-picker color=style.colors[2] onchange=editor.onColorChange(style,2)></color-picker>\n      </span>\n      <div class=gf-form-label>\n        <a class=pointer ng-click=editor.invertColorOrder($index)>Invert</a>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"section gf-form-group\" ng-if=style.link>\n    <h5 class=section-heading>Link</h5>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-9\">\n        Url\n        <info-popover mode=right-normal>\n          <p>Specify an URL (relative or absolute)</p>\n          <span>\n            Use special variables to specify cell values:\n            <br>\n            <em>${__cell}</em> refers to current cell value\n            <br>\n            <em>${__cell_n}</em> refers to Nth column value in current row. Column indexes are started from 0. For instance,\n            <em>${__cell_1}</em> refers to second column's value.\n            <br>\n            <em>${__cell:raw}</em> syntax. By default values are URI encoded. If the value is a complete URL you can disable all encoding using\n          </span>\n        </info-popover>\n      </label>\n      <input type=text class=\"gf-form-input width-29\" ng-model=style.linkUrl ng-blur=editor.render() ng-model-onblur data-placement=right>\n    </div>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-9\">\n        Tooltip\n        <info-popover mode=right-normal>\n          <p>Specify text for link tooltip.</p>\n          <span>\n              This title appears when user hovers pointer over the cell with link. Use the same variables as for URL.\n          </span>\n        </info-popover>\n      </label>\n      <input type=text class=\"gf-form-input width-29\" ng-model=style.linkTooltip ng-blur=editor.render() ng-model-onblur data-placement=right>\n    </div>\n    <gf-form-switch class=gf-form label-class=width-9 label=\"Open in new tab\" checked=style.linkTargetBlank></gf-form-switch>\n  </div>\n\n  <div class=clearfix></div>\n  <div class=gf-form-group>\n    <button class=\"btn btn-danger btn-small\" ng-click=editor.removeColumnStyle(style)>\n      <i class=\"fa fa-trash\"></i> Remove Rule\n    </button>\n  </div>\n\n  <hr>\n</div>\n\n<div class=gf-form-button-row>\n  <button class=\"btn btn-inverse\" ng-click=editor.addColumnStyle()>\n    <i class=\"fa fa-plus\"></i>&nbsp;Add column style\n  </button>\n</div>\n\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/table/editor.html":
/*!****************************************************!*\
  !*** ./public/app/plugins/panel/table/editor.html ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/table/editor.html';
var html = "<div class=editor-row>\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Data</h5>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-10\">Table Transform</label>\n      <div class=\"gf-form-select-wrapper max-width-15\">\n        <select class=gf-form-input ng-model=editor.panel.transform ng-options=\"k as v.description for (k, v) in editor.transformers\" ng-change=editor.transformChanged()></select>\n      </div>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class=\"gf-form-label width-10\">Columns</label>\n      </div>\n      <div class=gf-form ng-repeat=\"column in editor.panel.columns\">\n        <label class=gf-form-label>\n          <i class=\"pointer fa fa-remove\" ng-click=editor.removeColumn(column)></i>\n          <span>{{ column.text }}</span>\n        </label>\n      </div>\n      <div class=gf-form ng-show=editor.canSetColumns>\n        <metric-segment segment=editor.addColumnSegment get-options=editor.getColumnOptions() on-change=editor.addColumn()></metric-segment>\n      </div>\n      <div class=gf-form ng-hide=editor.canSetColumns>\n        <label class=gf-form-label>\n          Auto\n          <info-popover mode=right-normal ng-if=editor.columnsHelpMessage>\n            {{ editor.columnsHelpMessage }}\n          </info-popover>\n        </label>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"section gf-form-group\">\n    <h5 class=section-heading>Paging</h5>\n    <div class=gf-form>\n      <label class=\"gf-form-label width-8\">Rows per page</label>\n      <input type=number class=\"gf-form-input width-7\" placeholder=100 data-placement=right ng-model=editor.panel.pageSize ng-change=editor.render() ng-model-onblur/>\n    </div>\n    <div class=\"gf-form max-width-17\">\n      <label class=\"gf-form-label width-8\">Font size</label>\n      <div class=\"gf-form-select-wrapper width-7\">\n        <select class=gf-form-input ng-model=editor.panel.fontSize ng-options=\"f for f in editor.fontSizes\" ng-change=editor.render()></select>\n      </div>\n    </div>\n  </div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/table/module.html":
/*!****************************************************!*\
  !*** ./public/app/plugins/panel/table/module.html ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/table/module.html';
var html = "\n<div class=table-panel-container>\n\t<div class=table-panel-header-bg ng-show=ctrl.table.rows.length></div>\n\t<div class=table-panel-scroll ng-show=ctrl.table.rows.length>\n\t\t<table class=table-panel-table>\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th ng-repeat=\"col in ctrl.table.columns\" ng-if=!col.hidden>\n\t\t\t\t\t\t<div class=\"table-panel-table-header-inner pointer\" ng-click=\"ctrl.toggleColumnSort(col, $index)\">\n\t\t\t\t\t\t\t{{col.title}}\n\t\t\t\t\t\t\t<span class=table-panel-table-header-controls ng-if=col.sort>\n\t\t\t\t\t\t\t\t<i class=\"fa fa-caret-down\" ng-show=col.desc></i>\n\t\t\t\t\t\t\t\t<i class=\"fa fa-caret-up\" ng-hide=col.desc></i>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n<div class=datapoints-warning ng-show=\"ctrl.table.rows.length===0\">\n\t<span class=small>\n\t\tNo data to show <tip>Nothing returned by data query</tip>\n\t</span>\n</div>\n<div class=table-panel-footer>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/text/editor.html":
/*!***************************************************!*\
  !*** ./public/app/plugins/panel/text/editor.html ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/text/editor.html';
var html = "<div class=gf-form-inline>\n\t<div class=gf-form>\n\t\t<span class=gf-form-label>Mode</span>\n\t\t<span class=gf-form-select-wrapper>\n\t\t\t<select class=gf-form-input ng-model=ctrl.panel.mode ng-options=\"f for f in ['html','markdown']\"></select>\n\t\t</span>\n\t</div>\n</div>\n\n<div class=gf-form-inline>\n\t<div class=\"gf-form gf-form--grow\">\n\t\t<code-editor content=ctrl.panel.content on-change=ctrl.render() data-mode=markdown data-max-lines=20>\n\t\t</code-editor>\n\t</div>\n</div>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ }),

/***/ "./public/app/plugins/panel/text/module.html":
/*!***************************************************!*\
  !*** ./public/app/plugins/panel/text/module.html ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var path = 'public/app/plugins/panel/text/module.html';
var html = "<p class=\"markdown-html panel-text-content\" ng-bind-html=ctrl.content ng-show=ctrl.content>\n</p>\n";
window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);
module.exports = path;

/***/ })

},[["./public/app/index.ts","runtime","angular~app","moment~app","vendors~app","default~app"]]]);
//# sourceMappingURL=app.fb2366366adbbbf1d38b.js.map