kms 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2454) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kms/version.rb +1 -1
  3. data/vendor/assets/bower.json +23 -0
  4. data/vendor/assets/bower_components/Responsive-Dashboard/CONTRIBUTING.md +21 -0
  5. data/vendor/assets/bower_components/Responsive-Dashboard/LICENSE +21 -0
  6. data/vendor/assets/bower_components/Responsive-Dashboard/README.md +119 -0
  7. data/vendor/assets/bower_components/Responsive-Dashboard/bower.json +32 -0
  8. data/vendor/assets/bower_components/Responsive-Dashboard/gulpfile.js +81 -0
  9. data/vendor/assets/bower_components/Responsive-Dashboard/package.json +21 -0
  10. data/vendor/assets/bower_components/Responsive-Dashboard/src/fonts/montserrat-regular-webfont.eot +0 -0
  11. data/vendor/assets/bower_components/Responsive-Dashboard/src/fonts/montserrat-regular-webfont.svg +1317 -0
  12. data/vendor/assets/bower_components/Responsive-Dashboard/src/fonts/montserrat-regular-webfont.ttf +0 -0
  13. data/vendor/assets/bower_components/Responsive-Dashboard/src/fonts/montserrat-regular-webfont.woff +0 -0
  14. data/vendor/assets/bower_components/Responsive-Dashboard/src/img/avatar.jpg +0 -0
  15. data/vendor/assets/bower_components/Responsive-Dashboard/src/index.html +413 -0
  16. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/controllers/alerts-ctrl.js +19 -0
  17. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/controllers/master-ctrl.js +51 -0
  18. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/loading.js +13 -0
  19. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget-body.js +16 -0
  20. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget-header.js +17 -0
  21. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget.js +16 -0
  22. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/module.js +1 -0
  23. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/routes.js +22 -0
  24. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/content.less +19 -0
  25. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/hamburg.less +29 -0
  26. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/header.less +92 -0
  27. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/loading.less +40 -0
  28. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/main.less +73 -0
  29. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/mixins.less +5 -0
  30. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/sidebar.less +122 -0
  31. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/variables.less +10 -0
  32. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/widgets.less +95 -0
  33. data/vendor/assets/bower_components/alertify/README.md +4 -0
  34. data/vendor/assets/bower_components/alertify/alertify.js +633 -0
  35. data/vendor/assets/bower_components/alertify/alertify.min.js +2 -0
  36. data/vendor/assets/bower_components/alertify/component.json +6 -0
  37. data/vendor/assets/bower_components/alertify/themes/alertify.bootstrap.css +131 -0
  38. data/vendor/assets/bower_components/alertify/themes/alertify.core.css +141 -0
  39. data/vendor/assets/bower_components/alertify/themes/alertify.default.css +81 -0
  40. data/vendor/assets/bower_components/angular/README.md +67 -0
  41. data/vendor/assets/bower_components/angular/angular-csp.css +13 -0
  42. data/vendor/assets/bower_components/angular/angular.js +25751 -0
  43. data/vendor/assets/bower_components/angular/angular.min.js +248 -0
  44. data/vendor/assets/bower_components/angular/angular.min.js.gzip +0 -0
  45. data/vendor/assets/bower_components/angular/angular.min.js.map +8 -0
  46. data/vendor/assets/bower_components/angular/bower.json +8 -0
  47. data/vendor/assets/bower_components/angular/package.json +25 -0
  48. data/vendor/assets/bower_components/angular-bootstrap/bower.json +11 -0
  49. data/vendor/assets/bower_components/angular-bootstrap/ui-bootstrap-tpls.js +4167 -0
  50. data/vendor/assets/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js +10 -0
  51. data/vendor/assets/bower_components/angular-bootstrap/ui-bootstrap.js +3857 -0
  52. data/vendor/assets/bower_components/angular-bootstrap/ui-bootstrap.min.js +9 -0
  53. data/vendor/assets/bower_components/angular-cookies/README.md +77 -0
  54. data/vendor/assets/bower_components/angular-cookies/angular-cookies.js +206 -0
  55. data/vendor/assets/bower_components/angular-cookies/angular-cookies.min.js +8 -0
  56. data/vendor/assets/bower_components/angular-cookies/angular-cookies.min.js.map +8 -0
  57. data/vendor/assets/bower_components/angular-cookies/bower.json +9 -0
  58. data/vendor/assets/bower_components/angular-cookies/package.json +26 -0
  59. data/vendor/assets/bower_components/angular-i18n/README.md +65 -0
  60. data/vendor/assets/bower_components/angular-i18n/aa-dj.js +2 -0
  61. data/vendor/assets/bower_components/angular-i18n/aa-er.js +2 -0
  62. data/vendor/assets/bower_components/angular-i18n/aa-et.js +2 -0
  63. data/vendor/assets/bower_components/angular-i18n/aa.js +2 -0
  64. data/vendor/assets/bower_components/angular-i18n/af-na.js +2 -0
  65. data/vendor/assets/bower_components/angular-i18n/af-za.js +2 -0
  66. data/vendor/assets/bower_components/angular-i18n/af.js +2 -0
  67. data/vendor/assets/bower_components/angular-i18n/agq-cm.js +2 -0
  68. data/vendor/assets/bower_components/angular-i18n/agq.js +2 -0
  69. data/vendor/assets/bower_components/angular-i18n/ak-gh.js +2 -0
  70. data/vendor/assets/bower_components/angular-i18n/ak.js +2 -0
  71. data/vendor/assets/bower_components/angular-i18n/am-et.js +2 -0
  72. data/vendor/assets/bower_components/angular-i18n/am.js +2 -0
  73. data/vendor/assets/bower_components/angular-i18n/angular-locale_aa-dj.js +128 -0
  74. data/vendor/assets/bower_components/angular-i18n/angular-locale_aa-er.js +128 -0
  75. data/vendor/assets/bower_components/angular-i18n/angular-locale_aa-et.js +128 -0
  76. data/vendor/assets/bower_components/angular-i18n/angular-locale_aa.js +128 -0
  77. data/vendor/assets/bower_components/angular-i18n/angular-locale_af-na.js +110 -0
  78. data/vendor/assets/bower_components/angular-i18n/angular-locale_af-za.js +110 -0
  79. data/vendor/assets/bower_components/angular-i18n/angular-locale_af.js +110 -0
  80. data/vendor/assets/bower_components/angular-i18n/angular-locale_agq-cm.js +128 -0
  81. data/vendor/assets/bower_components/angular-i18n/angular-locale_agq.js +128 -0
  82. data/vendor/assets/bower_components/angular-i18n/angular-locale_ak-gh.js +128 -0
  83. data/vendor/assets/bower_components/angular-i18n/angular-locale_ak.js +128 -0
  84. data/vendor/assets/bower_components/angular-i18n/angular-locale_am-et.js +110 -0
  85. data/vendor/assets/bower_components/angular-i18n/angular-locale_am.js +110 -0
  86. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-001.js +110 -0
  87. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-ae.js +110 -0
  88. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-bh.js +110 -0
  89. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-dj.js +110 -0
  90. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-dz.js +110 -0
  91. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-eg.js +110 -0
  92. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-eh.js +110 -0
  93. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-er.js +110 -0
  94. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-il.js +110 -0
  95. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-iq.js +110 -0
  96. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-jo.js +110 -0
  97. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-km.js +110 -0
  98. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-kw.js +110 -0
  99. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-lb.js +110 -0
  100. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-ly.js +110 -0
  101. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-ma.js +110 -0
  102. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-mr.js +110 -0
  103. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-om.js +110 -0
  104. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-ps.js +110 -0
  105. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-qa.js +110 -0
  106. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-sa.js +110 -0
  107. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-sd.js +110 -0
  108. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-so.js +110 -0
  109. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-ss.js +110 -0
  110. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-sy.js +110 -0
  111. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-td.js +110 -0
  112. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-tn.js +110 -0
  113. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar-ye.js +110 -0
  114. data/vendor/assets/bower_components/angular-i18n/angular-locale_ar.js +110 -0
  115. data/vendor/assets/bower_components/angular-i18n/angular-locale_as-in.js +128 -0
  116. data/vendor/assets/bower_components/angular-i18n/angular-locale_as.js +128 -0
  117. data/vendor/assets/bower_components/angular-i18n/angular-locale_asa-tz.js +128 -0
  118. data/vendor/assets/bower_components/angular-i18n/angular-locale_asa.js +128 -0
  119. data/vendor/assets/bower_components/angular-i18n/angular-locale_ast-es.js +128 -0
  120. data/vendor/assets/bower_components/angular-i18n/angular-locale_ast.js +128 -0
  121. data/vendor/assets/bower_components/angular-i18n/angular-locale_az-cyrl-az.js +110 -0
  122. data/vendor/assets/bower_components/angular-i18n/angular-locale_az-cyrl.js +110 -0
  123. data/vendor/assets/bower_components/angular-i18n/angular-locale_az-latn-az.js +110 -0
  124. data/vendor/assets/bower_components/angular-i18n/angular-locale_az-latn.js +110 -0
  125. data/vendor/assets/bower_components/angular-i18n/angular-locale_az.js +110 -0
  126. data/vendor/assets/bower_components/angular-i18n/angular-locale_bas-cm.js +128 -0
  127. data/vendor/assets/bower_components/angular-i18n/angular-locale_bas.js +128 -0
  128. data/vendor/assets/bower_components/angular-i18n/angular-locale_be-by.js +110 -0
  129. data/vendor/assets/bower_components/angular-i18n/angular-locale_be.js +110 -0
  130. data/vendor/assets/bower_components/angular-i18n/angular-locale_bem-zm.js +128 -0
  131. data/vendor/assets/bower_components/angular-i18n/angular-locale_bem.js +128 -0
  132. data/vendor/assets/bower_components/angular-i18n/angular-locale_bez-tz.js +128 -0
  133. data/vendor/assets/bower_components/angular-i18n/angular-locale_bez.js +128 -0
  134. data/vendor/assets/bower_components/angular-i18n/angular-locale_bg-bg.js +110 -0
  135. data/vendor/assets/bower_components/angular-i18n/angular-locale_bg.js +110 -0
  136. data/vendor/assets/bower_components/angular-i18n/angular-locale_bm-latn-ml.js +128 -0
  137. data/vendor/assets/bower_components/angular-i18n/angular-locale_bm-latn.js +128 -0
  138. data/vendor/assets/bower_components/angular-i18n/angular-locale_bm-ml.js +115 -0
  139. data/vendor/assets/bower_components/angular-i18n/angular-locale_bm.js +128 -0
  140. data/vendor/assets/bower_components/angular-i18n/angular-locale_bn-bd.js +110 -0
  141. data/vendor/assets/bower_components/angular-i18n/angular-locale_bn-in.js +110 -0
  142. data/vendor/assets/bower_components/angular-i18n/angular-locale_bn.js +110 -0
  143. data/vendor/assets/bower_components/angular-i18n/angular-locale_bo-cn.js +128 -0
  144. data/vendor/assets/bower_components/angular-i18n/angular-locale_bo-in.js +128 -0
  145. data/vendor/assets/bower_components/angular-i18n/angular-locale_bo.js +128 -0
  146. data/vendor/assets/bower_components/angular-i18n/angular-locale_br-fr.js +110 -0
  147. data/vendor/assets/bower_components/angular-i18n/angular-locale_br.js +110 -0
  148. data/vendor/assets/bower_components/angular-i18n/angular-locale_brx-in.js +128 -0
  149. data/vendor/assets/bower_components/angular-i18n/angular-locale_brx.js +128 -0
  150. data/vendor/assets/bower_components/angular-i18n/angular-locale_bs-cyrl-ba.js +128 -0
  151. data/vendor/assets/bower_components/angular-i18n/angular-locale_bs-cyrl.js +128 -0
  152. data/vendor/assets/bower_components/angular-i18n/angular-locale_bs-latn-ba.js +128 -0
  153. data/vendor/assets/bower_components/angular-i18n/angular-locale_bs-latn.js +128 -0
  154. data/vendor/assets/bower_components/angular-i18n/angular-locale_bs.js +128 -0
  155. data/vendor/assets/bower_components/angular-i18n/angular-locale_byn-er.js +115 -0
  156. data/vendor/assets/bower_components/angular-i18n/angular-locale_byn.js +115 -0
  157. data/vendor/assets/bower_components/angular-i18n/angular-locale_ca-ad.js +128 -0
  158. data/vendor/assets/bower_components/angular-i18n/angular-locale_ca-es-valencia.js +128 -0
  159. data/vendor/assets/bower_components/angular-i18n/angular-locale_ca-es.js +128 -0
  160. data/vendor/assets/bower_components/angular-i18n/angular-locale_ca-fr.js +128 -0
  161. data/vendor/assets/bower_components/angular-i18n/angular-locale_ca-it.js +128 -0
  162. data/vendor/assets/bower_components/angular-i18n/angular-locale_ca.js +128 -0
  163. data/vendor/assets/bower_components/angular-i18n/angular-locale_cgg-ug.js +128 -0
  164. data/vendor/assets/bower_components/angular-i18n/angular-locale_cgg.js +128 -0
  165. data/vendor/assets/bower_components/angular-i18n/angular-locale_chr-us.js +110 -0
  166. data/vendor/assets/bower_components/angular-i18n/angular-locale_chr.js +110 -0
  167. data/vendor/assets/bower_components/angular-i18n/angular-locale_ckb-arab-iq.js +128 -0
  168. data/vendor/assets/bower_components/angular-i18n/angular-locale_ckb-arab-ir.js +128 -0
  169. data/vendor/assets/bower_components/angular-i18n/angular-locale_ckb-arab.js +128 -0
  170. data/vendor/assets/bower_components/angular-i18n/angular-locale_ckb-iq.js +128 -0
  171. data/vendor/assets/bower_components/angular-i18n/angular-locale_ckb-ir.js +128 -0
  172. data/vendor/assets/bower_components/angular-i18n/angular-locale_ckb-latn-iq.js +128 -0
  173. data/vendor/assets/bower_components/angular-i18n/angular-locale_ckb-latn.js +128 -0
  174. data/vendor/assets/bower_components/angular-i18n/angular-locale_ckb.js +128 -0
  175. data/vendor/assets/bower_components/angular-i18n/angular-locale_cs-cz.js +128 -0
  176. data/vendor/assets/bower_components/angular-i18n/angular-locale_cs.js +128 -0
  177. data/vendor/assets/bower_components/angular-i18n/angular-locale_cy-gb.js +110 -0
  178. data/vendor/assets/bower_components/angular-i18n/angular-locale_cy.js +110 -0
  179. data/vendor/assets/bower_components/angular-i18n/angular-locale_da-dk.js +141 -0
  180. data/vendor/assets/bower_components/angular-i18n/angular-locale_da-gl.js +141 -0
  181. data/vendor/assets/bower_components/angular-i18n/angular-locale_da.js +141 -0
  182. data/vendor/assets/bower_components/angular-i18n/angular-locale_dav-ke.js +128 -0
  183. data/vendor/assets/bower_components/angular-i18n/angular-locale_dav.js +128 -0
  184. data/vendor/assets/bower_components/angular-i18n/angular-locale_de-at.js +128 -0
  185. data/vendor/assets/bower_components/angular-i18n/angular-locale_de-be.js +128 -0
  186. data/vendor/assets/bower_components/angular-i18n/angular-locale_de-ch.js +128 -0
  187. data/vendor/assets/bower_components/angular-i18n/angular-locale_de-de.js +128 -0
  188. data/vendor/assets/bower_components/angular-i18n/angular-locale_de-li.js +128 -0
  189. data/vendor/assets/bower_components/angular-i18n/angular-locale_de-lu.js +128 -0
  190. data/vendor/assets/bower_components/angular-i18n/angular-locale_de.js +128 -0
  191. data/vendor/assets/bower_components/angular-i18n/angular-locale_dje-ne.js +128 -0
  192. data/vendor/assets/bower_components/angular-i18n/angular-locale_dje.js +128 -0
  193. data/vendor/assets/bower_components/angular-i18n/angular-locale_dsb-de.js +128 -0
  194. data/vendor/assets/bower_components/angular-i18n/angular-locale_dsb.js +128 -0
  195. data/vendor/assets/bower_components/angular-i18n/angular-locale_dua-cm.js +128 -0
  196. data/vendor/assets/bower_components/angular-i18n/angular-locale_dua.js +128 -0
  197. data/vendor/assets/bower_components/angular-i18n/angular-locale_dyo-sn.js +128 -0
  198. data/vendor/assets/bower_components/angular-i18n/angular-locale_dyo.js +128 -0
  199. data/vendor/assets/bower_components/angular-i18n/angular-locale_dz-bt.js +128 -0
  200. data/vendor/assets/bower_components/angular-i18n/angular-locale_dz.js +128 -0
  201. data/vendor/assets/bower_components/angular-i18n/angular-locale_ebu-ke.js +128 -0
  202. data/vendor/assets/bower_components/angular-i18n/angular-locale_ebu.js +128 -0
  203. data/vendor/assets/bower_components/angular-i18n/angular-locale_ee-gh.js +128 -0
  204. data/vendor/assets/bower_components/angular-i18n/angular-locale_ee-tg.js +128 -0
  205. data/vendor/assets/bower_components/angular-i18n/angular-locale_ee.js +128 -0
  206. data/vendor/assets/bower_components/angular-i18n/angular-locale_el-cy.js +110 -0
  207. data/vendor/assets/bower_components/angular-i18n/angular-locale_el-gr.js +110 -0
  208. data/vendor/assets/bower_components/angular-i18n/angular-locale_el.js +110 -0
  209. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-001.js +128 -0
  210. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-150.js +128 -0
  211. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ag.js +128 -0
  212. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ai.js +128 -0
  213. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-as.js +128 -0
  214. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-au.js +128 -0
  215. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-bb.js +128 -0
  216. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-be.js +128 -0
  217. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-bm.js +128 -0
  218. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-bs.js +128 -0
  219. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-bw.js +128 -0
  220. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-bz.js +128 -0
  221. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ca.js +128 -0
  222. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-cc.js +128 -0
  223. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ck.js +128 -0
  224. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-cm.js +128 -0
  225. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-cx.js +128 -0
  226. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-dg.js +128 -0
  227. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-dm.js +128 -0
  228. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-dsrt-us.js +99 -0
  229. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-dsrt.js +99 -0
  230. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-er.js +128 -0
  231. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-fj.js +128 -0
  232. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-fk.js +128 -0
  233. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-fm.js +128 -0
  234. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-gb.js +128 -0
  235. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-gd.js +128 -0
  236. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-gg.js +128 -0
  237. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-gh.js +128 -0
  238. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-gi.js +128 -0
  239. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-gm.js +128 -0
  240. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-gu.js +128 -0
  241. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-gy.js +128 -0
  242. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-hk.js +128 -0
  243. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ie.js +128 -0
  244. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-im.js +128 -0
  245. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-in.js +128 -0
  246. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-io.js +128 -0
  247. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-iso.js +128 -0
  248. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-je.js +128 -0
  249. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-jm.js +128 -0
  250. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ke.js +128 -0
  251. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ki.js +128 -0
  252. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-kn.js +128 -0
  253. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ky.js +128 -0
  254. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-lc.js +128 -0
  255. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-lr.js +128 -0
  256. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ls.js +128 -0
  257. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-mg.js +128 -0
  258. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-mh.js +128 -0
  259. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-mo.js +128 -0
  260. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-mp.js +128 -0
  261. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ms.js +128 -0
  262. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-mt.js +128 -0
  263. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-mu.js +128 -0
  264. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-mw.js +128 -0
  265. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-my.js +128 -0
  266. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-na.js +128 -0
  267. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-nf.js +128 -0
  268. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ng.js +128 -0
  269. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-nr.js +128 -0
  270. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-nu.js +128 -0
  271. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-nz.js +128 -0
  272. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-pg.js +128 -0
  273. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ph.js +128 -0
  274. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-pk.js +128 -0
  275. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-pn.js +128 -0
  276. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-pr.js +128 -0
  277. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-pw.js +128 -0
  278. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-rw.js +128 -0
  279. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-sb.js +128 -0
  280. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-sc.js +128 -0
  281. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-sd.js +128 -0
  282. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-sg.js +128 -0
  283. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-sh.js +128 -0
  284. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-sl.js +128 -0
  285. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ss.js +128 -0
  286. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-sx.js +128 -0
  287. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-sz.js +128 -0
  288. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-tc.js +128 -0
  289. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-tk.js +128 -0
  290. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-to.js +128 -0
  291. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-tt.js +128 -0
  292. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-tv.js +128 -0
  293. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-tz.js +128 -0
  294. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ug.js +128 -0
  295. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-um.js +128 -0
  296. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-us.js +128 -0
  297. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-vc.js +128 -0
  298. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-vg.js +128 -0
  299. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-vi.js +128 -0
  300. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-vu.js +128 -0
  301. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-ws.js +128 -0
  302. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-za.js +128 -0
  303. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-zm.js +128 -0
  304. data/vendor/assets/bower_components/angular-i18n/angular-locale_en-zw.js +128 -0
  305. data/vendor/assets/bower_components/angular-i18n/angular-locale_en.js +128 -0
  306. data/vendor/assets/bower_components/angular-i18n/angular-locale_eo-001.js +128 -0
  307. data/vendor/assets/bower_components/angular-i18n/angular-locale_eo.js +128 -0
  308. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-419.js +110 -0
  309. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-ar.js +110 -0
  310. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-bo.js +110 -0
  311. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-cl.js +110 -0
  312. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-co.js +110 -0
  313. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-cr.js +110 -0
  314. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-cu.js +110 -0
  315. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-do.js +110 -0
  316. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-ea.js +110 -0
  317. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-ec.js +110 -0
  318. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-es.js +110 -0
  319. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-gq.js +110 -0
  320. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-gt.js +110 -0
  321. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-hn.js +110 -0
  322. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-ic.js +110 -0
  323. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-mx.js +110 -0
  324. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-ni.js +110 -0
  325. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-pa.js +110 -0
  326. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-pe.js +110 -0
  327. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-ph.js +110 -0
  328. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-pr.js +110 -0
  329. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-py.js +110 -0
  330. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-sv.js +110 -0
  331. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-us.js +110 -0
  332. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-uy.js +110 -0
  333. data/vendor/assets/bower_components/angular-i18n/angular-locale_es-ve.js +110 -0
  334. data/vendor/assets/bower_components/angular-i18n/angular-locale_es.js +110 -0
  335. data/vendor/assets/bower_components/angular-i18n/angular-locale_et-ee.js +128 -0
  336. data/vendor/assets/bower_components/angular-i18n/angular-locale_et.js +128 -0
  337. data/vendor/assets/bower_components/angular-i18n/angular-locale_eu-es.js +110 -0
  338. data/vendor/assets/bower_components/angular-i18n/angular-locale_eu.js +110 -0
  339. data/vendor/assets/bower_components/angular-i18n/angular-locale_ewo-cm.js +128 -0
  340. data/vendor/assets/bower_components/angular-i18n/angular-locale_ewo.js +128 -0
  341. data/vendor/assets/bower_components/angular-i18n/angular-locale_fa-af.js +110 -0
  342. data/vendor/assets/bower_components/angular-i18n/angular-locale_fa-ir.js +110 -0
  343. data/vendor/assets/bower_components/angular-i18n/angular-locale_fa.js +110 -0
  344. data/vendor/assets/bower_components/angular-i18n/angular-locale_ff-cm.js +128 -0
  345. data/vendor/assets/bower_components/angular-i18n/angular-locale_ff-gn.js +128 -0
  346. data/vendor/assets/bower_components/angular-i18n/angular-locale_ff-mr.js +128 -0
  347. data/vendor/assets/bower_components/angular-i18n/angular-locale_ff-sn.js +128 -0
  348. data/vendor/assets/bower_components/angular-i18n/angular-locale_ff.js +128 -0
  349. data/vendor/assets/bower_components/angular-i18n/angular-locale_fi-fi.js +128 -0
  350. data/vendor/assets/bower_components/angular-i18n/angular-locale_fi.js +128 -0
  351. data/vendor/assets/bower_components/angular-i18n/angular-locale_fil-ph.js +128 -0
  352. data/vendor/assets/bower_components/angular-i18n/angular-locale_fil.js +128 -0
  353. data/vendor/assets/bower_components/angular-i18n/angular-locale_fo-fo.js +128 -0
  354. data/vendor/assets/bower_components/angular-i18n/angular-locale_fo.js +128 -0
  355. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-be.js +110 -0
  356. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-bf.js +110 -0
  357. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-bi.js +110 -0
  358. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-bj.js +110 -0
  359. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-bl.js +110 -0
  360. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-ca.js +110 -0
  361. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-cd.js +110 -0
  362. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-cf.js +110 -0
  363. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-cg.js +110 -0
  364. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-ch.js +110 -0
  365. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-ci.js +110 -0
  366. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-cm.js +110 -0
  367. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-dj.js +110 -0
  368. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-dz.js +110 -0
  369. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-fr.js +110 -0
  370. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-ga.js +110 -0
  371. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-gf.js +110 -0
  372. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-gn.js +110 -0
  373. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-gp.js +110 -0
  374. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-gq.js +110 -0
  375. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-ht.js +110 -0
  376. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-km.js +110 -0
  377. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-lu.js +110 -0
  378. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-ma.js +110 -0
  379. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-mc.js +110 -0
  380. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-mf.js +110 -0
  381. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-mg.js +110 -0
  382. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-ml.js +110 -0
  383. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-mq.js +110 -0
  384. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-mr.js +110 -0
  385. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-mu.js +110 -0
  386. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-nc.js +110 -0
  387. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-ne.js +110 -0
  388. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-pf.js +110 -0
  389. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-pm.js +110 -0
  390. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-re.js +110 -0
  391. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-rw.js +110 -0
  392. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-sc.js +110 -0
  393. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-sn.js +110 -0
  394. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-sy.js +110 -0
  395. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-td.js +110 -0
  396. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-tg.js +110 -0
  397. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-tn.js +110 -0
  398. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-vu.js +110 -0
  399. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-wf.js +110 -0
  400. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr-yt.js +110 -0
  401. data/vendor/assets/bower_components/angular-i18n/angular-locale_fr.js +110 -0
  402. data/vendor/assets/bower_components/angular-i18n/angular-locale_fur-it.js +128 -0
  403. data/vendor/assets/bower_components/angular-i18n/angular-locale_fur.js +128 -0
  404. data/vendor/assets/bower_components/angular-i18n/angular-locale_fy-nl.js +128 -0
  405. data/vendor/assets/bower_components/angular-i18n/angular-locale_fy.js +128 -0
  406. data/vendor/assets/bower_components/angular-i18n/angular-locale_ga-ie.js +110 -0
  407. data/vendor/assets/bower_components/angular-i18n/angular-locale_ga.js +110 -0
  408. data/vendor/assets/bower_components/angular-i18n/angular-locale_gd-gb.js +128 -0
  409. data/vendor/assets/bower_components/angular-i18n/angular-locale_gd.js +128 -0
  410. data/vendor/assets/bower_components/angular-i18n/angular-locale_gl-es.js +128 -0
  411. data/vendor/assets/bower_components/angular-i18n/angular-locale_gl.js +128 -0
  412. data/vendor/assets/bower_components/angular-i18n/angular-locale_gsw-ch.js +110 -0
  413. data/vendor/assets/bower_components/angular-i18n/angular-locale_gsw-fr.js +110 -0
  414. data/vendor/assets/bower_components/angular-i18n/angular-locale_gsw-li.js +110 -0
  415. data/vendor/assets/bower_components/angular-i18n/angular-locale_gsw.js +110 -0
  416. data/vendor/assets/bower_components/angular-i18n/angular-locale_gu-in.js +110 -0
  417. data/vendor/assets/bower_components/angular-i18n/angular-locale_gu.js +110 -0
  418. data/vendor/assets/bower_components/angular-i18n/angular-locale_guz-ke.js +128 -0
  419. data/vendor/assets/bower_components/angular-i18n/angular-locale_guz.js +128 -0
  420. data/vendor/assets/bower_components/angular-i18n/angular-locale_gv-im.js +128 -0
  421. data/vendor/assets/bower_components/angular-i18n/angular-locale_gv.js +128 -0
  422. data/vendor/assets/bower_components/angular-i18n/angular-locale_ha-latn-gh.js +128 -0
  423. data/vendor/assets/bower_components/angular-i18n/angular-locale_ha-latn-ne.js +128 -0
  424. data/vendor/assets/bower_components/angular-i18n/angular-locale_ha-latn-ng.js +128 -0
  425. data/vendor/assets/bower_components/angular-i18n/angular-locale_ha-latn.js +128 -0
  426. data/vendor/assets/bower_components/angular-i18n/angular-locale_ha.js +128 -0
  427. data/vendor/assets/bower_components/angular-i18n/angular-locale_haw-us.js +110 -0
  428. data/vendor/assets/bower_components/angular-i18n/angular-locale_haw.js +110 -0
  429. data/vendor/assets/bower_components/angular-i18n/angular-locale_he-il.js +128 -0
  430. data/vendor/assets/bower_components/angular-i18n/angular-locale_he.js +128 -0
  431. data/vendor/assets/bower_components/angular-i18n/angular-locale_hi-in.js +110 -0
  432. data/vendor/assets/bower_components/angular-i18n/angular-locale_hi.js +110 -0
  433. data/vendor/assets/bower_components/angular-i18n/angular-locale_hr-ba.js +128 -0
  434. data/vendor/assets/bower_components/angular-i18n/angular-locale_hr-hr.js +128 -0
  435. data/vendor/assets/bower_components/angular-i18n/angular-locale_hr.js +128 -0
  436. data/vendor/assets/bower_components/angular-i18n/angular-locale_hsb-de.js +128 -0
  437. data/vendor/assets/bower_components/angular-i18n/angular-locale_hsb.js +128 -0
  438. data/vendor/assets/bower_components/angular-i18n/angular-locale_hu-hu.js +110 -0
  439. data/vendor/assets/bower_components/angular-i18n/angular-locale_hu.js +110 -0
  440. data/vendor/assets/bower_components/angular-i18n/angular-locale_hy-am.js +110 -0
  441. data/vendor/assets/bower_components/angular-i18n/angular-locale_hy.js +110 -0
  442. data/vendor/assets/bower_components/angular-i18n/angular-locale_ia-fr.js +128 -0
  443. data/vendor/assets/bower_components/angular-i18n/angular-locale_ia.js +128 -0
  444. data/vendor/assets/bower_components/angular-i18n/angular-locale_id-id.js +110 -0
  445. data/vendor/assets/bower_components/angular-i18n/angular-locale_id.js +110 -0
  446. data/vendor/assets/bower_components/angular-i18n/angular-locale_ig-ng.js +128 -0
  447. data/vendor/assets/bower_components/angular-i18n/angular-locale_ig.js +128 -0
  448. data/vendor/assets/bower_components/angular-i18n/angular-locale_ii-cn.js +128 -0
  449. data/vendor/assets/bower_components/angular-i18n/angular-locale_ii.js +128 -0
  450. data/vendor/assets/bower_components/angular-i18n/angular-locale_in.js +110 -0
  451. data/vendor/assets/bower_components/angular-i18n/angular-locale_is-is.js +141 -0
  452. data/vendor/assets/bower_components/angular-i18n/angular-locale_is.js +141 -0
  453. data/vendor/assets/bower_components/angular-i18n/angular-locale_it-ch.js +128 -0
  454. data/vendor/assets/bower_components/angular-i18n/angular-locale_it-it.js +128 -0
  455. data/vendor/assets/bower_components/angular-i18n/angular-locale_it-sm.js +128 -0
  456. data/vendor/assets/bower_components/angular-i18n/angular-locale_it.js +128 -0
  457. data/vendor/assets/bower_components/angular-i18n/angular-locale_iw.js +128 -0
  458. data/vendor/assets/bower_components/angular-i18n/angular-locale_ja-jp.js +110 -0
  459. data/vendor/assets/bower_components/angular-i18n/angular-locale_ja.js +110 -0
  460. data/vendor/assets/bower_components/angular-i18n/angular-locale_jgo-cm.js +128 -0
  461. data/vendor/assets/bower_components/angular-i18n/angular-locale_jgo.js +128 -0
  462. data/vendor/assets/bower_components/angular-i18n/angular-locale_jmc-tz.js +128 -0
  463. data/vendor/assets/bower_components/angular-i18n/angular-locale_jmc.js +128 -0
  464. data/vendor/assets/bower_components/angular-i18n/angular-locale_ka-ge.js +110 -0
  465. data/vendor/assets/bower_components/angular-i18n/angular-locale_ka.js +110 -0
  466. data/vendor/assets/bower_components/angular-i18n/angular-locale_kab-dz.js +128 -0
  467. data/vendor/assets/bower_components/angular-i18n/angular-locale_kab.js +128 -0
  468. data/vendor/assets/bower_components/angular-i18n/angular-locale_kam-ke.js +128 -0
  469. data/vendor/assets/bower_components/angular-i18n/angular-locale_kam.js +128 -0
  470. data/vendor/assets/bower_components/angular-i18n/angular-locale_kde-tz.js +128 -0
  471. data/vendor/assets/bower_components/angular-i18n/angular-locale_kde.js +128 -0
  472. data/vendor/assets/bower_components/angular-i18n/angular-locale_kea-cv.js +128 -0
  473. data/vendor/assets/bower_components/angular-i18n/angular-locale_kea.js +128 -0
  474. data/vendor/assets/bower_components/angular-i18n/angular-locale_khq-ml.js +128 -0
  475. data/vendor/assets/bower_components/angular-i18n/angular-locale_khq.js +128 -0
  476. data/vendor/assets/bower_components/angular-i18n/angular-locale_ki-ke.js +128 -0
  477. data/vendor/assets/bower_components/angular-i18n/angular-locale_ki.js +128 -0
  478. data/vendor/assets/bower_components/angular-i18n/angular-locale_kk-cyrl-kz.js +110 -0
  479. data/vendor/assets/bower_components/angular-i18n/angular-locale_kk-cyrl.js +110 -0
  480. data/vendor/assets/bower_components/angular-i18n/angular-locale_kk.js +110 -0
  481. data/vendor/assets/bower_components/angular-i18n/angular-locale_kkj-cm.js +128 -0
  482. data/vendor/assets/bower_components/angular-i18n/angular-locale_kkj.js +128 -0
  483. data/vendor/assets/bower_components/angular-i18n/angular-locale_kl-gl.js +128 -0
  484. data/vendor/assets/bower_components/angular-i18n/angular-locale_kl.js +128 -0
  485. data/vendor/assets/bower_components/angular-i18n/angular-locale_kln-ke.js +128 -0
  486. data/vendor/assets/bower_components/angular-i18n/angular-locale_kln.js +128 -0
  487. data/vendor/assets/bower_components/angular-i18n/angular-locale_km-kh.js +110 -0
  488. data/vendor/assets/bower_components/angular-i18n/angular-locale_km.js +110 -0
  489. data/vendor/assets/bower_components/angular-i18n/angular-locale_kn-in.js +110 -0
  490. data/vendor/assets/bower_components/angular-i18n/angular-locale_kn.js +110 -0
  491. data/vendor/assets/bower_components/angular-i18n/angular-locale_ko-kp.js +110 -0
  492. data/vendor/assets/bower_components/angular-i18n/angular-locale_ko-kr.js +110 -0
  493. data/vendor/assets/bower_components/angular-i18n/angular-locale_ko.js +110 -0
  494. data/vendor/assets/bower_components/angular-i18n/angular-locale_kok-in.js +128 -0
  495. data/vendor/assets/bower_components/angular-i18n/angular-locale_kok.js +128 -0
  496. data/vendor/assets/bower_components/angular-i18n/angular-locale_ks-arab-in.js +128 -0
  497. data/vendor/assets/bower_components/angular-i18n/angular-locale_ks-arab.js +128 -0
  498. data/vendor/assets/bower_components/angular-i18n/angular-locale_ks.js +128 -0
  499. data/vendor/assets/bower_components/angular-i18n/angular-locale_ksb-tz.js +128 -0
  500. data/vendor/assets/bower_components/angular-i18n/angular-locale_ksb.js +128 -0
  501. data/vendor/assets/bower_components/angular-i18n/angular-locale_ksf-cm.js +128 -0
  502. data/vendor/assets/bower_components/angular-i18n/angular-locale_ksf.js +128 -0
  503. data/vendor/assets/bower_components/angular-i18n/angular-locale_ksh-de.js +128 -0
  504. data/vendor/assets/bower_components/angular-i18n/angular-locale_ksh.js +128 -0
  505. data/vendor/assets/bower_components/angular-i18n/angular-locale_kw-gb.js +128 -0
  506. data/vendor/assets/bower_components/angular-i18n/angular-locale_kw.js +128 -0
  507. data/vendor/assets/bower_components/angular-i18n/angular-locale_ky-cyrl-kg.js +110 -0
  508. data/vendor/assets/bower_components/angular-i18n/angular-locale_ky-cyrl.js +110 -0
  509. data/vendor/assets/bower_components/angular-i18n/angular-locale_ky.js +110 -0
  510. data/vendor/assets/bower_components/angular-i18n/angular-locale_lag-tz.js +128 -0
  511. data/vendor/assets/bower_components/angular-i18n/angular-locale_lag.js +128 -0
  512. data/vendor/assets/bower_components/angular-i18n/angular-locale_lb-lu.js +128 -0
  513. data/vendor/assets/bower_components/angular-i18n/angular-locale_lb.js +128 -0
  514. data/vendor/assets/bower_components/angular-i18n/angular-locale_lg-ug.js +128 -0
  515. data/vendor/assets/bower_components/angular-i18n/angular-locale_lg.js +128 -0
  516. data/vendor/assets/bower_components/angular-i18n/angular-locale_lkt-us.js +128 -0
  517. data/vendor/assets/bower_components/angular-i18n/angular-locale_lkt.js +128 -0
  518. data/vendor/assets/bower_components/angular-i18n/angular-locale_ln-ao.js +110 -0
  519. data/vendor/assets/bower_components/angular-i18n/angular-locale_ln-cd.js +110 -0
  520. data/vendor/assets/bower_components/angular-i18n/angular-locale_ln-cf.js +110 -0
  521. data/vendor/assets/bower_components/angular-i18n/angular-locale_ln-cg.js +110 -0
  522. data/vendor/assets/bower_components/angular-i18n/angular-locale_ln.js +110 -0
  523. data/vendor/assets/bower_components/angular-i18n/angular-locale_lo-la.js +110 -0
  524. data/vendor/assets/bower_components/angular-i18n/angular-locale_lo.js +110 -0
  525. data/vendor/assets/bower_components/angular-i18n/angular-locale_lt-lt.js +128 -0
  526. data/vendor/assets/bower_components/angular-i18n/angular-locale_lt.js +128 -0
  527. data/vendor/assets/bower_components/angular-i18n/angular-locale_lu-cd.js +128 -0
  528. data/vendor/assets/bower_components/angular-i18n/angular-locale_lu.js +128 -0
  529. data/vendor/assets/bower_components/angular-i18n/angular-locale_luo-ke.js +128 -0
  530. data/vendor/assets/bower_components/angular-i18n/angular-locale_luo.js +128 -0
  531. data/vendor/assets/bower_components/angular-i18n/angular-locale_luy-ke.js +128 -0
  532. data/vendor/assets/bower_components/angular-i18n/angular-locale_luy.js +128 -0
  533. data/vendor/assets/bower_components/angular-i18n/angular-locale_lv-lv.js +128 -0
  534. data/vendor/assets/bower_components/angular-i18n/angular-locale_lv.js +128 -0
  535. data/vendor/assets/bower_components/angular-i18n/angular-locale_mas-ke.js +128 -0
  536. data/vendor/assets/bower_components/angular-i18n/angular-locale_mas-tz.js +128 -0
  537. data/vendor/assets/bower_components/angular-i18n/angular-locale_mas.js +128 -0
  538. data/vendor/assets/bower_components/angular-i18n/angular-locale_mer-ke.js +128 -0
  539. data/vendor/assets/bower_components/angular-i18n/angular-locale_mer.js +128 -0
  540. data/vendor/assets/bower_components/angular-i18n/angular-locale_mfe-mu.js +128 -0
  541. data/vendor/assets/bower_components/angular-i18n/angular-locale_mfe.js +128 -0
  542. data/vendor/assets/bower_components/angular-i18n/angular-locale_mg-mg.js +128 -0
  543. data/vendor/assets/bower_components/angular-i18n/angular-locale_mg.js +128 -0
  544. data/vendor/assets/bower_components/angular-i18n/angular-locale_mgh-mz.js +128 -0
  545. data/vendor/assets/bower_components/angular-i18n/angular-locale_mgh.js +128 -0
  546. data/vendor/assets/bower_components/angular-i18n/angular-locale_mgo-cm.js +128 -0
  547. data/vendor/assets/bower_components/angular-i18n/angular-locale_mgo.js +128 -0
  548. data/vendor/assets/bower_components/angular-i18n/angular-locale_mk-mk.js +128 -0
  549. data/vendor/assets/bower_components/angular-i18n/angular-locale_mk.js +128 -0
  550. data/vendor/assets/bower_components/angular-i18n/angular-locale_ml-in.js +110 -0
  551. data/vendor/assets/bower_components/angular-i18n/angular-locale_ml.js +110 -0
  552. data/vendor/assets/bower_components/angular-i18n/angular-locale_mn-cyrl-mn.js +110 -0
  553. data/vendor/assets/bower_components/angular-i18n/angular-locale_mn-cyrl.js +110 -0
  554. data/vendor/assets/bower_components/angular-i18n/angular-locale_mn.js +110 -0
  555. data/vendor/assets/bower_components/angular-i18n/angular-locale_mr-in.js +110 -0
  556. data/vendor/assets/bower_components/angular-i18n/angular-locale_mr.js +110 -0
  557. data/vendor/assets/bower_components/angular-i18n/angular-locale_ms-bn.js +99 -0
  558. data/vendor/assets/bower_components/angular-i18n/angular-locale_ms-latn-bn.js +110 -0
  559. data/vendor/assets/bower_components/angular-i18n/angular-locale_ms-latn-my.js +110 -0
  560. data/vendor/assets/bower_components/angular-i18n/angular-locale_ms-latn-sg.js +110 -0
  561. data/vendor/assets/bower_components/angular-i18n/angular-locale_ms-latn.js +110 -0
  562. data/vendor/assets/bower_components/angular-i18n/angular-locale_ms-my.js +99 -0
  563. data/vendor/assets/bower_components/angular-i18n/angular-locale_ms.js +110 -0
  564. data/vendor/assets/bower_components/angular-i18n/angular-locale_mt-mt.js +110 -0
  565. data/vendor/assets/bower_components/angular-i18n/angular-locale_mt.js +110 -0
  566. data/vendor/assets/bower_components/angular-i18n/angular-locale_mua-cm.js +128 -0
  567. data/vendor/assets/bower_components/angular-i18n/angular-locale_mua.js +128 -0
  568. data/vendor/assets/bower_components/angular-i18n/angular-locale_my-mm.js +110 -0
  569. data/vendor/assets/bower_components/angular-i18n/angular-locale_my.js +110 -0
  570. data/vendor/assets/bower_components/angular-i18n/angular-locale_naq-na.js +128 -0
  571. data/vendor/assets/bower_components/angular-i18n/angular-locale_naq.js +128 -0
  572. data/vendor/assets/bower_components/angular-i18n/angular-locale_nb-no.js +110 -0
  573. data/vendor/assets/bower_components/angular-i18n/angular-locale_nb-sj.js +110 -0
  574. data/vendor/assets/bower_components/angular-i18n/angular-locale_nb.js +110 -0
  575. data/vendor/assets/bower_components/angular-i18n/angular-locale_nd-zw.js +128 -0
  576. data/vendor/assets/bower_components/angular-i18n/angular-locale_nd.js +128 -0
  577. data/vendor/assets/bower_components/angular-i18n/angular-locale_ne-in.js +110 -0
  578. data/vendor/assets/bower_components/angular-i18n/angular-locale_ne-np.js +110 -0
  579. data/vendor/assets/bower_components/angular-i18n/angular-locale_ne.js +110 -0
  580. data/vendor/assets/bower_components/angular-i18n/angular-locale_nl-aw.js +128 -0
  581. data/vendor/assets/bower_components/angular-i18n/angular-locale_nl-be.js +128 -0
  582. data/vendor/assets/bower_components/angular-i18n/angular-locale_nl-bq.js +128 -0
  583. data/vendor/assets/bower_components/angular-i18n/angular-locale_nl-cw.js +128 -0
  584. data/vendor/assets/bower_components/angular-i18n/angular-locale_nl-nl.js +128 -0
  585. data/vendor/assets/bower_components/angular-i18n/angular-locale_nl-sr.js +128 -0
  586. data/vendor/assets/bower_components/angular-i18n/angular-locale_nl-sx.js +128 -0
  587. data/vendor/assets/bower_components/angular-i18n/angular-locale_nl.js +128 -0
  588. data/vendor/assets/bower_components/angular-i18n/angular-locale_nmg-cm.js +128 -0
  589. data/vendor/assets/bower_components/angular-i18n/angular-locale_nmg.js +128 -0
  590. data/vendor/assets/bower_components/angular-i18n/angular-locale_nn-no.js +128 -0
  591. data/vendor/assets/bower_components/angular-i18n/angular-locale_nn.js +128 -0
  592. data/vendor/assets/bower_components/angular-i18n/angular-locale_nnh-cm.js +128 -0
  593. data/vendor/assets/bower_components/angular-i18n/angular-locale_nnh.js +128 -0
  594. data/vendor/assets/bower_components/angular-i18n/angular-locale_no-no.js +110 -0
  595. data/vendor/assets/bower_components/angular-i18n/angular-locale_no.js +110 -0
  596. data/vendor/assets/bower_components/angular-i18n/angular-locale_nr-za.js +128 -0
  597. data/vendor/assets/bower_components/angular-i18n/angular-locale_nr.js +128 -0
  598. data/vendor/assets/bower_components/angular-i18n/angular-locale_nso-za.js +128 -0
  599. data/vendor/assets/bower_components/angular-i18n/angular-locale_nso.js +128 -0
  600. data/vendor/assets/bower_components/angular-i18n/angular-locale_nus-sd.js +128 -0
  601. data/vendor/assets/bower_components/angular-i18n/angular-locale_nus.js +128 -0
  602. data/vendor/assets/bower_components/angular-i18n/angular-locale_nyn-ug.js +128 -0
  603. data/vendor/assets/bower_components/angular-i18n/angular-locale_nyn.js +128 -0
  604. data/vendor/assets/bower_components/angular-i18n/angular-locale_om-et.js +128 -0
  605. data/vendor/assets/bower_components/angular-i18n/angular-locale_om-ke.js +128 -0
  606. data/vendor/assets/bower_components/angular-i18n/angular-locale_om.js +128 -0
  607. data/vendor/assets/bower_components/angular-i18n/angular-locale_or-in.js +110 -0
  608. data/vendor/assets/bower_components/angular-i18n/angular-locale_or.js +110 -0
  609. data/vendor/assets/bower_components/angular-i18n/angular-locale_os-ge.js +128 -0
  610. data/vendor/assets/bower_components/angular-i18n/angular-locale_os-ru.js +128 -0
  611. data/vendor/assets/bower_components/angular-i18n/angular-locale_os.js +128 -0
  612. data/vendor/assets/bower_components/angular-i18n/angular-locale_pa-arab-pk.js +110 -0
  613. data/vendor/assets/bower_components/angular-i18n/angular-locale_pa-arab.js +110 -0
  614. data/vendor/assets/bower_components/angular-i18n/angular-locale_pa-guru-in.js +110 -0
  615. data/vendor/assets/bower_components/angular-i18n/angular-locale_pa-guru.js +110 -0
  616. data/vendor/assets/bower_components/angular-i18n/angular-locale_pa.js +110 -0
  617. data/vendor/assets/bower_components/angular-i18n/angular-locale_pl-pl.js +128 -0
  618. data/vendor/assets/bower_components/angular-i18n/angular-locale_pl.js +128 -0
  619. data/vendor/assets/bower_components/angular-i18n/angular-locale_ps-af.js +128 -0
  620. data/vendor/assets/bower_components/angular-i18n/angular-locale_ps.js +128 -0
  621. data/vendor/assets/bower_components/angular-i18n/angular-locale_pt-ao.js +110 -0
  622. data/vendor/assets/bower_components/angular-i18n/angular-locale_pt-br.js +110 -0
  623. data/vendor/assets/bower_components/angular-i18n/angular-locale_pt-cv.js +110 -0
  624. data/vendor/assets/bower_components/angular-i18n/angular-locale_pt-gw.js +110 -0
  625. data/vendor/assets/bower_components/angular-i18n/angular-locale_pt-mo.js +110 -0
  626. data/vendor/assets/bower_components/angular-i18n/angular-locale_pt-mz.js +110 -0
  627. data/vendor/assets/bower_components/angular-i18n/angular-locale_pt-pt.js +110 -0
  628. data/vendor/assets/bower_components/angular-i18n/angular-locale_pt-st.js +110 -0
  629. data/vendor/assets/bower_components/angular-i18n/angular-locale_pt-tl.js +110 -0
  630. data/vendor/assets/bower_components/angular-i18n/angular-locale_pt.js +110 -0
  631. data/vendor/assets/bower_components/angular-i18n/angular-locale_qu-bo.js +128 -0
  632. data/vendor/assets/bower_components/angular-i18n/angular-locale_qu-ec.js +128 -0
  633. data/vendor/assets/bower_components/angular-i18n/angular-locale_qu-pe.js +128 -0
  634. data/vendor/assets/bower_components/angular-i18n/angular-locale_qu.js +128 -0
  635. data/vendor/assets/bower_components/angular-i18n/angular-locale_rm-ch.js +128 -0
  636. data/vendor/assets/bower_components/angular-i18n/angular-locale_rm.js +128 -0
  637. data/vendor/assets/bower_components/angular-i18n/angular-locale_rn-bi.js +128 -0
  638. data/vendor/assets/bower_components/angular-i18n/angular-locale_rn.js +128 -0
  639. data/vendor/assets/bower_components/angular-i18n/angular-locale_ro-md.js +128 -0
  640. data/vendor/assets/bower_components/angular-i18n/angular-locale_ro-ro.js +128 -0
  641. data/vendor/assets/bower_components/angular-i18n/angular-locale_ro.js +128 -0
  642. data/vendor/assets/bower_components/angular-i18n/angular-locale_rof-tz.js +128 -0
  643. data/vendor/assets/bower_components/angular-i18n/angular-locale_rof.js +128 -0
  644. data/vendor/assets/bower_components/angular-i18n/angular-locale_ru-by.js +128 -0
  645. data/vendor/assets/bower_components/angular-i18n/angular-locale_ru-kg.js +128 -0
  646. data/vendor/assets/bower_components/angular-i18n/angular-locale_ru-kz.js +128 -0
  647. data/vendor/assets/bower_components/angular-i18n/angular-locale_ru-md.js +128 -0
  648. data/vendor/assets/bower_components/angular-i18n/angular-locale_ru-ru.js +128 -0
  649. data/vendor/assets/bower_components/angular-i18n/angular-locale_ru-ua.js +128 -0
  650. data/vendor/assets/bower_components/angular-i18n/angular-locale_ru.js +128 -0
  651. data/vendor/assets/bower_components/angular-i18n/angular-locale_rw-rw.js +128 -0
  652. data/vendor/assets/bower_components/angular-i18n/angular-locale_rw.js +128 -0
  653. data/vendor/assets/bower_components/angular-i18n/angular-locale_rwk-tz.js +128 -0
  654. data/vendor/assets/bower_components/angular-i18n/angular-locale_rwk.js +128 -0
  655. data/vendor/assets/bower_components/angular-i18n/angular-locale_sah-ru.js +128 -0
  656. data/vendor/assets/bower_components/angular-i18n/angular-locale_sah.js +128 -0
  657. data/vendor/assets/bower_components/angular-i18n/angular-locale_saq-ke.js +128 -0
  658. data/vendor/assets/bower_components/angular-i18n/angular-locale_saq.js +128 -0
  659. data/vendor/assets/bower_components/angular-i18n/angular-locale_sbp-tz.js +128 -0
  660. data/vendor/assets/bower_components/angular-i18n/angular-locale_sbp.js +128 -0
  661. data/vendor/assets/bower_components/angular-i18n/angular-locale_se-fi.js +128 -0
  662. data/vendor/assets/bower_components/angular-i18n/angular-locale_se-no.js +128 -0
  663. data/vendor/assets/bower_components/angular-i18n/angular-locale_se-se.js +128 -0
  664. data/vendor/assets/bower_components/angular-i18n/angular-locale_se.js +128 -0
  665. data/vendor/assets/bower_components/angular-i18n/angular-locale_seh-mz.js +128 -0
  666. data/vendor/assets/bower_components/angular-i18n/angular-locale_seh.js +128 -0
  667. data/vendor/assets/bower_components/angular-i18n/angular-locale_ses-ml.js +128 -0
  668. data/vendor/assets/bower_components/angular-i18n/angular-locale_ses.js +128 -0
  669. data/vendor/assets/bower_components/angular-i18n/angular-locale_sg-cf.js +128 -0
  670. data/vendor/assets/bower_components/angular-i18n/angular-locale_sg.js +128 -0
  671. data/vendor/assets/bower_components/angular-i18n/angular-locale_shi-latn-ma.js +128 -0
  672. data/vendor/assets/bower_components/angular-i18n/angular-locale_shi-latn.js +128 -0
  673. data/vendor/assets/bower_components/angular-i18n/angular-locale_shi-tfng-ma.js +128 -0
  674. data/vendor/assets/bower_components/angular-i18n/angular-locale_shi-tfng.js +128 -0
  675. data/vendor/assets/bower_components/angular-i18n/angular-locale_shi.js +128 -0
  676. data/vendor/assets/bower_components/angular-i18n/angular-locale_si-lk.js +128 -0
  677. data/vendor/assets/bower_components/angular-i18n/angular-locale_si.js +128 -0
  678. data/vendor/assets/bower_components/angular-i18n/angular-locale_sk-sk.js +128 -0
  679. data/vendor/assets/bower_components/angular-i18n/angular-locale_sk.js +128 -0
  680. data/vendor/assets/bower_components/angular-i18n/angular-locale_sl-si.js +128 -0
  681. data/vendor/assets/bower_components/angular-i18n/angular-locale_sl.js +128 -0
  682. data/vendor/assets/bower_components/angular-i18n/angular-locale_smn-fi.js +128 -0
  683. data/vendor/assets/bower_components/angular-i18n/angular-locale_smn.js +128 -0
  684. data/vendor/assets/bower_components/angular-i18n/angular-locale_sn-zw.js +128 -0
  685. data/vendor/assets/bower_components/angular-i18n/angular-locale_sn.js +128 -0
  686. data/vendor/assets/bower_components/angular-i18n/angular-locale_so-dj.js +128 -0
  687. data/vendor/assets/bower_components/angular-i18n/angular-locale_so-et.js +128 -0
  688. data/vendor/assets/bower_components/angular-i18n/angular-locale_so-ke.js +128 -0
  689. data/vendor/assets/bower_components/angular-i18n/angular-locale_so-so.js +128 -0
  690. data/vendor/assets/bower_components/angular-i18n/angular-locale_so.js +128 -0
  691. data/vendor/assets/bower_components/angular-i18n/angular-locale_sq-al.js +110 -0
  692. data/vendor/assets/bower_components/angular-i18n/angular-locale_sq-mk.js +110 -0
  693. data/vendor/assets/bower_components/angular-i18n/angular-locale_sq-xk.js +110 -0
  694. data/vendor/assets/bower_components/angular-i18n/angular-locale_sq.js +110 -0
  695. data/vendor/assets/bower_components/angular-i18n/angular-locale_sr-cyrl-ba.js +128 -0
  696. data/vendor/assets/bower_components/angular-i18n/angular-locale_sr-cyrl-me.js +128 -0
  697. data/vendor/assets/bower_components/angular-i18n/angular-locale_sr-cyrl-rs.js +128 -0
  698. data/vendor/assets/bower_components/angular-i18n/angular-locale_sr-cyrl-xk.js +128 -0
  699. data/vendor/assets/bower_components/angular-i18n/angular-locale_sr-cyrl.js +128 -0
  700. data/vendor/assets/bower_components/angular-i18n/angular-locale_sr-latn-ba.js +128 -0
  701. data/vendor/assets/bower_components/angular-i18n/angular-locale_sr-latn-me.js +128 -0
  702. data/vendor/assets/bower_components/angular-i18n/angular-locale_sr-latn-rs.js +128 -0
  703. data/vendor/assets/bower_components/angular-i18n/angular-locale_sr-latn-xk.js +128 -0
  704. data/vendor/assets/bower_components/angular-i18n/angular-locale_sr-latn.js +128 -0
  705. data/vendor/assets/bower_components/angular-i18n/angular-locale_sr.js +128 -0
  706. data/vendor/assets/bower_components/angular-i18n/angular-locale_ss-sz.js +128 -0
  707. data/vendor/assets/bower_components/angular-i18n/angular-locale_ss-za.js +128 -0
  708. data/vendor/assets/bower_components/angular-i18n/angular-locale_ss.js +128 -0
  709. data/vendor/assets/bower_components/angular-i18n/angular-locale_ssy-er.js +128 -0
  710. data/vendor/assets/bower_components/angular-i18n/angular-locale_ssy.js +128 -0
  711. data/vendor/assets/bower_components/angular-i18n/angular-locale_st-ls.js +115 -0
  712. data/vendor/assets/bower_components/angular-i18n/angular-locale_st-za.js +115 -0
  713. data/vendor/assets/bower_components/angular-i18n/angular-locale_st.js +115 -0
  714. data/vendor/assets/bower_components/angular-i18n/angular-locale_sv-ax.js +128 -0
  715. data/vendor/assets/bower_components/angular-i18n/angular-locale_sv-fi.js +128 -0
  716. data/vendor/assets/bower_components/angular-i18n/angular-locale_sv-se.js +128 -0
  717. data/vendor/assets/bower_components/angular-i18n/angular-locale_sv.js +128 -0
  718. data/vendor/assets/bower_components/angular-i18n/angular-locale_sw-cd.js +128 -0
  719. data/vendor/assets/bower_components/angular-i18n/angular-locale_sw-ke.js +128 -0
  720. data/vendor/assets/bower_components/angular-i18n/angular-locale_sw-tz.js +128 -0
  721. data/vendor/assets/bower_components/angular-i18n/angular-locale_sw-ug.js +128 -0
  722. data/vendor/assets/bower_components/angular-i18n/angular-locale_sw.js +128 -0
  723. data/vendor/assets/bower_components/angular-i18n/angular-locale_swc-cd.js +128 -0
  724. data/vendor/assets/bower_components/angular-i18n/angular-locale_swc.js +128 -0
  725. data/vendor/assets/bower_components/angular-i18n/angular-locale_ta-in.js +110 -0
  726. data/vendor/assets/bower_components/angular-i18n/angular-locale_ta-lk.js +110 -0
  727. data/vendor/assets/bower_components/angular-i18n/angular-locale_ta-my.js +110 -0
  728. data/vendor/assets/bower_components/angular-i18n/angular-locale_ta-sg.js +110 -0
  729. data/vendor/assets/bower_components/angular-i18n/angular-locale_ta.js +110 -0
  730. data/vendor/assets/bower_components/angular-i18n/angular-locale_te-in.js +110 -0
  731. data/vendor/assets/bower_components/angular-i18n/angular-locale_te.js +110 -0
  732. data/vendor/assets/bower_components/angular-i18n/angular-locale_teo-ke.js +128 -0
  733. data/vendor/assets/bower_components/angular-i18n/angular-locale_teo-ug.js +128 -0
  734. data/vendor/assets/bower_components/angular-i18n/angular-locale_teo.js +128 -0
  735. data/vendor/assets/bower_components/angular-i18n/angular-locale_tg-cyrl-tj.js +115 -0
  736. data/vendor/assets/bower_components/angular-i18n/angular-locale_tg-cyrl.js +115 -0
  737. data/vendor/assets/bower_components/angular-i18n/angular-locale_tg.js +115 -0
  738. data/vendor/assets/bower_components/angular-i18n/angular-locale_th-th.js +110 -0
  739. data/vendor/assets/bower_components/angular-i18n/angular-locale_th.js +110 -0
  740. data/vendor/assets/bower_components/angular-i18n/angular-locale_ti-er.js +128 -0
  741. data/vendor/assets/bower_components/angular-i18n/angular-locale_ti-et.js +128 -0
  742. data/vendor/assets/bower_components/angular-i18n/angular-locale_ti.js +128 -0
  743. data/vendor/assets/bower_components/angular-i18n/angular-locale_tig-er.js +115 -0
  744. data/vendor/assets/bower_components/angular-i18n/angular-locale_tig.js +115 -0
  745. data/vendor/assets/bower_components/angular-i18n/angular-locale_tl.js +128 -0
  746. data/vendor/assets/bower_components/angular-i18n/angular-locale_tn-bw.js +128 -0
  747. data/vendor/assets/bower_components/angular-i18n/angular-locale_tn-za.js +128 -0
  748. data/vendor/assets/bower_components/angular-i18n/angular-locale_tn.js +128 -0
  749. data/vendor/assets/bower_components/angular-i18n/angular-locale_to-to.js +128 -0
  750. data/vendor/assets/bower_components/angular-i18n/angular-locale_to.js +128 -0
  751. data/vendor/assets/bower_components/angular-i18n/angular-locale_tr-cy.js +110 -0
  752. data/vendor/assets/bower_components/angular-i18n/angular-locale_tr-tr.js +110 -0
  753. data/vendor/assets/bower_components/angular-i18n/angular-locale_tr.js +110 -0
  754. data/vendor/assets/bower_components/angular-i18n/angular-locale_ts-za.js +128 -0
  755. data/vendor/assets/bower_components/angular-i18n/angular-locale_ts.js +128 -0
  756. data/vendor/assets/bower_components/angular-i18n/angular-locale_twq-ne.js +128 -0
  757. data/vendor/assets/bower_components/angular-i18n/angular-locale_twq.js +128 -0
  758. data/vendor/assets/bower_components/angular-i18n/angular-locale_tzm-latn-ma.js +128 -0
  759. data/vendor/assets/bower_components/angular-i18n/angular-locale_tzm-latn.js +128 -0
  760. data/vendor/assets/bower_components/angular-i18n/angular-locale_tzm.js +128 -0
  761. data/vendor/assets/bower_components/angular-i18n/angular-locale_ug-arab-cn.js +128 -0
  762. data/vendor/assets/bower_components/angular-i18n/angular-locale_ug-arab.js +128 -0
  763. data/vendor/assets/bower_components/angular-i18n/angular-locale_ug.js +128 -0
  764. data/vendor/assets/bower_components/angular-i18n/angular-locale_uk-ua.js +128 -0
  765. data/vendor/assets/bower_components/angular-i18n/angular-locale_uk.js +128 -0
  766. data/vendor/assets/bower_components/angular-i18n/angular-locale_ur-in.js +128 -0
  767. data/vendor/assets/bower_components/angular-i18n/angular-locale_ur-pk.js +128 -0
  768. data/vendor/assets/bower_components/angular-i18n/angular-locale_ur.js +128 -0
  769. data/vendor/assets/bower_components/angular-i18n/angular-locale_uz-arab-af.js +110 -0
  770. data/vendor/assets/bower_components/angular-i18n/angular-locale_uz-arab.js +110 -0
  771. data/vendor/assets/bower_components/angular-i18n/angular-locale_uz-cyrl-uz.js +110 -0
  772. data/vendor/assets/bower_components/angular-i18n/angular-locale_uz-cyrl.js +110 -0
  773. data/vendor/assets/bower_components/angular-i18n/angular-locale_uz-latn-uz.js +110 -0
  774. data/vendor/assets/bower_components/angular-i18n/angular-locale_uz-latn.js +110 -0
  775. data/vendor/assets/bower_components/angular-i18n/angular-locale_uz.js +110 -0
  776. data/vendor/assets/bower_components/angular-i18n/angular-locale_vai-latn-lr.js +128 -0
  777. data/vendor/assets/bower_components/angular-i18n/angular-locale_vai-latn.js +128 -0
  778. data/vendor/assets/bower_components/angular-i18n/angular-locale_vai-vaii-lr.js +128 -0
  779. data/vendor/assets/bower_components/angular-i18n/angular-locale_vai-vaii.js +128 -0
  780. data/vendor/assets/bower_components/angular-i18n/angular-locale_vai.js +128 -0
  781. data/vendor/assets/bower_components/angular-i18n/angular-locale_ve-za.js +128 -0
  782. data/vendor/assets/bower_components/angular-i18n/angular-locale_ve.js +128 -0
  783. data/vendor/assets/bower_components/angular-i18n/angular-locale_vi-vn.js +110 -0
  784. data/vendor/assets/bower_components/angular-i18n/angular-locale_vi.js +110 -0
  785. data/vendor/assets/bower_components/angular-i18n/angular-locale_vo-001.js +128 -0
  786. data/vendor/assets/bower_components/angular-i18n/angular-locale_vo.js +128 -0
  787. data/vendor/assets/bower_components/angular-i18n/angular-locale_vun-tz.js +128 -0
  788. data/vendor/assets/bower_components/angular-i18n/angular-locale_vun.js +128 -0
  789. data/vendor/assets/bower_components/angular-i18n/angular-locale_wae-ch.js +128 -0
  790. data/vendor/assets/bower_components/angular-i18n/angular-locale_wae.js +128 -0
  791. data/vendor/assets/bower_components/angular-i18n/angular-locale_wal-et.js +115 -0
  792. data/vendor/assets/bower_components/angular-i18n/angular-locale_wal.js +115 -0
  793. data/vendor/assets/bower_components/angular-i18n/angular-locale_xh-za.js +115 -0
  794. data/vendor/assets/bower_components/angular-i18n/angular-locale_xh.js +115 -0
  795. data/vendor/assets/bower_components/angular-i18n/angular-locale_xog-ug.js +128 -0
  796. data/vendor/assets/bower_components/angular-i18n/angular-locale_xog.js +128 -0
  797. data/vendor/assets/bower_components/angular-i18n/angular-locale_yav-cm.js +128 -0
  798. data/vendor/assets/bower_components/angular-i18n/angular-locale_yav.js +128 -0
  799. data/vendor/assets/bower_components/angular-i18n/angular-locale_yi-001.js +128 -0
  800. data/vendor/assets/bower_components/angular-i18n/angular-locale_yi.js +128 -0
  801. data/vendor/assets/bower_components/angular-i18n/angular-locale_yo-bj.js +128 -0
  802. data/vendor/assets/bower_components/angular-i18n/angular-locale_yo-ng.js +128 -0
  803. data/vendor/assets/bower_components/angular-i18n/angular-locale_yo.js +128 -0
  804. data/vendor/assets/bower_components/angular-i18n/angular-locale_zgh-ma.js +128 -0
  805. data/vendor/assets/bower_components/angular-i18n/angular-locale_zgh.js +128 -0
  806. data/vendor/assets/bower_components/angular-i18n/angular-locale_zh-cn.js +110 -0
  807. data/vendor/assets/bower_components/angular-i18n/angular-locale_zh-hans-cn.js +110 -0
  808. data/vendor/assets/bower_components/angular-i18n/angular-locale_zh-hans-hk.js +110 -0
  809. data/vendor/assets/bower_components/angular-i18n/angular-locale_zh-hans-mo.js +110 -0
  810. data/vendor/assets/bower_components/angular-i18n/angular-locale_zh-hans-sg.js +110 -0
  811. data/vendor/assets/bower_components/angular-i18n/angular-locale_zh-hans.js +110 -0
  812. data/vendor/assets/bower_components/angular-i18n/angular-locale_zh-hant-hk.js +110 -0
  813. data/vendor/assets/bower_components/angular-i18n/angular-locale_zh-hant-mo.js +110 -0
  814. data/vendor/assets/bower_components/angular-i18n/angular-locale_zh-hant-tw.js +110 -0
  815. data/vendor/assets/bower_components/angular-i18n/angular-locale_zh-hant.js +110 -0
  816. data/vendor/assets/bower_components/angular-i18n/angular-locale_zh-hk.js +110 -0
  817. data/vendor/assets/bower_components/angular-i18n/angular-locale_zh-tw.js +110 -0
  818. data/vendor/assets/bower_components/angular-i18n/angular-locale_zh.js +110 -0
  819. data/vendor/assets/bower_components/angular-i18n/angular-locale_zu-za.js +110 -0
  820. data/vendor/assets/bower_components/angular-i18n/angular-locale_zu.js +110 -0
  821. data/vendor/assets/bower_components/angular-i18n/ar-001.js +2 -0
  822. data/vendor/assets/bower_components/angular-i18n/ar-ae.js +2 -0
  823. data/vendor/assets/bower_components/angular-i18n/ar-bh.js +2 -0
  824. data/vendor/assets/bower_components/angular-i18n/ar-dj.js +2 -0
  825. data/vendor/assets/bower_components/angular-i18n/ar-dz.js +2 -0
  826. data/vendor/assets/bower_components/angular-i18n/ar-eg.js +2 -0
  827. data/vendor/assets/bower_components/angular-i18n/ar-eh.js +2 -0
  828. data/vendor/assets/bower_components/angular-i18n/ar-er.js +2 -0
  829. data/vendor/assets/bower_components/angular-i18n/ar-il.js +2 -0
  830. data/vendor/assets/bower_components/angular-i18n/ar-iq.js +2 -0
  831. data/vendor/assets/bower_components/angular-i18n/ar-jo.js +2 -0
  832. data/vendor/assets/bower_components/angular-i18n/ar-km.js +2 -0
  833. data/vendor/assets/bower_components/angular-i18n/ar-kw.js +2 -0
  834. data/vendor/assets/bower_components/angular-i18n/ar-lb.js +2 -0
  835. data/vendor/assets/bower_components/angular-i18n/ar-ly.js +2 -0
  836. data/vendor/assets/bower_components/angular-i18n/ar-ma.js +2 -0
  837. data/vendor/assets/bower_components/angular-i18n/ar-mr.js +2 -0
  838. data/vendor/assets/bower_components/angular-i18n/ar-om.js +2 -0
  839. data/vendor/assets/bower_components/angular-i18n/ar-ps.js +2 -0
  840. data/vendor/assets/bower_components/angular-i18n/ar-qa.js +2 -0
  841. data/vendor/assets/bower_components/angular-i18n/ar-sa.js +2 -0
  842. data/vendor/assets/bower_components/angular-i18n/ar-sd.js +2 -0
  843. data/vendor/assets/bower_components/angular-i18n/ar-so.js +2 -0
  844. data/vendor/assets/bower_components/angular-i18n/ar-ss.js +2 -0
  845. data/vendor/assets/bower_components/angular-i18n/ar-sy.js +2 -0
  846. data/vendor/assets/bower_components/angular-i18n/ar-td.js +2 -0
  847. data/vendor/assets/bower_components/angular-i18n/ar-tn.js +2 -0
  848. data/vendor/assets/bower_components/angular-i18n/ar-ye.js +2 -0
  849. data/vendor/assets/bower_components/angular-i18n/ar.js +2 -0
  850. data/vendor/assets/bower_components/angular-i18n/as-in.js +2 -0
  851. data/vendor/assets/bower_components/angular-i18n/as.js +2 -0
  852. data/vendor/assets/bower_components/angular-i18n/asa-tz.js +2 -0
  853. data/vendor/assets/bower_components/angular-i18n/asa.js +2 -0
  854. data/vendor/assets/bower_components/angular-i18n/ast-es.js +2 -0
  855. data/vendor/assets/bower_components/angular-i18n/ast.js +2 -0
  856. data/vendor/assets/bower_components/angular-i18n/az-cyrl-az.js +2 -0
  857. data/vendor/assets/bower_components/angular-i18n/az-cyrl.js +2 -0
  858. data/vendor/assets/bower_components/angular-i18n/az-latn-az.js +2 -0
  859. data/vendor/assets/bower_components/angular-i18n/az-latn.js +2 -0
  860. data/vendor/assets/bower_components/angular-i18n/az.js +2 -0
  861. data/vendor/assets/bower_components/angular-i18n/bas-cm.js +2 -0
  862. data/vendor/assets/bower_components/angular-i18n/bas.js +2 -0
  863. data/vendor/assets/bower_components/angular-i18n/be-by.js +2 -0
  864. data/vendor/assets/bower_components/angular-i18n/be.js +2 -0
  865. data/vendor/assets/bower_components/angular-i18n/bem-zm.js +2 -0
  866. data/vendor/assets/bower_components/angular-i18n/bem.js +2 -0
  867. data/vendor/assets/bower_components/angular-i18n/bez-tz.js +2 -0
  868. data/vendor/assets/bower_components/angular-i18n/bez.js +2 -0
  869. data/vendor/assets/bower_components/angular-i18n/bg-bg.js +2 -0
  870. data/vendor/assets/bower_components/angular-i18n/bg.js +2 -0
  871. data/vendor/assets/bower_components/angular-i18n/bm-latn-ml.js +2 -0
  872. data/vendor/assets/bower_components/angular-i18n/bm-latn.js +2 -0
  873. data/vendor/assets/bower_components/angular-i18n/bm-ml.js +2 -0
  874. data/vendor/assets/bower_components/angular-i18n/bm.js +2 -0
  875. data/vendor/assets/bower_components/angular-i18n/bn-bd.js +2 -0
  876. data/vendor/assets/bower_components/angular-i18n/bn-in.js +2 -0
  877. data/vendor/assets/bower_components/angular-i18n/bn.js +2 -0
  878. data/vendor/assets/bower_components/angular-i18n/bo-cn.js +2 -0
  879. data/vendor/assets/bower_components/angular-i18n/bo-in.js +2 -0
  880. data/vendor/assets/bower_components/angular-i18n/bo.js +2 -0
  881. data/vendor/assets/bower_components/angular-i18n/bower.json +10 -0
  882. data/vendor/assets/bower_components/angular-i18n/br-fr.js +2 -0
  883. data/vendor/assets/bower_components/angular-i18n/br.js +2 -0
  884. data/vendor/assets/bower_components/angular-i18n/brx-in.js +2 -0
  885. data/vendor/assets/bower_components/angular-i18n/brx.js +2 -0
  886. data/vendor/assets/bower_components/angular-i18n/bs-cyrl-ba.js +2 -0
  887. data/vendor/assets/bower_components/angular-i18n/bs-cyrl.js +2 -0
  888. data/vendor/assets/bower_components/angular-i18n/bs-latn-ba.js +2 -0
  889. data/vendor/assets/bower_components/angular-i18n/bs-latn.js +2 -0
  890. data/vendor/assets/bower_components/angular-i18n/bs.js +2 -0
  891. data/vendor/assets/bower_components/angular-i18n/byn-er.js +2 -0
  892. data/vendor/assets/bower_components/angular-i18n/byn.js +2 -0
  893. data/vendor/assets/bower_components/angular-i18n/ca-ad.js +2 -0
  894. data/vendor/assets/bower_components/angular-i18n/ca-es-valencia.js +2 -0
  895. data/vendor/assets/bower_components/angular-i18n/ca-es.js +2 -0
  896. data/vendor/assets/bower_components/angular-i18n/ca-fr.js +2 -0
  897. data/vendor/assets/bower_components/angular-i18n/ca-it.js +2 -0
  898. data/vendor/assets/bower_components/angular-i18n/ca.js +2 -0
  899. data/vendor/assets/bower_components/angular-i18n/cgg-ug.js +2 -0
  900. data/vendor/assets/bower_components/angular-i18n/cgg.js +2 -0
  901. data/vendor/assets/bower_components/angular-i18n/chr-us.js +2 -0
  902. data/vendor/assets/bower_components/angular-i18n/chr.js +2 -0
  903. data/vendor/assets/bower_components/angular-i18n/ckb-arab-iq.js +2 -0
  904. data/vendor/assets/bower_components/angular-i18n/ckb-arab-ir.js +2 -0
  905. data/vendor/assets/bower_components/angular-i18n/ckb-arab.js +2 -0
  906. data/vendor/assets/bower_components/angular-i18n/ckb-iq.js +2 -0
  907. data/vendor/assets/bower_components/angular-i18n/ckb-ir.js +2 -0
  908. data/vendor/assets/bower_components/angular-i18n/ckb-latn-iq.js +2 -0
  909. data/vendor/assets/bower_components/angular-i18n/ckb-latn.js +2 -0
  910. data/vendor/assets/bower_components/angular-i18n/ckb.js +2 -0
  911. data/vendor/assets/bower_components/angular-i18n/cs-cz.js +2 -0
  912. data/vendor/assets/bower_components/angular-i18n/cs.js +2 -0
  913. data/vendor/assets/bower_components/angular-i18n/cy-gb.js +2 -0
  914. data/vendor/assets/bower_components/angular-i18n/cy.js +2 -0
  915. data/vendor/assets/bower_components/angular-i18n/da-dk.js +2 -0
  916. data/vendor/assets/bower_components/angular-i18n/da-gl.js +2 -0
  917. data/vendor/assets/bower_components/angular-i18n/da.js +2 -0
  918. data/vendor/assets/bower_components/angular-i18n/dav-ke.js +2 -0
  919. data/vendor/assets/bower_components/angular-i18n/dav.js +2 -0
  920. data/vendor/assets/bower_components/angular-i18n/de-at.js +2 -0
  921. data/vendor/assets/bower_components/angular-i18n/de-be.js +2 -0
  922. data/vendor/assets/bower_components/angular-i18n/de-ch.js +2 -0
  923. data/vendor/assets/bower_components/angular-i18n/de-de.js +2 -0
  924. data/vendor/assets/bower_components/angular-i18n/de-li.js +2 -0
  925. data/vendor/assets/bower_components/angular-i18n/de-lu.js +2 -0
  926. data/vendor/assets/bower_components/angular-i18n/de.js +2 -0
  927. data/vendor/assets/bower_components/angular-i18n/dje-ne.js +2 -0
  928. data/vendor/assets/bower_components/angular-i18n/dje.js +2 -0
  929. data/vendor/assets/bower_components/angular-i18n/dsb-de.js +2 -0
  930. data/vendor/assets/bower_components/angular-i18n/dsb.js +2 -0
  931. data/vendor/assets/bower_components/angular-i18n/dua-cm.js +2 -0
  932. data/vendor/assets/bower_components/angular-i18n/dua.js +2 -0
  933. data/vendor/assets/bower_components/angular-i18n/dyo-sn.js +2 -0
  934. data/vendor/assets/bower_components/angular-i18n/dyo.js +2 -0
  935. data/vendor/assets/bower_components/angular-i18n/dz-bt.js +2 -0
  936. data/vendor/assets/bower_components/angular-i18n/dz.js +2 -0
  937. data/vendor/assets/bower_components/angular-i18n/ebu-ke.js +2 -0
  938. data/vendor/assets/bower_components/angular-i18n/ebu.js +2 -0
  939. data/vendor/assets/bower_components/angular-i18n/ee-gh.js +2 -0
  940. data/vendor/assets/bower_components/angular-i18n/ee-tg.js +2 -0
  941. data/vendor/assets/bower_components/angular-i18n/ee.js +2 -0
  942. data/vendor/assets/bower_components/angular-i18n/el-cy.js +2 -0
  943. data/vendor/assets/bower_components/angular-i18n/el-gr.js +2 -0
  944. data/vendor/assets/bower_components/angular-i18n/el.js +2 -0
  945. data/vendor/assets/bower_components/angular-i18n/en-001.js +2 -0
  946. data/vendor/assets/bower_components/angular-i18n/en-150.js +2 -0
  947. data/vendor/assets/bower_components/angular-i18n/en-ag.js +2 -0
  948. data/vendor/assets/bower_components/angular-i18n/en-ai.js +2 -0
  949. data/vendor/assets/bower_components/angular-i18n/en-as.js +2 -0
  950. data/vendor/assets/bower_components/angular-i18n/en-au.js +2 -0
  951. data/vendor/assets/bower_components/angular-i18n/en-bb.js +2 -0
  952. data/vendor/assets/bower_components/angular-i18n/en-be.js +2 -0
  953. data/vendor/assets/bower_components/angular-i18n/en-bm.js +2 -0
  954. data/vendor/assets/bower_components/angular-i18n/en-bs.js +2 -0
  955. data/vendor/assets/bower_components/angular-i18n/en-bw.js +2 -0
  956. data/vendor/assets/bower_components/angular-i18n/en-bz.js +2 -0
  957. data/vendor/assets/bower_components/angular-i18n/en-ca.js +2 -0
  958. data/vendor/assets/bower_components/angular-i18n/en-cc.js +2 -0
  959. data/vendor/assets/bower_components/angular-i18n/en-ck.js +2 -0
  960. data/vendor/assets/bower_components/angular-i18n/en-cm.js +2 -0
  961. data/vendor/assets/bower_components/angular-i18n/en-cx.js +2 -0
  962. data/vendor/assets/bower_components/angular-i18n/en-dg.js +2 -0
  963. data/vendor/assets/bower_components/angular-i18n/en-dm.js +2 -0
  964. data/vendor/assets/bower_components/angular-i18n/en-dsrt-us.js +2 -0
  965. data/vendor/assets/bower_components/angular-i18n/en-dsrt.js +2 -0
  966. data/vendor/assets/bower_components/angular-i18n/en-er.js +2 -0
  967. data/vendor/assets/bower_components/angular-i18n/en-fj.js +2 -0
  968. data/vendor/assets/bower_components/angular-i18n/en-fk.js +2 -0
  969. data/vendor/assets/bower_components/angular-i18n/en-fm.js +2 -0
  970. data/vendor/assets/bower_components/angular-i18n/en-gb.js +2 -0
  971. data/vendor/assets/bower_components/angular-i18n/en-gd.js +2 -0
  972. data/vendor/assets/bower_components/angular-i18n/en-gg.js +2 -0
  973. data/vendor/assets/bower_components/angular-i18n/en-gh.js +2 -0
  974. data/vendor/assets/bower_components/angular-i18n/en-gi.js +2 -0
  975. data/vendor/assets/bower_components/angular-i18n/en-gm.js +2 -0
  976. data/vendor/assets/bower_components/angular-i18n/en-gu.js +2 -0
  977. data/vendor/assets/bower_components/angular-i18n/en-gy.js +2 -0
  978. data/vendor/assets/bower_components/angular-i18n/en-hk.js +2 -0
  979. data/vendor/assets/bower_components/angular-i18n/en-ie.js +2 -0
  980. data/vendor/assets/bower_components/angular-i18n/en-im.js +2 -0
  981. data/vendor/assets/bower_components/angular-i18n/en-in.js +2 -0
  982. data/vendor/assets/bower_components/angular-i18n/en-io.js +2 -0
  983. data/vendor/assets/bower_components/angular-i18n/en-iso.js +2 -0
  984. data/vendor/assets/bower_components/angular-i18n/en-je.js +2 -0
  985. data/vendor/assets/bower_components/angular-i18n/en-jm.js +2 -0
  986. data/vendor/assets/bower_components/angular-i18n/en-ke.js +2 -0
  987. data/vendor/assets/bower_components/angular-i18n/en-ki.js +2 -0
  988. data/vendor/assets/bower_components/angular-i18n/en-kn.js +2 -0
  989. data/vendor/assets/bower_components/angular-i18n/en-ky.js +2 -0
  990. data/vendor/assets/bower_components/angular-i18n/en-lc.js +2 -0
  991. data/vendor/assets/bower_components/angular-i18n/en-lr.js +2 -0
  992. data/vendor/assets/bower_components/angular-i18n/en-ls.js +2 -0
  993. data/vendor/assets/bower_components/angular-i18n/en-mg.js +2 -0
  994. data/vendor/assets/bower_components/angular-i18n/en-mh.js +2 -0
  995. data/vendor/assets/bower_components/angular-i18n/en-mo.js +2 -0
  996. data/vendor/assets/bower_components/angular-i18n/en-mp.js +2 -0
  997. data/vendor/assets/bower_components/angular-i18n/en-ms.js +2 -0
  998. data/vendor/assets/bower_components/angular-i18n/en-mt.js +2 -0
  999. data/vendor/assets/bower_components/angular-i18n/en-mu.js +2 -0
  1000. data/vendor/assets/bower_components/angular-i18n/en-mw.js +2 -0
  1001. data/vendor/assets/bower_components/angular-i18n/en-my.js +2 -0
  1002. data/vendor/assets/bower_components/angular-i18n/en-na.js +2 -0
  1003. data/vendor/assets/bower_components/angular-i18n/en-nf.js +2 -0
  1004. data/vendor/assets/bower_components/angular-i18n/en-ng.js +2 -0
  1005. data/vendor/assets/bower_components/angular-i18n/en-nr.js +2 -0
  1006. data/vendor/assets/bower_components/angular-i18n/en-nu.js +2 -0
  1007. data/vendor/assets/bower_components/angular-i18n/en-nz.js +2 -0
  1008. data/vendor/assets/bower_components/angular-i18n/en-pg.js +2 -0
  1009. data/vendor/assets/bower_components/angular-i18n/en-ph.js +2 -0
  1010. data/vendor/assets/bower_components/angular-i18n/en-pk.js +2 -0
  1011. data/vendor/assets/bower_components/angular-i18n/en-pn.js +2 -0
  1012. data/vendor/assets/bower_components/angular-i18n/en-pr.js +2 -0
  1013. data/vendor/assets/bower_components/angular-i18n/en-pw.js +2 -0
  1014. data/vendor/assets/bower_components/angular-i18n/en-rw.js +2 -0
  1015. data/vendor/assets/bower_components/angular-i18n/en-sb.js +2 -0
  1016. data/vendor/assets/bower_components/angular-i18n/en-sc.js +2 -0
  1017. data/vendor/assets/bower_components/angular-i18n/en-sd.js +2 -0
  1018. data/vendor/assets/bower_components/angular-i18n/en-sg.js +2 -0
  1019. data/vendor/assets/bower_components/angular-i18n/en-sh.js +2 -0
  1020. data/vendor/assets/bower_components/angular-i18n/en-sl.js +2 -0
  1021. data/vendor/assets/bower_components/angular-i18n/en-ss.js +2 -0
  1022. data/vendor/assets/bower_components/angular-i18n/en-sx.js +2 -0
  1023. data/vendor/assets/bower_components/angular-i18n/en-sz.js +2 -0
  1024. data/vendor/assets/bower_components/angular-i18n/en-tc.js +2 -0
  1025. data/vendor/assets/bower_components/angular-i18n/en-tk.js +2 -0
  1026. data/vendor/assets/bower_components/angular-i18n/en-to.js +2 -0
  1027. data/vendor/assets/bower_components/angular-i18n/en-tt.js +2 -0
  1028. data/vendor/assets/bower_components/angular-i18n/en-tv.js +2 -0
  1029. data/vendor/assets/bower_components/angular-i18n/en-tz.js +2 -0
  1030. data/vendor/assets/bower_components/angular-i18n/en-ug.js +2 -0
  1031. data/vendor/assets/bower_components/angular-i18n/en-um.js +2 -0
  1032. data/vendor/assets/bower_components/angular-i18n/en-us.js +2 -0
  1033. data/vendor/assets/bower_components/angular-i18n/en-vc.js +2 -0
  1034. data/vendor/assets/bower_components/angular-i18n/en-vg.js +2 -0
  1035. data/vendor/assets/bower_components/angular-i18n/en-vi.js +2 -0
  1036. data/vendor/assets/bower_components/angular-i18n/en-vu.js +2 -0
  1037. data/vendor/assets/bower_components/angular-i18n/en-ws.js +2 -0
  1038. data/vendor/assets/bower_components/angular-i18n/en-za.js +2 -0
  1039. data/vendor/assets/bower_components/angular-i18n/en-zm.js +2 -0
  1040. data/vendor/assets/bower_components/angular-i18n/en-zw.js +2 -0
  1041. data/vendor/assets/bower_components/angular-i18n/en.js +2 -0
  1042. data/vendor/assets/bower_components/angular-i18n/eo-001.js +2 -0
  1043. data/vendor/assets/bower_components/angular-i18n/eo.js +2 -0
  1044. data/vendor/assets/bower_components/angular-i18n/es-419.js +2 -0
  1045. data/vendor/assets/bower_components/angular-i18n/es-ar.js +2 -0
  1046. data/vendor/assets/bower_components/angular-i18n/es-bo.js +2 -0
  1047. data/vendor/assets/bower_components/angular-i18n/es-cl.js +2 -0
  1048. data/vendor/assets/bower_components/angular-i18n/es-co.js +2 -0
  1049. data/vendor/assets/bower_components/angular-i18n/es-cr.js +2 -0
  1050. data/vendor/assets/bower_components/angular-i18n/es-cu.js +2 -0
  1051. data/vendor/assets/bower_components/angular-i18n/es-do.js +2 -0
  1052. data/vendor/assets/bower_components/angular-i18n/es-ea.js +2 -0
  1053. data/vendor/assets/bower_components/angular-i18n/es-ec.js +2 -0
  1054. data/vendor/assets/bower_components/angular-i18n/es-es.js +2 -0
  1055. data/vendor/assets/bower_components/angular-i18n/es-gq.js +2 -0
  1056. data/vendor/assets/bower_components/angular-i18n/es-gt.js +2 -0
  1057. data/vendor/assets/bower_components/angular-i18n/es-hn.js +2 -0
  1058. data/vendor/assets/bower_components/angular-i18n/es-ic.js +2 -0
  1059. data/vendor/assets/bower_components/angular-i18n/es-mx.js +2 -0
  1060. data/vendor/assets/bower_components/angular-i18n/es-ni.js +2 -0
  1061. data/vendor/assets/bower_components/angular-i18n/es-pa.js +2 -0
  1062. data/vendor/assets/bower_components/angular-i18n/es-pe.js +2 -0
  1063. data/vendor/assets/bower_components/angular-i18n/es-ph.js +2 -0
  1064. data/vendor/assets/bower_components/angular-i18n/es-pr.js +2 -0
  1065. data/vendor/assets/bower_components/angular-i18n/es-py.js +2 -0
  1066. data/vendor/assets/bower_components/angular-i18n/es-sv.js +2 -0
  1067. data/vendor/assets/bower_components/angular-i18n/es-us.js +2 -0
  1068. data/vendor/assets/bower_components/angular-i18n/es-uy.js +2 -0
  1069. data/vendor/assets/bower_components/angular-i18n/es-ve.js +2 -0
  1070. data/vendor/assets/bower_components/angular-i18n/es.js +2 -0
  1071. data/vendor/assets/bower_components/angular-i18n/et-ee.js +2 -0
  1072. data/vendor/assets/bower_components/angular-i18n/et.js +2 -0
  1073. data/vendor/assets/bower_components/angular-i18n/eu-es.js +2 -0
  1074. data/vendor/assets/bower_components/angular-i18n/eu.js +2 -0
  1075. data/vendor/assets/bower_components/angular-i18n/ewo-cm.js +2 -0
  1076. data/vendor/assets/bower_components/angular-i18n/ewo.js +2 -0
  1077. data/vendor/assets/bower_components/angular-i18n/fa-af.js +2 -0
  1078. data/vendor/assets/bower_components/angular-i18n/fa-ir.js +2 -0
  1079. data/vendor/assets/bower_components/angular-i18n/fa.js +2 -0
  1080. data/vendor/assets/bower_components/angular-i18n/ff-cm.js +2 -0
  1081. data/vendor/assets/bower_components/angular-i18n/ff-gn.js +2 -0
  1082. data/vendor/assets/bower_components/angular-i18n/ff-mr.js +2 -0
  1083. data/vendor/assets/bower_components/angular-i18n/ff-sn.js +2 -0
  1084. data/vendor/assets/bower_components/angular-i18n/ff.js +2 -0
  1085. data/vendor/assets/bower_components/angular-i18n/fi-fi.js +2 -0
  1086. data/vendor/assets/bower_components/angular-i18n/fi.js +2 -0
  1087. data/vendor/assets/bower_components/angular-i18n/fil-ph.js +2 -0
  1088. data/vendor/assets/bower_components/angular-i18n/fil.js +2 -0
  1089. data/vendor/assets/bower_components/angular-i18n/fo-fo.js +2 -0
  1090. data/vendor/assets/bower_components/angular-i18n/fo.js +2 -0
  1091. data/vendor/assets/bower_components/angular-i18n/fr-be.js +2 -0
  1092. data/vendor/assets/bower_components/angular-i18n/fr-bf.js +2 -0
  1093. data/vendor/assets/bower_components/angular-i18n/fr-bi.js +2 -0
  1094. data/vendor/assets/bower_components/angular-i18n/fr-bj.js +2 -0
  1095. data/vendor/assets/bower_components/angular-i18n/fr-bl.js +2 -0
  1096. data/vendor/assets/bower_components/angular-i18n/fr-ca.js +2 -0
  1097. data/vendor/assets/bower_components/angular-i18n/fr-cd.js +2 -0
  1098. data/vendor/assets/bower_components/angular-i18n/fr-cf.js +2 -0
  1099. data/vendor/assets/bower_components/angular-i18n/fr-cg.js +2 -0
  1100. data/vendor/assets/bower_components/angular-i18n/fr-ch.js +2 -0
  1101. data/vendor/assets/bower_components/angular-i18n/fr-ci.js +2 -0
  1102. data/vendor/assets/bower_components/angular-i18n/fr-cm.js +2 -0
  1103. data/vendor/assets/bower_components/angular-i18n/fr-dj.js +2 -0
  1104. data/vendor/assets/bower_components/angular-i18n/fr-dz.js +2 -0
  1105. data/vendor/assets/bower_components/angular-i18n/fr-fr.js +2 -0
  1106. data/vendor/assets/bower_components/angular-i18n/fr-ga.js +2 -0
  1107. data/vendor/assets/bower_components/angular-i18n/fr-gf.js +2 -0
  1108. data/vendor/assets/bower_components/angular-i18n/fr-gn.js +2 -0
  1109. data/vendor/assets/bower_components/angular-i18n/fr-gp.js +2 -0
  1110. data/vendor/assets/bower_components/angular-i18n/fr-gq.js +2 -0
  1111. data/vendor/assets/bower_components/angular-i18n/fr-ht.js +2 -0
  1112. data/vendor/assets/bower_components/angular-i18n/fr-km.js +2 -0
  1113. data/vendor/assets/bower_components/angular-i18n/fr-lu.js +2 -0
  1114. data/vendor/assets/bower_components/angular-i18n/fr-ma.js +2 -0
  1115. data/vendor/assets/bower_components/angular-i18n/fr-mc.js +2 -0
  1116. data/vendor/assets/bower_components/angular-i18n/fr-mf.js +2 -0
  1117. data/vendor/assets/bower_components/angular-i18n/fr-mg.js +2 -0
  1118. data/vendor/assets/bower_components/angular-i18n/fr-ml.js +2 -0
  1119. data/vendor/assets/bower_components/angular-i18n/fr-mq.js +2 -0
  1120. data/vendor/assets/bower_components/angular-i18n/fr-mr.js +2 -0
  1121. data/vendor/assets/bower_components/angular-i18n/fr-mu.js +2 -0
  1122. data/vendor/assets/bower_components/angular-i18n/fr-nc.js +2 -0
  1123. data/vendor/assets/bower_components/angular-i18n/fr-ne.js +2 -0
  1124. data/vendor/assets/bower_components/angular-i18n/fr-pf.js +2 -0
  1125. data/vendor/assets/bower_components/angular-i18n/fr-pm.js +2 -0
  1126. data/vendor/assets/bower_components/angular-i18n/fr-re.js +2 -0
  1127. data/vendor/assets/bower_components/angular-i18n/fr-rw.js +2 -0
  1128. data/vendor/assets/bower_components/angular-i18n/fr-sc.js +2 -0
  1129. data/vendor/assets/bower_components/angular-i18n/fr-sn.js +2 -0
  1130. data/vendor/assets/bower_components/angular-i18n/fr-sy.js +2 -0
  1131. data/vendor/assets/bower_components/angular-i18n/fr-td.js +2 -0
  1132. data/vendor/assets/bower_components/angular-i18n/fr-tg.js +2 -0
  1133. data/vendor/assets/bower_components/angular-i18n/fr-tn.js +2 -0
  1134. data/vendor/assets/bower_components/angular-i18n/fr-vu.js +2 -0
  1135. data/vendor/assets/bower_components/angular-i18n/fr-wf.js +2 -0
  1136. data/vendor/assets/bower_components/angular-i18n/fr-yt.js +2 -0
  1137. data/vendor/assets/bower_components/angular-i18n/fr.js +2 -0
  1138. data/vendor/assets/bower_components/angular-i18n/fur-it.js +2 -0
  1139. data/vendor/assets/bower_components/angular-i18n/fur.js +2 -0
  1140. data/vendor/assets/bower_components/angular-i18n/fy-nl.js +2 -0
  1141. data/vendor/assets/bower_components/angular-i18n/fy.js +2 -0
  1142. data/vendor/assets/bower_components/angular-i18n/ga-ie.js +2 -0
  1143. data/vendor/assets/bower_components/angular-i18n/ga.js +2 -0
  1144. data/vendor/assets/bower_components/angular-i18n/gd-gb.js +2 -0
  1145. data/vendor/assets/bower_components/angular-i18n/gd.js +2 -0
  1146. data/vendor/assets/bower_components/angular-i18n/gl-es.js +2 -0
  1147. data/vendor/assets/bower_components/angular-i18n/gl.js +2 -0
  1148. data/vendor/assets/bower_components/angular-i18n/gsw-ch.js +2 -0
  1149. data/vendor/assets/bower_components/angular-i18n/gsw-fr.js +2 -0
  1150. data/vendor/assets/bower_components/angular-i18n/gsw-li.js +2 -0
  1151. data/vendor/assets/bower_components/angular-i18n/gsw.js +2 -0
  1152. data/vendor/assets/bower_components/angular-i18n/gu-in.js +2 -0
  1153. data/vendor/assets/bower_components/angular-i18n/gu.js +2 -0
  1154. data/vendor/assets/bower_components/angular-i18n/guz-ke.js +2 -0
  1155. data/vendor/assets/bower_components/angular-i18n/guz.js +2 -0
  1156. data/vendor/assets/bower_components/angular-i18n/gv-im.js +2 -0
  1157. data/vendor/assets/bower_components/angular-i18n/gv.js +2 -0
  1158. data/vendor/assets/bower_components/angular-i18n/ha-latn-gh.js +2 -0
  1159. data/vendor/assets/bower_components/angular-i18n/ha-latn-ne.js +2 -0
  1160. data/vendor/assets/bower_components/angular-i18n/ha-latn-ng.js +2 -0
  1161. data/vendor/assets/bower_components/angular-i18n/ha-latn.js +2 -0
  1162. data/vendor/assets/bower_components/angular-i18n/ha.js +2 -0
  1163. data/vendor/assets/bower_components/angular-i18n/haw-us.js +2 -0
  1164. data/vendor/assets/bower_components/angular-i18n/haw.js +2 -0
  1165. data/vendor/assets/bower_components/angular-i18n/he-il.js +2 -0
  1166. data/vendor/assets/bower_components/angular-i18n/he.js +2 -0
  1167. data/vendor/assets/bower_components/angular-i18n/hi-in.js +2 -0
  1168. data/vendor/assets/bower_components/angular-i18n/hi.js +2 -0
  1169. data/vendor/assets/bower_components/angular-i18n/hr-ba.js +2 -0
  1170. data/vendor/assets/bower_components/angular-i18n/hr-hr.js +2 -0
  1171. data/vendor/assets/bower_components/angular-i18n/hr.js +2 -0
  1172. data/vendor/assets/bower_components/angular-i18n/hsb-de.js +2 -0
  1173. data/vendor/assets/bower_components/angular-i18n/hsb.js +2 -0
  1174. data/vendor/assets/bower_components/angular-i18n/hu-hu.js +2 -0
  1175. data/vendor/assets/bower_components/angular-i18n/hu.js +2 -0
  1176. data/vendor/assets/bower_components/angular-i18n/hy-am.js +2 -0
  1177. data/vendor/assets/bower_components/angular-i18n/hy.js +2 -0
  1178. data/vendor/assets/bower_components/angular-i18n/ia-fr.js +2 -0
  1179. data/vendor/assets/bower_components/angular-i18n/ia.js +2 -0
  1180. data/vendor/assets/bower_components/angular-i18n/id-id.js +2 -0
  1181. data/vendor/assets/bower_components/angular-i18n/id.js +2 -0
  1182. data/vendor/assets/bower_components/angular-i18n/ig-ng.js +2 -0
  1183. data/vendor/assets/bower_components/angular-i18n/ig.js +2 -0
  1184. data/vendor/assets/bower_components/angular-i18n/ii-cn.js +2 -0
  1185. data/vendor/assets/bower_components/angular-i18n/ii.js +2 -0
  1186. data/vendor/assets/bower_components/angular-i18n/in.js +2 -0
  1187. data/vendor/assets/bower_components/angular-i18n/is-is.js +2 -0
  1188. data/vendor/assets/bower_components/angular-i18n/is.js +2 -0
  1189. data/vendor/assets/bower_components/angular-i18n/it-ch.js +2 -0
  1190. data/vendor/assets/bower_components/angular-i18n/it-it.js +2 -0
  1191. data/vendor/assets/bower_components/angular-i18n/it-sm.js +2 -0
  1192. data/vendor/assets/bower_components/angular-i18n/it.js +2 -0
  1193. data/vendor/assets/bower_components/angular-i18n/iw.js +2 -0
  1194. data/vendor/assets/bower_components/angular-i18n/ja-jp.js +2 -0
  1195. data/vendor/assets/bower_components/angular-i18n/ja.js +2 -0
  1196. data/vendor/assets/bower_components/angular-i18n/jgo-cm.js +2 -0
  1197. data/vendor/assets/bower_components/angular-i18n/jgo.js +2 -0
  1198. data/vendor/assets/bower_components/angular-i18n/jmc-tz.js +2 -0
  1199. data/vendor/assets/bower_components/angular-i18n/jmc.js +2 -0
  1200. data/vendor/assets/bower_components/angular-i18n/ka-ge.js +2 -0
  1201. data/vendor/assets/bower_components/angular-i18n/ka.js +2 -0
  1202. data/vendor/assets/bower_components/angular-i18n/kab-dz.js +2 -0
  1203. data/vendor/assets/bower_components/angular-i18n/kab.js +2 -0
  1204. data/vendor/assets/bower_components/angular-i18n/kam-ke.js +2 -0
  1205. data/vendor/assets/bower_components/angular-i18n/kam.js +2 -0
  1206. data/vendor/assets/bower_components/angular-i18n/kde-tz.js +2 -0
  1207. data/vendor/assets/bower_components/angular-i18n/kde.js +2 -0
  1208. data/vendor/assets/bower_components/angular-i18n/kea-cv.js +2 -0
  1209. data/vendor/assets/bower_components/angular-i18n/kea.js +2 -0
  1210. data/vendor/assets/bower_components/angular-i18n/khq-ml.js +2 -0
  1211. data/vendor/assets/bower_components/angular-i18n/khq.js +2 -0
  1212. data/vendor/assets/bower_components/angular-i18n/ki-ke.js +2 -0
  1213. data/vendor/assets/bower_components/angular-i18n/ki.js +2 -0
  1214. data/vendor/assets/bower_components/angular-i18n/kk-cyrl-kz.js +2 -0
  1215. data/vendor/assets/bower_components/angular-i18n/kk-cyrl.js +2 -0
  1216. data/vendor/assets/bower_components/angular-i18n/kk.js +2 -0
  1217. data/vendor/assets/bower_components/angular-i18n/kkj-cm.js +2 -0
  1218. data/vendor/assets/bower_components/angular-i18n/kkj.js +2 -0
  1219. data/vendor/assets/bower_components/angular-i18n/kl-gl.js +2 -0
  1220. data/vendor/assets/bower_components/angular-i18n/kl.js +2 -0
  1221. data/vendor/assets/bower_components/angular-i18n/kln-ke.js +2 -0
  1222. data/vendor/assets/bower_components/angular-i18n/kln.js +2 -0
  1223. data/vendor/assets/bower_components/angular-i18n/km-kh.js +2 -0
  1224. data/vendor/assets/bower_components/angular-i18n/km.js +2 -0
  1225. data/vendor/assets/bower_components/angular-i18n/kn-in.js +2 -0
  1226. data/vendor/assets/bower_components/angular-i18n/kn.js +2 -0
  1227. data/vendor/assets/bower_components/angular-i18n/ko-kp.js +2 -0
  1228. data/vendor/assets/bower_components/angular-i18n/ko-kr.js +2 -0
  1229. data/vendor/assets/bower_components/angular-i18n/ko.js +2 -0
  1230. data/vendor/assets/bower_components/angular-i18n/kok-in.js +2 -0
  1231. data/vendor/assets/bower_components/angular-i18n/kok.js +2 -0
  1232. data/vendor/assets/bower_components/angular-i18n/ks-arab-in.js +2 -0
  1233. data/vendor/assets/bower_components/angular-i18n/ks-arab.js +2 -0
  1234. data/vendor/assets/bower_components/angular-i18n/ks.js +2 -0
  1235. data/vendor/assets/bower_components/angular-i18n/ksb-tz.js +2 -0
  1236. data/vendor/assets/bower_components/angular-i18n/ksb.js +2 -0
  1237. data/vendor/assets/bower_components/angular-i18n/ksf-cm.js +2 -0
  1238. data/vendor/assets/bower_components/angular-i18n/ksf.js +2 -0
  1239. data/vendor/assets/bower_components/angular-i18n/ksh-de.js +2 -0
  1240. data/vendor/assets/bower_components/angular-i18n/ksh.js +2 -0
  1241. data/vendor/assets/bower_components/angular-i18n/kw-gb.js +2 -0
  1242. data/vendor/assets/bower_components/angular-i18n/kw.js +2 -0
  1243. data/vendor/assets/bower_components/angular-i18n/ky-cyrl-kg.js +2 -0
  1244. data/vendor/assets/bower_components/angular-i18n/ky-cyrl.js +2 -0
  1245. data/vendor/assets/bower_components/angular-i18n/ky.js +2 -0
  1246. data/vendor/assets/bower_components/angular-i18n/lag-tz.js +2 -0
  1247. data/vendor/assets/bower_components/angular-i18n/lag.js +2 -0
  1248. data/vendor/assets/bower_components/angular-i18n/lb-lu.js +2 -0
  1249. data/vendor/assets/bower_components/angular-i18n/lb.js +2 -0
  1250. data/vendor/assets/bower_components/angular-i18n/lg-ug.js +2 -0
  1251. data/vendor/assets/bower_components/angular-i18n/lg.js +2 -0
  1252. data/vendor/assets/bower_components/angular-i18n/lkt-us.js +2 -0
  1253. data/vendor/assets/bower_components/angular-i18n/lkt.js +2 -0
  1254. data/vendor/assets/bower_components/angular-i18n/ln-ao.js +2 -0
  1255. data/vendor/assets/bower_components/angular-i18n/ln-cd.js +2 -0
  1256. data/vendor/assets/bower_components/angular-i18n/ln-cf.js +2 -0
  1257. data/vendor/assets/bower_components/angular-i18n/ln-cg.js +2 -0
  1258. data/vendor/assets/bower_components/angular-i18n/ln.js +2 -0
  1259. data/vendor/assets/bower_components/angular-i18n/lo-la.js +2 -0
  1260. data/vendor/assets/bower_components/angular-i18n/lo.js +2 -0
  1261. data/vendor/assets/bower_components/angular-i18n/lt-lt.js +2 -0
  1262. data/vendor/assets/bower_components/angular-i18n/lt.js +2 -0
  1263. data/vendor/assets/bower_components/angular-i18n/lu-cd.js +2 -0
  1264. data/vendor/assets/bower_components/angular-i18n/lu.js +2 -0
  1265. data/vendor/assets/bower_components/angular-i18n/luo-ke.js +2 -0
  1266. data/vendor/assets/bower_components/angular-i18n/luo.js +2 -0
  1267. data/vendor/assets/bower_components/angular-i18n/luy-ke.js +2 -0
  1268. data/vendor/assets/bower_components/angular-i18n/luy.js +2 -0
  1269. data/vendor/assets/bower_components/angular-i18n/lv-lv.js +2 -0
  1270. data/vendor/assets/bower_components/angular-i18n/lv.js +2 -0
  1271. data/vendor/assets/bower_components/angular-i18n/mas-ke.js +2 -0
  1272. data/vendor/assets/bower_components/angular-i18n/mas-tz.js +2 -0
  1273. data/vendor/assets/bower_components/angular-i18n/mas.js +2 -0
  1274. data/vendor/assets/bower_components/angular-i18n/mer-ke.js +2 -0
  1275. data/vendor/assets/bower_components/angular-i18n/mer.js +2 -0
  1276. data/vendor/assets/bower_components/angular-i18n/mfe-mu.js +2 -0
  1277. data/vendor/assets/bower_components/angular-i18n/mfe.js +2 -0
  1278. data/vendor/assets/bower_components/angular-i18n/mg-mg.js +2 -0
  1279. data/vendor/assets/bower_components/angular-i18n/mg.js +2 -0
  1280. data/vendor/assets/bower_components/angular-i18n/mgh-mz.js +2 -0
  1281. data/vendor/assets/bower_components/angular-i18n/mgh.js +2 -0
  1282. data/vendor/assets/bower_components/angular-i18n/mgo-cm.js +2 -0
  1283. data/vendor/assets/bower_components/angular-i18n/mgo.js +2 -0
  1284. data/vendor/assets/bower_components/angular-i18n/mk-mk.js +2 -0
  1285. data/vendor/assets/bower_components/angular-i18n/mk.js +2 -0
  1286. data/vendor/assets/bower_components/angular-i18n/ml-in.js +2 -0
  1287. data/vendor/assets/bower_components/angular-i18n/ml.js +2 -0
  1288. data/vendor/assets/bower_components/angular-i18n/mn-cyrl-mn.js +2 -0
  1289. data/vendor/assets/bower_components/angular-i18n/mn-cyrl.js +2 -0
  1290. data/vendor/assets/bower_components/angular-i18n/mn.js +2 -0
  1291. data/vendor/assets/bower_components/angular-i18n/mr-in.js +2 -0
  1292. data/vendor/assets/bower_components/angular-i18n/mr.js +2 -0
  1293. data/vendor/assets/bower_components/angular-i18n/ms-bn.js +2 -0
  1294. data/vendor/assets/bower_components/angular-i18n/ms-latn-bn.js +2 -0
  1295. data/vendor/assets/bower_components/angular-i18n/ms-latn-my.js +2 -0
  1296. data/vendor/assets/bower_components/angular-i18n/ms-latn-sg.js +2 -0
  1297. data/vendor/assets/bower_components/angular-i18n/ms-latn.js +2 -0
  1298. data/vendor/assets/bower_components/angular-i18n/ms-my.js +2 -0
  1299. data/vendor/assets/bower_components/angular-i18n/ms.js +2 -0
  1300. data/vendor/assets/bower_components/angular-i18n/mt-mt.js +2 -0
  1301. data/vendor/assets/bower_components/angular-i18n/mt.js +2 -0
  1302. data/vendor/assets/bower_components/angular-i18n/mua-cm.js +2 -0
  1303. data/vendor/assets/bower_components/angular-i18n/mua.js +2 -0
  1304. data/vendor/assets/bower_components/angular-i18n/my-mm.js +2 -0
  1305. data/vendor/assets/bower_components/angular-i18n/my.js +2 -0
  1306. data/vendor/assets/bower_components/angular-i18n/naq-na.js +2 -0
  1307. data/vendor/assets/bower_components/angular-i18n/naq.js +2 -0
  1308. data/vendor/assets/bower_components/angular-i18n/nb-no.js +2 -0
  1309. data/vendor/assets/bower_components/angular-i18n/nb-sj.js +2 -0
  1310. data/vendor/assets/bower_components/angular-i18n/nb.js +2 -0
  1311. data/vendor/assets/bower_components/angular-i18n/nd-zw.js +2 -0
  1312. data/vendor/assets/bower_components/angular-i18n/nd.js +2 -0
  1313. data/vendor/assets/bower_components/angular-i18n/ne-in.js +2 -0
  1314. data/vendor/assets/bower_components/angular-i18n/ne-np.js +2 -0
  1315. data/vendor/assets/bower_components/angular-i18n/ne.js +2 -0
  1316. data/vendor/assets/bower_components/angular-i18n/nl-aw.js +2 -0
  1317. data/vendor/assets/bower_components/angular-i18n/nl-be.js +2 -0
  1318. data/vendor/assets/bower_components/angular-i18n/nl-bq.js +2 -0
  1319. data/vendor/assets/bower_components/angular-i18n/nl-cw.js +2 -0
  1320. data/vendor/assets/bower_components/angular-i18n/nl-nl.js +2 -0
  1321. data/vendor/assets/bower_components/angular-i18n/nl-sr.js +2 -0
  1322. data/vendor/assets/bower_components/angular-i18n/nl-sx.js +2 -0
  1323. data/vendor/assets/bower_components/angular-i18n/nl.js +2 -0
  1324. data/vendor/assets/bower_components/angular-i18n/nmg-cm.js +2 -0
  1325. data/vendor/assets/bower_components/angular-i18n/nmg.js +2 -0
  1326. data/vendor/assets/bower_components/angular-i18n/nn-no.js +2 -0
  1327. data/vendor/assets/bower_components/angular-i18n/nn.js +2 -0
  1328. data/vendor/assets/bower_components/angular-i18n/nnh-cm.js +2 -0
  1329. data/vendor/assets/bower_components/angular-i18n/nnh.js +2 -0
  1330. data/vendor/assets/bower_components/angular-i18n/no-no.js +2 -0
  1331. data/vendor/assets/bower_components/angular-i18n/no.js +2 -0
  1332. data/vendor/assets/bower_components/angular-i18n/nr-za.js +2 -0
  1333. data/vendor/assets/bower_components/angular-i18n/nr.js +2 -0
  1334. data/vendor/assets/bower_components/angular-i18n/nso-za.js +2 -0
  1335. data/vendor/assets/bower_components/angular-i18n/nso.js +2 -0
  1336. data/vendor/assets/bower_components/angular-i18n/nus-sd.js +2 -0
  1337. data/vendor/assets/bower_components/angular-i18n/nus.js +2 -0
  1338. data/vendor/assets/bower_components/angular-i18n/nyn-ug.js +2 -0
  1339. data/vendor/assets/bower_components/angular-i18n/nyn.js +2 -0
  1340. data/vendor/assets/bower_components/angular-i18n/om-et.js +2 -0
  1341. data/vendor/assets/bower_components/angular-i18n/om-ke.js +2 -0
  1342. data/vendor/assets/bower_components/angular-i18n/om.js +2 -0
  1343. data/vendor/assets/bower_components/angular-i18n/or-in.js +2 -0
  1344. data/vendor/assets/bower_components/angular-i18n/or.js +2 -0
  1345. data/vendor/assets/bower_components/angular-i18n/os-ge.js +2 -0
  1346. data/vendor/assets/bower_components/angular-i18n/os-ru.js +2 -0
  1347. data/vendor/assets/bower_components/angular-i18n/os.js +2 -0
  1348. data/vendor/assets/bower_components/angular-i18n/pa-arab-pk.js +2 -0
  1349. data/vendor/assets/bower_components/angular-i18n/pa-arab.js +2 -0
  1350. data/vendor/assets/bower_components/angular-i18n/pa-guru-in.js +2 -0
  1351. data/vendor/assets/bower_components/angular-i18n/pa-guru.js +2 -0
  1352. data/vendor/assets/bower_components/angular-i18n/pa.js +2 -0
  1353. data/vendor/assets/bower_components/angular-i18n/package.json +26 -0
  1354. data/vendor/assets/bower_components/angular-i18n/pl-pl.js +2 -0
  1355. data/vendor/assets/bower_components/angular-i18n/pl.js +2 -0
  1356. data/vendor/assets/bower_components/angular-i18n/ps-af.js +2 -0
  1357. data/vendor/assets/bower_components/angular-i18n/ps.js +2 -0
  1358. data/vendor/assets/bower_components/angular-i18n/pt-ao.js +2 -0
  1359. data/vendor/assets/bower_components/angular-i18n/pt-br.js +2 -0
  1360. data/vendor/assets/bower_components/angular-i18n/pt-cv.js +2 -0
  1361. data/vendor/assets/bower_components/angular-i18n/pt-gw.js +2 -0
  1362. data/vendor/assets/bower_components/angular-i18n/pt-mo.js +2 -0
  1363. data/vendor/assets/bower_components/angular-i18n/pt-mz.js +2 -0
  1364. data/vendor/assets/bower_components/angular-i18n/pt-pt.js +2 -0
  1365. data/vendor/assets/bower_components/angular-i18n/pt-st.js +2 -0
  1366. data/vendor/assets/bower_components/angular-i18n/pt-tl.js +2 -0
  1367. data/vendor/assets/bower_components/angular-i18n/pt.js +2 -0
  1368. data/vendor/assets/bower_components/angular-i18n/qu-bo.js +2 -0
  1369. data/vendor/assets/bower_components/angular-i18n/qu-ec.js +2 -0
  1370. data/vendor/assets/bower_components/angular-i18n/qu-pe.js +2 -0
  1371. data/vendor/assets/bower_components/angular-i18n/qu.js +2 -0
  1372. data/vendor/assets/bower_components/angular-i18n/rm-ch.js +2 -0
  1373. data/vendor/assets/bower_components/angular-i18n/rm.js +2 -0
  1374. data/vendor/assets/bower_components/angular-i18n/rn-bi.js +2 -0
  1375. data/vendor/assets/bower_components/angular-i18n/rn.js +2 -0
  1376. data/vendor/assets/bower_components/angular-i18n/ro-md.js +2 -0
  1377. data/vendor/assets/bower_components/angular-i18n/ro-ro.js +2 -0
  1378. data/vendor/assets/bower_components/angular-i18n/ro.js +2 -0
  1379. data/vendor/assets/bower_components/angular-i18n/rof-tz.js +2 -0
  1380. data/vendor/assets/bower_components/angular-i18n/rof.js +2 -0
  1381. data/vendor/assets/bower_components/angular-i18n/ru-by.js +2 -0
  1382. data/vendor/assets/bower_components/angular-i18n/ru-kg.js +2 -0
  1383. data/vendor/assets/bower_components/angular-i18n/ru-kz.js +2 -0
  1384. data/vendor/assets/bower_components/angular-i18n/ru-md.js +2 -0
  1385. data/vendor/assets/bower_components/angular-i18n/ru-ru.js +2 -0
  1386. data/vendor/assets/bower_components/angular-i18n/ru-ua.js +2 -0
  1387. data/vendor/assets/bower_components/angular-i18n/ru.js +2 -0
  1388. data/vendor/assets/bower_components/angular-i18n/rw-rw.js +2 -0
  1389. data/vendor/assets/bower_components/angular-i18n/rw.js +2 -0
  1390. data/vendor/assets/bower_components/angular-i18n/rwk-tz.js +2 -0
  1391. data/vendor/assets/bower_components/angular-i18n/rwk.js +2 -0
  1392. data/vendor/assets/bower_components/angular-i18n/sah-ru.js +2 -0
  1393. data/vendor/assets/bower_components/angular-i18n/sah.js +2 -0
  1394. data/vendor/assets/bower_components/angular-i18n/saq-ke.js +2 -0
  1395. data/vendor/assets/bower_components/angular-i18n/saq.js +2 -0
  1396. data/vendor/assets/bower_components/angular-i18n/sbp-tz.js +2 -0
  1397. data/vendor/assets/bower_components/angular-i18n/sbp.js +2 -0
  1398. data/vendor/assets/bower_components/angular-i18n/se-fi.js +2 -0
  1399. data/vendor/assets/bower_components/angular-i18n/se-no.js +2 -0
  1400. data/vendor/assets/bower_components/angular-i18n/se-se.js +2 -0
  1401. data/vendor/assets/bower_components/angular-i18n/se.js +2 -0
  1402. data/vendor/assets/bower_components/angular-i18n/seh-mz.js +2 -0
  1403. data/vendor/assets/bower_components/angular-i18n/seh.js +2 -0
  1404. data/vendor/assets/bower_components/angular-i18n/ses-ml.js +2 -0
  1405. data/vendor/assets/bower_components/angular-i18n/ses.js +2 -0
  1406. data/vendor/assets/bower_components/angular-i18n/sg-cf.js +2 -0
  1407. data/vendor/assets/bower_components/angular-i18n/sg.js +2 -0
  1408. data/vendor/assets/bower_components/angular-i18n/shi-latn-ma.js +2 -0
  1409. data/vendor/assets/bower_components/angular-i18n/shi-latn.js +2 -0
  1410. data/vendor/assets/bower_components/angular-i18n/shi-tfng-ma.js +2 -0
  1411. data/vendor/assets/bower_components/angular-i18n/shi-tfng.js +2 -0
  1412. data/vendor/assets/bower_components/angular-i18n/shi.js +2 -0
  1413. data/vendor/assets/bower_components/angular-i18n/si-lk.js +2 -0
  1414. data/vendor/assets/bower_components/angular-i18n/si.js +2 -0
  1415. data/vendor/assets/bower_components/angular-i18n/sk-sk.js +2 -0
  1416. data/vendor/assets/bower_components/angular-i18n/sk.js +2 -0
  1417. data/vendor/assets/bower_components/angular-i18n/sl-si.js +2 -0
  1418. data/vendor/assets/bower_components/angular-i18n/sl.js +2 -0
  1419. data/vendor/assets/bower_components/angular-i18n/smn-fi.js +2 -0
  1420. data/vendor/assets/bower_components/angular-i18n/smn.js +2 -0
  1421. data/vendor/assets/bower_components/angular-i18n/sn-zw.js +2 -0
  1422. data/vendor/assets/bower_components/angular-i18n/sn.js +2 -0
  1423. data/vendor/assets/bower_components/angular-i18n/so-dj.js +2 -0
  1424. data/vendor/assets/bower_components/angular-i18n/so-et.js +2 -0
  1425. data/vendor/assets/bower_components/angular-i18n/so-ke.js +2 -0
  1426. data/vendor/assets/bower_components/angular-i18n/so-so.js +2 -0
  1427. data/vendor/assets/bower_components/angular-i18n/so.js +2 -0
  1428. data/vendor/assets/bower_components/angular-i18n/sq-al.js +2 -0
  1429. data/vendor/assets/bower_components/angular-i18n/sq-mk.js +2 -0
  1430. data/vendor/assets/bower_components/angular-i18n/sq-xk.js +2 -0
  1431. data/vendor/assets/bower_components/angular-i18n/sq.js +2 -0
  1432. data/vendor/assets/bower_components/angular-i18n/sr-cyrl-ba.js +2 -0
  1433. data/vendor/assets/bower_components/angular-i18n/sr-cyrl-me.js +2 -0
  1434. data/vendor/assets/bower_components/angular-i18n/sr-cyrl-rs.js +2 -0
  1435. data/vendor/assets/bower_components/angular-i18n/sr-cyrl-xk.js +2 -0
  1436. data/vendor/assets/bower_components/angular-i18n/sr-cyrl.js +2 -0
  1437. data/vendor/assets/bower_components/angular-i18n/sr-latn-ba.js +2 -0
  1438. data/vendor/assets/bower_components/angular-i18n/sr-latn-me.js +2 -0
  1439. data/vendor/assets/bower_components/angular-i18n/sr-latn-rs.js +2 -0
  1440. data/vendor/assets/bower_components/angular-i18n/sr-latn-xk.js +2 -0
  1441. data/vendor/assets/bower_components/angular-i18n/sr-latn.js +2 -0
  1442. data/vendor/assets/bower_components/angular-i18n/sr.js +2 -0
  1443. data/vendor/assets/bower_components/angular-i18n/ss-sz.js +2 -0
  1444. data/vendor/assets/bower_components/angular-i18n/ss-za.js +2 -0
  1445. data/vendor/assets/bower_components/angular-i18n/ss.js +2 -0
  1446. data/vendor/assets/bower_components/angular-i18n/ssy-er.js +2 -0
  1447. data/vendor/assets/bower_components/angular-i18n/ssy.js +2 -0
  1448. data/vendor/assets/bower_components/angular-i18n/st-ls.js +2 -0
  1449. data/vendor/assets/bower_components/angular-i18n/st-za.js +2 -0
  1450. data/vendor/assets/bower_components/angular-i18n/st.js +2 -0
  1451. data/vendor/assets/bower_components/angular-i18n/sv-ax.js +2 -0
  1452. data/vendor/assets/bower_components/angular-i18n/sv-fi.js +2 -0
  1453. data/vendor/assets/bower_components/angular-i18n/sv-se.js +2 -0
  1454. data/vendor/assets/bower_components/angular-i18n/sv.js +2 -0
  1455. data/vendor/assets/bower_components/angular-i18n/sw-cd.js +2 -0
  1456. data/vendor/assets/bower_components/angular-i18n/sw-ke.js +2 -0
  1457. data/vendor/assets/bower_components/angular-i18n/sw-tz.js +2 -0
  1458. data/vendor/assets/bower_components/angular-i18n/sw-ug.js +2 -0
  1459. data/vendor/assets/bower_components/angular-i18n/sw.js +2 -0
  1460. data/vendor/assets/bower_components/angular-i18n/swc-cd.js +2 -0
  1461. data/vendor/assets/bower_components/angular-i18n/swc.js +2 -0
  1462. data/vendor/assets/bower_components/angular-i18n/ta-in.js +2 -0
  1463. data/vendor/assets/bower_components/angular-i18n/ta-lk.js +2 -0
  1464. data/vendor/assets/bower_components/angular-i18n/ta-my.js +2 -0
  1465. data/vendor/assets/bower_components/angular-i18n/ta-sg.js +2 -0
  1466. data/vendor/assets/bower_components/angular-i18n/ta.js +2 -0
  1467. data/vendor/assets/bower_components/angular-i18n/te-in.js +2 -0
  1468. data/vendor/assets/bower_components/angular-i18n/te.js +2 -0
  1469. data/vendor/assets/bower_components/angular-i18n/teo-ke.js +2 -0
  1470. data/vendor/assets/bower_components/angular-i18n/teo-ug.js +2 -0
  1471. data/vendor/assets/bower_components/angular-i18n/teo.js +2 -0
  1472. data/vendor/assets/bower_components/angular-i18n/tg-cyrl-tj.js +2 -0
  1473. data/vendor/assets/bower_components/angular-i18n/tg-cyrl.js +2 -0
  1474. data/vendor/assets/bower_components/angular-i18n/tg.js +2 -0
  1475. data/vendor/assets/bower_components/angular-i18n/th-th.js +2 -0
  1476. data/vendor/assets/bower_components/angular-i18n/th.js +2 -0
  1477. data/vendor/assets/bower_components/angular-i18n/ti-er.js +2 -0
  1478. data/vendor/assets/bower_components/angular-i18n/ti-et.js +2 -0
  1479. data/vendor/assets/bower_components/angular-i18n/ti.js +2 -0
  1480. data/vendor/assets/bower_components/angular-i18n/tig-er.js +2 -0
  1481. data/vendor/assets/bower_components/angular-i18n/tig.js +2 -0
  1482. data/vendor/assets/bower_components/angular-i18n/tl.js +2 -0
  1483. data/vendor/assets/bower_components/angular-i18n/tn-bw.js +2 -0
  1484. data/vendor/assets/bower_components/angular-i18n/tn-za.js +2 -0
  1485. data/vendor/assets/bower_components/angular-i18n/tn.js +2 -0
  1486. data/vendor/assets/bower_components/angular-i18n/to-to.js +2 -0
  1487. data/vendor/assets/bower_components/angular-i18n/to.js +2 -0
  1488. data/vendor/assets/bower_components/angular-i18n/tr-cy.js +2 -0
  1489. data/vendor/assets/bower_components/angular-i18n/tr-tr.js +2 -0
  1490. data/vendor/assets/bower_components/angular-i18n/tr.js +2 -0
  1491. data/vendor/assets/bower_components/angular-i18n/ts-za.js +2 -0
  1492. data/vendor/assets/bower_components/angular-i18n/ts.js +2 -0
  1493. data/vendor/assets/bower_components/angular-i18n/twq-ne.js +2 -0
  1494. data/vendor/assets/bower_components/angular-i18n/twq.js +2 -0
  1495. data/vendor/assets/bower_components/angular-i18n/tzm-latn-ma.js +2 -0
  1496. data/vendor/assets/bower_components/angular-i18n/tzm-latn.js +2 -0
  1497. data/vendor/assets/bower_components/angular-i18n/tzm.js +2 -0
  1498. data/vendor/assets/bower_components/angular-i18n/ug-arab-cn.js +2 -0
  1499. data/vendor/assets/bower_components/angular-i18n/ug-arab.js +2 -0
  1500. data/vendor/assets/bower_components/angular-i18n/ug.js +2 -0
  1501. data/vendor/assets/bower_components/angular-i18n/uk-ua.js +2 -0
  1502. data/vendor/assets/bower_components/angular-i18n/uk.js +2 -0
  1503. data/vendor/assets/bower_components/angular-i18n/ur-in.js +2 -0
  1504. data/vendor/assets/bower_components/angular-i18n/ur-pk.js +2 -0
  1505. data/vendor/assets/bower_components/angular-i18n/ur.js +2 -0
  1506. data/vendor/assets/bower_components/angular-i18n/uz-arab-af.js +2 -0
  1507. data/vendor/assets/bower_components/angular-i18n/uz-arab.js +2 -0
  1508. data/vendor/assets/bower_components/angular-i18n/uz-cyrl-uz.js +2 -0
  1509. data/vendor/assets/bower_components/angular-i18n/uz-cyrl.js +2 -0
  1510. data/vendor/assets/bower_components/angular-i18n/uz-latn-uz.js +2 -0
  1511. data/vendor/assets/bower_components/angular-i18n/uz-latn.js +2 -0
  1512. data/vendor/assets/bower_components/angular-i18n/uz.js +2 -0
  1513. data/vendor/assets/bower_components/angular-i18n/vai-latn-lr.js +2 -0
  1514. data/vendor/assets/bower_components/angular-i18n/vai-latn.js +2 -0
  1515. data/vendor/assets/bower_components/angular-i18n/vai-vaii-lr.js +2 -0
  1516. data/vendor/assets/bower_components/angular-i18n/vai-vaii.js +2 -0
  1517. data/vendor/assets/bower_components/angular-i18n/vai.js +2 -0
  1518. data/vendor/assets/bower_components/angular-i18n/ve-za.js +2 -0
  1519. data/vendor/assets/bower_components/angular-i18n/ve.js +2 -0
  1520. data/vendor/assets/bower_components/angular-i18n/vi-vn.js +2 -0
  1521. data/vendor/assets/bower_components/angular-i18n/vi.js +2 -0
  1522. data/vendor/assets/bower_components/angular-i18n/vo-001.js +2 -0
  1523. data/vendor/assets/bower_components/angular-i18n/vo.js +2 -0
  1524. data/vendor/assets/bower_components/angular-i18n/vun-tz.js +2 -0
  1525. data/vendor/assets/bower_components/angular-i18n/vun.js +2 -0
  1526. data/vendor/assets/bower_components/angular-i18n/wae-ch.js +2 -0
  1527. data/vendor/assets/bower_components/angular-i18n/wae.js +2 -0
  1528. data/vendor/assets/bower_components/angular-i18n/wal-et.js +2 -0
  1529. data/vendor/assets/bower_components/angular-i18n/wal.js +2 -0
  1530. data/vendor/assets/bower_components/angular-i18n/xh-za.js +2 -0
  1531. data/vendor/assets/bower_components/angular-i18n/xh.js +2 -0
  1532. data/vendor/assets/bower_components/angular-i18n/xog-ug.js +2 -0
  1533. data/vendor/assets/bower_components/angular-i18n/xog.js +2 -0
  1534. data/vendor/assets/bower_components/angular-i18n/yav-cm.js +2 -0
  1535. data/vendor/assets/bower_components/angular-i18n/yav.js +2 -0
  1536. data/vendor/assets/bower_components/angular-i18n/yi-001.js +2 -0
  1537. data/vendor/assets/bower_components/angular-i18n/yi.js +2 -0
  1538. data/vendor/assets/bower_components/angular-i18n/yo-bj.js +2 -0
  1539. data/vendor/assets/bower_components/angular-i18n/yo-ng.js +2 -0
  1540. data/vendor/assets/bower_components/angular-i18n/yo.js +2 -0
  1541. data/vendor/assets/bower_components/angular-i18n/zgh-ma.js +2 -0
  1542. data/vendor/assets/bower_components/angular-i18n/zgh.js +2 -0
  1543. data/vendor/assets/bower_components/angular-i18n/zh-cn.js +2 -0
  1544. data/vendor/assets/bower_components/angular-i18n/zh-hans-cn.js +2 -0
  1545. data/vendor/assets/bower_components/angular-i18n/zh-hans-hk.js +2 -0
  1546. data/vendor/assets/bower_components/angular-i18n/zh-hans-mo.js +2 -0
  1547. data/vendor/assets/bower_components/angular-i18n/zh-hans-sg.js +2 -0
  1548. data/vendor/assets/bower_components/angular-i18n/zh-hans.js +2 -0
  1549. data/vendor/assets/bower_components/angular-i18n/zh-hant-hk.js +2 -0
  1550. data/vendor/assets/bower_components/angular-i18n/zh-hant-mo.js +2 -0
  1551. data/vendor/assets/bower_components/angular-i18n/zh-hant-tw.js +2 -0
  1552. data/vendor/assets/bower_components/angular-i18n/zh-hant.js +2 -0
  1553. data/vendor/assets/bower_components/angular-i18n/zh-hk.js +2 -0
  1554. data/vendor/assets/bower_components/angular-i18n/zh-tw.js +2 -0
  1555. data/vendor/assets/bower_components/angular-i18n/zh.js +2 -0
  1556. data/vendor/assets/bower_components/angular-i18n/zu-za.js +2 -0
  1557. data/vendor/assets/bower_components/angular-i18n/zu.js +2 -0
  1558. data/vendor/assets/bower_components/angular-loading-bar/CHANGELOG.md +48 -0
  1559. data/vendor/assets/bower_components/angular-loading-bar/Gruntfile.js +94 -0
  1560. data/vendor/assets/bower_components/angular-loading-bar/LICENSE +20 -0
  1561. data/vendor/assets/bower_components/angular-loading-bar/README.md +163 -0
  1562. data/vendor/assets/bower_components/angular-loading-bar/bower.json +26 -0
  1563. data/vendor/assets/bower_components/angular-loading-bar/build/loading-bar.css +110 -0
  1564. data/vendor/assets/bower_components/angular-loading-bar/build/loading-bar.js +314 -0
  1565. data/vendor/assets/bower_components/angular-loading-bar/build/loading-bar.min.css +8 -0
  1566. data/vendor/assets/bower_components/angular-loading-bar/build/loading-bar.min.js +7 -0
  1567. data/vendor/assets/bower_components/angular-loading-bar/package.json +45 -0
  1568. data/vendor/assets/bower_components/angular-loading-bar/src/loading-bar.css +104 -0
  1569. data/vendor/assets/bower_components/angular-loading-bar/src/loading-bar.js +308 -0
  1570. data/vendor/assets/bower_components/angular-sanitize/README.md +77 -0
  1571. data/vendor/assets/bower_components/angular-sanitize/angular-sanitize.js +678 -0
  1572. data/vendor/assets/bower_components/angular-sanitize/angular-sanitize.min.js +16 -0
  1573. data/vendor/assets/bower_components/angular-sanitize/angular-sanitize.min.js.map +8 -0
  1574. data/vendor/assets/bower_components/angular-sanitize/bower.json +9 -0
  1575. data/vendor/assets/bower_components/angular-sanitize/package.json +26 -0
  1576. data/vendor/assets/bower_components/angular-toggle-switch/LICENSE +21 -0
  1577. data/vendor/assets/bower_components/angular-toggle-switch/README.md +36 -0
  1578. data/vendor/assets/bower_components/angular-toggle-switch/angular-toggle-switch-bootstrap.css +35 -0
  1579. data/vendor/assets/bower_components/angular-toggle-switch/angular-toggle-switch.css +73 -0
  1580. data/vendor/assets/bower_components/angular-toggle-switch/angular-toggle-switch.js +49 -0
  1581. data/vendor/assets/bower_components/angular-toggle-switch/angular-toggle-switch.min.js +1 -0
  1582. data/vendor/assets/bower_components/angular-toggle-switch/bower.json +24 -0
  1583. data/vendor/assets/bower_components/angular-toggle-switch/test/angular-toggle-switch.spec.js +132 -0
  1584. data/vendor/assets/bower_components/angular-ui-codemirror/CHANGELOG.md +8 -0
  1585. data/vendor/assets/bower_components/angular-ui-codemirror/bower.json +9 -0
  1586. data/vendor/assets/bower_components/angular-ui-codemirror/ui-codemirror.js +103 -0
  1587. data/vendor/assets/bower_components/angular-ui-codemirror/ui-codemirror.min.js +7 -0
  1588. data/vendor/assets/bower_components/angular-ui-router/CHANGELOG.md +197 -0
  1589. data/vendor/assets/bower_components/angular-ui-router/CONTRIBUTING.md +65 -0
  1590. data/vendor/assets/bower_components/angular-ui-router/LICENSE +21 -0
  1591. data/vendor/assets/bower_components/angular-ui-router/README.md +243 -0
  1592. data/vendor/assets/bower_components/angular-ui-router/api/angular-ui-router.d.ts +126 -0
  1593. data/vendor/assets/bower_components/angular-ui-router/bower.json +23 -0
  1594. data/vendor/assets/bower_components/angular-ui-router/release/angular-ui-router.js +4232 -0
  1595. data/vendor/assets/bower_components/angular-ui-router/release/angular-ui-router.min.js +7 -0
  1596. data/vendor/assets/bower_components/angular-ui-router/src/common.js +292 -0
  1597. data/vendor/assets/bower_components/angular-ui-router/src/resolve.js +252 -0
  1598. data/vendor/assets/bower_components/angular-ui-router/src/state.js +1373 -0
  1599. data/vendor/assets/bower_components/angular-ui-router/src/stateDirectives.js +268 -0
  1600. data/vendor/assets/bower_components/angular-ui-router/src/stateFilters.js +39 -0
  1601. data/vendor/assets/bower_components/angular-ui-router/src/templateFactory.js +110 -0
  1602. data/vendor/assets/bower_components/angular-ui-router/src/urlMatcherFactory.js +1036 -0
  1603. data/vendor/assets/bower_components/angular-ui-router/src/urlRouter.js +413 -0
  1604. data/vendor/assets/bower_components/angular-ui-router/src/view.js +71 -0
  1605. data/vendor/assets/bower_components/angular-ui-router/src/viewDirective.js +302 -0
  1606. data/vendor/assets/bower_components/angular-ui-router/src/viewScroll.js +52 -0
  1607. data/vendor/assets/bower_components/angular-ui-select/LICENSE +20 -0
  1608. data/vendor/assets/bower_components/angular-ui-select/README.md +43 -0
  1609. data/vendor/assets/bower_components/angular-ui-select/bower.json +29 -0
  1610. data/vendor/assets/bower_components/angular-ui-select/dist/select.css +221 -0
  1611. data/vendor/assets/bower_components/angular-ui-select/dist/select.js +1746 -0
  1612. data/vendor/assets/bower_components/angular-ui-select/dist/select.min.css +6 -0
  1613. data/vendor/assets/bower_components/angular-ui-select/dist/select.min.js +8 -0
  1614. data/vendor/assets/bower_components/angular-ui-select/package.json +40 -0
  1615. data/vendor/assets/bower_components/angular-ui-tree/Gruntfile.js +229 -0
  1616. data/vendor/assets/bower_components/angular-ui-tree/LICENSE +20 -0
  1617. data/vendor/assets/bower_components/angular-ui-tree/README.md +452 -0
  1618. data/vendor/assets/bower_components/angular-ui-tree/bower.json +43 -0
  1619. data/vendor/assets/bower_components/angular-ui-tree/build/compiler.jar +0 -0
  1620. data/vendor/assets/bower_components/angular-ui-tree/demo/css/demo-horizontal.css +47 -0
  1621. data/vendor/assets/bower_components/angular-ui-tree/demo/css/demo.css +31 -0
  1622. data/vendor/assets/bower_components/angular-ui-tree/demo/css/tree.css +25 -0
  1623. data/vendor/assets/bower_components/angular-ui-tree/demo/dist/angular-ui-tree.js +1243 -0
  1624. data/vendor/assets/bower_components/angular-ui-tree/demo/dist/angular-ui-tree.min.css +2 -0
  1625. data/vendor/assets/bower_components/angular-ui-tree/demo/dist/angular-ui-tree.min.js +6 -0
  1626. data/vendor/assets/bower_components/angular-ui-tree/demo/filter.html +64 -0
  1627. data/vendor/assets/bower_components/angular-ui-tree/demo/groups.html +100 -0
  1628. data/vendor/assets/bower_components/angular-ui-tree/demo/index.html +101 -0
  1629. data/vendor/assets/bower_components/angular-ui-tree/demo/js/demo.js +63 -0
  1630. data/vendor/assets/bower_components/angular-ui-tree/demo/js/filter.js +91 -0
  1631. data/vendor/assets/bower_components/angular-ui-tree/demo/js/groups.js +143 -0
  1632. data/vendor/assets/bower_components/angular-ui-tree/demo/js/tree.js +102 -0
  1633. data/vendor/assets/bower_components/angular-ui-tree/demo/js/trees.js +60 -0
  1634. data/vendor/assets/bower_components/angular-ui-tree/demo/test.html +60 -0
  1635. data/vendor/assets/bower_components/angular-ui-tree/demo/tree-horizontal.html +66 -0
  1636. data/vendor/assets/bower_components/angular-ui-tree/demo/tree.html +66 -0
  1637. data/vendor/assets/bower_components/angular-ui-tree/demo/trees.html +92 -0
  1638. data/vendor/assets/bower_components/angular-ui-tree/dist/angular-ui-tree.js +1243 -0
  1639. data/vendor/assets/bower_components/angular-ui-tree/dist/angular-ui-tree.min.css +2 -0
  1640. data/vendor/assets/bower_components/angular-ui-tree/dist/angular-ui-tree.min.js +6 -0
  1641. data/vendor/assets/bower_components/angular-ui-tree/guide/00_usage.ngdoc +78 -0
  1642. data/vendor/assets/bower_components/angular-ui-tree/guide/01_development_setup.ngdoc +58 -0
  1643. data/vendor/assets/bower_components/angular-ui-tree/guide/index.ngdoc +33 -0
  1644. data/vendor/assets/bower_components/angular-ui-tree/karma.conf.js +49 -0
  1645. data/vendor/assets/bower_components/angular-ui-tree/package.json +40 -0
  1646. data/vendor/assets/bower_components/angular-ui-tree/source/angular-ui-tree.css +63 -0
  1647. data/vendor/assets/bower_components/angular-ui-tree/source/angular-ui-tree.scss +63 -0
  1648. data/vendor/assets/bower_components/angular-ui-tree/source/controllers/handleCtrl.js +16 -0
  1649. data/vendor/assets/bower_components/angular-ui-tree/source/controllers/nodeCtrl.js +141 -0
  1650. data/vendor/assets/bower_components/angular-ui-tree/source/controllers/nodesCtrl.js +100 -0
  1651. data/vendor/assets/bower_components/angular-ui-tree/source/controllers/treeCtrl.js +63 -0
  1652. data/vendor/assets/bower_components/angular-ui-tree/source/directives/uiTree.js +115 -0
  1653. data/vendor/assets/bower_components/angular-ui-tree/source/directives/uiTreeHandle.js +27 -0
  1654. data/vendor/assets/bower_components/angular-ui-tree/source/directives/uiTreeNode.js +427 -0
  1655. data/vendor/assets/bower_components/angular-ui-tree/source/directives/uiTreeNodes.js +59 -0
  1656. data/vendor/assets/bower_components/angular-ui-tree/source/main.js +23 -0
  1657. data/vendor/assets/bower_components/angular-ui-tree/source/services/helper.js +265 -0
  1658. data/vendor/assets/bower_components/angular-xeditable/CHANGELOG.txt +95 -0
  1659. data/vendor/assets/bower_components/angular-xeditable/bower.json +33 -0
  1660. data/vendor/assets/bower_components/angular-xeditable/dist/css/xeditable.css +7 -0
  1661. data/vendor/assets/bower_components/angular-xeditable/dist/js/xeditable.js +2227 -0
  1662. data/vendor/assets/bower_components/angular-xeditable/dist/js/xeditable.min.js +6 -0
  1663. data/vendor/assets/bower_components/angular-xeditable/npm-debug.log +28 -0
  1664. data/vendor/assets/bower_components/angular-xeditable/readme.md +46 -0
  1665. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/CHANGELOG.md +9 -0
  1666. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/Gruntfile.js +120 -0
  1667. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/README.md +48 -0
  1668. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/bower.json +32 -0
  1669. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/development_index.html +67 -0
  1670. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/dist/angularjs-dropdown-multiselect.min.js +1 -0
  1671. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/package.json +28 -0
  1672. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/images/body-bg.jpg +0 -0
  1673. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/images/download-button.png +0 -0
  1674. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/images/github-button.png +0 -0
  1675. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/images/header-bg.jpg +0 -0
  1676. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/images/highlight-bg.jpg +0 -0
  1677. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/images/sidebar-bg.jpg +0 -0
  1678. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/index.html +67 -0
  1679. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/javascripts/app.js +25 -0
  1680. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/javascripts/main.js +1 -0
  1681. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/javascripts/pages/home/ExampleCtrl.js +158 -0
  1682. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/javascripts/pages/home/home.html +897 -0
  1683. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/stylesheets/print.css +226 -0
  1684. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/stylesheets/pygment_trac.css +69 -0
  1685. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/stylesheets/stylesheet.css +410 -0
  1686. data/vendor/assets/bower_components/angularjs-dropdown-multiselect/src/angularjs-dropdown-multiselect.js +292 -0
  1687. data/vendor/assets/bower_components/bootstrap/Gruntfile.js +480 -0
  1688. data/vendor/assets/bower_components/bootstrap/LICENSE +21 -0
  1689. data/vendor/assets/bower_components/bootstrap/README.md +127 -0
  1690. data/vendor/assets/bower_components/bootstrap/bower.json +38 -0
  1691. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css +442 -0
  1692. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +1 -0
  1693. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +5 -0
  1694. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css.map +1 -0
  1695. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.less +6203 -0
  1696. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css.erb +5 -0
  1697. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  1698. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +229 -0
  1699. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  1700. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  1701. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.js +2114 -0
  1702. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js +6 -0
  1703. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  1704. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +229 -0
  1705. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  1706. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  1707. data/vendor/assets/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +41 -0
  1708. data/vendor/assets/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +236 -0
  1709. data/vendor/assets/bower_components/bootstrap/grunt/bs-raw-files-generator.js +46 -0
  1710. data/vendor/assets/bower_components/bootstrap/grunt/sauce_browsers.yml +82 -0
  1711. data/vendor/assets/bower_components/bootstrap/js/affix.js +142 -0
  1712. data/vendor/assets/bower_components/bootstrap/js/alert.js +92 -0
  1713. data/vendor/assets/bower_components/bootstrap/js/button.js +110 -0
  1714. data/vendor/assets/bower_components/bootstrap/js/carousel.js +223 -0
  1715. data/vendor/assets/bower_components/bootstrap/js/collapse.js +170 -0
  1716. data/vendor/assets/bower_components/bootstrap/js/dropdown.js +151 -0
  1717. data/vendor/assets/bower_components/bootstrap/js/modal.js +280 -0
  1718. data/vendor/assets/bower_components/bootstrap/js/popover.js +113 -0
  1719. data/vendor/assets/bower_components/bootstrap/js/scrollspy.js +170 -0
  1720. data/vendor/assets/bower_components/bootstrap/js/tab.js +128 -0
  1721. data/vendor/assets/bower_components/bootstrap/js/tooltip.js +457 -0
  1722. data/vendor/assets/bower_components/bootstrap/js/transition.js +59 -0
  1723. data/vendor/assets/bower_components/bootstrap/less/alerts.less +68 -0
  1724. data/vendor/assets/bower_components/bootstrap/less/badges.less +55 -0
  1725. data/vendor/assets/bower_components/bootstrap/less/bootstrap.less +50 -0
  1726. data/vendor/assets/bower_components/bootstrap/less/breadcrumbs.less +26 -0
  1727. data/vendor/assets/bower_components/bootstrap/less/button-groups.less +240 -0
  1728. data/vendor/assets/bower_components/bootstrap/less/buttons.less +157 -0
  1729. data/vendor/assets/bower_components/bootstrap/less/carousel.less +243 -0
  1730. data/vendor/assets/bower_components/bootstrap/less/close.less +33 -0
  1731. data/vendor/assets/bower_components/bootstrap/less/code.less +68 -0
  1732. data/vendor/assets/bower_components/bootstrap/less/component-animations.less +31 -0
  1733. data/vendor/assets/bower_components/bootstrap/less/dropdowns.less +215 -0
  1734. data/vendor/assets/bower_components/bootstrap/less/forms.less +540 -0
  1735. data/vendor/assets/bower_components/bootstrap/less/glyphicons.less +233 -0
  1736. data/vendor/assets/bower_components/bootstrap/less/grid.less +84 -0
  1737. data/vendor/assets/bower_components/bootstrap/less/input-groups.less +166 -0
  1738. data/vendor/assets/bower_components/bootstrap/less/jumbotron.less +48 -0
  1739. data/vendor/assets/bower_components/bootstrap/less/labels.less +64 -0
  1740. data/vendor/assets/bower_components/bootstrap/less/list-group.less +131 -0
  1741. data/vendor/assets/bower_components/bootstrap/less/media.less +56 -0
  1742. data/vendor/assets/bower_components/bootstrap/less/mixins/alerts.less +14 -0
  1743. data/vendor/assets/bower_components/bootstrap/less/mixins/background-variant.less +8 -0
  1744. data/vendor/assets/bower_components/bootstrap/less/mixins/border-radius.less +18 -0
  1745. data/vendor/assets/bower_components/bootstrap/less/mixins/buttons.less +50 -0
  1746. data/vendor/assets/bower_components/bootstrap/less/mixins/center-block.less +7 -0
  1747. data/vendor/assets/bower_components/bootstrap/less/mixins/clearfix.less +22 -0
  1748. data/vendor/assets/bower_components/bootstrap/less/mixins/forms.less +81 -0
  1749. data/vendor/assets/bower_components/bootstrap/less/mixins/gradients.less +59 -0
  1750. data/vendor/assets/bower_components/bootstrap/less/mixins/grid-framework.less +91 -0
  1751. data/vendor/assets/bower_components/bootstrap/less/mixins/grid.less +122 -0
  1752. data/vendor/assets/bower_components/bootstrap/less/mixins/hide-text.less +21 -0
  1753. data/vendor/assets/bower_components/bootstrap/less/mixins/image.less +34 -0
  1754. data/vendor/assets/bower_components/bootstrap/less/mixins/labels.less +12 -0
  1755. data/vendor/assets/bower_components/bootstrap/less/mixins/list-group.less +29 -0
  1756. data/vendor/assets/bower_components/bootstrap/less/mixins/nav-divider.less +10 -0
  1757. data/vendor/assets/bower_components/bootstrap/less/mixins/nav-vertical-align.less +9 -0
  1758. data/vendor/assets/bower_components/bootstrap/less/mixins/opacity.less +8 -0
  1759. data/vendor/assets/bower_components/bootstrap/less/mixins/pagination.less +23 -0
  1760. data/vendor/assets/bower_components/bootstrap/less/mixins/panels.less +24 -0
  1761. data/vendor/assets/bower_components/bootstrap/less/mixins/progress-bar.less +10 -0
  1762. data/vendor/assets/bower_components/bootstrap/less/mixins/reset-filter.less +8 -0
  1763. data/vendor/assets/bower_components/bootstrap/less/mixins/resize.less +6 -0
  1764. data/vendor/assets/bower_components/bootstrap/less/mixins/responsive-visibility.less +15 -0
  1765. data/vendor/assets/bower_components/bootstrap/less/mixins/size.less +10 -0
  1766. data/vendor/assets/bower_components/bootstrap/less/mixins/tab-focus.less +9 -0
  1767. data/vendor/assets/bower_components/bootstrap/less/mixins/table-row.less +28 -0
  1768. data/vendor/assets/bower_components/bootstrap/less/mixins/text-emphasis.less +8 -0
  1769. data/vendor/assets/bower_components/bootstrap/less/mixins/text-overflow.less +8 -0
  1770. data/vendor/assets/bower_components/bootstrap/less/mixins/vendor-prefixes.less +224 -0
  1771. data/vendor/assets/bower_components/bootstrap/less/mixins.less +39 -0
  1772. data/vendor/assets/bower_components/bootstrap/less/modals.less +150 -0
  1773. data/vendor/assets/bower_components/bootstrap/less/navbar.less +655 -0
  1774. data/vendor/assets/bower_components/bootstrap/less/navs.less +242 -0
  1775. data/vendor/assets/bower_components/bootstrap/less/normalize.less +425 -0
  1776. data/vendor/assets/bower_components/bootstrap/less/pager.less +55 -0
  1777. data/vendor/assets/bower_components/bootstrap/less/pagination.less +88 -0
  1778. data/vendor/assets/bower_components/bootstrap/less/panels.less +243 -0
  1779. data/vendor/assets/bower_components/bootstrap/less/popovers.less +133 -0
  1780. data/vendor/assets/bower_components/bootstrap/less/print.less +101 -0
  1781. data/vendor/assets/bower_components/bootstrap/less/progress-bars.less +105 -0
  1782. data/vendor/assets/bower_components/bootstrap/less/responsive-embed.less +34 -0
  1783. data/vendor/assets/bower_components/bootstrap/less/responsive-utilities.less +194 -0
  1784. data/vendor/assets/bower_components/bootstrap/less/scaffolding.less +150 -0
  1785. data/vendor/assets/bower_components/bootstrap/less/tables.less +233 -0
  1786. data/vendor/assets/bower_components/bootstrap/less/theme.less +258 -0
  1787. data/vendor/assets/bower_components/bootstrap/less/thumbnails.less +36 -0
  1788. data/vendor/assets/bower_components/bootstrap/less/tooltip.less +95 -0
  1789. data/vendor/assets/bower_components/bootstrap/less/type.less +313 -0
  1790. data/vendor/assets/bower_components/bootstrap/less/utilities.less +57 -0
  1791. data/vendor/assets/bower_components/bootstrap/less/variables.less +846 -0
  1792. data/vendor/assets/bower_components/bootstrap/less/wells.less +29 -0
  1793. data/vendor/assets/bower_components/bootstrap/package.json +81 -0
  1794. data/vendor/assets/bower_components/codemirror/AUTHORS +406 -0
  1795. data/vendor/assets/bower_components/codemirror/CONTRIBUTING.md +76 -0
  1796. data/vendor/assets/bower_components/codemirror/LICENSE +19 -0
  1797. data/vendor/assets/bower_components/codemirror/README.md +11 -0
  1798. data/vendor/assets/bower_components/codemirror/addon/comment/comment.js +183 -0
  1799. data/vendor/assets/bower_components/codemirror/addon/comment/continuecomment.js +85 -0
  1800. data/vendor/assets/bower_components/codemirror/addon/dialog/dialog.css +32 -0
  1801. data/vendor/assets/bower_components/codemirror/addon/dialog/dialog.js +155 -0
  1802. data/vendor/assets/bower_components/codemirror/addon/display/fullscreen.css +6 -0
  1803. data/vendor/assets/bower_components/codemirror/addon/display/fullscreen.js +41 -0
  1804. data/vendor/assets/bower_components/codemirror/addon/display/placeholder.js +58 -0
  1805. data/vendor/assets/bower_components/codemirror/addon/display/rulers.js +64 -0
  1806. data/vendor/assets/bower_components/codemirror/addon/edit/closebrackets.js +159 -0
  1807. data/vendor/assets/bower_components/codemirror/addon/edit/closetag.js +159 -0
  1808. data/vendor/assets/bower_components/codemirror/addon/edit/continuelist.js +51 -0
  1809. data/vendor/assets/bower_components/codemirror/addon/edit/matchbrackets.js +120 -0
  1810. data/vendor/assets/bower_components/codemirror/addon/edit/matchtags.js +66 -0
  1811. data/vendor/assets/bower_components/codemirror/addon/edit/trailingspace.js +27 -0
  1812. data/vendor/assets/bower_components/codemirror/addon/fold/brace-fold.js +105 -0
  1813. data/vendor/assets/bower_components/codemirror/addon/fold/comment-fold.js +57 -0
  1814. data/vendor/assets/bower_components/codemirror/addon/fold/foldcode.js +145 -0
  1815. data/vendor/assets/bower_components/codemirror/addon/fold/foldgutter.css +20 -0
  1816. data/vendor/assets/bower_components/codemirror/addon/fold/foldgutter.js +134 -0
  1817. data/vendor/assets/bower_components/codemirror/addon/fold/indent-fold.js +44 -0
  1818. data/vendor/assets/bower_components/codemirror/addon/fold/markdown-fold.js +49 -0
  1819. data/vendor/assets/bower_components/codemirror/addon/fold/xml-fold.js +182 -0
  1820. data/vendor/assets/bower_components/codemirror/addon/hint/anyword-hint.js +42 -0
  1821. data/vendor/assets/bower_components/codemirror/addon/hint/css-hint.js +56 -0
  1822. data/vendor/assets/bower_components/codemirror/addon/hint/html-hint.js +348 -0
  1823. data/vendor/assets/bower_components/codemirror/addon/hint/javascript-hint.js +141 -0
  1824. data/vendor/assets/bower_components/codemirror/addon/hint/python-hint.js +102 -0
  1825. data/vendor/assets/bower_components/codemirror/addon/hint/show-hint.css +38 -0
  1826. data/vendor/assets/bower_components/codemirror/addon/hint/show-hint.js +389 -0
  1827. data/vendor/assets/bower_components/codemirror/addon/hint/sql-hint.js +194 -0
  1828. data/vendor/assets/bower_components/codemirror/addon/hint/xml-hint.js +111 -0
  1829. data/vendor/assets/bower_components/codemirror/addon/lint/coffeescript-lint.js +41 -0
  1830. data/vendor/assets/bower_components/codemirror/addon/lint/css-lint.js +35 -0
  1831. data/vendor/assets/bower_components/codemirror/addon/lint/javascript-lint.js +136 -0
  1832. data/vendor/assets/bower_components/codemirror/addon/lint/json-lint.js +31 -0
  1833. data/vendor/assets/bower_components/codemirror/addon/lint/lint.css +73 -0
  1834. data/vendor/assets/bower_components/codemirror/addon/lint/lint.js +204 -0
  1835. data/vendor/assets/bower_components/codemirror/addon/lint/yaml-lint.js +28 -0
  1836. data/vendor/assets/bower_components/codemirror/addon/merge/merge.css +98 -0
  1837. data/vendor/assets/bower_components/codemirror/addon/merge/merge.js +536 -0
  1838. data/vendor/assets/bower_components/codemirror/addon/mode/loadmode.js +64 -0
  1839. data/vendor/assets/bower_components/codemirror/addon/mode/multiplex.js +118 -0
  1840. data/vendor/assets/bower_components/codemirror/addon/mode/multiplex_test.js +33 -0
  1841. data/vendor/assets/bower_components/codemirror/addon/mode/overlay.js +85 -0
  1842. data/vendor/assets/bower_components/codemirror/addon/mode/simple.js +210 -0
  1843. data/vendor/assets/bower_components/codemirror/addon/runmode/colorize.js +40 -0
  1844. data/vendor/assets/bower_components/codemirror/addon/runmode/runmode-standalone.js +157 -0
  1845. data/vendor/assets/bower_components/codemirror/addon/runmode/runmode.js +72 -0
  1846. data/vendor/assets/bower_components/codemirror/addon/runmode/runmode.node.js +120 -0
  1847. data/vendor/assets/bower_components/codemirror/addon/scroll/scrollpastend.js +46 -0
  1848. data/vendor/assets/bower_components/codemirror/addon/search/match-highlighter.js +128 -0
  1849. data/vendor/assets/bower_components/codemirror/addon/search/search.js +159 -0
  1850. data/vendor/assets/bower_components/codemirror/addon/search/searchcursor.js +189 -0
  1851. data/vendor/assets/bower_components/codemirror/addon/selection/active-line.js +71 -0
  1852. data/vendor/assets/bower_components/codemirror/addon/selection/mark-selection.js +118 -0
  1853. data/vendor/assets/bower_components/codemirror/addon/tern/tern.css +86 -0
  1854. data/vendor/assets/bower_components/codemirror/addon/tern/tern.js +668 -0
  1855. data/vendor/assets/bower_components/codemirror/addon/tern/worker.js +44 -0
  1856. data/vendor/assets/bower_components/codemirror/addon/wrap/hardwrap.js +139 -0
  1857. data/vendor/assets/bower_components/codemirror/bower.json +16 -0
  1858. data/vendor/assets/bower_components/codemirror/keymap/emacs.js +393 -0
  1859. data/vendor/assets/bower_components/codemirror/keymap/sublime.js +540 -0
  1860. data/vendor/assets/bower_components/codemirror/keymap/vim.js +4829 -0
  1861. data/vendor/assets/bower_components/codemirror/lib/codemirror.css +318 -0
  1862. data/vendor/assets/bower_components/codemirror/lib/codemirror.js +7922 -0
  1863. data/vendor/assets/bower_components/codemirror/mode/apl/apl.js +175 -0
  1864. data/vendor/assets/bower_components/codemirror/mode/asterisk/asterisk.js +198 -0
  1865. data/vendor/assets/bower_components/codemirror/mode/clike/clike.js +489 -0
  1866. data/vendor/assets/bower_components/codemirror/mode/clike/scala.html +767 -0
  1867. data/vendor/assets/bower_components/codemirror/mode/clojure/clojure.js +243 -0
  1868. data/vendor/assets/bower_components/codemirror/mode/cobol/cobol.js +255 -0
  1869. data/vendor/assets/bower_components/codemirror/mode/coffeescript/coffeescript.js +369 -0
  1870. data/vendor/assets/bower_components/codemirror/mode/commonlisp/commonlisp.js +120 -0
  1871. data/vendor/assets/bower_components/codemirror/mode/css/css.js +717 -0
  1872. data/vendor/assets/bower_components/codemirror/mode/css/less.html +152 -0
  1873. data/vendor/assets/bower_components/codemirror/mode/css/less_test.js +51 -0
  1874. data/vendor/assets/bower_components/codemirror/mode/css/scss.html +157 -0
  1875. data/vendor/assets/bower_components/codemirror/mode/css/scss_test.js +110 -0
  1876. data/vendor/assets/bower_components/codemirror/mode/css/test.js +135 -0
  1877. data/vendor/assets/bower_components/codemirror/mode/cypher/cypher.js +146 -0
  1878. data/vendor/assets/bower_components/codemirror/mode/d/d.js +218 -0
  1879. data/vendor/assets/bower_components/codemirror/mode/diff/diff.js +47 -0
  1880. data/vendor/assets/bower_components/codemirror/mode/django/django.js +67 -0
  1881. data/vendor/assets/bower_components/codemirror/mode/dockerfile/dockerfile.js +80 -0
  1882. data/vendor/assets/bower_components/codemirror/mode/dtd/dtd.js +142 -0
  1883. data/vendor/assets/bower_components/codemirror/mode/dylan/dylan.js +299 -0
  1884. data/vendor/assets/bower_components/codemirror/mode/ecl/ecl.js +207 -0
  1885. data/vendor/assets/bower_components/codemirror/mode/eiffel/eiffel.js +162 -0
  1886. data/vendor/assets/bower_components/codemirror/mode/erlang/erlang.js +622 -0
  1887. data/vendor/assets/bower_components/codemirror/mode/fortran/fortran.js +188 -0
  1888. data/vendor/assets/bower_components/codemirror/mode/gas/gas.js +345 -0
  1889. data/vendor/assets/bower_components/codemirror/mode/gfm/gfm.js +123 -0
  1890. data/vendor/assets/bower_components/codemirror/mode/gfm/test.js +213 -0
  1891. data/vendor/assets/bower_components/codemirror/mode/gherkin/gherkin.js +178 -0
  1892. data/vendor/assets/bower_components/codemirror/mode/go/go.js +184 -0
  1893. data/vendor/assets/bower_components/codemirror/mode/groovy/groovy.js +226 -0
  1894. data/vendor/assets/bower_components/codemirror/mode/haml/haml.js +159 -0
  1895. data/vendor/assets/bower_components/codemirror/mode/haml/test.js +97 -0
  1896. data/vendor/assets/bower_components/codemirror/mode/haskell/haskell.js +267 -0
  1897. data/vendor/assets/bower_components/codemirror/mode/haxe/haxe.js +518 -0
  1898. data/vendor/assets/bower_components/codemirror/mode/htmlembedded/htmlembedded.js +86 -0
  1899. data/vendor/assets/bower_components/codemirror/mode/htmlmixed/htmlmixed.js +121 -0
  1900. data/vendor/assets/bower_components/codemirror/mode/http/http.js +113 -0
  1901. data/vendor/assets/bower_components/codemirror/mode/idl/idl.js +290 -0
  1902. data/vendor/assets/bower_components/codemirror/mode/jade/jade.js +590 -0
  1903. data/vendor/assets/bower_components/codemirror/mode/javascript/javascript.js +684 -0
  1904. data/vendor/assets/bower_components/codemirror/mode/javascript/json-ld.html +72 -0
  1905. data/vendor/assets/bower_components/codemirror/mode/javascript/test.js +194 -0
  1906. data/vendor/assets/bower_components/codemirror/mode/javascript/typescript.html +61 -0
  1907. data/vendor/assets/bower_components/codemirror/mode/jinja2/jinja2.js +142 -0
  1908. data/vendor/assets/bower_components/codemirror/mode/julia/julia.js +301 -0
  1909. data/vendor/assets/bower_components/codemirror/mode/kotlin/kotlin.js +280 -0
  1910. data/vendor/assets/bower_components/codemirror/mode/livescript/livescript.js +280 -0
  1911. data/vendor/assets/bower_components/codemirror/mode/lua/lua.js +159 -0
  1912. data/vendor/assets/bower_components/codemirror/mode/markdown/markdown.js +765 -0
  1913. data/vendor/assets/bower_components/codemirror/mode/markdown/test.js +754 -0
  1914. data/vendor/assets/bower_components/codemirror/mode/meta.js +160 -0
  1915. data/vendor/assets/bower_components/codemirror/mode/mirc/mirc.js +193 -0
  1916. data/vendor/assets/bower_components/codemirror/mode/mllike/mllike.js +205 -0
  1917. data/vendor/assets/bower_components/codemirror/mode/modelica/modelica.js +245 -0
  1918. data/vendor/assets/bower_components/codemirror/mode/nginx/nginx.js +178 -0
  1919. data/vendor/assets/bower_components/codemirror/mode/ntriples/ntriples.js +186 -0
  1920. data/vendor/assets/bower_components/codemirror/mode/octave/octave.js +135 -0
  1921. data/vendor/assets/bower_components/codemirror/mode/pascal/pascal.js +109 -0
  1922. data/vendor/assets/bower_components/codemirror/mode/pegjs/pegjs.js +114 -0
  1923. data/vendor/assets/bower_components/codemirror/mode/perl/perl.js +832 -0
  1924. data/vendor/assets/bower_components/codemirror/mode/php/php.js +226 -0
  1925. data/vendor/assets/bower_components/codemirror/mode/php/test.js +154 -0
  1926. data/vendor/assets/bower_components/codemirror/mode/pig/pig.js +188 -0
  1927. data/vendor/assets/bower_components/codemirror/mode/properties/properties.js +78 -0
  1928. data/vendor/assets/bower_components/codemirror/mode/puppet/puppet.js +220 -0
  1929. data/vendor/assets/bower_components/codemirror/mode/python/python.js +359 -0
  1930. data/vendor/assets/bower_components/codemirror/mode/q/q.js +139 -0
  1931. data/vendor/assets/bower_components/codemirror/mode/r/r.js +162 -0
  1932. data/vendor/assets/bower_components/codemirror/mode/rpm/rpm.js +101 -0
  1933. data/vendor/assets/bower_components/codemirror/mode/rst/rst.js +557 -0
  1934. data/vendor/assets/bower_components/codemirror/mode/ruby/ruby.js +285 -0
  1935. data/vendor/assets/bower_components/codemirror/mode/ruby/test.js +14 -0
  1936. data/vendor/assets/bower_components/codemirror/mode/rust/rust.js +451 -0
  1937. data/vendor/assets/bower_components/codemirror/mode/sass/sass.js +327 -0
  1938. data/vendor/assets/bower_components/codemirror/mode/scheme/scheme.js +248 -0
  1939. data/vendor/assets/bower_components/codemirror/mode/shell/shell.js +138 -0
  1940. data/vendor/assets/bower_components/codemirror/mode/shell/test.js +58 -0
  1941. data/vendor/assets/bower_components/codemirror/mode/sieve/sieve.js +193 -0
  1942. data/vendor/assets/bower_components/codemirror/mode/slim/slim.js +575 -0
  1943. data/vendor/assets/bower_components/codemirror/mode/slim/test.js +96 -0
  1944. data/vendor/assets/bower_components/codemirror/mode/smalltalk/smalltalk.js +168 -0
  1945. data/vendor/assets/bower_components/codemirror/mode/smarty/smarty.js +221 -0
  1946. data/vendor/assets/bower_components/codemirror/mode/smartymixed/smartymixed.js +197 -0
  1947. data/vendor/assets/bower_components/codemirror/mode/solr/solr.js +104 -0
  1948. data/vendor/assets/bower_components/codemirror/mode/sparql/sparql.js +174 -0
  1949. data/vendor/assets/bower_components/codemirror/mode/sql/sql.js +391 -0
  1950. data/vendor/assets/bower_components/codemirror/mode/stex/stex.js +253 -0
  1951. data/vendor/assets/bower_components/codemirror/mode/stex/test.js +123 -0
  1952. data/vendor/assets/bower_components/codemirror/mode/tcl/tcl.js +147 -0
  1953. data/vendor/assets/bower_components/codemirror/mode/textile/test.js +406 -0
  1954. data/vendor/assets/bower_components/codemirror/mode/textile/textile.js +553 -0
  1955. data/vendor/assets/bower_components/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  1956. data/vendor/assets/bower_components/codemirror/mode/tiddlywiki/tiddlywiki.js +369 -0
  1957. data/vendor/assets/bower_components/codemirror/mode/tiki/tiki.css +26 -0
  1958. data/vendor/assets/bower_components/codemirror/mode/tiki/tiki.js +323 -0
  1959. data/vendor/assets/bower_components/codemirror/mode/toml/toml.js +88 -0
  1960. data/vendor/assets/bower_components/codemirror/mode/tornado/tornado.js +68 -0
  1961. data/vendor/assets/bower_components/codemirror/mode/turtle/turtle.js +160 -0
  1962. data/vendor/assets/bower_components/codemirror/mode/vb/vb.js +274 -0
  1963. data/vendor/assets/bower_components/codemirror/mode/vbscript/vbscript.js +350 -0
  1964. data/vendor/assets/bower_components/codemirror/mode/velocity/velocity.js +201 -0
  1965. data/vendor/assets/bower_components/codemirror/mode/verilog/test.js +273 -0
  1966. data/vendor/assets/bower_components/codemirror/mode/verilog/verilog.js +364 -0
  1967. data/vendor/assets/bower_components/codemirror/mode/xml/test.js +51 -0
  1968. data/vendor/assets/bower_components/codemirror/mode/xml/xml.js +384 -0
  1969. data/vendor/assets/bower_components/codemirror/mode/xquery/test.js +67 -0
  1970. data/vendor/assets/bower_components/codemirror/mode/xquery/xquery.js +447 -0
  1971. data/vendor/assets/bower_components/codemirror/mode/yaml/yaml.js +117 -0
  1972. data/vendor/assets/bower_components/codemirror/mode/z80/z80.js +100 -0
  1973. data/vendor/assets/bower_components/codemirror/theme/3024-day.css +38 -0
  1974. data/vendor/assets/bower_components/codemirror/theme/3024-night.css +37 -0
  1975. data/vendor/assets/bower_components/codemirror/theme/ambiance-mobile.css +5 -0
  1976. data/vendor/assets/bower_components/codemirror/theme/ambiance.css +77 -0
  1977. data/vendor/assets/bower_components/codemirror/theme/base16-dark.css +36 -0
  1978. data/vendor/assets/bower_components/codemirror/theme/base16-light.css +36 -0
  1979. data/vendor/assets/bower_components/codemirror/theme/blackboard.css +30 -0
  1980. data/vendor/assets/bower_components/codemirror/theme/cobalt.css +23 -0
  1981. data/vendor/assets/bower_components/codemirror/theme/eclipse.css +23 -0
  1982. data/vendor/assets/bower_components/codemirror/theme/elegant.css +13 -0
  1983. data/vendor/assets/bower_components/codemirror/theme/erlang-dark.css +32 -0
  1984. data/vendor/assets/bower_components/codemirror/theme/lesser-dark.css +45 -0
  1985. data/vendor/assets/bower_components/codemirror/theme/mbo.css +35 -0
  1986. data/vendor/assets/bower_components/codemirror/theme/mdn-like.css +44 -0
  1987. data/vendor/assets/bower_components/codemirror/theme/midnight.css +45 -0
  1988. data/vendor/assets/bower_components/codemirror/theme/monokai.css +31 -0
  1989. data/vendor/assets/bower_components/codemirror/theme/neat.css +12 -0
  1990. data/vendor/assets/bower_components/codemirror/theme/neo.css +43 -0
  1991. data/vendor/assets/bower_components/codemirror/theme/night.css +26 -0
  1992. data/vendor/assets/bower_components/codemirror/theme/paraiso-dark.css +36 -0
  1993. data/vendor/assets/bower_components/codemirror/theme/paraiso-light.css +36 -0
  1994. data/vendor/assets/bower_components/codemirror/theme/pastel-on-dark.css +50 -0
  1995. data/vendor/assets/bower_components/codemirror/theme/rubyblue.css +23 -0
  1996. data/vendor/assets/bower_components/codemirror/theme/solarized.css +165 -0
  1997. data/vendor/assets/bower_components/codemirror/theme/the-matrix.css +28 -0
  1998. data/vendor/assets/bower_components/codemirror/theme/tomorrow-night-eighties.css +36 -0
  1999. data/vendor/assets/bower_components/codemirror/theme/twilight.css +30 -0
  2000. data/vendor/assets/bower_components/codemirror/theme/vibrant-ink.css +32 -0
  2001. data/vendor/assets/bower_components/codemirror/theme/xq-dark.css +51 -0
  2002. data/vendor/assets/bower_components/codemirror/theme/xq-light.css +43 -0
  2003. data/vendor/assets/bower_components/es5-shim/CHANGES +105 -0
  2004. data/vendor/assets/bower_components/es5-shim/CONTRIBUTORS.md +27 -0
  2005. data/vendor/assets/bower_components/es5-shim/LICENSE +19 -0
  2006. data/vendor/assets/bower_components/es5-shim/README.md +155 -0
  2007. data/vendor/assets/bower_components/es5-shim/es5-sham.js +446 -0
  2008. data/vendor/assets/bower_components/es5-shim/es5-sham.map +1 -0
  2009. data/vendor/assets/bower_components/es5-shim/es5-sham.min.js +2 -0
  2010. data/vendor/assets/bower_components/es5-shim/es5-shim.js +1360 -0
  2011. data/vendor/assets/bower_components/es5-shim/es5-shim.map +1 -0
  2012. data/vendor/assets/bower_components/es5-shim/es5-shim.min.js +2 -0
  2013. data/vendor/assets/bower_components/es5-shim/package.json +41 -0
  2014. data/vendor/assets/bower_components/es5-shim/tests/helpers/h-kill.js +70 -0
  2015. data/vendor/assets/bower_components/es5-shim/tests/helpers/h-matchers.js +34 -0
  2016. data/vendor/assets/bower_components/es5-shim/tests/helpers/h.js +3 -0
  2017. data/vendor/assets/bower_components/es5-shim/tests/index.html +64 -0
  2018. data/vendor/assets/bower_components/es5-shim/tests/index.min.html +63 -0
  2019. data/vendor/assets/bower_components/es5-shim/tests/lib/jasmine-html.js +190 -0
  2020. data/vendor/assets/bower_components/es5-shim/tests/lib/jasmine.css +166 -0
  2021. data/vendor/assets/bower_components/es5-shim/tests/lib/jasmine.js +2477 -0
  2022. data/vendor/assets/bower_components/es5-shim/tests/lib/jasmine_favicon.png +0 -0
  2023. data/vendor/assets/bower_components/es5-shim/tests/lib/json2.js +478 -0
  2024. data/vendor/assets/bower_components/es5-shim/tests/spec/helpers-jasmine.js +3 -0
  2025. data/vendor/assets/bower_components/es5-shim/tests/spec/s-array.js +1247 -0
  2026. data/vendor/assets/bower_components/es5-shim/tests/spec/s-date.js +160 -0
  2027. data/vendor/assets/bower_components/es5-shim/tests/spec/s-function.js +166 -0
  2028. data/vendor/assets/bower_components/es5-shim/tests/spec/s-global.js +40 -0
  2029. data/vendor/assets/bower_components/es5-shim/tests/spec/s-number.js +14 -0
  2030. data/vendor/assets/bower_components/es5-shim/tests/spec/s-object.js +181 -0
  2031. data/vendor/assets/bower_components/es5-shim/tests/spec/s-string.js +204 -0
  2032. data/vendor/assets/bower_components/flow.js/CHANGELOG.md +37 -0
  2033. data/vendor/assets/bower_components/flow.js/Gruntfile.js +132 -0
  2034. data/vendor/assets/bower_components/flow.js/LICENSE +21 -0
  2035. data/vendor/assets/bower_components/flow.js/README.md +263 -0
  2036. data/vendor/assets/bower_components/flow.js/bower.json +13 -0
  2037. data/vendor/assets/bower_components/flow.js/dist/flow.js +1532 -0
  2038. data/vendor/assets/bower_components/flow.js/dist/flow.min.js +2 -0
  2039. data/vendor/assets/bower_components/flow.js/karma.conf.js +114 -0
  2040. data/vendor/assets/bower_components/flow.js/package.json +50 -0
  2041. data/vendor/assets/bower_components/flow.js/src/flow.js +1532 -0
  2042. data/vendor/assets/bower_components/font-awesome/bower.json +23 -0
  2043. data/vendor/assets/bower_components/font-awesome/css/font-awesome.css +1672 -0
  2044. data/vendor/assets/bower_components/font-awesome/css/font-awesome.min.css +4 -0
  2045. data/vendor/assets/bower_components/font-awesome/fonts/FontAwesome.otf +0 -0
  2046. data/vendor/assets/bower_components/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  2047. data/vendor/assets/bower_components/font-awesome/fonts/fontawesome-webfont.svg +520 -0
  2048. data/vendor/assets/bower_components/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  2049. data/vendor/assets/bower_components/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  2050. data/vendor/assets/bower_components/font-awesome/less/bordered-pulled.less +16 -0
  2051. data/vendor/assets/bower_components/font-awesome/less/core.less +11 -0
  2052. data/vendor/assets/bower_components/font-awesome/less/extras.less +2 -0
  2053. data/vendor/assets/bower_components/font-awesome/less/fixed-width.less +6 -0
  2054. data/vendor/assets/bower_components/font-awesome/less/font-awesome.less +17 -0
  2055. data/vendor/assets/bower_components/font-awesome/less/icons.less +552 -0
  2056. data/vendor/assets/bower_components/font-awesome/less/larger.less +13 -0
  2057. data/vendor/assets/bower_components/font-awesome/less/list.less +19 -0
  2058. data/vendor/assets/bower_components/font-awesome/less/mixins.less +25 -0
  2059. data/vendor/assets/bower_components/font-awesome/less/path.less +14 -0
  2060. data/vendor/assets/bower_components/font-awesome/less/rotated-flipped.less +20 -0
  2061. data/vendor/assets/bower_components/font-awesome/less/spinning.less +29 -0
  2062. data/vendor/assets/bower_components/font-awesome/less/stacked.less +20 -0
  2063. data/vendor/assets/bower_components/font-awesome/less/variables.less +560 -0
  2064. data/vendor/assets/bower_components/font-awesome/scss/_bordered-pulled.scss +16 -0
  2065. data/vendor/assets/bower_components/font-awesome/scss/_core.scss +11 -0
  2066. data/vendor/assets/bower_components/font-awesome/scss/_extras.scss +44 -0
  2067. data/vendor/assets/bower_components/font-awesome/scss/_fixed-width.scss +6 -0
  2068. data/vendor/assets/bower_components/font-awesome/scss/_icons.scss +552 -0
  2069. data/vendor/assets/bower_components/font-awesome/scss/_larger.scss +13 -0
  2070. data/vendor/assets/bower_components/font-awesome/scss/_list.scss +19 -0
  2071. data/vendor/assets/bower_components/font-awesome/scss/_mixins.scss +25 -0
  2072. data/vendor/assets/bower_components/font-awesome/scss/_path.scss +14 -0
  2073. data/vendor/assets/bower_components/font-awesome/scss/_rotated-flipped.scss +20 -0
  2074. data/vendor/assets/bower_components/font-awesome/scss/_spinning.scss +29 -0
  2075. data/vendor/assets/bower_components/font-awesome/scss/_stacked.scss +20 -0
  2076. data/vendor/assets/bower_components/font-awesome/scss/_variables.scss +561 -0
  2077. data/vendor/assets/bower_components/font-awesome/scss/font-awesome.scss +17 -0
  2078. data/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +21 -0
  2079. data/vendor/assets/bower_components/jquery/bower.json +27 -0
  2080. data/vendor/assets/bower_components/jquery/dist/jquery.js +9190 -0
  2081. data/vendor/assets/bower_components/jquery/dist/jquery.min.js +5 -0
  2082. data/vendor/assets/bower_components/jquery/dist/jquery.min.map +1 -0
  2083. data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +89 -0
  2084. data/vendor/assets/bower_components/jquery/src/ajax/load.js +75 -0
  2085. data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  2086. data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +28 -0
  2087. data/vendor/assets/bower_components/jquery/src/ajax/script.js +64 -0
  2088. data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  2089. data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  2090. data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +135 -0
  2091. data/vendor/assets/bower_components/jquery/src/ajax.js +806 -0
  2092. data/vendor/assets/bower_components/jquery/src/attributes/attr.js +143 -0
  2093. data/vendor/assets/bower_components/jquery/src/attributes/classes.js +158 -0
  2094. data/vendor/assets/bower_components/jquery/src/attributes/prop.js +96 -0
  2095. data/vendor/assets/bower_components/jquery/src/attributes/support.js +35 -0
  2096. data/vendor/assets/bower_components/jquery/src/attributes/val.js +163 -0
  2097. data/vendor/assets/bower_components/jquery/src/attributes.js +11 -0
  2098. data/vendor/assets/bower_components/jquery/src/callbacks.js +205 -0
  2099. data/vendor/assets/bower_components/jquery/src/core/access.js +60 -0
  2100. data/vendor/assets/bower_components/jquery/src/core/init.js +123 -0
  2101. data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +39 -0
  2102. data/vendor/assets/bower_components/jquery/src/core/ready.js +97 -0
  2103. data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
  2104. data/vendor/assets/bower_components/jquery/src/core.js +498 -0
  2105. data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +24 -0
  2106. data/vendor/assets/bower_components/jquery/src/css/curCSS.js +57 -0
  2107. data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +70 -0
  2108. data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  2109. data/vendor/assets/bower_components/jquery/src/css/support.js +91 -0
  2110. data/vendor/assets/bower_components/jquery/src/css/swap.js +28 -0
  2111. data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  2112. data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +5 -0
  2113. data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +13 -0
  2114. data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +3 -0
  2115. data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  2116. data/vendor/assets/bower_components/jquery/src/css.js +451 -0
  2117. data/vendor/assets/bower_components/jquery/src/data/Data.js +181 -0
  2118. data/vendor/assets/bower_components/jquery/src/data/accepts.js +20 -0
  2119. data/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +5 -0
  2120. data/vendor/assets/bower_components/jquery/src/data/var/data_user.js +5 -0
  2121. data/vendor/assets/bower_components/jquery/src/data.js +179 -0
  2122. data/vendor/assets/bower_components/jquery/src/deferred.js +149 -0
  2123. data/vendor/assets/bower_components/jquery/src/deprecated.js +13 -0
  2124. data/vendor/assets/bower_components/jquery/src/dimensions.js +50 -0
  2125. data/vendor/assets/bower_components/jquery/src/effects/Tween.js +114 -0
  2126. data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  2127. data/vendor/assets/bower_components/jquery/src/effects.js +649 -0
  2128. data/vendor/assets/bower_components/jquery/src/event/alias.js +39 -0
  2129. data/vendor/assets/bower_components/jquery/src/event/support.js +9 -0
  2130. data/vendor/assets/bower_components/jquery/src/event.js +868 -0
  2131. data/vendor/assets/bower_components/jquery/src/exports/amd.js +24 -0
  2132. data/vendor/assets/bower_components/jquery/src/exports/global.js +32 -0
  2133. data/vendor/assets/bower_components/jquery/src/intro.js +44 -0
  2134. data/vendor/assets/bower_components/jquery/src/jquery.js +36 -0
  2135. data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
  2136. data/vendor/assets/bower_components/jquery/src/manipulation/support.js +31 -0
  2137. data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  2138. data/vendor/assets/bower_components/jquery/src/manipulation.js +582 -0
  2139. data/vendor/assets/bower_components/jquery/src/offset.js +204 -0
  2140. data/vendor/assets/bower_components/jquery/src/outro.js +1 -0
  2141. data/vendor/assets/bower_components/jquery/src/queue/delay.js +22 -0
  2142. data/vendor/assets/bower_components/jquery/src/queue.js +142 -0
  2143. data/vendor/assets/bower_components/jquery/src/selector-native.js +172 -0
  2144. data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +14 -0
  2145. data/vendor/assets/bower_components/jquery/src/selector.js +1 -0
  2146. data/vendor/assets/bower_components/jquery/src/serialize.js +111 -0
  2147. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +2044 -0
  2148. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  2149. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  2150. data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +100 -0
  2151. data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  2152. data/vendor/assets/bower_components/jquery/src/traversing.js +200 -0
  2153. data/vendor/assets/bower_components/jquery/src/var/arr.js +3 -0
  2154. data/vendor/assets/bower_components/jquery/src/var/class2type.js +4 -0
  2155. data/vendor/assets/bower_components/jquery/src/var/concat.js +5 -0
  2156. data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +5 -0
  2157. data/vendor/assets/bower_components/jquery/src/var/indexOf.js +5 -0
  2158. data/vendor/assets/bower_components/jquery/src/var/pnum.js +3 -0
  2159. data/vendor/assets/bower_components/jquery/src/var/push.js +5 -0
  2160. data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +3 -0
  2161. data/vendor/assets/bower_components/jquery/src/var/slice.js +5 -0
  2162. data/vendor/assets/bower_components/jquery/src/var/strundefined.js +3 -0
  2163. data/vendor/assets/bower_components/jquery/src/var/support.js +4 -0
  2164. data/vendor/assets/bower_components/jquery/src/var/toString.js +5 -0
  2165. data/vendor/assets/bower_components/jquery/src/wrap.js +78 -0
  2166. data/vendor/assets/bower_components/lodash/LICENSE.txt +22 -0
  2167. data/vendor/assets/bower_components/lodash/bower.json +20 -0
  2168. data/vendor/assets/bower_components/lodash/lodash.js +11803 -0
  2169. data/vendor/assets/bower_components/lodash/lodash.min.js +89 -0
  2170. data/vendor/assets/bower_components/ng-alertify/LICENSE +20 -0
  2171. data/vendor/assets/bower_components/ng-alertify/README.md +82 -0
  2172. data/vendor/assets/bower_components/ng-alertify/bower.json +33 -0
  2173. data/vendor/assets/bower_components/ng-alertify/lib/sinon.js +5891 -0
  2174. data/vendor/assets/bower_components/ng-alertify/ng-alertify.js +67 -0
  2175. data/vendor/assets/bower_components/ng-ckeditor/Gruntfile.js +64 -0
  2176. data/vendor/assets/bower_components/ng-ckeditor/LICENSE +9 -0
  2177. data/vendor/assets/bower_components/ng-ckeditor/README.md +27 -0
  2178. data/vendor/assets/bower_components/ng-ckeditor/bower.json +13 -0
  2179. data/vendor/assets/bower_components/ng-ckeditor/examples/1.html +2 -0
  2180. data/vendor/assets/bower_components/ng-ckeditor/examples/checkspelling.php +147 -0
  2181. data/vendor/assets/bower_components/ng-ckeditor/examples/css/bootstrap.css +5359 -0
  2182. data/vendor/assets/bower_components/ng-ckeditor/examples/demo1.html +67 -0
  2183. data/vendor/assets/bower_components/ng-ckeditor/examples/demo2.html +51 -0
  2184. data/vendor/assets/bower_components/ng-ckeditor/examples/inlineall.html +334 -0
  2185. data/vendor/assets/bower_components/ng-ckeditor/examples/js/angular-mocks.js +1788 -0
  2186. data/vendor/assets/bower_components/ng-ckeditor/examples/js/angular-resource.min.js +10 -0
  2187. data/vendor/assets/bower_components/ng-ckeditor/examples/js/jquery-1.9.1.min.js +5 -0
  2188. data/vendor/assets/bower_components/ng-ckeditor/examples/spellcheck/handler.php +200 -0
  2189. data/vendor/assets/bower_components/ng-ckeditor/examples/test.php +28 -0
  2190. data/vendor/assets/bower_components/ng-ckeditor/karma.conf.js +47 -0
  2191. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/CHANGES.md +342 -0
  2192. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/LICENSE.md +1264 -0
  2193. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/README.md +39 -0
  2194. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/adapters/jquery.js +10 -0
  2195. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/build-config.js +86 -0
  2196. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/ckeditor.js +987 -0
  2197. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/config.js +38 -0
  2198. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/contents.css +106 -0
  2199. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/lang/en.js +5 -0
  2200. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/lang/ru.js +5 -0
  2201. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
  2202. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +25 -0
  2203. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +9 -0
  2204. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +9 -0
  2205. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +10 -0
  2206. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +10 -0
  2207. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +9 -0
  2208. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +9 -0
  2209. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +10 -0
  2210. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +10 -0
  2211. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +9 -0
  2212. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +10 -0
  2213. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +10 -0
  2214. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +9 -0
  2215. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +9 -0
  2216. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +10 -0
  2217. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +10 -0
  2218. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +11 -0
  2219. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +10 -0
  2220. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +9 -0
  2221. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +9 -0
  2222. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +9 -0
  2223. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +9 -0
  2224. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +10 -0
  2225. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +9 -0
  2226. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +10 -0
  2227. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +8 -0
  2228. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +9 -0
  2229. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +9 -0
  2230. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +10 -0
  2231. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +9 -0
  2232. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +11 -0
  2233. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +9 -0
  2234. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +9 -0
  2235. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +9 -0
  2236. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +10 -0
  2237. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +9 -0
  2238. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +10 -0
  2239. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +9 -0
  2240. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +10 -0
  2241. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +9 -0
  2242. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +9 -0
  2243. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +8 -0
  2244. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +10 -0
  2245. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +10 -0
  2246. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +9 -0
  2247. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +9 -0
  2248. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +9 -0
  2249. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +10 -0
  2250. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +9 -0
  2251. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +10 -0
  2252. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +9 -0
  2253. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +10 -0
  2254. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +9 -0
  2255. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +7 -0
  2256. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/clipboard/dialogs/paste.js +11 -0
  2257. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  2258. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/fakeobjects/images/spacer.gif +0 -0
  2259. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/icons.png +0 -0
  2260. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/icons_hidpi.png +0 -0
  2261. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/image/dialogs/image.js +43 -0
  2262. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/image/images/noimage.png +0 -0
  2263. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/image2/dialogs/image2.js +14 -0
  2264. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/link/dialogs/anchor.js +8 -0
  2265. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/link/dialogs/link.js +37 -0
  2266. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/link/images/anchor.png +0 -0
  2267. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  2268. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  2269. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/magicline/images/icon.png +0 -0
  2270. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/pastefromword/filter/default.js +31 -0
  2271. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/scayt/LICENSE.md +28 -0
  2272. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/scayt/README.md +25 -0
  2273. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/scayt/dialogs/options.js +20 -0
  2274. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  2275. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +20 -0
  2276. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/ar.js +13 -0
  2277. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/bg.js +13 -0
  2278. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/ca.js +14 -0
  2279. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
  2280. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
  2281. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
  2282. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
  2283. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
  2284. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
  2285. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/es.js +13 -0
  2286. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/et.js +13 -0
  2287. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/fa.js +12 -0
  2288. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
  2289. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +10 -0
  2290. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/fr.js +11 -0
  2291. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/gl.js +13 -0
  2292. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/he.js +12 -0
  2293. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
  2294. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/hu.js +12 -0
  2295. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/id.js +13 -0
  2296. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
  2297. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/ja.js +9 -0
  2298. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/km.js +13 -0
  2299. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/ku.js +13 -0
  2300. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
  2301. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
  2302. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
  2303. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
  2304. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
  2305. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
  2306. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/pt.js +13 -0
  2307. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/ru.js +13 -0
  2308. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/si.js +13 -0
  2309. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
  2310. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/sl.js +12 -0
  2311. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/sq.js +13 -0
  2312. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
  2313. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
  2314. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
  2315. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
  2316. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/uk.js +12 -0
  2317. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/vi.js +14 -0
  2318. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
  2319. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/specialchar/dialogs/specialchar.js +14 -0
  2320. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/table/dialogs/table.js +21 -0
  2321. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/tabletools/dialogs/tableCell.js +16 -0
  2322. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/templates/dialogs/templates.css +84 -0
  2323. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/templates/dialogs/templates.js +10 -0
  2324. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/templates/templates/default.js +6 -0
  2325. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  2326. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  2327. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  2328. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/widget/images/handle.png +0 -0
  2329. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/wsc/LICENSE.md +28 -0
  2330. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/wsc/README.md +25 -0
  2331. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/wsc/dialogs/ciframe.html +66 -0
  2332. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/wsc/dialogs/tmp.html +118 -0
  2333. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  2334. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/wsc/dialogs/wsc.css +82 -0
  2335. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/wsc/dialogs/wsc.js +67 -0
  2336. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/plugins/wsc/dialogs/wsc_ie.js +11 -0
  2337. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/ajax.html +82 -0
  2338. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/api.html +207 -0
  2339. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/appendto.html +57 -0
  2340. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/assets/inlineall/logo.png +0 -0
  2341. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/assets/outputxhtml/outputxhtml.css +204 -0
  2342. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/assets/posteddata.php +59 -0
  2343. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/assets/sample.css +3 -0
  2344. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/assets/sample.jpg +0 -0
  2345. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/assets/uilanguages/languages.js +7 -0
  2346. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/datafiltering.html +401 -0
  2347. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/divreplace.html +141 -0
  2348. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/index.html +137 -0
  2349. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/inlineall.html +311 -0
  2350. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/inlinebycode.html +121 -0
  2351. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/inlinetextarea.html +110 -0
  2352. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/jquery.html +97 -0
  2353. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/dialog/assets/my_dialog.js +48 -0
  2354. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/dialog/dialog.html +187 -0
  2355. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/divarea/divarea.html +61 -0
  2356. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/enterkey/enterkey.html +103 -0
  2357. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.fla +0 -0
  2358. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.swf +0 -0
  2359. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/swfobject.js +18 -0
  2360. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/htmlwriter/outputforflash.html +280 -0
  2361. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/htmlwriter/outputhtml.html +221 -0
  2362. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/image2/assets/image1.jpg +0 -0
  2363. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/image2/assets/image2.jpg +0 -0
  2364. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/image2/contents.css +19 -0
  2365. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/image2/image2.html +70 -0
  2366. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/magicline/magicline.html +206 -0
  2367. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/stylesheetparser/assets/sample.css +70 -0
  2368. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/stylesheetparser/stylesheetparser.html +82 -0
  2369. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/toolbar/toolbar.html +231 -0
  2370. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/plugins/wysiwygarea/fullpage.html +77 -0
  2371. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/readonly.html +73 -0
  2372. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/replacebyclass.html +57 -0
  2373. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/replacebycode.html +56 -0
  2374. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/sample.css +356 -0
  2375. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/sample.js +50 -0
  2376. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/sample_posteddata.php +16 -0
  2377. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/tabindex.html +75 -0
  2378. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/uicolor.html +69 -0
  2379. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/uilanguages.html +119 -0
  2380. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/samples/xhtmlstyle.html +231 -0
  2381. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/dialog.css +5 -0
  2382. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/dialog_ie.css +5 -0
  2383. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/dialog_ie7.css +5 -0
  2384. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/dialog_ie8.css +5 -0
  2385. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/dialog_iequirks.css +5 -0
  2386. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/dialog_opera.css +5 -0
  2387. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/editor.css +5 -0
  2388. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/editor_gecko.css +5 -0
  2389. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/editor_ie.css +5 -0
  2390. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/editor_ie7.css +5 -0
  2391. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/editor_ie8.css +5 -0
  2392. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/editor_iequirks.css +5 -0
  2393. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/icons.png +0 -0
  2394. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/icons_hidpi.png +0 -0
  2395. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/images/arrow.png +0 -0
  2396. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/images/close.png +0 -0
  2397. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/images/hidpi/close.png +0 -0
  2398. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/images/hidpi/lock-open.png +0 -0
  2399. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/images/hidpi/lock.png +0 -0
  2400. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/images/hidpi/refresh.png +0 -0
  2401. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/images/lock-open.png +0 -0
  2402. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/images/lock.png +0 -0
  2403. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/images/refresh.png +0 -0
  2404. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/skins/moono/readme.md +51 -0
  2405. data/vendor/assets/bower_components/ng-ckeditor/libs/ckeditor/styles.js +111 -0
  2406. data/vendor/assets/bower_components/ng-ckeditor/ng-ckeditor.css +1 -0
  2407. data/vendor/assets/bower_components/ng-ckeditor/ng-ckeditor.js +142 -0
  2408. data/vendor/assets/bower_components/ng-ckeditor/ng-ckeditor.min.js +5 -0
  2409. data/vendor/assets/bower_components/ng-ckeditor/ng-ckeditor.min.map +1 -0
  2410. data/vendor/assets/bower_components/ng-ckeditor/package.json +26 -0
  2411. data/vendor/assets/bower_components/ng-ckeditor/src/scripts/01-intro.js +9 -0
  2412. data/vendor/assets/bower_components/ng-ckeditor/src/scripts/02-directive.js +130 -0
  2413. data/vendor/assets/bower_components/ng-ckeditor/src/scripts/03-outro.js +2 -0
  2414. data/vendor/assets/bower_components/ng-ckeditor/src/styles/ng-ckeditor.less +3 -0
  2415. data/vendor/assets/bower_components/ng-ckeditor/test/directiveOnFormSpec.js +134 -0
  2416. data/vendor/assets/bower_components/ng-ckeditor/test/directiveSpec.js +131 -0
  2417. data/vendor/assets/bower_components/ng-flow/bower.json +24 -0
  2418. data/vendor/assets/bower_components/ng-flow/dist/ng-flow-standalone.js +1812 -0
  2419. data/vendor/assets/bower_components/ng-flow/dist/ng-flow-standalone.min.js +2 -0
  2420. data/vendor/assets/bower_components/ng-flow/dist/ng-flow.js +279 -0
  2421. data/vendor/assets/bower_components/ng-flow/dist/ng-flow.min.js +2 -0
  2422. data/vendor/assets/bower_components/ng-flow/src/angular-flow.js +2 -0
  2423. data/vendor/assets/bower_components/ng-flow/src/directives/btn.js +14 -0
  2424. data/vendor/assets/bower_components/ng-flow/src/directives/drag-events.js +56 -0
  2425. data/vendor/assets/bower_components/ng-flow/src/directives/drop.js +26 -0
  2426. data/vendor/assets/bower_components/ng-flow/src/directives/events.js +49 -0
  2427. data/vendor/assets/bower_components/ng-flow/src/directives/img.js +22 -0
  2428. data/vendor/assets/bower_components/ng-flow/src/directives/init.js +37 -0
  2429. data/vendor/assets/bower_components/ng-flow/src/directives/transfers.js +10 -0
  2430. data/vendor/assets/bower_components/ng-flow/src/provider.js +62 -0
  2431. data/vendor/assets/bower_components/ng-sortable/LICENSE +21 -0
  2432. data/vendor/assets/bower_components/ng-sortable/README.md +285 -0
  2433. data/vendor/assets/bower_components/ng-sortable/bower.json +37 -0
  2434. data/vendor/assets/bower_components/ng-sortable/dist/ng-sortable.css +38 -0
  2435. data/vendor/assets/bower_components/ng-sortable/dist/ng-sortable.js +1087 -0
  2436. data/vendor/assets/bower_components/ng-sortable/dist/ng-sortable.min.css +2 -0
  2437. data/vendor/assets/bower_components/ng-sortable/dist/ng-sortable.min.js +1 -0
  2438. data/vendor/assets/bower_components/ng-sortable/dist/ng-sortable.style.css +30 -0
  2439. data/vendor/assets/bower_components/ng-sortable/dist/ng-sortable.style.min.css +2 -0
  2440. data/vendor/assets/bower_components/restangular/CHANGELOG.md +18 -0
  2441. data/vendor/assets/bower_components/restangular/CONTRIBUTE.md +31 -0
  2442. data/vendor/assets/bower_components/restangular/Gruntfile.js +149 -0
  2443. data/vendor/assets/bower_components/restangular/README.md +1336 -0
  2444. data/vendor/assets/bower_components/restangular/bower.json +19 -0
  2445. data/vendor/assets/bower_components/restangular/dist/restangular.js +1355 -0
  2446. data/vendor/assets/bower_components/restangular/dist/restangular.min.js +6 -0
  2447. data/vendor/assets/bower_components/restangular/dist/restangular.zip +0 -0
  2448. data/vendor/assets/bower_components/restangular/karma.conf.js +74 -0
  2449. data/vendor/assets/bower_components/restangular/karma.underscore.conf.js +74 -0
  2450. data/vendor/assets/bower_components/restangular/license.md +21 -0
  2451. data/vendor/assets/bower_components/restangular/package.json +55 -0
  2452. data/vendor/assets/bower_components/restangular/src/restangular.js +1350 -0
  2453. data/vendor/assets/bower_components/restangular/test/restangularSpec.js +1136 -0
  2454. metadata +2453 -2
@@ -0,0 +1,4167 @@
1
+ /*
2
+ * angular-ui-bootstrap
3
+ * http://angular-ui.github.io/bootstrap/
4
+
5
+ * Version: 0.11.2 - 2014-09-26
6
+ * License: MIT
7
+ */
8
+ angular.module("ui.bootstrap", ["ui.bootstrap.tpls", "ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]);
9
+ angular.module("ui.bootstrap.tpls", ["template/accordion/accordion-group.html","template/accordion/accordion.html","template/alert/alert.html","template/carousel/carousel.html","template/carousel/slide.html","template/datepicker/datepicker.html","template/datepicker/day.html","template/datepicker/month.html","template/datepicker/popup.html","template/datepicker/year.html","template/modal/backdrop.html","template/modal/window.html","template/pagination/pager.html","template/pagination/pagination.html","template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html","template/popover/popover.html","template/progressbar/bar.html","template/progressbar/progress.html","template/progressbar/progressbar.html","template/rating/rating.html","template/tabs/tab.html","template/tabs/tabset.html","template/timepicker/timepicker.html","template/typeahead/typeahead-match.html","template/typeahead/typeahead-popup.html"]);
10
+ angular.module('ui.bootstrap.transition', [])
11
+
12
+ /**
13
+ * $transition service provides a consistent interface to trigger CSS 3 transitions and to be informed when they complete.
14
+ * @param {DOMElement} element The DOMElement that will be animated.
15
+ * @param {string|object|function} trigger The thing that will cause the transition to start:
16
+ * - As a string, it represents the css class to be added to the element.
17
+ * - As an object, it represents a hash of style attributes to be applied to the element.
18
+ * - As a function, it represents a function to be called that will cause the transition to occur.
19
+ * @return {Promise} A promise that is resolved when the transition finishes.
20
+ */
21
+ .factory('$transition', ['$q', '$timeout', '$rootScope', function($q, $timeout, $rootScope) {
22
+
23
+ var $transition = function(element, trigger, options) {
24
+ options = options || {};
25
+ var deferred = $q.defer();
26
+ var endEventName = $transition[options.animation ? 'animationEndEventName' : 'transitionEndEventName'];
27
+
28
+ var transitionEndHandler = function(event) {
29
+ $rootScope.$apply(function() {
30
+ element.unbind(endEventName, transitionEndHandler);
31
+ deferred.resolve(element);
32
+ });
33
+ };
34
+
35
+ if (endEventName) {
36
+ element.bind(endEventName, transitionEndHandler);
37
+ }
38
+
39
+ // Wrap in a timeout to allow the browser time to update the DOM before the transition is to occur
40
+ $timeout(function() {
41
+ if ( angular.isString(trigger) ) {
42
+ element.addClass(trigger);
43
+ } else if ( angular.isFunction(trigger) ) {
44
+ trigger(element);
45
+ } else if ( angular.isObject(trigger) ) {
46
+ element.css(trigger);
47
+ }
48
+ //If browser does not support transitions, instantly resolve
49
+ if ( !endEventName ) {
50
+ deferred.resolve(element);
51
+ }
52
+ });
53
+
54
+ // Add our custom cancel function to the promise that is returned
55
+ // We can call this if we are about to run a new transition, which we know will prevent this transition from ending,
56
+ // i.e. it will therefore never raise a transitionEnd event for that transition
57
+ deferred.promise.cancel = function() {
58
+ if ( endEventName ) {
59
+ element.unbind(endEventName, transitionEndHandler);
60
+ }
61
+ deferred.reject('Transition cancelled');
62
+ };
63
+
64
+ return deferred.promise;
65
+ };
66
+
67
+ // Work out the name of the transitionEnd event
68
+ var transElement = document.createElement('trans');
69
+ var transitionEndEventNames = {
70
+ 'WebkitTransition': 'webkitTransitionEnd',
71
+ 'MozTransition': 'transitionend',
72
+ 'OTransition': 'oTransitionEnd',
73
+ 'transition': 'transitionend'
74
+ };
75
+ var animationEndEventNames = {
76
+ 'WebkitTransition': 'webkitAnimationEnd',
77
+ 'MozTransition': 'animationend',
78
+ 'OTransition': 'oAnimationEnd',
79
+ 'transition': 'animationend'
80
+ };
81
+ function findEndEventName(endEventNames) {
82
+ for (var name in endEventNames){
83
+ if (transElement.style[name] !== undefined) {
84
+ return endEventNames[name];
85
+ }
86
+ }
87
+ }
88
+ $transition.transitionEndEventName = findEndEventName(transitionEndEventNames);
89
+ $transition.animationEndEventName = findEndEventName(animationEndEventNames);
90
+ return $transition;
91
+ }]);
92
+
93
+ angular.module('ui.bootstrap.collapse', ['ui.bootstrap.transition'])
94
+
95
+ .directive('collapse', ['$transition', function ($transition) {
96
+
97
+ return {
98
+ link: function (scope, element, attrs) {
99
+
100
+ var initialAnimSkip = true;
101
+ var currentTransition;
102
+
103
+ function doTransition(change) {
104
+ var newTransition = $transition(element, change);
105
+ if (currentTransition) {
106
+ currentTransition.cancel();
107
+ }
108
+ currentTransition = newTransition;
109
+ newTransition.then(newTransitionDone, newTransitionDone);
110
+ return newTransition;
111
+
112
+ function newTransitionDone() {
113
+ // Make sure it's this transition, otherwise, leave it alone.
114
+ if (currentTransition === newTransition) {
115
+ currentTransition = undefined;
116
+ }
117
+ }
118
+ }
119
+
120
+ function expand() {
121
+ if (initialAnimSkip) {
122
+ initialAnimSkip = false;
123
+ expandDone();
124
+ } else {
125
+ element.removeClass('collapse').addClass('collapsing');
126
+ doTransition({ height: element[0].scrollHeight + 'px' }).then(expandDone);
127
+ }
128
+ }
129
+
130
+ function expandDone() {
131
+ element.removeClass('collapsing');
132
+ element.addClass('collapse in');
133
+ element.css({height: 'auto'});
134
+ }
135
+
136
+ function collapse() {
137
+ if (initialAnimSkip) {
138
+ initialAnimSkip = false;
139
+ collapseDone();
140
+ element.css({height: 0});
141
+ } else {
142
+ // CSS transitions don't work with height: auto, so we have to manually change the height to a specific value
143
+ element.css({ height: element[0].scrollHeight + 'px' });
144
+ //trigger reflow so a browser realizes that height was updated from auto to a specific value
145
+ var x = element[0].offsetWidth;
146
+
147
+ element.removeClass('collapse in').addClass('collapsing');
148
+
149
+ doTransition({ height: 0 }).then(collapseDone);
150
+ }
151
+ }
152
+
153
+ function collapseDone() {
154
+ element.removeClass('collapsing');
155
+ element.addClass('collapse');
156
+ }
157
+
158
+ scope.$watch(attrs.collapse, function (shouldCollapse) {
159
+ if (shouldCollapse) {
160
+ collapse();
161
+ } else {
162
+ expand();
163
+ }
164
+ });
165
+ }
166
+ };
167
+ }]);
168
+
169
+ angular.module('ui.bootstrap.accordion', ['ui.bootstrap.collapse'])
170
+
171
+ .constant('accordionConfig', {
172
+ closeOthers: true
173
+ })
174
+
175
+ .controller('AccordionController', ['$scope', '$attrs', 'accordionConfig', function ($scope, $attrs, accordionConfig) {
176
+
177
+ // This array keeps track of the accordion groups
178
+ this.groups = [];
179
+
180
+ // Ensure that all the groups in this accordion are closed, unless close-others explicitly says not to
181
+ this.closeOthers = function(openGroup) {
182
+ var closeOthers = angular.isDefined($attrs.closeOthers) ? $scope.$eval($attrs.closeOthers) : accordionConfig.closeOthers;
183
+ if ( closeOthers ) {
184
+ angular.forEach(this.groups, function (group) {
185
+ if ( group !== openGroup ) {
186
+ group.isOpen = false;
187
+ }
188
+ });
189
+ }
190
+ };
191
+
192
+ // This is called from the accordion-group directive to add itself to the accordion
193
+ this.addGroup = function(groupScope) {
194
+ var that = this;
195
+ this.groups.push(groupScope);
196
+
197
+ groupScope.$on('$destroy', function (event) {
198
+ that.removeGroup(groupScope);
199
+ });
200
+ };
201
+
202
+ // This is called from the accordion-group directive when to remove itself
203
+ this.removeGroup = function(group) {
204
+ var index = this.groups.indexOf(group);
205
+ if ( index !== -1 ) {
206
+ this.groups.splice(index, 1);
207
+ }
208
+ };
209
+
210
+ }])
211
+
212
+ // The accordion directive simply sets up the directive controller
213
+ // and adds an accordion CSS class to itself element.
214
+ .directive('accordion', function () {
215
+ return {
216
+ restrict:'EA',
217
+ controller:'AccordionController',
218
+ transclude: true,
219
+ replace: false,
220
+ templateUrl: 'template/accordion/accordion.html'
221
+ };
222
+ })
223
+
224
+ // The accordion-group directive indicates a block of html that will expand and collapse in an accordion
225
+ .directive('accordionGroup', function() {
226
+ return {
227
+ require:'^accordion', // We need this directive to be inside an accordion
228
+ restrict:'EA',
229
+ transclude:true, // It transcludes the contents of the directive into the template
230
+ replace: true, // The element containing the directive will be replaced with the template
231
+ templateUrl:'template/accordion/accordion-group.html',
232
+ scope: {
233
+ heading: '@', // Interpolate the heading attribute onto this scope
234
+ isOpen: '=?',
235
+ isDisabled: '=?'
236
+ },
237
+ controller: function() {
238
+ this.setHeading = function(element) {
239
+ this.heading = element;
240
+ };
241
+ },
242
+ link: function(scope, element, attrs, accordionCtrl) {
243
+ accordionCtrl.addGroup(scope);
244
+
245
+ scope.$watch('isOpen', function(value) {
246
+ if ( value ) {
247
+ accordionCtrl.closeOthers(scope);
248
+ }
249
+ });
250
+
251
+ scope.toggleOpen = function() {
252
+ if ( !scope.isDisabled ) {
253
+ scope.isOpen = !scope.isOpen;
254
+ }
255
+ };
256
+ }
257
+ };
258
+ })
259
+
260
+ // Use accordion-heading below an accordion-group to provide a heading containing HTML
261
+ // <accordion-group>
262
+ // <accordion-heading>Heading containing HTML - <img src="..."></accordion-heading>
263
+ // </accordion-group>
264
+ .directive('accordionHeading', function() {
265
+ return {
266
+ restrict: 'EA',
267
+ transclude: true, // Grab the contents to be used as the heading
268
+ template: '', // In effect remove this element!
269
+ replace: true,
270
+ require: '^accordionGroup',
271
+ link: function(scope, element, attr, accordionGroupCtrl, transclude) {
272
+ // Pass the heading to the accordion-group controller
273
+ // so that it can be transcluded into the right place in the template
274
+ // [The second parameter to transclude causes the elements to be cloned so that they work in ng-repeat]
275
+ accordionGroupCtrl.setHeading(transclude(scope, function() {}));
276
+ }
277
+ };
278
+ })
279
+
280
+ // Use in the accordion-group template to indicate where you want the heading to be transcluded
281
+ // You must provide the property on the accordion-group controller that will hold the transcluded element
282
+ // <div class="accordion-group">
283
+ // <div class="accordion-heading" ><a ... accordion-transclude="heading">...</a></div>
284
+ // ...
285
+ // </div>
286
+ .directive('accordionTransclude', function() {
287
+ return {
288
+ require: '^accordionGroup',
289
+ link: function(scope, element, attr, controller) {
290
+ scope.$watch(function() { return controller[attr.accordionTransclude]; }, function(heading) {
291
+ if ( heading ) {
292
+ element.html('');
293
+ element.append(heading);
294
+ }
295
+ });
296
+ }
297
+ };
298
+ });
299
+
300
+ angular.module('ui.bootstrap.alert', [])
301
+
302
+ .controller('AlertController', ['$scope', '$attrs', function ($scope, $attrs) {
303
+ $scope.closeable = 'close' in $attrs;
304
+ }])
305
+
306
+ .directive('alert', function () {
307
+ return {
308
+ restrict:'EA',
309
+ controller:'AlertController',
310
+ templateUrl:'template/alert/alert.html',
311
+ transclude:true,
312
+ replace:true,
313
+ scope: {
314
+ type: '@',
315
+ close: '&'
316
+ }
317
+ };
318
+ });
319
+
320
+ angular.module('ui.bootstrap.bindHtml', [])
321
+
322
+ .directive('bindHtmlUnsafe', function () {
323
+ return function (scope, element, attr) {
324
+ element.addClass('ng-binding').data('$binding', attr.bindHtmlUnsafe);
325
+ scope.$watch(attr.bindHtmlUnsafe, function bindHtmlUnsafeWatchAction(value) {
326
+ element.html(value || '');
327
+ });
328
+ };
329
+ });
330
+ angular.module('ui.bootstrap.buttons', [])
331
+
332
+ .constant('buttonConfig', {
333
+ activeClass: 'active',
334
+ toggleEvent: 'click'
335
+ })
336
+
337
+ .controller('ButtonsController', ['buttonConfig', function(buttonConfig) {
338
+ this.activeClass = buttonConfig.activeClass || 'active';
339
+ this.toggleEvent = buttonConfig.toggleEvent || 'click';
340
+ }])
341
+
342
+ .directive('btnRadio', function () {
343
+ return {
344
+ require: ['btnRadio', 'ngModel'],
345
+ controller: 'ButtonsController',
346
+ link: function (scope, element, attrs, ctrls) {
347
+ var buttonsCtrl = ctrls[0], ngModelCtrl = ctrls[1];
348
+
349
+ //model -> UI
350
+ ngModelCtrl.$render = function () {
351
+ element.toggleClass(buttonsCtrl.activeClass, angular.equals(ngModelCtrl.$modelValue, scope.$eval(attrs.btnRadio)));
352
+ };
353
+
354
+ //ui->model
355
+ element.bind(buttonsCtrl.toggleEvent, function () {
356
+ var isActive = element.hasClass(buttonsCtrl.activeClass);
357
+
358
+ if (!isActive || angular.isDefined(attrs.uncheckable)) {
359
+ scope.$apply(function () {
360
+ ngModelCtrl.$setViewValue(isActive ? null : scope.$eval(attrs.btnRadio));
361
+ ngModelCtrl.$render();
362
+ });
363
+ }
364
+ });
365
+ }
366
+ };
367
+ })
368
+
369
+ .directive('btnCheckbox', function () {
370
+ return {
371
+ require: ['btnCheckbox', 'ngModel'],
372
+ controller: 'ButtonsController',
373
+ link: function (scope, element, attrs, ctrls) {
374
+ var buttonsCtrl = ctrls[0], ngModelCtrl = ctrls[1];
375
+
376
+ function getTrueValue() {
377
+ return getCheckboxValue(attrs.btnCheckboxTrue, true);
378
+ }
379
+
380
+ function getFalseValue() {
381
+ return getCheckboxValue(attrs.btnCheckboxFalse, false);
382
+ }
383
+
384
+ function getCheckboxValue(attributeValue, defaultValue) {
385
+ var val = scope.$eval(attributeValue);
386
+ return angular.isDefined(val) ? val : defaultValue;
387
+ }
388
+
389
+ //model -> UI
390
+ ngModelCtrl.$render = function () {
391
+ element.toggleClass(buttonsCtrl.activeClass, angular.equals(ngModelCtrl.$modelValue, getTrueValue()));
392
+ };
393
+
394
+ //ui->model
395
+ element.bind(buttonsCtrl.toggleEvent, function () {
396
+ scope.$apply(function () {
397
+ ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass) ? getFalseValue() : getTrueValue());
398
+ ngModelCtrl.$render();
399
+ });
400
+ });
401
+ }
402
+ };
403
+ });
404
+
405
+ /**
406
+ * @ngdoc overview
407
+ * @name ui.bootstrap.carousel
408
+ *
409
+ * @description
410
+ * AngularJS version of an image carousel.
411
+ *
412
+ */
413
+ angular.module('ui.bootstrap.carousel', ['ui.bootstrap.transition'])
414
+ .controller('CarouselController', ['$scope', '$timeout', '$transition', function ($scope, $timeout, $transition) {
415
+ var self = this,
416
+ slides = self.slides = $scope.slides = [],
417
+ currentIndex = -1,
418
+ currentTimeout, isPlaying;
419
+ self.currentSlide = null;
420
+
421
+ var destroyed = false;
422
+ /* direction: "prev" or "next" */
423
+ self.select = $scope.select = function(nextSlide, direction) {
424
+ var nextIndex = slides.indexOf(nextSlide);
425
+ //Decide direction if it's not given
426
+ if (direction === undefined) {
427
+ direction = nextIndex > currentIndex ? 'next' : 'prev';
428
+ }
429
+ if (nextSlide && nextSlide !== self.currentSlide) {
430
+ if ($scope.$currentTransition) {
431
+ $scope.$currentTransition.cancel();
432
+ //Timeout so ng-class in template has time to fix classes for finished slide
433
+ $timeout(goNext);
434
+ } else {
435
+ goNext();
436
+ }
437
+ }
438
+ function goNext() {
439
+ // Scope has been destroyed, stop here.
440
+ if (destroyed) { return; }
441
+ //If we have a slide to transition from and we have a transition type and we're allowed, go
442
+ if (self.currentSlide && angular.isString(direction) && !$scope.noTransition && nextSlide.$element) {
443
+ //We shouldn't do class manip in here, but it's the same weird thing bootstrap does. need to fix sometime
444
+ nextSlide.$element.addClass(direction);
445
+ var reflow = nextSlide.$element[0].offsetWidth; //force reflow
446
+
447
+ //Set all other slides to stop doing their stuff for the new transition
448
+ angular.forEach(slides, function(slide) {
449
+ angular.extend(slide, {direction: '', entering: false, leaving: false, active: false});
450
+ });
451
+ angular.extend(nextSlide, {direction: direction, active: true, entering: true});
452
+ angular.extend(self.currentSlide||{}, {direction: direction, leaving: true});
453
+
454
+ $scope.$currentTransition = $transition(nextSlide.$element, {});
455
+ //We have to create new pointers inside a closure since next & current will change
456
+ (function(next,current) {
457
+ $scope.$currentTransition.then(
458
+ function(){ transitionDone(next, current); },
459
+ function(){ transitionDone(next, current); }
460
+ );
461
+ }(nextSlide, self.currentSlide));
462
+ } else {
463
+ transitionDone(nextSlide, self.currentSlide);
464
+ }
465
+ self.currentSlide = nextSlide;
466
+ currentIndex = nextIndex;
467
+ //every time you change slides, reset the timer
468
+ restartTimer();
469
+ }
470
+ function transitionDone(next, current) {
471
+ angular.extend(next, {direction: '', active: true, leaving: false, entering: false});
472
+ angular.extend(current||{}, {direction: '', active: false, leaving: false, entering: false});
473
+ $scope.$currentTransition = null;
474
+ }
475
+ };
476
+ $scope.$on('$destroy', function () {
477
+ destroyed = true;
478
+ });
479
+
480
+ /* Allow outside people to call indexOf on slides array */
481
+ self.indexOfSlide = function(slide) {
482
+ return slides.indexOf(slide);
483
+ };
484
+
485
+ $scope.next = function() {
486
+ var newIndex = (currentIndex + 1) % slides.length;
487
+
488
+ //Prevent this user-triggered transition from occurring if there is already one in progress
489
+ if (!$scope.$currentTransition) {
490
+ return self.select(slides[newIndex], 'next');
491
+ }
492
+ };
493
+
494
+ $scope.prev = function() {
495
+ var newIndex = currentIndex - 1 < 0 ? slides.length - 1 : currentIndex - 1;
496
+
497
+ //Prevent this user-triggered transition from occurring if there is already one in progress
498
+ if (!$scope.$currentTransition) {
499
+ return self.select(slides[newIndex], 'prev');
500
+ }
501
+ };
502
+
503
+ $scope.isActive = function(slide) {
504
+ return self.currentSlide === slide;
505
+ };
506
+
507
+ $scope.$watch('interval', restartTimer);
508
+ $scope.$on('$destroy', resetTimer);
509
+
510
+ function restartTimer() {
511
+ resetTimer();
512
+ var interval = +$scope.interval;
513
+ if (!isNaN(interval) && interval>=0) {
514
+ currentTimeout = $timeout(timerFn, interval);
515
+ }
516
+ }
517
+
518
+ function resetTimer() {
519
+ if (currentTimeout) {
520
+ $timeout.cancel(currentTimeout);
521
+ currentTimeout = null;
522
+ }
523
+ }
524
+
525
+ function timerFn() {
526
+ if (isPlaying) {
527
+ $scope.next();
528
+ restartTimer();
529
+ } else {
530
+ $scope.pause();
531
+ }
532
+ }
533
+
534
+ $scope.play = function() {
535
+ if (!isPlaying) {
536
+ isPlaying = true;
537
+ restartTimer();
538
+ }
539
+ };
540
+ $scope.pause = function() {
541
+ if (!$scope.noPause) {
542
+ isPlaying = false;
543
+ resetTimer();
544
+ }
545
+ };
546
+
547
+ self.addSlide = function(slide, element) {
548
+ slide.$element = element;
549
+ slides.push(slide);
550
+ //if this is the first slide or the slide is set to active, select it
551
+ if(slides.length === 1 || slide.active) {
552
+ self.select(slides[slides.length-1]);
553
+ if (slides.length == 1) {
554
+ $scope.play();
555
+ }
556
+ } else {
557
+ slide.active = false;
558
+ }
559
+ };
560
+
561
+ self.removeSlide = function(slide) {
562
+ //get the index of the slide inside the carousel
563
+ var index = slides.indexOf(slide);
564
+ slides.splice(index, 1);
565
+ if (slides.length > 0 && slide.active) {
566
+ if (index >= slides.length) {
567
+ self.select(slides[index-1]);
568
+ } else {
569
+ self.select(slides[index]);
570
+ }
571
+ } else if (currentIndex > index) {
572
+ currentIndex--;
573
+ }
574
+ };
575
+
576
+ }])
577
+
578
+ /**
579
+ * @ngdoc directive
580
+ * @name ui.bootstrap.carousel.directive:carousel
581
+ * @restrict EA
582
+ *
583
+ * @description
584
+ * Carousel is the outer container for a set of image 'slides' to showcase.
585
+ *
586
+ * @param {number=} interval The time, in milliseconds, that it will take the carousel to go to the next slide.
587
+ * @param {boolean=} noTransition Whether to disable transitions on the carousel.
588
+ * @param {boolean=} noPause Whether to disable pausing on the carousel (by default, the carousel interval pauses on hover).
589
+ *
590
+ * @example
591
+ <example module="ui.bootstrap">
592
+ <file name="index.html">
593
+ <carousel>
594
+ <slide>
595
+ <img src="http://placekitten.com/150/150" style="margin:auto;">
596
+ <div class="carousel-caption">
597
+ <p>Beautiful!</p>
598
+ </div>
599
+ </slide>
600
+ <slide>
601
+ <img src="http://placekitten.com/100/150" style="margin:auto;">
602
+ <div class="carousel-caption">
603
+ <p>D'aww!</p>
604
+ </div>
605
+ </slide>
606
+ </carousel>
607
+ </file>
608
+ <file name="demo.css">
609
+ .carousel-indicators {
610
+ top: auto;
611
+ bottom: 15px;
612
+ }
613
+ </file>
614
+ </example>
615
+ */
616
+ .directive('carousel', [function() {
617
+ return {
618
+ restrict: 'EA',
619
+ transclude: true,
620
+ replace: true,
621
+ controller: 'CarouselController',
622
+ require: 'carousel',
623
+ templateUrl: 'template/carousel/carousel.html',
624
+ scope: {
625
+ interval: '=',
626
+ noTransition: '=',
627
+ noPause: '='
628
+ }
629
+ };
630
+ }])
631
+
632
+ /**
633
+ * @ngdoc directive
634
+ * @name ui.bootstrap.carousel.directive:slide
635
+ * @restrict EA
636
+ *
637
+ * @description
638
+ * Creates a slide inside a {@link ui.bootstrap.carousel.directive:carousel carousel}. Must be placed as a child of a carousel element.
639
+ *
640
+ * @param {boolean=} active Model binding, whether or not this slide is currently active.
641
+ *
642
+ * @example
643
+ <example module="ui.bootstrap">
644
+ <file name="index.html">
645
+ <div ng-controller="CarouselDemoCtrl">
646
+ <carousel>
647
+ <slide ng-repeat="slide in slides" active="slide.active">
648
+ <img ng-src="{{slide.image}}" style="margin:auto;">
649
+ <div class="carousel-caption">
650
+ <h4>Slide {{$index}}</h4>
651
+ <p>{{slide.text}}</p>
652
+ </div>
653
+ </slide>
654
+ </carousel>
655
+ Interval, in milliseconds: <input type="number" ng-model="myInterval">
656
+ <br />Enter a negative number to stop the interval.
657
+ </div>
658
+ </file>
659
+ <file name="script.js">
660
+ function CarouselDemoCtrl($scope) {
661
+ $scope.myInterval = 5000;
662
+ }
663
+ </file>
664
+ <file name="demo.css">
665
+ .carousel-indicators {
666
+ top: auto;
667
+ bottom: 15px;
668
+ }
669
+ </file>
670
+ </example>
671
+ */
672
+
673
+ .directive('slide', function() {
674
+ return {
675
+ require: '^carousel',
676
+ restrict: 'EA',
677
+ transclude: true,
678
+ replace: true,
679
+ templateUrl: 'template/carousel/slide.html',
680
+ scope: {
681
+ active: '=?'
682
+ },
683
+ link: function (scope, element, attrs, carouselCtrl) {
684
+ carouselCtrl.addSlide(scope, element);
685
+ //when the scope is destroyed then remove the slide from the current slides array
686
+ scope.$on('$destroy', function() {
687
+ carouselCtrl.removeSlide(scope);
688
+ });
689
+
690
+ scope.$watch('active', function(active) {
691
+ if (active) {
692
+ carouselCtrl.select(scope);
693
+ }
694
+ });
695
+ }
696
+ };
697
+ });
698
+
699
+ angular.module('ui.bootstrap.dateparser', [])
700
+
701
+ .service('dateParser', ['$locale', 'orderByFilter', function($locale, orderByFilter) {
702
+
703
+ this.parsers = {};
704
+
705
+ var formatCodeToRegex = {
706
+ 'yyyy': {
707
+ regex: '\\d{4}',
708
+ apply: function(value) { this.year = +value; }
709
+ },
710
+ 'yy': {
711
+ regex: '\\d{2}',
712
+ apply: function(value) { this.year = +value + 2000; }
713
+ },
714
+ 'y': {
715
+ regex: '\\d{1,4}',
716
+ apply: function(value) { this.year = +value; }
717
+ },
718
+ 'MMMM': {
719
+ regex: $locale.DATETIME_FORMATS.MONTH.join('|'),
720
+ apply: function(value) { this.month = $locale.DATETIME_FORMATS.MONTH.indexOf(value); }
721
+ },
722
+ 'MMM': {
723
+ regex: $locale.DATETIME_FORMATS.SHORTMONTH.join('|'),
724
+ apply: function(value) { this.month = $locale.DATETIME_FORMATS.SHORTMONTH.indexOf(value); }
725
+ },
726
+ 'MM': {
727
+ regex: '0[1-9]|1[0-2]',
728
+ apply: function(value) { this.month = value - 1; }
729
+ },
730
+ 'M': {
731
+ regex: '[1-9]|1[0-2]',
732
+ apply: function(value) { this.month = value - 1; }
733
+ },
734
+ 'dd': {
735
+ regex: '[0-2][0-9]{1}|3[0-1]{1}',
736
+ apply: function(value) { this.date = +value; }
737
+ },
738
+ 'd': {
739
+ regex: '[1-2]?[0-9]{1}|3[0-1]{1}',
740
+ apply: function(value) { this.date = +value; }
741
+ },
742
+ 'EEEE': {
743
+ regex: $locale.DATETIME_FORMATS.DAY.join('|')
744
+ },
745
+ 'EEE': {
746
+ regex: $locale.DATETIME_FORMATS.SHORTDAY.join('|')
747
+ }
748
+ };
749
+
750
+ function createParser(format) {
751
+ var map = [], regex = format.split('');
752
+
753
+ angular.forEach(formatCodeToRegex, function(data, code) {
754
+ var index = format.indexOf(code);
755
+
756
+ if (index > -1) {
757
+ format = format.split('');
758
+
759
+ regex[index] = '(' + data.regex + ')';
760
+ format[index] = '$'; // Custom symbol to define consumed part of format
761
+ for (var i = index + 1, n = index + code.length; i < n; i++) {
762
+ regex[i] = '';
763
+ format[i] = '$';
764
+ }
765
+ format = format.join('');
766
+
767
+ map.push({ index: index, apply: data.apply });
768
+ }
769
+ });
770
+
771
+ return {
772
+ regex: new RegExp('^' + regex.join('') + '$'),
773
+ map: orderByFilter(map, 'index')
774
+ };
775
+ }
776
+
777
+ this.parse = function(input, format) {
778
+ if ( !angular.isString(input) || !format ) {
779
+ return input;
780
+ }
781
+
782
+ format = $locale.DATETIME_FORMATS[format] || format;
783
+
784
+ if ( !this.parsers[format] ) {
785
+ this.parsers[format] = createParser(format);
786
+ }
787
+
788
+ var parser = this.parsers[format],
789
+ regex = parser.regex,
790
+ map = parser.map,
791
+ results = input.match(regex);
792
+
793
+ if ( results && results.length ) {
794
+ var fields = { year: 1900, month: 0, date: 1, hours: 0 }, dt;
795
+
796
+ for( var i = 1, n = results.length; i < n; i++ ) {
797
+ var mapper = map[i-1];
798
+ if ( mapper.apply ) {
799
+ mapper.apply.call(fields, results[i]);
800
+ }
801
+ }
802
+
803
+ if ( isValid(fields.year, fields.month, fields.date) ) {
804
+ dt = new Date( fields.year, fields.month, fields.date, fields.hours);
805
+ }
806
+
807
+ return dt;
808
+ }
809
+ };
810
+
811
+ // Check if date is valid for specific month (and year for February).
812
+ // Month: 0 = Jan, 1 = Feb, etc
813
+ function isValid(year, month, date) {
814
+ if ( month === 1 && date > 28) {
815
+ return date === 29 && ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0);
816
+ }
817
+
818
+ if ( month === 3 || month === 5 || month === 8 || month === 10) {
819
+ return date < 31;
820
+ }
821
+
822
+ return true;
823
+ }
824
+ }]);
825
+
826
+ angular.module('ui.bootstrap.position', [])
827
+
828
+ /**
829
+ * A set of utility methods that can be use to retrieve position of DOM elements.
830
+ * It is meant to be used where we need to absolute-position DOM elements in
831
+ * relation to other, existing elements (this is the case for tooltips, popovers,
832
+ * typeahead suggestions etc.).
833
+ */
834
+ .factory('$position', ['$document', '$window', function ($document, $window) {
835
+
836
+ function getStyle(el, cssprop) {
837
+ if (el.currentStyle) { //IE
838
+ return el.currentStyle[cssprop];
839
+ } else if ($window.getComputedStyle) {
840
+ return $window.getComputedStyle(el)[cssprop];
841
+ }
842
+ // finally try and get inline style
843
+ return el.style[cssprop];
844
+ }
845
+
846
+ /**
847
+ * Checks if a given element is statically positioned
848
+ * @param element - raw DOM element
849
+ */
850
+ function isStaticPositioned(element) {
851
+ return (getStyle(element, 'position') || 'static' ) === 'static';
852
+ }
853
+
854
+ /**
855
+ * returns the closest, non-statically positioned parentOffset of a given element
856
+ * @param element
857
+ */
858
+ var parentOffsetEl = function (element) {
859
+ var docDomEl = $document[0];
860
+ var offsetParent = element.offsetParent || docDomEl;
861
+ while (offsetParent && offsetParent !== docDomEl && isStaticPositioned(offsetParent) ) {
862
+ offsetParent = offsetParent.offsetParent;
863
+ }
864
+ return offsetParent || docDomEl;
865
+ };
866
+
867
+ return {
868
+ /**
869
+ * Provides read-only equivalent of jQuery's position function:
870
+ * http://api.jquery.com/position/
871
+ */
872
+ position: function (element) {
873
+ var elBCR = this.offset(element);
874
+ var offsetParentBCR = { top: 0, left: 0 };
875
+ var offsetParentEl = parentOffsetEl(element[0]);
876
+ if (offsetParentEl != $document[0]) {
877
+ offsetParentBCR = this.offset(angular.element(offsetParentEl));
878
+ offsetParentBCR.top += offsetParentEl.clientTop - offsetParentEl.scrollTop;
879
+ offsetParentBCR.left += offsetParentEl.clientLeft - offsetParentEl.scrollLeft;
880
+ }
881
+
882
+ var boundingClientRect = element[0].getBoundingClientRect();
883
+ return {
884
+ width: boundingClientRect.width || element.prop('offsetWidth'),
885
+ height: boundingClientRect.height || element.prop('offsetHeight'),
886
+ top: elBCR.top - offsetParentBCR.top,
887
+ left: elBCR.left - offsetParentBCR.left
888
+ };
889
+ },
890
+
891
+ /**
892
+ * Provides read-only equivalent of jQuery's offset function:
893
+ * http://api.jquery.com/offset/
894
+ */
895
+ offset: function (element) {
896
+ var boundingClientRect = element[0].getBoundingClientRect();
897
+ return {
898
+ width: boundingClientRect.width || element.prop('offsetWidth'),
899
+ height: boundingClientRect.height || element.prop('offsetHeight'),
900
+ top: boundingClientRect.top + ($window.pageYOffset || $document[0].documentElement.scrollTop),
901
+ left: boundingClientRect.left + ($window.pageXOffset || $document[0].documentElement.scrollLeft)
902
+ };
903
+ },
904
+
905
+ /**
906
+ * Provides coordinates for the targetEl in relation to hostEl
907
+ */
908
+ positionElements: function (hostEl, targetEl, positionStr, appendToBody) {
909
+
910
+ var positionStrParts = positionStr.split('-');
911
+ var pos0 = positionStrParts[0], pos1 = positionStrParts[1] || 'center';
912
+
913
+ var hostElPos,
914
+ targetElWidth,
915
+ targetElHeight,
916
+ targetElPos;
917
+
918
+ hostElPos = appendToBody ? this.offset(hostEl) : this.position(hostEl);
919
+
920
+ targetElWidth = targetEl.prop('offsetWidth');
921
+ targetElHeight = targetEl.prop('offsetHeight');
922
+
923
+ var shiftWidth = {
924
+ center: function () {
925
+ return hostElPos.left + hostElPos.width / 2 - targetElWidth / 2;
926
+ },
927
+ left: function () {
928
+ return hostElPos.left;
929
+ },
930
+ right: function () {
931
+ return hostElPos.left + hostElPos.width;
932
+ }
933
+ };
934
+
935
+ var shiftHeight = {
936
+ center: function () {
937
+ return hostElPos.top + hostElPos.height / 2 - targetElHeight / 2;
938
+ },
939
+ top: function () {
940
+ return hostElPos.top;
941
+ },
942
+ bottom: function () {
943
+ return hostElPos.top + hostElPos.height;
944
+ }
945
+ };
946
+
947
+ switch (pos0) {
948
+ case 'right':
949
+ targetElPos = {
950
+ top: shiftHeight[pos1](),
951
+ left: shiftWidth[pos0]()
952
+ };
953
+ break;
954
+ case 'left':
955
+ targetElPos = {
956
+ top: shiftHeight[pos1](),
957
+ left: hostElPos.left - targetElWidth
958
+ };
959
+ break;
960
+ case 'bottom':
961
+ targetElPos = {
962
+ top: shiftHeight[pos0](),
963
+ left: shiftWidth[pos1]()
964
+ };
965
+ break;
966
+ default:
967
+ targetElPos = {
968
+ top: hostElPos.top - targetElHeight,
969
+ left: shiftWidth[pos1]()
970
+ };
971
+ break;
972
+ }
973
+
974
+ return targetElPos;
975
+ }
976
+ };
977
+ }]);
978
+
979
+ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootstrap.position'])
980
+
981
+ .constant('datepickerConfig', {
982
+ formatDay: 'dd',
983
+ formatMonth: 'MMMM',
984
+ formatYear: 'yyyy',
985
+ formatDayHeader: 'EEE',
986
+ formatDayTitle: 'MMMM yyyy',
987
+ formatMonthTitle: 'yyyy',
988
+ datepickerMode: 'day',
989
+ minMode: 'day',
990
+ maxMode: 'year',
991
+ showWeeks: true,
992
+ startingDay: 0,
993
+ yearRange: 20,
994
+ minDate: null,
995
+ maxDate: null
996
+ })
997
+
998
+ .controller('DatepickerController', ['$scope', '$attrs', '$parse', '$interpolate', '$timeout', '$log', 'dateFilter', 'datepickerConfig', function($scope, $attrs, $parse, $interpolate, $timeout, $log, dateFilter, datepickerConfig) {
999
+ var self = this,
1000
+ ngModelCtrl = { $setViewValue: angular.noop }; // nullModelCtrl;
1001
+
1002
+ // Modes chain
1003
+ this.modes = ['day', 'month', 'year'];
1004
+
1005
+ // Configuration attributes
1006
+ angular.forEach(['formatDay', 'formatMonth', 'formatYear', 'formatDayHeader', 'formatDayTitle', 'formatMonthTitle',
1007
+ 'minMode', 'maxMode', 'showWeeks', 'startingDay', 'yearRange'], function( key, index ) {
1008
+ self[key] = angular.isDefined($attrs[key]) ? (index < 8 ? $interpolate($attrs[key])($scope.$parent) : $scope.$parent.$eval($attrs[key])) : datepickerConfig[key];
1009
+ });
1010
+
1011
+ // Watchable date attributes
1012
+ angular.forEach(['minDate', 'maxDate'], function( key ) {
1013
+ if ( $attrs[key] ) {
1014
+ $scope.$parent.$watch($parse($attrs[key]), function(value) {
1015
+ self[key] = value ? new Date(value) : null;
1016
+ self.refreshView();
1017
+ });
1018
+ } else {
1019
+ self[key] = datepickerConfig[key] ? new Date(datepickerConfig[key]) : null;
1020
+ }
1021
+ });
1022
+
1023
+ $scope.datepickerMode = $scope.datepickerMode || datepickerConfig.datepickerMode;
1024
+ $scope.uniqueId = 'datepicker-' + $scope.$id + '-' + Math.floor(Math.random() * 10000);
1025
+ this.activeDate = angular.isDefined($attrs.initDate) ? $scope.$parent.$eval($attrs.initDate) : new Date();
1026
+
1027
+ $scope.isActive = function(dateObject) {
1028
+ if (self.compare(dateObject.date, self.activeDate) === 0) {
1029
+ $scope.activeDateId = dateObject.uid;
1030
+ return true;
1031
+ }
1032
+ return false;
1033
+ };
1034
+
1035
+ this.init = function( ngModelCtrl_ ) {
1036
+ ngModelCtrl = ngModelCtrl_;
1037
+
1038
+ ngModelCtrl.$render = function() {
1039
+ self.render();
1040
+ };
1041
+ };
1042
+
1043
+ this.render = function() {
1044
+ if ( ngModelCtrl.$modelValue ) {
1045
+ var date = new Date( ngModelCtrl.$modelValue ),
1046
+ isValid = !isNaN(date);
1047
+
1048
+ if ( isValid ) {
1049
+ this.activeDate = date;
1050
+ } else {
1051
+ $log.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.');
1052
+ }
1053
+ ngModelCtrl.$setValidity('date', isValid);
1054
+ }
1055
+ this.refreshView();
1056
+ };
1057
+
1058
+ this.refreshView = function() {
1059
+ if ( this.element ) {
1060
+ this._refreshView();
1061
+
1062
+ var date = ngModelCtrl.$modelValue ? new Date(ngModelCtrl.$modelValue) : null;
1063
+ ngModelCtrl.$setValidity('date-disabled', !date || (this.element && !this.isDisabled(date)));
1064
+ }
1065
+ };
1066
+
1067
+ this.createDateObject = function(date, format) {
1068
+ var model = ngModelCtrl.$modelValue ? new Date(ngModelCtrl.$modelValue) : null;
1069
+ return {
1070
+ date: date,
1071
+ label: dateFilter(date, format),
1072
+ selected: model && this.compare(date, model) === 0,
1073
+ disabled: this.isDisabled(date),
1074
+ current: this.compare(date, new Date()) === 0
1075
+ };
1076
+ };
1077
+
1078
+ this.isDisabled = function( date ) {
1079
+ return ((this.minDate && this.compare(date, this.minDate) < 0) || (this.maxDate && this.compare(date, this.maxDate) > 0) || ($attrs.dateDisabled && $scope.dateDisabled({date: date, mode: $scope.datepickerMode})));
1080
+ };
1081
+
1082
+ // Split array into smaller arrays
1083
+ this.split = function(arr, size) {
1084
+ var arrays = [];
1085
+ while (arr.length > 0) {
1086
+ arrays.push(arr.splice(0, size));
1087
+ }
1088
+ return arrays;
1089
+ };
1090
+
1091
+ $scope.select = function( date ) {
1092
+ if ( $scope.datepickerMode === self.minMode ) {
1093
+ var dt = ngModelCtrl.$modelValue ? new Date( ngModelCtrl.$modelValue ) : new Date(0, 0, 0, 0, 0, 0, 0);
1094
+ dt.setFullYear( date.getFullYear(), date.getMonth(), date.getDate() );
1095
+ ngModelCtrl.$setViewValue( dt );
1096
+ ngModelCtrl.$render();
1097
+ } else {
1098
+ self.activeDate = date;
1099
+ $scope.datepickerMode = self.modes[ self.modes.indexOf( $scope.datepickerMode ) - 1 ];
1100
+ }
1101
+ };
1102
+
1103
+ $scope.move = function( direction ) {
1104
+ var year = self.activeDate.getFullYear() + direction * (self.step.years || 0),
1105
+ month = self.activeDate.getMonth() + direction * (self.step.months || 0);
1106
+ self.activeDate.setFullYear(year, month, 1);
1107
+ self.refreshView();
1108
+ };
1109
+
1110
+ $scope.toggleMode = function( direction ) {
1111
+ direction = direction || 1;
1112
+
1113
+ if (($scope.datepickerMode === self.maxMode && direction === 1) || ($scope.datepickerMode === self.minMode && direction === -1)) {
1114
+ return;
1115
+ }
1116
+
1117
+ $scope.datepickerMode = self.modes[ self.modes.indexOf( $scope.datepickerMode ) + direction ];
1118
+ };
1119
+
1120
+ // Key event mapper
1121
+ $scope.keys = { 13:'enter', 32:'space', 33:'pageup', 34:'pagedown', 35:'end', 36:'home', 37:'left', 38:'up', 39:'right', 40:'down' };
1122
+
1123
+ var focusElement = function() {
1124
+ $timeout(function() {
1125
+ self.element[0].focus();
1126
+ }, 0 , false);
1127
+ };
1128
+
1129
+ // Listen for focus requests from popup directive
1130
+ $scope.$on('datepicker.focus', focusElement);
1131
+
1132
+ $scope.keydown = function( evt ) {
1133
+ var key = $scope.keys[evt.which];
1134
+
1135
+ if ( !key || evt.shiftKey || evt.altKey ) {
1136
+ return;
1137
+ }
1138
+
1139
+ evt.preventDefault();
1140
+ evt.stopPropagation();
1141
+
1142
+ if (key === 'enter' || key === 'space') {
1143
+ if ( self.isDisabled(self.activeDate)) {
1144
+ return; // do nothing
1145
+ }
1146
+ $scope.select(self.activeDate);
1147
+ focusElement();
1148
+ } else if (evt.ctrlKey && (key === 'up' || key === 'down')) {
1149
+ $scope.toggleMode(key === 'up' ? 1 : -1);
1150
+ focusElement();
1151
+ } else {
1152
+ self.handleKeyDown(key, evt);
1153
+ self.refreshView();
1154
+ }
1155
+ };
1156
+ }])
1157
+
1158
+ .directive( 'datepicker', function () {
1159
+ return {
1160
+ restrict: 'EA',
1161
+ replace: true,
1162
+ templateUrl: 'template/datepicker/datepicker.html',
1163
+ scope: {
1164
+ datepickerMode: '=?',
1165
+ dateDisabled: '&'
1166
+ },
1167
+ require: ['datepicker', '?^ngModel'],
1168
+ controller: 'DatepickerController',
1169
+ link: function(scope, element, attrs, ctrls) {
1170
+ var datepickerCtrl = ctrls[0], ngModelCtrl = ctrls[1];
1171
+
1172
+ if ( ngModelCtrl ) {
1173
+ datepickerCtrl.init( ngModelCtrl );
1174
+ }
1175
+ }
1176
+ };
1177
+ })
1178
+
1179
+ .directive('daypicker', ['dateFilter', function (dateFilter) {
1180
+ return {
1181
+ restrict: 'EA',
1182
+ replace: true,
1183
+ templateUrl: 'template/datepicker/day.html',
1184
+ require: '^datepicker',
1185
+ link: function(scope, element, attrs, ctrl) {
1186
+ scope.showWeeks = ctrl.showWeeks;
1187
+
1188
+ ctrl.step = { months: 1 };
1189
+ ctrl.element = element;
1190
+
1191
+ var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
1192
+ function getDaysInMonth( year, month ) {
1193
+ return ((month === 1) && (year % 4 === 0) && ((year % 100 !== 0) || (year % 400 === 0))) ? 29 : DAYS_IN_MONTH[month];
1194
+ }
1195
+
1196
+ function getDates(startDate, n) {
1197
+ var dates = new Array(n), current = new Date(startDate), i = 0;
1198
+ current.setHours(12); // Prevent repeated dates because of timezone bug
1199
+ while ( i < n ) {
1200
+ dates[i++] = new Date(current);
1201
+ current.setDate( current.getDate() + 1 );
1202
+ }
1203
+ return dates;
1204
+ }
1205
+
1206
+ ctrl._refreshView = function() {
1207
+ var year = ctrl.activeDate.getFullYear(),
1208
+ month = ctrl.activeDate.getMonth(),
1209
+ firstDayOfMonth = new Date(year, month, 1),
1210
+ difference = ctrl.startingDay - firstDayOfMonth.getDay(),
1211
+ numDisplayedFromPreviousMonth = (difference > 0) ? 7 - difference : - difference,
1212
+ firstDate = new Date(firstDayOfMonth);
1213
+
1214
+ if ( numDisplayedFromPreviousMonth > 0 ) {
1215
+ firstDate.setDate( - numDisplayedFromPreviousMonth + 1 );
1216
+ }
1217
+
1218
+ // 42 is the number of days on a six-month calendar
1219
+ var days = getDates(firstDate, 42);
1220
+ for (var i = 0; i < 42; i ++) {
1221
+ days[i] = angular.extend(ctrl.createDateObject(days[i], ctrl.formatDay), {
1222
+ secondary: days[i].getMonth() !== month,
1223
+ uid: scope.uniqueId + '-' + i
1224
+ });
1225
+ }
1226
+
1227
+ scope.labels = new Array(7);
1228
+ for (var j = 0; j < 7; j++) {
1229
+ scope.labels[j] = {
1230
+ abbr: dateFilter(days[j].date, ctrl.formatDayHeader),
1231
+ full: dateFilter(days[j].date, 'EEEE')
1232
+ };
1233
+ }
1234
+
1235
+ scope.title = dateFilter(ctrl.activeDate, ctrl.formatDayTitle);
1236
+ scope.rows = ctrl.split(days, 7);
1237
+
1238
+ if ( scope.showWeeks ) {
1239
+ scope.weekNumbers = [];
1240
+ var weekNumber = getISO8601WeekNumber( scope.rows[0][0].date ),
1241
+ numWeeks = scope.rows.length;
1242
+ while( scope.weekNumbers.push(weekNumber++) < numWeeks ) {}
1243
+ }
1244
+ };
1245
+
1246
+ ctrl.compare = function(date1, date2) {
1247
+ return (new Date( date1.getFullYear(), date1.getMonth(), date1.getDate() ) - new Date( date2.getFullYear(), date2.getMonth(), date2.getDate() ) );
1248
+ };
1249
+
1250
+ function getISO8601WeekNumber(date) {
1251
+ var checkDate = new Date(date);
1252
+ checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7)); // Thursday
1253
+ var time = checkDate.getTime();
1254
+ checkDate.setMonth(0); // Compare with Jan 1
1255
+ checkDate.setDate(1);
1256
+ return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
1257
+ }
1258
+
1259
+ ctrl.handleKeyDown = function( key, evt ) {
1260
+ var date = ctrl.activeDate.getDate();
1261
+
1262
+ if (key === 'left') {
1263
+ date = date - 1; // up
1264
+ } else if (key === 'up') {
1265
+ date = date - 7; // down
1266
+ } else if (key === 'right') {
1267
+ date = date + 1; // down
1268
+ } else if (key === 'down') {
1269
+ date = date + 7;
1270
+ } else if (key === 'pageup' || key === 'pagedown') {
1271
+ var month = ctrl.activeDate.getMonth() + (key === 'pageup' ? - 1 : 1);
1272
+ ctrl.activeDate.setMonth(month, 1);
1273
+ date = Math.min(getDaysInMonth(ctrl.activeDate.getFullYear(), ctrl.activeDate.getMonth()), date);
1274
+ } else if (key === 'home') {
1275
+ date = 1;
1276
+ } else if (key === 'end') {
1277
+ date = getDaysInMonth(ctrl.activeDate.getFullYear(), ctrl.activeDate.getMonth());
1278
+ }
1279
+ ctrl.activeDate.setDate(date);
1280
+ };
1281
+
1282
+ ctrl.refreshView();
1283
+ }
1284
+ };
1285
+ }])
1286
+
1287
+ .directive('monthpicker', ['dateFilter', function (dateFilter) {
1288
+ return {
1289
+ restrict: 'EA',
1290
+ replace: true,
1291
+ templateUrl: 'template/datepicker/month.html',
1292
+ require: '^datepicker',
1293
+ link: function(scope, element, attrs, ctrl) {
1294
+ ctrl.step = { years: 1 };
1295
+ ctrl.element = element;
1296
+
1297
+ ctrl._refreshView = function() {
1298
+ var months = new Array(12),
1299
+ year = ctrl.activeDate.getFullYear();
1300
+
1301
+ for ( var i = 0; i < 12; i++ ) {
1302
+ months[i] = angular.extend(ctrl.createDateObject(new Date(year, i, 1), ctrl.formatMonth), {
1303
+ uid: scope.uniqueId + '-' + i
1304
+ });
1305
+ }
1306
+
1307
+ scope.title = dateFilter(ctrl.activeDate, ctrl.formatMonthTitle);
1308
+ scope.rows = ctrl.split(months, 3);
1309
+ };
1310
+
1311
+ ctrl.compare = function(date1, date2) {
1312
+ return new Date( date1.getFullYear(), date1.getMonth() ) - new Date( date2.getFullYear(), date2.getMonth() );
1313
+ };
1314
+
1315
+ ctrl.handleKeyDown = function( key, evt ) {
1316
+ var date = ctrl.activeDate.getMonth();
1317
+
1318
+ if (key === 'left') {
1319
+ date = date - 1; // up
1320
+ } else if (key === 'up') {
1321
+ date = date - 3; // down
1322
+ } else if (key === 'right') {
1323
+ date = date + 1; // down
1324
+ } else if (key === 'down') {
1325
+ date = date + 3;
1326
+ } else if (key === 'pageup' || key === 'pagedown') {
1327
+ var year = ctrl.activeDate.getFullYear() + (key === 'pageup' ? - 1 : 1);
1328
+ ctrl.activeDate.setFullYear(year);
1329
+ } else if (key === 'home') {
1330
+ date = 0;
1331
+ } else if (key === 'end') {
1332
+ date = 11;
1333
+ }
1334
+ ctrl.activeDate.setMonth(date);
1335
+ };
1336
+
1337
+ ctrl.refreshView();
1338
+ }
1339
+ };
1340
+ }])
1341
+
1342
+ .directive('yearpicker', ['dateFilter', function (dateFilter) {
1343
+ return {
1344
+ restrict: 'EA',
1345
+ replace: true,
1346
+ templateUrl: 'template/datepicker/year.html',
1347
+ require: '^datepicker',
1348
+ link: function(scope, element, attrs, ctrl) {
1349
+ var range = ctrl.yearRange;
1350
+
1351
+ ctrl.step = { years: range };
1352
+ ctrl.element = element;
1353
+
1354
+ function getStartingYear( year ) {
1355
+ return parseInt((year - 1) / range, 10) * range + 1;
1356
+ }
1357
+
1358
+ ctrl._refreshView = function() {
1359
+ var years = new Array(range);
1360
+
1361
+ for ( var i = 0, start = getStartingYear(ctrl.activeDate.getFullYear()); i < range; i++ ) {
1362
+ years[i] = angular.extend(ctrl.createDateObject(new Date(start + i, 0, 1), ctrl.formatYear), {
1363
+ uid: scope.uniqueId + '-' + i
1364
+ });
1365
+ }
1366
+
1367
+ scope.title = [years[0].label, years[range - 1].label].join(' - ');
1368
+ scope.rows = ctrl.split(years, 5);
1369
+ };
1370
+
1371
+ ctrl.compare = function(date1, date2) {
1372
+ return date1.getFullYear() - date2.getFullYear();
1373
+ };
1374
+
1375
+ ctrl.handleKeyDown = function( key, evt ) {
1376
+ var date = ctrl.activeDate.getFullYear();
1377
+
1378
+ if (key === 'left') {
1379
+ date = date - 1; // up
1380
+ } else if (key === 'up') {
1381
+ date = date - 5; // down
1382
+ } else if (key === 'right') {
1383
+ date = date + 1; // down
1384
+ } else if (key === 'down') {
1385
+ date = date + 5;
1386
+ } else if (key === 'pageup' || key === 'pagedown') {
1387
+ date += (key === 'pageup' ? - 1 : 1) * ctrl.step.years;
1388
+ } else if (key === 'home') {
1389
+ date = getStartingYear( ctrl.activeDate.getFullYear() );
1390
+ } else if (key === 'end') {
1391
+ date = getStartingYear( ctrl.activeDate.getFullYear() ) + range - 1;
1392
+ }
1393
+ ctrl.activeDate.setFullYear(date);
1394
+ };
1395
+
1396
+ ctrl.refreshView();
1397
+ }
1398
+ };
1399
+ }])
1400
+
1401
+ .constant('datepickerPopupConfig', {
1402
+ datepickerPopup: 'yyyy-MM-dd',
1403
+ currentText: 'Today',
1404
+ clearText: 'Clear',
1405
+ closeText: 'Done',
1406
+ closeOnDateSelection: true,
1407
+ appendToBody: false,
1408
+ showButtonBar: true
1409
+ })
1410
+
1411
+ .directive('datepickerPopup', ['$compile', '$parse', '$document', '$position', 'dateFilter', 'dateParser', 'datepickerPopupConfig',
1412
+ function ($compile, $parse, $document, $position, dateFilter, dateParser, datepickerPopupConfig) {
1413
+ return {
1414
+ restrict: 'EA',
1415
+ require: 'ngModel',
1416
+ scope: {
1417
+ isOpen: '=?',
1418
+ currentText: '@',
1419
+ clearText: '@',
1420
+ closeText: '@',
1421
+ dateDisabled: '&'
1422
+ },
1423
+ link: function(scope, element, attrs, ngModel) {
1424
+ var dateFormat,
1425
+ closeOnDateSelection = angular.isDefined(attrs.closeOnDateSelection) ? scope.$parent.$eval(attrs.closeOnDateSelection) : datepickerPopupConfig.closeOnDateSelection,
1426
+ appendToBody = angular.isDefined(attrs.datepickerAppendToBody) ? scope.$parent.$eval(attrs.datepickerAppendToBody) : datepickerPopupConfig.appendToBody;
1427
+
1428
+ scope.showButtonBar = angular.isDefined(attrs.showButtonBar) ? scope.$parent.$eval(attrs.showButtonBar) : datepickerPopupConfig.showButtonBar;
1429
+
1430
+ scope.getText = function( key ) {
1431
+ return scope[key + 'Text'] || datepickerPopupConfig[key + 'Text'];
1432
+ };
1433
+
1434
+ attrs.$observe('datepickerPopup', function(value) {
1435
+ dateFormat = value || datepickerPopupConfig.datepickerPopup;
1436
+ ngModel.$render();
1437
+ });
1438
+
1439
+ // popup element used to display calendar
1440
+ var popupEl = angular.element('<div datepicker-popup-wrap><div datepicker></div></div>');
1441
+ popupEl.attr({
1442
+ 'ng-model': 'date',
1443
+ 'ng-change': 'dateSelection()'
1444
+ });
1445
+
1446
+ function cameltoDash( string ){
1447
+ return string.replace(/([A-Z])/g, function($1) { return '-' + $1.toLowerCase(); });
1448
+ }
1449
+
1450
+ // datepicker element
1451
+ var datepickerEl = angular.element(popupEl.children()[0]);
1452
+ if ( attrs.datepickerOptions ) {
1453
+ angular.forEach(scope.$parent.$eval(attrs.datepickerOptions), function( value, option ) {
1454
+ datepickerEl.attr( cameltoDash(option), value );
1455
+ });
1456
+ }
1457
+
1458
+ scope.watchData = {};
1459
+ angular.forEach(['minDate', 'maxDate', 'datepickerMode'], function( key ) {
1460
+ if ( attrs[key] ) {
1461
+ var getAttribute = $parse(attrs[key]);
1462
+ scope.$parent.$watch(getAttribute, function(value){
1463
+ scope.watchData[key] = value;
1464
+ });
1465
+ datepickerEl.attr(cameltoDash(key), 'watchData.' + key);
1466
+
1467
+ // Propagate changes from datepicker to outside
1468
+ if ( key === 'datepickerMode' ) {
1469
+ var setAttribute = getAttribute.assign;
1470
+ scope.$watch('watchData.' + key, function(value, oldvalue) {
1471
+ if ( value !== oldvalue ) {
1472
+ setAttribute(scope.$parent, value);
1473
+ }
1474
+ });
1475
+ }
1476
+ }
1477
+ });
1478
+ if (attrs.dateDisabled) {
1479
+ datepickerEl.attr('date-disabled', 'dateDisabled({ date: date, mode: mode })');
1480
+ }
1481
+
1482
+ function parseDate(viewValue) {
1483
+ if (!viewValue) {
1484
+ ngModel.$setValidity('date', true);
1485
+ return null;
1486
+ } else if (angular.isDate(viewValue) && !isNaN(viewValue)) {
1487
+ ngModel.$setValidity('date', true);
1488
+ return viewValue;
1489
+ } else if (angular.isString(viewValue)) {
1490
+ var date = dateParser.parse(viewValue, dateFormat) || new Date(viewValue);
1491
+ if (isNaN(date)) {
1492
+ ngModel.$setValidity('date', false);
1493
+ return undefined;
1494
+ } else {
1495
+ ngModel.$setValidity('date', true);
1496
+ return date;
1497
+ }
1498
+ } else {
1499
+ ngModel.$setValidity('date', false);
1500
+ return undefined;
1501
+ }
1502
+ }
1503
+ ngModel.$parsers.unshift(parseDate);
1504
+
1505
+ // Inner change
1506
+ scope.dateSelection = function(dt) {
1507
+ if (angular.isDefined(dt)) {
1508
+ scope.date = dt;
1509
+ }
1510
+ ngModel.$setViewValue(scope.date);
1511
+ ngModel.$render();
1512
+
1513
+ if ( closeOnDateSelection ) {
1514
+ scope.isOpen = false;
1515
+ element[0].focus();
1516
+ }
1517
+ };
1518
+
1519
+ element.bind('input change keyup', function() {
1520
+ scope.$apply(function() {
1521
+ scope.date = ngModel.$modelValue;
1522
+ });
1523
+ });
1524
+
1525
+ // Outter change
1526
+ ngModel.$render = function() {
1527
+ var date = ngModel.$viewValue ? dateFilter(ngModel.$viewValue, dateFormat) : '';
1528
+ element.val(date);
1529
+ scope.date = parseDate( ngModel.$modelValue );
1530
+ };
1531
+
1532
+ var documentClickBind = function(event) {
1533
+ if (scope.isOpen && event.target !== element[0]) {
1534
+ scope.$apply(function() {
1535
+ scope.isOpen = false;
1536
+ });
1537
+ }
1538
+ };
1539
+
1540
+ var keydown = function(evt, noApply) {
1541
+ scope.keydown(evt);
1542
+ };
1543
+ element.bind('keydown', keydown);
1544
+
1545
+ scope.keydown = function(evt) {
1546
+ if (evt.which === 27) {
1547
+ evt.preventDefault();
1548
+ evt.stopPropagation();
1549
+ scope.close();
1550
+ } else if (evt.which === 40 && !scope.isOpen) {
1551
+ scope.isOpen = true;
1552
+ }
1553
+ };
1554
+
1555
+ scope.$watch('isOpen', function(value) {
1556
+ if (value) {
1557
+ scope.$broadcast('datepicker.focus');
1558
+ scope.position = appendToBody ? $position.offset(element) : $position.position(element);
1559
+ scope.position.top = scope.position.top + element.prop('offsetHeight');
1560
+
1561
+ $document.bind('click', documentClickBind);
1562
+ } else {
1563
+ $document.unbind('click', documentClickBind);
1564
+ }
1565
+ });
1566
+
1567
+ scope.select = function( date ) {
1568
+ if (date === 'today') {
1569
+ var today = new Date();
1570
+ if (angular.isDate(ngModel.$modelValue)) {
1571
+ date = new Date(ngModel.$modelValue);
1572
+ date.setFullYear(today.getFullYear(), today.getMonth(), today.getDate());
1573
+ } else {
1574
+ date = new Date(today.setHours(0, 0, 0, 0));
1575
+ }
1576
+ }
1577
+ scope.dateSelection( date );
1578
+ };
1579
+
1580
+ scope.close = function() {
1581
+ scope.isOpen = false;
1582
+ element[0].focus();
1583
+ };
1584
+
1585
+ var $popup = $compile(popupEl)(scope);
1586
+ // Prevent jQuery cache memory leak (template is now redundant after linking)
1587
+ popupEl.remove();
1588
+
1589
+ if ( appendToBody ) {
1590
+ $document.find('body').append($popup);
1591
+ } else {
1592
+ element.after($popup);
1593
+ }
1594
+
1595
+ scope.$on('$destroy', function() {
1596
+ $popup.remove();
1597
+ element.unbind('keydown', keydown);
1598
+ $document.unbind('click', documentClickBind);
1599
+ });
1600
+ }
1601
+ };
1602
+ }])
1603
+
1604
+ .directive('datepickerPopupWrap', function() {
1605
+ return {
1606
+ restrict:'EA',
1607
+ replace: true,
1608
+ transclude: true,
1609
+ templateUrl: 'template/datepicker/popup.html',
1610
+ link:function (scope, element, attrs) {
1611
+ element.bind('click', function(event) {
1612
+ event.preventDefault();
1613
+ event.stopPropagation();
1614
+ });
1615
+ }
1616
+ };
1617
+ });
1618
+
1619
+ angular.module('ui.bootstrap.dropdown', [])
1620
+
1621
+ .constant('dropdownConfig', {
1622
+ openClass: 'open'
1623
+ })
1624
+
1625
+ .service('dropdownService', ['$document', function($document) {
1626
+ var openScope = null;
1627
+
1628
+ this.open = function( dropdownScope ) {
1629
+ if ( !openScope ) {
1630
+ $document.bind('click', closeDropdown);
1631
+ $document.bind('keydown', escapeKeyBind);
1632
+ }
1633
+
1634
+ if ( openScope && openScope !== dropdownScope ) {
1635
+ openScope.isOpen = false;
1636
+ }
1637
+
1638
+ openScope = dropdownScope;
1639
+ };
1640
+
1641
+ this.close = function( dropdownScope ) {
1642
+ if ( openScope === dropdownScope ) {
1643
+ openScope = null;
1644
+ $document.unbind('click', closeDropdown);
1645
+ $document.unbind('keydown', escapeKeyBind);
1646
+ }
1647
+ };
1648
+
1649
+ var closeDropdown = function( evt ) {
1650
+ var toggleElement = openScope.getToggleElement();
1651
+ if ( evt && toggleElement && toggleElement[0].contains(evt.target) ) {
1652
+ return;
1653
+ }
1654
+
1655
+ openScope.$apply(function() {
1656
+ openScope.isOpen = false;
1657
+ });
1658
+ };
1659
+
1660
+ var escapeKeyBind = function( evt ) {
1661
+ if ( evt.which === 27 ) {
1662
+ openScope.focusToggleElement();
1663
+ closeDropdown();
1664
+ }
1665
+ };
1666
+ }])
1667
+
1668
+ .controller('DropdownController', ['$scope', '$attrs', '$parse', 'dropdownConfig', 'dropdownService', '$animate', function($scope, $attrs, $parse, dropdownConfig, dropdownService, $animate) {
1669
+ var self = this,
1670
+ scope = $scope.$new(), // create a child scope so we are not polluting original one
1671
+ openClass = dropdownConfig.openClass,
1672
+ getIsOpen,
1673
+ setIsOpen = angular.noop,
1674
+ toggleInvoker = $attrs.onToggle ? $parse($attrs.onToggle) : angular.noop;
1675
+
1676
+ this.init = function( element ) {
1677
+ self.$element = element;
1678
+
1679
+ if ( $attrs.isOpen ) {
1680
+ getIsOpen = $parse($attrs.isOpen);
1681
+ setIsOpen = getIsOpen.assign;
1682
+
1683
+ $scope.$watch(getIsOpen, function(value) {
1684
+ scope.isOpen = !!value;
1685
+ });
1686
+ }
1687
+ };
1688
+
1689
+ this.toggle = function( open ) {
1690
+ return scope.isOpen = arguments.length ? !!open : !scope.isOpen;
1691
+ };
1692
+
1693
+ // Allow other directives to watch status
1694
+ this.isOpen = function() {
1695
+ return scope.isOpen;
1696
+ };
1697
+
1698
+ scope.getToggleElement = function() {
1699
+ return self.toggleElement;
1700
+ };
1701
+
1702
+ scope.focusToggleElement = function() {
1703
+ if ( self.toggleElement ) {
1704
+ self.toggleElement[0].focus();
1705
+ }
1706
+ };
1707
+
1708
+ scope.$watch('isOpen', function( isOpen, wasOpen ) {
1709
+ $animate[isOpen ? 'addClass' : 'removeClass'](self.$element, openClass);
1710
+
1711
+ if ( isOpen ) {
1712
+ scope.focusToggleElement();
1713
+ dropdownService.open( scope );
1714
+ } else {
1715
+ dropdownService.close( scope );
1716
+ }
1717
+
1718
+ setIsOpen($scope, isOpen);
1719
+ if (angular.isDefined(isOpen) && isOpen !== wasOpen) {
1720
+ toggleInvoker($scope, { open: !!isOpen });
1721
+ }
1722
+ });
1723
+
1724
+ $scope.$on('$locationChangeSuccess', function() {
1725
+ scope.isOpen = false;
1726
+ });
1727
+
1728
+ $scope.$on('$destroy', function() {
1729
+ scope.$destroy();
1730
+ });
1731
+ }])
1732
+
1733
+ .directive('dropdown', function() {
1734
+ return {
1735
+ restrict: 'CA',
1736
+ controller: 'DropdownController',
1737
+ link: function(scope, element, attrs, dropdownCtrl) {
1738
+ dropdownCtrl.init( element );
1739
+ }
1740
+ };
1741
+ })
1742
+
1743
+ .directive('dropdownToggle', function() {
1744
+ return {
1745
+ restrict: 'CA',
1746
+ require: '?^dropdown',
1747
+ link: function(scope, element, attrs, dropdownCtrl) {
1748
+ if ( !dropdownCtrl ) {
1749
+ return;
1750
+ }
1751
+
1752
+ dropdownCtrl.toggleElement = element;
1753
+
1754
+ var toggleDropdown = function(event) {
1755
+ event.preventDefault();
1756
+
1757
+ if ( !element.hasClass('disabled') && !attrs.disabled ) {
1758
+ scope.$apply(function() {
1759
+ dropdownCtrl.toggle();
1760
+ });
1761
+ }
1762
+ };
1763
+
1764
+ element.bind('click', toggleDropdown);
1765
+
1766
+ // WAI-ARIA
1767
+ element.attr({ 'aria-haspopup': true, 'aria-expanded': false });
1768
+ scope.$watch(dropdownCtrl.isOpen, function( isOpen ) {
1769
+ element.attr('aria-expanded', !!isOpen);
1770
+ });
1771
+
1772
+ scope.$on('$destroy', function() {
1773
+ element.unbind('click', toggleDropdown);
1774
+ });
1775
+ }
1776
+ };
1777
+ });
1778
+
1779
+ angular.module('ui.bootstrap.modal', ['ui.bootstrap.transition'])
1780
+
1781
+ /**
1782
+ * A helper, internal data structure that acts as a map but also allows getting / removing
1783
+ * elements in the LIFO order
1784
+ */
1785
+ .factory('$$stackedMap', function () {
1786
+ return {
1787
+ createNew: function () {
1788
+ var stack = [];
1789
+
1790
+ return {
1791
+ add: function (key, value) {
1792
+ stack.push({
1793
+ key: key,
1794
+ value: value
1795
+ });
1796
+ },
1797
+ get: function (key) {
1798
+ for (var i = 0; i < stack.length; i++) {
1799
+ if (key == stack[i].key) {
1800
+ return stack[i];
1801
+ }
1802
+ }
1803
+ },
1804
+ keys: function() {
1805
+ var keys = [];
1806
+ for (var i = 0; i < stack.length; i++) {
1807
+ keys.push(stack[i].key);
1808
+ }
1809
+ return keys;
1810
+ },
1811
+ top: function () {
1812
+ return stack[stack.length - 1];
1813
+ },
1814
+ remove: function (key) {
1815
+ var idx = -1;
1816
+ for (var i = 0; i < stack.length; i++) {
1817
+ if (key == stack[i].key) {
1818
+ idx = i;
1819
+ break;
1820
+ }
1821
+ }
1822
+ return stack.splice(idx, 1)[0];
1823
+ },
1824
+ removeTop: function () {
1825
+ return stack.splice(stack.length - 1, 1)[0];
1826
+ },
1827
+ length: function () {
1828
+ return stack.length;
1829
+ }
1830
+ };
1831
+ }
1832
+ };
1833
+ })
1834
+
1835
+ /**
1836
+ * A helper directive for the $modal service. It creates a backdrop element.
1837
+ */
1838
+ .directive('modalBackdrop', ['$timeout', function ($timeout) {
1839
+ return {
1840
+ restrict: 'EA',
1841
+ replace: true,
1842
+ templateUrl: 'template/modal/backdrop.html',
1843
+ link: function (scope, element, attrs) {
1844
+ scope.backdropClass = attrs.backdropClass || '';
1845
+
1846
+ scope.animate = false;
1847
+
1848
+ //trigger CSS transitions
1849
+ $timeout(function () {
1850
+ scope.animate = true;
1851
+ });
1852
+ }
1853
+ };
1854
+ }])
1855
+
1856
+ .directive('modalWindow', ['$modalStack', '$timeout', function ($modalStack, $timeout) {
1857
+ return {
1858
+ restrict: 'EA',
1859
+ scope: {
1860
+ index: '@',
1861
+ animate: '='
1862
+ },
1863
+ replace: true,
1864
+ transclude: true,
1865
+ templateUrl: function(tElement, tAttrs) {
1866
+ return tAttrs.templateUrl || 'template/modal/window.html';
1867
+ },
1868
+ link: function (scope, element, attrs) {
1869
+ element.addClass(attrs.windowClass || '');
1870
+ scope.size = attrs.size;
1871
+
1872
+ $timeout(function () {
1873
+ // trigger CSS transitions
1874
+ scope.animate = true;
1875
+
1876
+ /**
1877
+ * Auto-focusing of a freshly-opened modal element causes any child elements
1878
+ * with the autofocus attribute to loose focus. This is an issue on touch
1879
+ * based devices which will show and then hide the onscreen keyboard.
1880
+ * Attempts to refocus the autofocus element via JavaScript will not reopen
1881
+ * the onscreen keyboard. Fixed by updated the focusing logic to only autofocus
1882
+ * the modal element if the modal does not contain an autofocus element.
1883
+ */
1884
+ if (!element[0].querySelectorAll('[autofocus]').length) {
1885
+ element[0].focus();
1886
+ }
1887
+ });
1888
+
1889
+ scope.close = function (evt) {
1890
+ var modal = $modalStack.getTop();
1891
+ if (modal && modal.value.backdrop && modal.value.backdrop != 'static' && (evt.target === evt.currentTarget)) {
1892
+ evt.preventDefault();
1893
+ evt.stopPropagation();
1894
+ $modalStack.dismiss(modal.key, 'backdrop click');
1895
+ }
1896
+ };
1897
+ }
1898
+ };
1899
+ }])
1900
+
1901
+ .directive('modalTransclude', function () {
1902
+ return {
1903
+ link: function($scope, $element, $attrs, controller, $transclude) {
1904
+ $transclude($scope.$parent, function(clone) {
1905
+ $element.empty();
1906
+ $element.append(clone);
1907
+ });
1908
+ }
1909
+ };
1910
+ })
1911
+
1912
+ .factory('$modalStack', ['$transition', '$timeout', '$document', '$compile', '$rootScope', '$$stackedMap',
1913
+ function ($transition, $timeout, $document, $compile, $rootScope, $$stackedMap) {
1914
+
1915
+ var OPENED_MODAL_CLASS = 'modal-open';
1916
+
1917
+ var backdropDomEl, backdropScope;
1918
+ var openedWindows = $$stackedMap.createNew();
1919
+ var $modalStack = {};
1920
+
1921
+ function backdropIndex() {
1922
+ var topBackdropIndex = -1;
1923
+ var opened = openedWindows.keys();
1924
+ for (var i = 0; i < opened.length; i++) {
1925
+ if (openedWindows.get(opened[i]).value.backdrop) {
1926
+ topBackdropIndex = i;
1927
+ }
1928
+ }
1929
+ return topBackdropIndex;
1930
+ }
1931
+
1932
+ $rootScope.$watch(backdropIndex, function(newBackdropIndex){
1933
+ if (backdropScope) {
1934
+ backdropScope.index = newBackdropIndex;
1935
+ }
1936
+ });
1937
+
1938
+ function removeModalWindow(modalInstance) {
1939
+
1940
+ var body = $document.find('body').eq(0);
1941
+ var modalWindow = openedWindows.get(modalInstance).value;
1942
+
1943
+ //clean up the stack
1944
+ openedWindows.remove(modalInstance);
1945
+
1946
+ //remove window DOM element
1947
+ removeAfterAnimate(modalWindow.modalDomEl, modalWindow.modalScope, 300, function() {
1948
+ modalWindow.modalScope.$destroy();
1949
+ body.toggleClass(OPENED_MODAL_CLASS, openedWindows.length() > 0);
1950
+ checkRemoveBackdrop();
1951
+ });
1952
+ }
1953
+
1954
+ function checkRemoveBackdrop() {
1955
+ //remove backdrop if no longer needed
1956
+ if (backdropDomEl && backdropIndex() == -1) {
1957
+ var backdropScopeRef = backdropScope;
1958
+ removeAfterAnimate(backdropDomEl, backdropScope, 150, function () {
1959
+ backdropScopeRef.$destroy();
1960
+ backdropScopeRef = null;
1961
+ });
1962
+ backdropDomEl = undefined;
1963
+ backdropScope = undefined;
1964
+ }
1965
+ }
1966
+
1967
+ function removeAfterAnimate(domEl, scope, emulateTime, done) {
1968
+ // Closing animation
1969
+ scope.animate = false;
1970
+
1971
+ var transitionEndEventName = $transition.transitionEndEventName;
1972
+ if (transitionEndEventName) {
1973
+ // transition out
1974
+ var timeout = $timeout(afterAnimating, emulateTime);
1975
+
1976
+ domEl.bind(transitionEndEventName, function () {
1977
+ $timeout.cancel(timeout);
1978
+ afterAnimating();
1979
+ scope.$apply();
1980
+ });
1981
+ } else {
1982
+ // Ensure this call is async
1983
+ $timeout(afterAnimating);
1984
+ }
1985
+
1986
+ function afterAnimating() {
1987
+ if (afterAnimating.done) {
1988
+ return;
1989
+ }
1990
+ afterAnimating.done = true;
1991
+
1992
+ domEl.remove();
1993
+ if (done) {
1994
+ done();
1995
+ }
1996
+ }
1997
+ }
1998
+
1999
+ $document.bind('keydown', function (evt) {
2000
+ var modal;
2001
+
2002
+ if (evt.which === 27) {
2003
+ modal = openedWindows.top();
2004
+ if (modal && modal.value.keyboard) {
2005
+ evt.preventDefault();
2006
+ $rootScope.$apply(function () {
2007
+ $modalStack.dismiss(modal.key, 'escape key press');
2008
+ });
2009
+ }
2010
+ }
2011
+ });
2012
+
2013
+ $modalStack.open = function (modalInstance, modal) {
2014
+
2015
+ openedWindows.add(modalInstance, {
2016
+ deferred: modal.deferred,
2017
+ modalScope: modal.scope,
2018
+ backdrop: modal.backdrop,
2019
+ keyboard: modal.keyboard
2020
+ });
2021
+
2022
+ var body = $document.find('body').eq(0),
2023
+ currBackdropIndex = backdropIndex();
2024
+
2025
+ if (currBackdropIndex >= 0 && !backdropDomEl) {
2026
+ backdropScope = $rootScope.$new(true);
2027
+ backdropScope.index = currBackdropIndex;
2028
+ var angularBackgroundDomEl = angular.element('<div modal-backdrop></div>');
2029
+ angularBackgroundDomEl.attr('backdrop-class', modal.backdropClass);
2030
+ backdropDomEl = $compile(angularBackgroundDomEl)(backdropScope);
2031
+ body.append(backdropDomEl);
2032
+ }
2033
+
2034
+ var angularDomEl = angular.element('<div modal-window></div>');
2035
+ angularDomEl.attr({
2036
+ 'template-url': modal.windowTemplateUrl,
2037
+ 'window-class': modal.windowClass,
2038
+ 'size': modal.size,
2039
+ 'index': openedWindows.length() - 1,
2040
+ 'animate': 'animate'
2041
+ }).html(modal.content);
2042
+
2043
+ var modalDomEl = $compile(angularDomEl)(modal.scope);
2044
+ openedWindows.top().value.modalDomEl = modalDomEl;
2045
+ body.append(modalDomEl);
2046
+ body.addClass(OPENED_MODAL_CLASS);
2047
+ };
2048
+
2049
+ $modalStack.close = function (modalInstance, result) {
2050
+ var modalWindow = openedWindows.get(modalInstance);
2051
+ if (modalWindow) {
2052
+ modalWindow.value.deferred.resolve(result);
2053
+ removeModalWindow(modalInstance);
2054
+ }
2055
+ };
2056
+
2057
+ $modalStack.dismiss = function (modalInstance, reason) {
2058
+ var modalWindow = openedWindows.get(modalInstance);
2059
+ if (modalWindow) {
2060
+ modalWindow.value.deferred.reject(reason);
2061
+ removeModalWindow(modalInstance);
2062
+ }
2063
+ };
2064
+
2065
+ $modalStack.dismissAll = function (reason) {
2066
+ var topModal = this.getTop();
2067
+ while (topModal) {
2068
+ this.dismiss(topModal.key, reason);
2069
+ topModal = this.getTop();
2070
+ }
2071
+ };
2072
+
2073
+ $modalStack.getTop = function () {
2074
+ return openedWindows.top();
2075
+ };
2076
+
2077
+ return $modalStack;
2078
+ }])
2079
+
2080
+ .provider('$modal', function () {
2081
+
2082
+ var $modalProvider = {
2083
+ options: {
2084
+ backdrop: true, //can be also false or 'static'
2085
+ keyboard: true
2086
+ },
2087
+ $get: ['$injector', '$rootScope', '$q', '$http', '$templateCache', '$controller', '$modalStack',
2088
+ function ($injector, $rootScope, $q, $http, $templateCache, $controller, $modalStack) {
2089
+
2090
+ var $modal = {};
2091
+
2092
+ function getTemplatePromise(options) {
2093
+ return options.template ? $q.when(options.template) :
2094
+ $http.get(angular.isFunction(options.templateUrl) ? (options.templateUrl)() : options.templateUrl,
2095
+ {cache: $templateCache}).then(function (result) {
2096
+ return result.data;
2097
+ });
2098
+ }
2099
+
2100
+ function getResolvePromises(resolves) {
2101
+ var promisesArr = [];
2102
+ angular.forEach(resolves, function (value) {
2103
+ if (angular.isFunction(value) || angular.isArray(value)) {
2104
+ promisesArr.push($q.when($injector.invoke(value)));
2105
+ }
2106
+ });
2107
+ return promisesArr;
2108
+ }
2109
+
2110
+ $modal.open = function (modalOptions) {
2111
+
2112
+ var modalResultDeferred = $q.defer();
2113
+ var modalOpenedDeferred = $q.defer();
2114
+
2115
+ //prepare an instance of a modal to be injected into controllers and returned to a caller
2116
+ var modalInstance = {
2117
+ result: modalResultDeferred.promise,
2118
+ opened: modalOpenedDeferred.promise,
2119
+ close: function (result) {
2120
+ $modalStack.close(modalInstance, result);
2121
+ },
2122
+ dismiss: function (reason) {
2123
+ $modalStack.dismiss(modalInstance, reason);
2124
+ }
2125
+ };
2126
+
2127
+ //merge and clean up options
2128
+ modalOptions = angular.extend({}, $modalProvider.options, modalOptions);
2129
+ modalOptions.resolve = modalOptions.resolve || {};
2130
+
2131
+ //verify options
2132
+ if (!modalOptions.template && !modalOptions.templateUrl) {
2133
+ throw new Error('One of template or templateUrl options is required.');
2134
+ }
2135
+
2136
+ var templateAndResolvePromise =
2137
+ $q.all([getTemplatePromise(modalOptions)].concat(getResolvePromises(modalOptions.resolve)));
2138
+
2139
+
2140
+ templateAndResolvePromise.then(function resolveSuccess(tplAndVars) {
2141
+
2142
+ var modalScope = (modalOptions.scope || $rootScope).$new();
2143
+ modalScope.$close = modalInstance.close;
2144
+ modalScope.$dismiss = modalInstance.dismiss;
2145
+
2146
+ var ctrlInstance, ctrlLocals = {};
2147
+ var resolveIter = 1;
2148
+
2149
+ //controllers
2150
+ if (modalOptions.controller) {
2151
+ ctrlLocals.$scope = modalScope;
2152
+ ctrlLocals.$modalInstance = modalInstance;
2153
+ angular.forEach(modalOptions.resolve, function (value, key) {
2154
+ ctrlLocals[key] = tplAndVars[resolveIter++];
2155
+ });
2156
+
2157
+ ctrlInstance = $controller(modalOptions.controller, ctrlLocals);
2158
+ if (modalOptions.controllerAs) {
2159
+ modalScope[modalOptions.controllerAs] = ctrlInstance;
2160
+ }
2161
+ }
2162
+
2163
+ $modalStack.open(modalInstance, {
2164
+ scope: modalScope,
2165
+ deferred: modalResultDeferred,
2166
+ content: tplAndVars[0],
2167
+ backdrop: modalOptions.backdrop,
2168
+ keyboard: modalOptions.keyboard,
2169
+ backdropClass: modalOptions.backdropClass,
2170
+ windowClass: modalOptions.windowClass,
2171
+ windowTemplateUrl: modalOptions.windowTemplateUrl,
2172
+ size: modalOptions.size
2173
+ });
2174
+
2175
+ }, function resolveError(reason) {
2176
+ modalResultDeferred.reject(reason);
2177
+ });
2178
+
2179
+ templateAndResolvePromise.then(function () {
2180
+ modalOpenedDeferred.resolve(true);
2181
+ }, function () {
2182
+ modalOpenedDeferred.reject(false);
2183
+ });
2184
+
2185
+ return modalInstance;
2186
+ };
2187
+
2188
+ return $modal;
2189
+ }]
2190
+ };
2191
+
2192
+ return $modalProvider;
2193
+ });
2194
+
2195
+ angular.module('ui.bootstrap.pagination', [])
2196
+
2197
+ .controller('PaginationController', ['$scope', '$attrs', '$parse', function ($scope, $attrs, $parse) {
2198
+ var self = this,
2199
+ ngModelCtrl = { $setViewValue: angular.noop }, // nullModelCtrl
2200
+ setNumPages = $attrs.numPages ? $parse($attrs.numPages).assign : angular.noop;
2201
+
2202
+ this.init = function(ngModelCtrl_, config) {
2203
+ ngModelCtrl = ngModelCtrl_;
2204
+ this.config = config;
2205
+
2206
+ ngModelCtrl.$render = function() {
2207
+ self.render();
2208
+ };
2209
+
2210
+ if ($attrs.itemsPerPage) {
2211
+ $scope.$parent.$watch($parse($attrs.itemsPerPage), function(value) {
2212
+ self.itemsPerPage = parseInt(value, 10);
2213
+ $scope.totalPages = self.calculateTotalPages();
2214
+ });
2215
+ } else {
2216
+ this.itemsPerPage = config.itemsPerPage;
2217
+ }
2218
+ };
2219
+
2220
+ this.calculateTotalPages = function() {
2221
+ var totalPages = this.itemsPerPage < 1 ? 1 : Math.ceil($scope.totalItems / this.itemsPerPage);
2222
+ return Math.max(totalPages || 0, 1);
2223
+ };
2224
+
2225
+ this.render = function() {
2226
+ $scope.page = parseInt(ngModelCtrl.$viewValue, 10) || 1;
2227
+ };
2228
+
2229
+ $scope.selectPage = function(page) {
2230
+ if ( $scope.page !== page && page > 0 && page <= $scope.totalPages) {
2231
+ ngModelCtrl.$setViewValue(page);
2232
+ ngModelCtrl.$render();
2233
+ }
2234
+ };
2235
+
2236
+ $scope.getText = function( key ) {
2237
+ return $scope[key + 'Text'] || self.config[key + 'Text'];
2238
+ };
2239
+ $scope.noPrevious = function() {
2240
+ return $scope.page === 1;
2241
+ };
2242
+ $scope.noNext = function() {
2243
+ return $scope.page === $scope.totalPages;
2244
+ };
2245
+
2246
+ $scope.$watch('totalItems', function() {
2247
+ $scope.totalPages = self.calculateTotalPages();
2248
+ });
2249
+
2250
+ $scope.$watch('totalPages', function(value) {
2251
+ setNumPages($scope.$parent, value); // Readonly variable
2252
+
2253
+ if ( $scope.page > value ) {
2254
+ $scope.selectPage(value);
2255
+ } else {
2256
+ ngModelCtrl.$render();
2257
+ }
2258
+ });
2259
+ }])
2260
+
2261
+ .constant('paginationConfig', {
2262
+ itemsPerPage: 10,
2263
+ boundaryLinks: false,
2264
+ directionLinks: true,
2265
+ firstText: 'First',
2266
+ previousText: 'Previous',
2267
+ nextText: 'Next',
2268
+ lastText: 'Last',
2269
+ rotate: true
2270
+ })
2271
+
2272
+ .directive('pagination', ['$parse', 'paginationConfig', function($parse, paginationConfig) {
2273
+ return {
2274
+ restrict: 'EA',
2275
+ scope: {
2276
+ totalItems: '=',
2277
+ firstText: '@',
2278
+ previousText: '@',
2279
+ nextText: '@',
2280
+ lastText: '@'
2281
+ },
2282
+ require: ['pagination', '?ngModel'],
2283
+ controller: 'PaginationController',
2284
+ templateUrl: 'template/pagination/pagination.html',
2285
+ replace: true,
2286
+ link: function(scope, element, attrs, ctrls) {
2287
+ var paginationCtrl = ctrls[0], ngModelCtrl = ctrls[1];
2288
+
2289
+ if (!ngModelCtrl) {
2290
+ return; // do nothing if no ng-model
2291
+ }
2292
+
2293
+ // Setup configuration parameters
2294
+ var maxSize = angular.isDefined(attrs.maxSize) ? scope.$parent.$eval(attrs.maxSize) : paginationConfig.maxSize,
2295
+ rotate = angular.isDefined(attrs.rotate) ? scope.$parent.$eval(attrs.rotate) : paginationConfig.rotate;
2296
+ scope.boundaryLinks = angular.isDefined(attrs.boundaryLinks) ? scope.$parent.$eval(attrs.boundaryLinks) : paginationConfig.boundaryLinks;
2297
+ scope.directionLinks = angular.isDefined(attrs.directionLinks) ? scope.$parent.$eval(attrs.directionLinks) : paginationConfig.directionLinks;
2298
+
2299
+ paginationCtrl.init(ngModelCtrl, paginationConfig);
2300
+
2301
+ if (attrs.maxSize) {
2302
+ scope.$parent.$watch($parse(attrs.maxSize), function(value) {
2303
+ maxSize = parseInt(value, 10);
2304
+ paginationCtrl.render();
2305
+ });
2306
+ }
2307
+
2308
+ // Create page object used in template
2309
+ function makePage(number, text, isActive) {
2310
+ return {
2311
+ number: number,
2312
+ text: text,
2313
+ active: isActive
2314
+ };
2315
+ }
2316
+
2317
+ function getPages(currentPage, totalPages) {
2318
+ var pages = [];
2319
+
2320
+ // Default page limits
2321
+ var startPage = 1, endPage = totalPages;
2322
+ var isMaxSized = ( angular.isDefined(maxSize) && maxSize < totalPages );
2323
+
2324
+ // recompute if maxSize
2325
+ if ( isMaxSized ) {
2326
+ if ( rotate ) {
2327
+ // Current page is displayed in the middle of the visible ones
2328
+ startPage = Math.max(currentPage - Math.floor(maxSize/2), 1);
2329
+ endPage = startPage + maxSize - 1;
2330
+
2331
+ // Adjust if limit is exceeded
2332
+ if (endPage > totalPages) {
2333
+ endPage = totalPages;
2334
+ startPage = endPage - maxSize + 1;
2335
+ }
2336
+ } else {
2337
+ // Visible pages are paginated with maxSize
2338
+ startPage = ((Math.ceil(currentPage / maxSize) - 1) * maxSize) + 1;
2339
+
2340
+ // Adjust last page if limit is exceeded
2341
+ endPage = Math.min(startPage + maxSize - 1, totalPages);
2342
+ }
2343
+ }
2344
+
2345
+ // Add page number links
2346
+ for (var number = startPage; number <= endPage; number++) {
2347
+ var page = makePage(number, number, number === currentPage);
2348
+ pages.push(page);
2349
+ }
2350
+
2351
+ // Add links to move between page sets
2352
+ if ( isMaxSized && ! rotate ) {
2353
+ if ( startPage > 1 ) {
2354
+ var previousPageSet = makePage(startPage - 1, '...', false);
2355
+ pages.unshift(previousPageSet);
2356
+ }
2357
+
2358
+ if ( endPage < totalPages ) {
2359
+ var nextPageSet = makePage(endPage + 1, '...', false);
2360
+ pages.push(nextPageSet);
2361
+ }
2362
+ }
2363
+
2364
+ return pages;
2365
+ }
2366
+
2367
+ var originalRender = paginationCtrl.render;
2368
+ paginationCtrl.render = function() {
2369
+ originalRender();
2370
+ if (scope.page > 0 && scope.page <= scope.totalPages) {
2371
+ scope.pages = getPages(scope.page, scope.totalPages);
2372
+ }
2373
+ };
2374
+ }
2375
+ };
2376
+ }])
2377
+
2378
+ .constant('pagerConfig', {
2379
+ itemsPerPage: 10,
2380
+ previousText: '« Previous',
2381
+ nextText: 'Next »',
2382
+ align: true
2383
+ })
2384
+
2385
+ .directive('pager', ['pagerConfig', function(pagerConfig) {
2386
+ return {
2387
+ restrict: 'EA',
2388
+ scope: {
2389
+ totalItems: '=',
2390
+ previousText: '@',
2391
+ nextText: '@'
2392
+ },
2393
+ require: ['pager', '?ngModel'],
2394
+ controller: 'PaginationController',
2395
+ templateUrl: 'template/pagination/pager.html',
2396
+ replace: true,
2397
+ link: function(scope, element, attrs, ctrls) {
2398
+ var paginationCtrl = ctrls[0], ngModelCtrl = ctrls[1];
2399
+
2400
+ if (!ngModelCtrl) {
2401
+ return; // do nothing if no ng-model
2402
+ }
2403
+
2404
+ scope.align = angular.isDefined(attrs.align) ? scope.$parent.$eval(attrs.align) : pagerConfig.align;
2405
+ paginationCtrl.init(ngModelCtrl, pagerConfig);
2406
+ }
2407
+ };
2408
+ }]);
2409
+
2410
+ /**
2411
+ * The following features are still outstanding: animation as a
2412
+ * function, placement as a function, inside, support for more triggers than
2413
+ * just mouse enter/leave, html tooltips, and selector delegation.
2414
+ */
2415
+ angular.module( 'ui.bootstrap.tooltip', [ 'ui.bootstrap.position', 'ui.bootstrap.bindHtml' ] )
2416
+
2417
+ /**
2418
+ * The $tooltip service creates tooltip- and popover-like directives as well as
2419
+ * houses global options for them.
2420
+ */
2421
+ .provider( '$tooltip', function () {
2422
+ // The default options tooltip and popover.
2423
+ var defaultOptions = {
2424
+ placement: 'top',
2425
+ animation: true,
2426
+ popupDelay: 0
2427
+ };
2428
+
2429
+ // Default hide triggers for each show trigger
2430
+ var triggerMap = {
2431
+ 'mouseenter': 'mouseleave',
2432
+ 'click': 'click',
2433
+ 'focus': 'blur'
2434
+ };
2435
+
2436
+ // The options specified to the provider globally.
2437
+ var globalOptions = {};
2438
+
2439
+ /**
2440
+ * `options({})` allows global configuration of all tooltips in the
2441
+ * application.
2442
+ *
2443
+ * var app = angular.module( 'App', ['ui.bootstrap.tooltip'], function( $tooltipProvider ) {
2444
+ * // place tooltips left instead of top by default
2445
+ * $tooltipProvider.options( { placement: 'left' } );
2446
+ * });
2447
+ */
2448
+ this.options = function( value ) {
2449
+ angular.extend( globalOptions, value );
2450
+ };
2451
+
2452
+ /**
2453
+ * This allows you to extend the set of trigger mappings available. E.g.:
2454
+ *
2455
+ * $tooltipProvider.setTriggers( 'openTrigger': 'closeTrigger' );
2456
+ */
2457
+ this.setTriggers = function setTriggers ( triggers ) {
2458
+ angular.extend( triggerMap, triggers );
2459
+ };
2460
+
2461
+ /**
2462
+ * This is a helper function for translating camel-case to snake-case.
2463
+ */
2464
+ function snake_case(name){
2465
+ var regexp = /[A-Z]/g;
2466
+ var separator = '-';
2467
+ return name.replace(regexp, function(letter, pos) {
2468
+ return (pos ? separator : '') + letter.toLowerCase();
2469
+ });
2470
+ }
2471
+
2472
+ /**
2473
+ * Returns the actual instance of the $tooltip service.
2474
+ * TODO support multiple triggers
2475
+ */
2476
+ this.$get = [ '$window', '$compile', '$timeout', '$parse', '$document', '$position', '$interpolate', function ( $window, $compile, $timeout, $parse, $document, $position, $interpolate ) {
2477
+ return function $tooltip ( type, prefix, defaultTriggerShow ) {
2478
+ var options = angular.extend( {}, defaultOptions, globalOptions );
2479
+
2480
+ /**
2481
+ * Returns an object of show and hide triggers.
2482
+ *
2483
+ * If a trigger is supplied,
2484
+ * it is used to show the tooltip; otherwise, it will use the `trigger`
2485
+ * option passed to the `$tooltipProvider.options` method; else it will
2486
+ * default to the trigger supplied to this directive factory.
2487
+ *
2488
+ * The hide trigger is based on the show trigger. If the `trigger` option
2489
+ * was passed to the `$tooltipProvider.options` method, it will use the
2490
+ * mapped trigger from `triggerMap` or the passed trigger if the map is
2491
+ * undefined; otherwise, it uses the `triggerMap` value of the show
2492
+ * trigger; else it will just use the show trigger.
2493
+ */
2494
+ function getTriggers ( trigger ) {
2495
+ var show = trigger || options.trigger || defaultTriggerShow;
2496
+ var hide = triggerMap[show] || show;
2497
+ return {
2498
+ show: show,
2499
+ hide: hide
2500
+ };
2501
+ }
2502
+
2503
+ var directiveName = snake_case( type );
2504
+
2505
+ var startSym = $interpolate.startSymbol();
2506
+ var endSym = $interpolate.endSymbol();
2507
+ var template =
2508
+ '<div '+ directiveName +'-popup '+
2509
+ 'title="'+startSym+'tt_title'+endSym+'" '+
2510
+ 'content="'+startSym+'tt_content'+endSym+'" '+
2511
+ 'placement="'+startSym+'tt_placement'+endSym+'" '+
2512
+ 'animation="tt_animation" '+
2513
+ 'is-open="tt_isOpen"'+
2514
+ '>'+
2515
+ '</div>';
2516
+
2517
+ return {
2518
+ restrict: 'EA',
2519
+ scope: true,
2520
+ compile: function (tElem, tAttrs) {
2521
+ var tooltipLinker = $compile( template );
2522
+
2523
+ return function link ( scope, element, attrs ) {
2524
+ var tooltip;
2525
+ var transitionTimeout;
2526
+ var popupTimeout;
2527
+ var appendToBody = angular.isDefined( options.appendToBody ) ? options.appendToBody : false;
2528
+ var triggers = getTriggers( undefined );
2529
+ var hasEnableExp = angular.isDefined(attrs[prefix+'Enable']);
2530
+
2531
+ var positionTooltip = function () {
2532
+
2533
+ var ttPosition = $position.positionElements(element, tooltip, scope.tt_placement, appendToBody);
2534
+ ttPosition.top += 'px';
2535
+ ttPosition.left += 'px';
2536
+
2537
+ // Now set the calculated positioning.
2538
+ tooltip.css( ttPosition );
2539
+ };
2540
+
2541
+ // By default, the tooltip is not open.
2542
+ // TODO add ability to start tooltip opened
2543
+ scope.tt_isOpen = false;
2544
+
2545
+ function toggleTooltipBind () {
2546
+ if ( ! scope.tt_isOpen ) {
2547
+ showTooltipBind();
2548
+ } else {
2549
+ hideTooltipBind();
2550
+ }
2551
+ }
2552
+
2553
+ // Show the tooltip with delay if specified, otherwise show it immediately
2554
+ function showTooltipBind() {
2555
+ if(hasEnableExp && !scope.$eval(attrs[prefix+'Enable'])) {
2556
+ return;
2557
+ }
2558
+ if ( scope.tt_popupDelay ) {
2559
+ // Do nothing if the tooltip was already scheduled to pop-up.
2560
+ // This happens if show is triggered multiple times before any hide is triggered.
2561
+ if (!popupTimeout) {
2562
+ popupTimeout = $timeout( show, scope.tt_popupDelay, false );
2563
+ popupTimeout.then(function(reposition){reposition();});
2564
+ }
2565
+ } else {
2566
+ show()();
2567
+ }
2568
+ }
2569
+
2570
+ function hideTooltipBind () {
2571
+ scope.$apply(function () {
2572
+ hide();
2573
+ });
2574
+ }
2575
+
2576
+ // Show the tooltip popup element.
2577
+ function show() {
2578
+
2579
+ popupTimeout = null;
2580
+
2581
+ // If there is a pending remove transition, we must cancel it, lest the
2582
+ // tooltip be mysteriously removed.
2583
+ if ( transitionTimeout ) {
2584
+ $timeout.cancel( transitionTimeout );
2585
+ transitionTimeout = null;
2586
+ }
2587
+
2588
+ // Don't show empty tooltips.
2589
+ if ( ! scope.tt_content ) {
2590
+ return angular.noop;
2591
+ }
2592
+
2593
+ createTooltip();
2594
+
2595
+ // Set the initial positioning.
2596
+ tooltip.css({ top: 0, left: 0, display: 'block' });
2597
+
2598
+ // Now we add it to the DOM because need some info about it. But it's not
2599
+ // visible yet anyway.
2600
+ if ( appendToBody ) {
2601
+ $document.find( 'body' ).append( tooltip );
2602
+ } else {
2603
+ element.after( tooltip );
2604
+ }
2605
+
2606
+ positionTooltip();
2607
+
2608
+ // And show the tooltip.
2609
+ scope.tt_isOpen = true;
2610
+ scope.$digest(); // digest required as $apply is not called
2611
+
2612
+ // Return positioning function as promise callback for correct
2613
+ // positioning after draw.
2614
+ return positionTooltip;
2615
+ }
2616
+
2617
+ // Hide the tooltip popup element.
2618
+ function hide() {
2619
+ // First things first: we don't show it anymore.
2620
+ scope.tt_isOpen = false;
2621
+
2622
+ //if tooltip is going to be shown after delay, we must cancel this
2623
+ $timeout.cancel( popupTimeout );
2624
+ popupTimeout = null;
2625
+
2626
+ // And now we remove it from the DOM. However, if we have animation, we
2627
+ // need to wait for it to expire beforehand.
2628
+ // FIXME: this is a placeholder for a port of the transitions library.
2629
+ if ( scope.tt_animation ) {
2630
+ if (!transitionTimeout) {
2631
+ transitionTimeout = $timeout(removeTooltip, 500);
2632
+ }
2633
+ } else {
2634
+ removeTooltip();
2635
+ }
2636
+ }
2637
+
2638
+ function createTooltip() {
2639
+ // There can only be one tooltip element per directive shown at once.
2640
+ if (tooltip) {
2641
+ removeTooltip();
2642
+ }
2643
+ tooltip = tooltipLinker(scope, function () {});
2644
+
2645
+ // Get contents rendered into the tooltip
2646
+ scope.$digest();
2647
+ }
2648
+
2649
+ function removeTooltip() {
2650
+ transitionTimeout = null;
2651
+ if (tooltip) {
2652
+ tooltip.remove();
2653
+ tooltip = null;
2654
+ }
2655
+ }
2656
+
2657
+ /**
2658
+ * Observe the relevant attributes.
2659
+ */
2660
+ attrs.$observe( type, function ( val ) {
2661
+ scope.tt_content = val;
2662
+
2663
+ if (!val && scope.tt_isOpen ) {
2664
+ hide();
2665
+ }
2666
+ });
2667
+
2668
+ attrs.$observe( prefix+'Title', function ( val ) {
2669
+ scope.tt_title = val;
2670
+ });
2671
+
2672
+ attrs.$observe( prefix+'Placement', function ( val ) {
2673
+ scope.tt_placement = angular.isDefined( val ) ? val : options.placement;
2674
+ });
2675
+
2676
+ attrs.$observe( prefix+'PopupDelay', function ( val ) {
2677
+ var delay = parseInt( val, 10 );
2678
+ scope.tt_popupDelay = ! isNaN(delay) ? delay : options.popupDelay;
2679
+ });
2680
+
2681
+ var unregisterTriggers = function () {
2682
+ element.unbind(triggers.show, showTooltipBind);
2683
+ element.unbind(triggers.hide, hideTooltipBind);
2684
+ };
2685
+
2686
+ attrs.$observe( prefix+'Trigger', function ( val ) {
2687
+ unregisterTriggers();
2688
+
2689
+ triggers = getTriggers( val );
2690
+
2691
+ if ( triggers.show === triggers.hide ) {
2692
+ element.bind( triggers.show, toggleTooltipBind );
2693
+ } else {
2694
+ element.bind( triggers.show, showTooltipBind );
2695
+ element.bind( triggers.hide, hideTooltipBind );
2696
+ }
2697
+ });
2698
+
2699
+ var animation = scope.$eval(attrs[prefix + 'Animation']);
2700
+ scope.tt_animation = angular.isDefined(animation) ? !!animation : options.animation;
2701
+
2702
+ attrs.$observe( prefix+'AppendToBody', function ( val ) {
2703
+ appendToBody = angular.isDefined( val ) ? $parse( val )( scope ) : appendToBody;
2704
+ });
2705
+
2706
+ // if a tooltip is attached to <body> we need to remove it on
2707
+ // location change as its parent scope will probably not be destroyed
2708
+ // by the change.
2709
+ if ( appendToBody ) {
2710
+ scope.$on('$locationChangeSuccess', function closeTooltipOnLocationChangeSuccess () {
2711
+ if ( scope.tt_isOpen ) {
2712
+ hide();
2713
+ }
2714
+ });
2715
+ }
2716
+
2717
+ // Make sure tooltip is destroyed and removed.
2718
+ scope.$on('$destroy', function onDestroyTooltip() {
2719
+ $timeout.cancel( transitionTimeout );
2720
+ $timeout.cancel( popupTimeout );
2721
+ unregisterTriggers();
2722
+ removeTooltip();
2723
+ });
2724
+ };
2725
+ }
2726
+ };
2727
+ };
2728
+ }];
2729
+ })
2730
+
2731
+ .directive( 'tooltipPopup', function () {
2732
+ return {
2733
+ restrict: 'EA',
2734
+ replace: true,
2735
+ scope: { content: '@', placement: '@', animation: '&', isOpen: '&' },
2736
+ templateUrl: 'template/tooltip/tooltip-popup.html'
2737
+ };
2738
+ })
2739
+
2740
+ .directive( 'tooltip', [ '$tooltip', function ( $tooltip ) {
2741
+ return $tooltip( 'tooltip', 'tooltip', 'mouseenter' );
2742
+ }])
2743
+
2744
+ .directive( 'tooltipHtmlUnsafePopup', function () {
2745
+ return {
2746
+ restrict: 'EA',
2747
+ replace: true,
2748
+ scope: { content: '@', placement: '@', animation: '&', isOpen: '&' },
2749
+ templateUrl: 'template/tooltip/tooltip-html-unsafe-popup.html'
2750
+ };
2751
+ })
2752
+
2753
+ .directive( 'tooltipHtmlUnsafe', [ '$tooltip', function ( $tooltip ) {
2754
+ return $tooltip( 'tooltipHtmlUnsafe', 'tooltip', 'mouseenter' );
2755
+ }]);
2756
+
2757
+ /**
2758
+ * The following features are still outstanding: popup delay, animation as a
2759
+ * function, placement as a function, inside, support for more triggers than
2760
+ * just mouse enter/leave, html popovers, and selector delegatation.
2761
+ */
2762
+ angular.module( 'ui.bootstrap.popover', [ 'ui.bootstrap.tooltip' ] )
2763
+
2764
+ .directive( 'popoverPopup', function () {
2765
+ return {
2766
+ restrict: 'EA',
2767
+ replace: true,
2768
+ scope: { title: '@', content: '@', placement: '@', animation: '&', isOpen: '&' },
2769
+ templateUrl: 'template/popover/popover.html'
2770
+ };
2771
+ })
2772
+
2773
+ .directive( 'popover', [ '$tooltip', function ( $tooltip ) {
2774
+ return $tooltip( 'popover', 'popover', 'click' );
2775
+ }]);
2776
+
2777
+ angular.module('ui.bootstrap.progressbar', [])
2778
+
2779
+ .constant('progressConfig', {
2780
+ animate: true,
2781
+ max: 100
2782
+ })
2783
+
2784
+ .controller('ProgressController', ['$scope', '$attrs', 'progressConfig', function($scope, $attrs, progressConfig) {
2785
+ var self = this,
2786
+ animate = angular.isDefined($attrs.animate) ? $scope.$parent.$eval($attrs.animate) : progressConfig.animate;
2787
+
2788
+ this.bars = [];
2789
+ $scope.max = angular.isDefined($attrs.max) ? $scope.$parent.$eval($attrs.max) : progressConfig.max;
2790
+
2791
+ this.addBar = function(bar, element) {
2792
+ if ( !animate ) {
2793
+ element.css({'transition': 'none'});
2794
+ }
2795
+
2796
+ this.bars.push(bar);
2797
+
2798
+ bar.$watch('value', function( value ) {
2799
+ bar.percent = +(100 * value / $scope.max).toFixed(2);
2800
+ });
2801
+
2802
+ bar.$on('$destroy', function() {
2803
+ element = null;
2804
+ self.removeBar(bar);
2805
+ });
2806
+ };
2807
+
2808
+ this.removeBar = function(bar) {
2809
+ this.bars.splice(this.bars.indexOf(bar), 1);
2810
+ };
2811
+ }])
2812
+
2813
+ .directive('progress', function() {
2814
+ return {
2815
+ restrict: 'EA',
2816
+ replace: true,
2817
+ transclude: true,
2818
+ controller: 'ProgressController',
2819
+ require: 'progress',
2820
+ scope: {},
2821
+ templateUrl: 'template/progressbar/progress.html'
2822
+ };
2823
+ })
2824
+
2825
+ .directive('bar', function() {
2826
+ return {
2827
+ restrict: 'EA',
2828
+ replace: true,
2829
+ transclude: true,
2830
+ require: '^progress',
2831
+ scope: {
2832
+ value: '=',
2833
+ type: '@'
2834
+ },
2835
+ templateUrl: 'template/progressbar/bar.html',
2836
+ link: function(scope, element, attrs, progressCtrl) {
2837
+ progressCtrl.addBar(scope, element);
2838
+ }
2839
+ };
2840
+ })
2841
+
2842
+ .directive('progressbar', function() {
2843
+ return {
2844
+ restrict: 'EA',
2845
+ replace: true,
2846
+ transclude: true,
2847
+ controller: 'ProgressController',
2848
+ scope: {
2849
+ value: '=',
2850
+ type: '@'
2851
+ },
2852
+ templateUrl: 'template/progressbar/progressbar.html',
2853
+ link: function(scope, element, attrs, progressCtrl) {
2854
+ progressCtrl.addBar(scope, angular.element(element.children()[0]));
2855
+ }
2856
+ };
2857
+ });
2858
+ angular.module('ui.bootstrap.rating', [])
2859
+
2860
+ .constant('ratingConfig', {
2861
+ max: 5,
2862
+ stateOn: null,
2863
+ stateOff: null
2864
+ })
2865
+
2866
+ .controller('RatingController', ['$scope', '$attrs', 'ratingConfig', function($scope, $attrs, ratingConfig) {
2867
+ var ngModelCtrl = { $setViewValue: angular.noop };
2868
+
2869
+ this.init = function(ngModelCtrl_) {
2870
+ ngModelCtrl = ngModelCtrl_;
2871
+ ngModelCtrl.$render = this.render;
2872
+
2873
+ this.stateOn = angular.isDefined($attrs.stateOn) ? $scope.$parent.$eval($attrs.stateOn) : ratingConfig.stateOn;
2874
+ this.stateOff = angular.isDefined($attrs.stateOff) ? $scope.$parent.$eval($attrs.stateOff) : ratingConfig.stateOff;
2875
+
2876
+ var ratingStates = angular.isDefined($attrs.ratingStates) ? $scope.$parent.$eval($attrs.ratingStates) :
2877
+ new Array( angular.isDefined($attrs.max) ? $scope.$parent.$eval($attrs.max) : ratingConfig.max );
2878
+ $scope.range = this.buildTemplateObjects(ratingStates);
2879
+ };
2880
+
2881
+ this.buildTemplateObjects = function(states) {
2882
+ for (var i = 0, n = states.length; i < n; i++) {
2883
+ states[i] = angular.extend({ index: i }, { stateOn: this.stateOn, stateOff: this.stateOff }, states[i]);
2884
+ }
2885
+ return states;
2886
+ };
2887
+
2888
+ $scope.rate = function(value) {
2889
+ if ( !$scope.readonly && value >= 0 && value <= $scope.range.length ) {
2890
+ ngModelCtrl.$setViewValue(value);
2891
+ ngModelCtrl.$render();
2892
+ }
2893
+ };
2894
+
2895
+ $scope.enter = function(value) {
2896
+ if ( !$scope.readonly ) {
2897
+ $scope.value = value;
2898
+ }
2899
+ $scope.onHover({value: value});
2900
+ };
2901
+
2902
+ $scope.reset = function() {
2903
+ $scope.value = ngModelCtrl.$viewValue;
2904
+ $scope.onLeave();
2905
+ };
2906
+
2907
+ $scope.onKeydown = function(evt) {
2908
+ if (/(37|38|39|40)/.test(evt.which)) {
2909
+ evt.preventDefault();
2910
+ evt.stopPropagation();
2911
+ $scope.rate( $scope.value + (evt.which === 38 || evt.which === 39 ? 1 : -1) );
2912
+ }
2913
+ };
2914
+
2915
+ this.render = function() {
2916
+ $scope.value = ngModelCtrl.$viewValue;
2917
+ };
2918
+ }])
2919
+
2920
+ .directive('rating', function() {
2921
+ return {
2922
+ restrict: 'EA',
2923
+ require: ['rating', 'ngModel'],
2924
+ scope: {
2925
+ readonly: '=?',
2926
+ onHover: '&',
2927
+ onLeave: '&'
2928
+ },
2929
+ controller: 'RatingController',
2930
+ templateUrl: 'template/rating/rating.html',
2931
+ replace: true,
2932
+ link: function(scope, element, attrs, ctrls) {
2933
+ var ratingCtrl = ctrls[0], ngModelCtrl = ctrls[1];
2934
+
2935
+ if ( ngModelCtrl ) {
2936
+ ratingCtrl.init( ngModelCtrl );
2937
+ }
2938
+ }
2939
+ };
2940
+ });
2941
+
2942
+ /**
2943
+ * @ngdoc overview
2944
+ * @name ui.bootstrap.tabs
2945
+ *
2946
+ * @description
2947
+ * AngularJS version of the tabs directive.
2948
+ */
2949
+
2950
+ angular.module('ui.bootstrap.tabs', [])
2951
+
2952
+ .controller('TabsetController', ['$scope', function TabsetCtrl($scope) {
2953
+ var ctrl = this,
2954
+ tabs = ctrl.tabs = $scope.tabs = [];
2955
+
2956
+ ctrl.select = function(selectedTab) {
2957
+ angular.forEach(tabs, function(tab) {
2958
+ if (tab.active && tab !== selectedTab) {
2959
+ tab.active = false;
2960
+ tab.onDeselect();
2961
+ }
2962
+ });
2963
+ selectedTab.active = true;
2964
+ selectedTab.onSelect();
2965
+ };
2966
+
2967
+ ctrl.addTab = function addTab(tab) {
2968
+ tabs.push(tab);
2969
+ // we can't run the select function on the first tab
2970
+ // since that would select it twice
2971
+ if (tabs.length === 1) {
2972
+ tab.active = true;
2973
+ } else if (tab.active) {
2974
+ ctrl.select(tab);
2975
+ }
2976
+ };
2977
+
2978
+ ctrl.removeTab = function removeTab(tab) {
2979
+ var index = tabs.indexOf(tab);
2980
+ //Select a new tab if the tab to be removed is selected
2981
+ if (tab.active && tabs.length > 1) {
2982
+ //If this is the last tab, select the previous tab. else, the next tab.
2983
+ var newActiveIndex = index == tabs.length - 1 ? index - 1 : index + 1;
2984
+ ctrl.select(tabs[newActiveIndex]);
2985
+ }
2986
+ tabs.splice(index, 1);
2987
+ };
2988
+ }])
2989
+
2990
+ /**
2991
+ * @ngdoc directive
2992
+ * @name ui.bootstrap.tabs.directive:tabset
2993
+ * @restrict EA
2994
+ *
2995
+ * @description
2996
+ * Tabset is the outer container for the tabs directive
2997
+ *
2998
+ * @param {boolean=} vertical Whether or not to use vertical styling for the tabs.
2999
+ * @param {boolean=} justified Whether or not to use justified styling for the tabs.
3000
+ *
3001
+ * @example
3002
+ <example module="ui.bootstrap">
3003
+ <file name="index.html">
3004
+ <tabset>
3005
+ <tab heading="Tab 1"><b>First</b> Content!</tab>
3006
+ <tab heading="Tab 2"><i>Second</i> Content!</tab>
3007
+ </tabset>
3008
+ <hr />
3009
+ <tabset vertical="true">
3010
+ <tab heading="Vertical Tab 1"><b>First</b> Vertical Content!</tab>
3011
+ <tab heading="Vertical Tab 2"><i>Second</i> Vertical Content!</tab>
3012
+ </tabset>
3013
+ <tabset justified="true">
3014
+ <tab heading="Justified Tab 1"><b>First</b> Justified Content!</tab>
3015
+ <tab heading="Justified Tab 2"><i>Second</i> Justified Content!</tab>
3016
+ </tabset>
3017
+ </file>
3018
+ </example>
3019
+ */
3020
+ .directive('tabset', function() {
3021
+ return {
3022
+ restrict: 'EA',
3023
+ transclude: true,
3024
+ replace: true,
3025
+ scope: {
3026
+ type: '@'
3027
+ },
3028
+ controller: 'TabsetController',
3029
+ templateUrl: 'template/tabs/tabset.html',
3030
+ link: function(scope, element, attrs) {
3031
+ scope.vertical = angular.isDefined(attrs.vertical) ? scope.$parent.$eval(attrs.vertical) : false;
3032
+ scope.justified = angular.isDefined(attrs.justified) ? scope.$parent.$eval(attrs.justified) : false;
3033
+ }
3034
+ };
3035
+ })
3036
+
3037
+ /**
3038
+ * @ngdoc directive
3039
+ * @name ui.bootstrap.tabs.directive:tab
3040
+ * @restrict EA
3041
+ *
3042
+ * @param {string=} heading The visible heading, or title, of the tab. Set HTML headings with {@link ui.bootstrap.tabs.directive:tabHeading tabHeading}.
3043
+ * @param {string=} select An expression to evaluate when the tab is selected.
3044
+ * @param {boolean=} active A binding, telling whether or not this tab is selected.
3045
+ * @param {boolean=} disabled A binding, telling whether or not this tab is disabled.
3046
+ *
3047
+ * @description
3048
+ * Creates a tab with a heading and content. Must be placed within a {@link ui.bootstrap.tabs.directive:tabset tabset}.
3049
+ *
3050
+ * @example
3051
+ <example module="ui.bootstrap">
3052
+ <file name="index.html">
3053
+ <div ng-controller="TabsDemoCtrl">
3054
+ <button class="btn btn-small" ng-click="items[0].active = true">
3055
+ Select item 1, using active binding
3056
+ </button>
3057
+ <button class="btn btn-small" ng-click="items[1].disabled = !items[1].disabled">
3058
+ Enable/disable item 2, using disabled binding
3059
+ </button>
3060
+ <br />
3061
+ <tabset>
3062
+ <tab heading="Tab 1">First Tab</tab>
3063
+ <tab select="alertMe()">
3064
+ <tab-heading><i class="icon-bell"></i> Alert me!</tab-heading>
3065
+ Second Tab, with alert callback and html heading!
3066
+ </tab>
3067
+ <tab ng-repeat="item in items"
3068
+ heading="{{item.title}}"
3069
+ disabled="item.disabled"
3070
+ active="item.active">
3071
+ {{item.content}}
3072
+ </tab>
3073
+ </tabset>
3074
+ </div>
3075
+ </file>
3076
+ <file name="script.js">
3077
+ function TabsDemoCtrl($scope) {
3078
+ $scope.items = [
3079
+ { title:"Dynamic Title 1", content:"Dynamic Item 0" },
3080
+ { title:"Dynamic Title 2", content:"Dynamic Item 1", disabled: true }
3081
+ ];
3082
+
3083
+ $scope.alertMe = function() {
3084
+ setTimeout(function() {
3085
+ alert("You've selected the alert tab!");
3086
+ });
3087
+ };
3088
+ };
3089
+ </file>
3090
+ </example>
3091
+ */
3092
+
3093
+ /**
3094
+ * @ngdoc directive
3095
+ * @name ui.bootstrap.tabs.directive:tabHeading
3096
+ * @restrict EA
3097
+ *
3098
+ * @description
3099
+ * Creates an HTML heading for a {@link ui.bootstrap.tabs.directive:tab tab}. Must be placed as a child of a tab element.
3100
+ *
3101
+ * @example
3102
+ <example module="ui.bootstrap">
3103
+ <file name="index.html">
3104
+ <tabset>
3105
+ <tab>
3106
+ <tab-heading><b>HTML</b> in my titles?!</tab-heading>
3107
+ And some content, too!
3108
+ </tab>
3109
+ <tab>
3110
+ <tab-heading><i class="icon-heart"></i> Icon heading?!?</tab-heading>
3111
+ That's right.
3112
+ </tab>
3113
+ </tabset>
3114
+ </file>
3115
+ </example>
3116
+ */
3117
+ .directive('tab', ['$parse', function($parse) {
3118
+ return {
3119
+ require: '^tabset',
3120
+ restrict: 'EA',
3121
+ replace: true,
3122
+ templateUrl: 'template/tabs/tab.html',
3123
+ transclude: true,
3124
+ scope: {
3125
+ active: '=?',
3126
+ heading: '@',
3127
+ onSelect: '&select', //This callback is called in contentHeadingTransclude
3128
+ //once it inserts the tab's content into the dom
3129
+ onDeselect: '&deselect'
3130
+ },
3131
+ controller: function() {
3132
+ //Empty controller so other directives can require being 'under' a tab
3133
+ },
3134
+ compile: function(elm, attrs, transclude) {
3135
+ return function postLink(scope, elm, attrs, tabsetCtrl) {
3136
+ scope.$watch('active', function(active) {
3137
+ if (active) {
3138
+ tabsetCtrl.select(scope);
3139
+ }
3140
+ });
3141
+
3142
+ scope.disabled = false;
3143
+ if ( attrs.disabled ) {
3144
+ scope.$parent.$watch($parse(attrs.disabled), function(value) {
3145
+ scope.disabled = !! value;
3146
+ });
3147
+ }
3148
+
3149
+ scope.select = function() {
3150
+ if ( !scope.disabled ) {
3151
+ scope.active = true;
3152
+ }
3153
+ };
3154
+
3155
+ tabsetCtrl.addTab(scope);
3156
+ scope.$on('$destroy', function() {
3157
+ tabsetCtrl.removeTab(scope);
3158
+ });
3159
+
3160
+ //We need to transclude later, once the content container is ready.
3161
+ //when this link happens, we're inside a tab heading.
3162
+ scope.$transcludeFn = transclude;
3163
+ };
3164
+ }
3165
+ };
3166
+ }])
3167
+
3168
+ .directive('tabHeadingTransclude', [function() {
3169
+ return {
3170
+ restrict: 'A',
3171
+ require: '^tab',
3172
+ link: function(scope, elm, attrs, tabCtrl) {
3173
+ scope.$watch('headingElement', function updateHeadingElement(heading) {
3174
+ if (heading) {
3175
+ elm.html('');
3176
+ elm.append(heading);
3177
+ }
3178
+ });
3179
+ }
3180
+ };
3181
+ }])
3182
+
3183
+ .directive('tabContentTransclude', function() {
3184
+ return {
3185
+ restrict: 'A',
3186
+ require: '^tabset',
3187
+ link: function(scope, elm, attrs) {
3188
+ var tab = scope.$eval(attrs.tabContentTransclude);
3189
+
3190
+ //Now our tab is ready to be transcluded: both the tab heading area
3191
+ //and the tab content area are loaded. Transclude 'em both.
3192
+ tab.$transcludeFn(tab.$parent, function(contents) {
3193
+ angular.forEach(contents, function(node) {
3194
+ if (isTabHeading(node)) {
3195
+ //Let tabHeadingTransclude know.
3196
+ tab.headingElement = node;
3197
+ } else {
3198
+ elm.append(node);
3199
+ }
3200
+ });
3201
+ });
3202
+ }
3203
+ };
3204
+ function isTabHeading(node) {
3205
+ return node.tagName && (
3206
+ node.hasAttribute('tab-heading') ||
3207
+ node.hasAttribute('data-tab-heading') ||
3208
+ node.tagName.toLowerCase() === 'tab-heading' ||
3209
+ node.tagName.toLowerCase() === 'data-tab-heading'
3210
+ );
3211
+ }
3212
+ })
3213
+
3214
+ ;
3215
+
3216
+ angular.module('ui.bootstrap.timepicker', [])
3217
+
3218
+ .constant('timepickerConfig', {
3219
+ hourStep: 1,
3220
+ minuteStep: 1,
3221
+ showMeridian: true,
3222
+ meridians: null,
3223
+ readonlyInput: false,
3224
+ mousewheel: true
3225
+ })
3226
+
3227
+ .controller('TimepickerController', ['$scope', '$attrs', '$parse', '$log', '$locale', 'timepickerConfig', function($scope, $attrs, $parse, $log, $locale, timepickerConfig) {
3228
+ var selected = new Date(),
3229
+ ngModelCtrl = { $setViewValue: angular.noop }, // nullModelCtrl
3230
+ meridians = angular.isDefined($attrs.meridians) ? $scope.$parent.$eval($attrs.meridians) : timepickerConfig.meridians || $locale.DATETIME_FORMATS.AMPMS;
3231
+
3232
+ this.init = function( ngModelCtrl_, inputs ) {
3233
+ ngModelCtrl = ngModelCtrl_;
3234
+ ngModelCtrl.$render = this.render;
3235
+
3236
+ var hoursInputEl = inputs.eq(0),
3237
+ minutesInputEl = inputs.eq(1);
3238
+
3239
+ var mousewheel = angular.isDefined($attrs.mousewheel) ? $scope.$parent.$eval($attrs.mousewheel) : timepickerConfig.mousewheel;
3240
+ if ( mousewheel ) {
3241
+ this.setupMousewheelEvents( hoursInputEl, minutesInputEl );
3242
+ }
3243
+
3244
+ $scope.readonlyInput = angular.isDefined($attrs.readonlyInput) ? $scope.$parent.$eval($attrs.readonlyInput) : timepickerConfig.readonlyInput;
3245
+ this.setupInputEvents( hoursInputEl, minutesInputEl );
3246
+ };
3247
+
3248
+ var hourStep = timepickerConfig.hourStep;
3249
+ if ($attrs.hourStep) {
3250
+ $scope.$parent.$watch($parse($attrs.hourStep), function(value) {
3251
+ hourStep = parseInt(value, 10);
3252
+ });
3253
+ }
3254
+
3255
+ var minuteStep = timepickerConfig.minuteStep;
3256
+ if ($attrs.minuteStep) {
3257
+ $scope.$parent.$watch($parse($attrs.minuteStep), function(value) {
3258
+ minuteStep = parseInt(value, 10);
3259
+ });
3260
+ }
3261
+
3262
+ // 12H / 24H mode
3263
+ $scope.showMeridian = timepickerConfig.showMeridian;
3264
+ if ($attrs.showMeridian) {
3265
+ $scope.$parent.$watch($parse($attrs.showMeridian), function(value) {
3266
+ $scope.showMeridian = !!value;
3267
+
3268
+ if ( ngModelCtrl.$error.time ) {
3269
+ // Evaluate from template
3270
+ var hours = getHoursFromTemplate(), minutes = getMinutesFromTemplate();
3271
+ if (angular.isDefined( hours ) && angular.isDefined( minutes )) {
3272
+ selected.setHours( hours );
3273
+ refresh();
3274
+ }
3275
+ } else {
3276
+ updateTemplate();
3277
+ }
3278
+ });
3279
+ }
3280
+
3281
+ // Get $scope.hours in 24H mode if valid
3282
+ function getHoursFromTemplate ( ) {
3283
+ var hours = parseInt( $scope.hours, 10 );
3284
+ var valid = ( $scope.showMeridian ) ? (hours > 0 && hours < 13) : (hours >= 0 && hours < 24);
3285
+ if ( !valid ) {
3286
+ return undefined;
3287
+ }
3288
+
3289
+ if ( $scope.showMeridian ) {
3290
+ if ( hours === 12 ) {
3291
+ hours = 0;
3292
+ }
3293
+ if ( $scope.meridian === meridians[1] ) {
3294
+ hours = hours + 12;
3295
+ }
3296
+ }
3297
+ return hours;
3298
+ }
3299
+
3300
+ function getMinutesFromTemplate() {
3301
+ var minutes = parseInt($scope.minutes, 10);
3302
+ return ( minutes >= 0 && minutes < 60 ) ? minutes : undefined;
3303
+ }
3304
+
3305
+ function pad( value ) {
3306
+ return ( angular.isDefined(value) && value.toString().length < 2 ) ? '0' + value : value;
3307
+ }
3308
+
3309
+ // Respond on mousewheel spin
3310
+ this.setupMousewheelEvents = function( hoursInputEl, minutesInputEl ) {
3311
+ var isScrollingUp = function(e) {
3312
+ if (e.originalEvent) {
3313
+ e = e.originalEvent;
3314
+ }
3315
+ //pick correct delta variable depending on event
3316
+ var delta = (e.wheelDelta) ? e.wheelDelta : -e.deltaY;
3317
+ return (e.detail || delta > 0);
3318
+ };
3319
+
3320
+ hoursInputEl.bind('mousewheel wheel', function(e) {
3321
+ $scope.$apply( (isScrollingUp(e)) ? $scope.incrementHours() : $scope.decrementHours() );
3322
+ e.preventDefault();
3323
+ });
3324
+
3325
+ minutesInputEl.bind('mousewheel wheel', function(e) {
3326
+ $scope.$apply( (isScrollingUp(e)) ? $scope.incrementMinutes() : $scope.decrementMinutes() );
3327
+ e.preventDefault();
3328
+ });
3329
+
3330
+ };
3331
+
3332
+ this.setupInputEvents = function( hoursInputEl, minutesInputEl ) {
3333
+ if ( $scope.readonlyInput ) {
3334
+ $scope.updateHours = angular.noop;
3335
+ $scope.updateMinutes = angular.noop;
3336
+ return;
3337
+ }
3338
+
3339
+ var invalidate = function(invalidHours, invalidMinutes) {
3340
+ ngModelCtrl.$setViewValue( null );
3341
+ ngModelCtrl.$setValidity('time', false);
3342
+ if (angular.isDefined(invalidHours)) {
3343
+ $scope.invalidHours = invalidHours;
3344
+ }
3345
+ if (angular.isDefined(invalidMinutes)) {
3346
+ $scope.invalidMinutes = invalidMinutes;
3347
+ }
3348
+ };
3349
+
3350
+ $scope.updateHours = function() {
3351
+ var hours = getHoursFromTemplate();
3352
+
3353
+ if ( angular.isDefined(hours) ) {
3354
+ selected.setHours( hours );
3355
+ refresh( 'h' );
3356
+ } else {
3357
+ invalidate(true);
3358
+ }
3359
+ };
3360
+
3361
+ hoursInputEl.bind('blur', function(e) {
3362
+ if ( !$scope.invalidHours && $scope.hours < 10) {
3363
+ $scope.$apply( function() {
3364
+ $scope.hours = pad( $scope.hours );
3365
+ });
3366
+ }
3367
+ });
3368
+
3369
+ $scope.updateMinutes = function() {
3370
+ var minutes = getMinutesFromTemplate();
3371
+
3372
+ if ( angular.isDefined(minutes) ) {
3373
+ selected.setMinutes( minutes );
3374
+ refresh( 'm' );
3375
+ } else {
3376
+ invalidate(undefined, true);
3377
+ }
3378
+ };
3379
+
3380
+ minutesInputEl.bind('blur', function(e) {
3381
+ if ( !$scope.invalidMinutes && $scope.minutes < 10 ) {
3382
+ $scope.$apply( function() {
3383
+ $scope.minutes = pad( $scope.minutes );
3384
+ });
3385
+ }
3386
+ });
3387
+
3388
+ };
3389
+
3390
+ this.render = function() {
3391
+ var date = ngModelCtrl.$modelValue ? new Date( ngModelCtrl.$modelValue ) : null;
3392
+
3393
+ if ( isNaN(date) ) {
3394
+ ngModelCtrl.$setValidity('time', false);
3395
+ $log.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.');
3396
+ } else {
3397
+ if ( date ) {
3398
+ selected = date;
3399
+ }
3400
+ makeValid();
3401
+ updateTemplate();
3402
+ }
3403
+ };
3404
+
3405
+ // Call internally when we know that model is valid.
3406
+ function refresh( keyboardChange ) {
3407
+ makeValid();
3408
+ ngModelCtrl.$setViewValue( new Date(selected) );
3409
+ updateTemplate( keyboardChange );
3410
+ }
3411
+
3412
+ function makeValid() {
3413
+ ngModelCtrl.$setValidity('time', true);
3414
+ $scope.invalidHours = false;
3415
+ $scope.invalidMinutes = false;
3416
+ }
3417
+
3418
+ function updateTemplate( keyboardChange ) {
3419
+ var hours = selected.getHours(), minutes = selected.getMinutes();
3420
+
3421
+ if ( $scope.showMeridian ) {
3422
+ hours = ( hours === 0 || hours === 12 ) ? 12 : hours % 12; // Convert 24 to 12 hour system
3423
+ }
3424
+
3425
+ $scope.hours = keyboardChange === 'h' ? hours : pad(hours);
3426
+ $scope.minutes = keyboardChange === 'm' ? minutes : pad(minutes);
3427
+ $scope.meridian = selected.getHours() < 12 ? meridians[0] : meridians[1];
3428
+ }
3429
+
3430
+ function addMinutes( minutes ) {
3431
+ var dt = new Date( selected.getTime() + minutes * 60000 );
3432
+ selected.setHours( dt.getHours(), dt.getMinutes() );
3433
+ refresh();
3434
+ }
3435
+
3436
+ $scope.incrementHours = function() {
3437
+ addMinutes( hourStep * 60 );
3438
+ };
3439
+ $scope.decrementHours = function() {
3440
+ addMinutes( - hourStep * 60 );
3441
+ };
3442
+ $scope.incrementMinutes = function() {
3443
+ addMinutes( minuteStep );
3444
+ };
3445
+ $scope.decrementMinutes = function() {
3446
+ addMinutes( - minuteStep );
3447
+ };
3448
+ $scope.toggleMeridian = function() {
3449
+ addMinutes( 12 * 60 * (( selected.getHours() < 12 ) ? 1 : -1) );
3450
+ };
3451
+ }])
3452
+
3453
+ .directive('timepicker', function () {
3454
+ return {
3455
+ restrict: 'EA',
3456
+ require: ['timepicker', '?^ngModel'],
3457
+ controller:'TimepickerController',
3458
+ replace: true,
3459
+ scope: {},
3460
+ templateUrl: 'template/timepicker/timepicker.html',
3461
+ link: function(scope, element, attrs, ctrls) {
3462
+ var timepickerCtrl = ctrls[0], ngModelCtrl = ctrls[1];
3463
+
3464
+ if ( ngModelCtrl ) {
3465
+ timepickerCtrl.init( ngModelCtrl, element.find('input') );
3466
+ }
3467
+ }
3468
+ };
3469
+ });
3470
+
3471
+ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position', 'ui.bootstrap.bindHtml'])
3472
+
3473
+ /**
3474
+ * A helper service that can parse typeahead's syntax (string provided by users)
3475
+ * Extracted to a separate service for ease of unit testing
3476
+ */
3477
+ .factory('typeaheadParser', ['$parse', function ($parse) {
3478
+
3479
+ // 00000111000000000000022200000000000000003333333333333330000000000044000
3480
+ var TYPEAHEAD_REGEXP = /^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;
3481
+
3482
+ return {
3483
+ parse:function (input) {
3484
+
3485
+ var match = input.match(TYPEAHEAD_REGEXP);
3486
+ if (!match) {
3487
+ throw new Error(
3488
+ 'Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_"' +
3489
+ ' but got "' + input + '".');
3490
+ }
3491
+
3492
+ return {
3493
+ itemName:match[3],
3494
+ source:$parse(match[4]),
3495
+ viewMapper:$parse(match[2] || match[1]),
3496
+ modelMapper:$parse(match[1])
3497
+ };
3498
+ }
3499
+ };
3500
+ }])
3501
+
3502
+ .directive('typeahead', ['$compile', '$parse', '$q', '$timeout', '$document', '$position', 'typeaheadParser',
3503
+ function ($compile, $parse, $q, $timeout, $document, $position, typeaheadParser) {
3504
+
3505
+ var HOT_KEYS = [9, 13, 27, 38, 40];
3506
+
3507
+ return {
3508
+ require:'ngModel',
3509
+ link:function (originalScope, element, attrs, modelCtrl) {
3510
+
3511
+ //SUPPORTED ATTRIBUTES (OPTIONS)
3512
+
3513
+ //minimal no of characters that needs to be entered before typeahead kicks-in
3514
+ var minSearch = originalScope.$eval(attrs.typeaheadMinLength) || 1;
3515
+
3516
+ //minimal wait time after last character typed before typehead kicks-in
3517
+ var waitTime = originalScope.$eval(attrs.typeaheadWaitMs) || 0;
3518
+
3519
+ //should it restrict model values to the ones selected from the popup only?
3520
+ var isEditable = originalScope.$eval(attrs.typeaheadEditable) !== false;
3521
+
3522
+ //binding to a variable that indicates if matches are being retrieved asynchronously
3523
+ var isLoadingSetter = $parse(attrs.typeaheadLoading).assign || angular.noop;
3524
+
3525
+ //a callback executed when a match is selected
3526
+ var onSelectCallback = $parse(attrs.typeaheadOnSelect);
3527
+
3528
+ var inputFormatter = attrs.typeaheadInputFormatter ? $parse(attrs.typeaheadInputFormatter) : undefined;
3529
+
3530
+ var appendToBody = attrs.typeaheadAppendToBody ? originalScope.$eval(attrs.typeaheadAppendToBody) : false;
3531
+
3532
+ //INTERNAL VARIABLES
3533
+
3534
+ //model setter executed upon match selection
3535
+ var $setModelValue = $parse(attrs.ngModel).assign;
3536
+
3537
+ //expressions used by typeahead
3538
+ var parserResult = typeaheadParser.parse(attrs.typeahead);
3539
+
3540
+ var hasFocus;
3541
+
3542
+ //create a child scope for the typeahead directive so we are not polluting original scope
3543
+ //with typeahead-specific data (matches, query etc.)
3544
+ var scope = originalScope.$new();
3545
+ originalScope.$on('$destroy', function(){
3546
+ scope.$destroy();
3547
+ });
3548
+
3549
+ // WAI-ARIA
3550
+ var popupId = 'typeahead-' + scope.$id + '-' + Math.floor(Math.random() * 10000);
3551
+ element.attr({
3552
+ 'aria-autocomplete': 'list',
3553
+ 'aria-expanded': false,
3554
+ 'aria-owns': popupId
3555
+ });
3556
+
3557
+ //pop-up element used to display matches
3558
+ var popUpEl = angular.element('<div typeahead-popup></div>');
3559
+ popUpEl.attr({
3560
+ id: popupId,
3561
+ matches: 'matches',
3562
+ active: 'activeIdx',
3563
+ select: 'select(activeIdx)',
3564
+ query: 'query',
3565
+ position: 'position'
3566
+ });
3567
+ //custom item template
3568
+ if (angular.isDefined(attrs.typeaheadTemplateUrl)) {
3569
+ popUpEl.attr('template-url', attrs.typeaheadTemplateUrl);
3570
+ }
3571
+
3572
+ var resetMatches = function() {
3573
+ scope.matches = [];
3574
+ scope.activeIdx = -1;
3575
+ element.attr('aria-expanded', false);
3576
+ };
3577
+
3578
+ var getMatchId = function(index) {
3579
+ return popupId + '-option-' + index;
3580
+ };
3581
+
3582
+ // Indicate that the specified match is the active (pre-selected) item in the list owned by this typeahead.
3583
+ // This attribute is added or removed automatically when the `activeIdx` changes.
3584
+ scope.$watch('activeIdx', function(index) {
3585
+ if (index < 0) {
3586
+ element.removeAttr('aria-activedescendant');
3587
+ } else {
3588
+ element.attr('aria-activedescendant', getMatchId(index));
3589
+ }
3590
+ });
3591
+
3592
+ var getMatchesAsync = function(inputValue) {
3593
+
3594
+ var locals = {$viewValue: inputValue};
3595
+ isLoadingSetter(originalScope, true);
3596
+ $q.when(parserResult.source(originalScope, locals)).then(function(matches) {
3597
+
3598
+ //it might happen that several async queries were in progress if a user were typing fast
3599
+ //but we are interested only in responses that correspond to the current view value
3600
+ var onCurrentRequest = (inputValue === modelCtrl.$viewValue);
3601
+ if (onCurrentRequest && hasFocus) {
3602
+ if (matches.length > 0) {
3603
+
3604
+ scope.activeIdx = 0;
3605
+ scope.matches.length = 0;
3606
+
3607
+ //transform labels
3608
+ for(var i=0; i<matches.length; i++) {
3609
+ locals[parserResult.itemName] = matches[i];
3610
+ scope.matches.push({
3611
+ id: getMatchId(i),
3612
+ label: parserResult.viewMapper(scope, locals),
3613
+ model: matches[i]
3614
+ });
3615
+ }
3616
+
3617
+ scope.query = inputValue;
3618
+ //position pop-up with matches - we need to re-calculate its position each time we are opening a window
3619
+ //with matches as a pop-up might be absolute-positioned and position of an input might have changed on a page
3620
+ //due to other elements being rendered
3621
+ scope.position = appendToBody ? $position.offset(element) : $position.position(element);
3622
+ scope.position.top = scope.position.top + element.prop('offsetHeight');
3623
+
3624
+ element.attr('aria-expanded', true);
3625
+ } else {
3626
+ resetMatches();
3627
+ }
3628
+ }
3629
+ if (onCurrentRequest) {
3630
+ isLoadingSetter(originalScope, false);
3631
+ }
3632
+ }, function(){
3633
+ resetMatches();
3634
+ isLoadingSetter(originalScope, false);
3635
+ });
3636
+ };
3637
+
3638
+ resetMatches();
3639
+
3640
+ //we need to propagate user's query so we can higlight matches
3641
+ scope.query = undefined;
3642
+
3643
+ //Declare the timeout promise var outside the function scope so that stacked calls can be cancelled later
3644
+ var timeoutPromise;
3645
+
3646
+ var scheduleSearchWithTimeout = function(inputValue) {
3647
+ timeoutPromise = $timeout(function () {
3648
+ getMatchesAsync(inputValue);
3649
+ }, waitTime);
3650
+ };
3651
+
3652
+ var cancelPreviousTimeout = function() {
3653
+ if (timeoutPromise) {
3654
+ $timeout.cancel(timeoutPromise);
3655
+ }
3656
+ };
3657
+
3658
+ //plug into $parsers pipeline to open a typeahead on view changes initiated from DOM
3659
+ //$parsers kick-in on all the changes coming from the view as well as manually triggered by $setViewValue
3660
+ modelCtrl.$parsers.unshift(function (inputValue) {
3661
+
3662
+ hasFocus = true;
3663
+
3664
+ if (inputValue && inputValue.length >= minSearch) {
3665
+ if (waitTime > 0) {
3666
+ cancelPreviousTimeout();
3667
+ scheduleSearchWithTimeout(inputValue);
3668
+ } else {
3669
+ getMatchesAsync(inputValue);
3670
+ }
3671
+ } else {
3672
+ isLoadingSetter(originalScope, false);
3673
+ cancelPreviousTimeout();
3674
+ resetMatches();
3675
+ }
3676
+
3677
+ if (isEditable) {
3678
+ return inputValue;
3679
+ } else {
3680
+ if (!inputValue) {
3681
+ // Reset in case user had typed something previously.
3682
+ modelCtrl.$setValidity('editable', true);
3683
+ return inputValue;
3684
+ } else {
3685
+ modelCtrl.$setValidity('editable', false);
3686
+ return undefined;
3687
+ }
3688
+ }
3689
+ });
3690
+
3691
+ modelCtrl.$formatters.push(function (modelValue) {
3692
+
3693
+ var candidateViewValue, emptyViewValue;
3694
+ var locals = {};
3695
+
3696
+ if (inputFormatter) {
3697
+
3698
+ locals['$model'] = modelValue;
3699
+ return inputFormatter(originalScope, locals);
3700
+
3701
+ } else {
3702
+
3703
+ //it might happen that we don't have enough info to properly render input value
3704
+ //we need to check for this situation and simply return model value if we can't apply custom formatting
3705
+ locals[parserResult.itemName] = modelValue;
3706
+ candidateViewValue = parserResult.viewMapper(originalScope, locals);
3707
+ locals[parserResult.itemName] = undefined;
3708
+ emptyViewValue = parserResult.viewMapper(originalScope, locals);
3709
+
3710
+ return candidateViewValue!== emptyViewValue ? candidateViewValue : modelValue;
3711
+ }
3712
+ });
3713
+
3714
+ scope.select = function (activeIdx) {
3715
+ //called from within the $digest() cycle
3716
+ var locals = {};
3717
+ var model, item;
3718
+
3719
+ locals[parserResult.itemName] = item = scope.matches[activeIdx].model;
3720
+ model = parserResult.modelMapper(originalScope, locals);
3721
+ $setModelValue(originalScope, model);
3722
+ modelCtrl.$setValidity('editable', true);
3723
+
3724
+ onSelectCallback(originalScope, {
3725
+ $item: item,
3726
+ $model: model,
3727
+ $label: parserResult.viewMapper(originalScope, locals)
3728
+ });
3729
+
3730
+ resetMatches();
3731
+
3732
+ //return focus to the input element if a match was selected via a mouse click event
3733
+ // use timeout to avoid $rootScope:inprog error
3734
+ $timeout(function() { element[0].focus(); }, 0, false);
3735
+ };
3736
+
3737
+ //bind keyboard events: arrows up(38) / down(40), enter(13) and tab(9), esc(27)
3738
+ element.bind('keydown', function (evt) {
3739
+
3740
+ //typeahead is open and an "interesting" key was pressed
3741
+ if (scope.matches.length === 0 || HOT_KEYS.indexOf(evt.which) === -1) {
3742
+ return;
3743
+ }
3744
+
3745
+ evt.preventDefault();
3746
+
3747
+ if (evt.which === 40) {
3748
+ scope.activeIdx = (scope.activeIdx + 1) % scope.matches.length;
3749
+ scope.$digest();
3750
+
3751
+ } else if (evt.which === 38) {
3752
+ scope.activeIdx = (scope.activeIdx ? scope.activeIdx : scope.matches.length) - 1;
3753
+ scope.$digest();
3754
+
3755
+ } else if (evt.which === 13 || evt.which === 9) {
3756
+ scope.$apply(function () {
3757
+ scope.select(scope.activeIdx);
3758
+ });
3759
+
3760
+ } else if (evt.which === 27) {
3761
+ evt.stopPropagation();
3762
+
3763
+ resetMatches();
3764
+ scope.$digest();
3765
+ }
3766
+ });
3767
+
3768
+ element.bind('blur', function (evt) {
3769
+ hasFocus = false;
3770
+ });
3771
+
3772
+ // Keep reference to click handler to unbind it.
3773
+ var dismissClickHandler = function (evt) {
3774
+ if (element[0] !== evt.target) {
3775
+ resetMatches();
3776
+ scope.$digest();
3777
+ }
3778
+ };
3779
+
3780
+ $document.bind('click', dismissClickHandler);
3781
+
3782
+ originalScope.$on('$destroy', function(){
3783
+ $document.unbind('click', dismissClickHandler);
3784
+ });
3785
+
3786
+ var $popup = $compile(popUpEl)(scope);
3787
+ if ( appendToBody ) {
3788
+ $document.find('body').append($popup);
3789
+ } else {
3790
+ element.after($popup);
3791
+ }
3792
+ }
3793
+ };
3794
+
3795
+ }])
3796
+
3797
+ .directive('typeaheadPopup', function () {
3798
+ return {
3799
+ restrict:'EA',
3800
+ scope:{
3801
+ matches:'=',
3802
+ query:'=',
3803
+ active:'=',
3804
+ position:'=',
3805
+ select:'&'
3806
+ },
3807
+ replace:true,
3808
+ templateUrl:'template/typeahead/typeahead-popup.html',
3809
+ link:function (scope, element, attrs) {
3810
+
3811
+ scope.templateUrl = attrs.templateUrl;
3812
+
3813
+ scope.isOpen = function () {
3814
+ return scope.matches.length > 0;
3815
+ };
3816
+
3817
+ scope.isActive = function (matchIdx) {
3818
+ return scope.active == matchIdx;
3819
+ };
3820
+
3821
+ scope.selectActive = function (matchIdx) {
3822
+ scope.active = matchIdx;
3823
+ };
3824
+
3825
+ scope.selectMatch = function (activeIdx) {
3826
+ scope.select({activeIdx:activeIdx});
3827
+ };
3828
+ }
3829
+ };
3830
+ })
3831
+
3832
+ .directive('typeaheadMatch', ['$http', '$templateCache', '$compile', '$parse', function ($http, $templateCache, $compile, $parse) {
3833
+ return {
3834
+ restrict:'EA',
3835
+ scope:{
3836
+ index:'=',
3837
+ match:'=',
3838
+ query:'='
3839
+ },
3840
+ link:function (scope, element, attrs) {
3841
+ var tplUrl = $parse(attrs.templateUrl)(scope.$parent) || 'template/typeahead/typeahead-match.html';
3842
+ $http.get(tplUrl, {cache: $templateCache}).success(function(tplContent){
3843
+ element.replaceWith($compile(tplContent.trim())(scope));
3844
+ });
3845
+ }
3846
+ };
3847
+ }])
3848
+
3849
+ .filter('typeaheadHighlight', function() {
3850
+
3851
+ function escapeRegexp(queryToEscape) {
3852
+ return queryToEscape.replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1');
3853
+ }
3854
+
3855
+ return function(matchItem, query) {
3856
+ return query ? ('' + matchItem).replace(new RegExp(escapeRegexp(query), 'gi'), '<strong>$&</strong>') : matchItem;
3857
+ };
3858
+ });
3859
+
3860
+ angular.module("template/accordion/accordion-group.html", []).run(["$templateCache", function($templateCache) {
3861
+ $templateCache.put("template/accordion/accordion-group.html",
3862
+ "<div class=\"panel panel-default\">\n" +
3863
+ " <div class=\"panel-heading\">\n" +
3864
+ " <h4 class=\"panel-title\">\n" +
3865
+ " <a class=\"accordion-toggle\" ng-click=\"toggleOpen()\" accordion-transclude=\"heading\"><span ng-class=\"{'text-muted': isDisabled}\">{{heading}}</span></a>\n" +
3866
+ " </h4>\n" +
3867
+ " </div>\n" +
3868
+ " <div class=\"panel-collapse\" collapse=\"!isOpen\">\n" +
3869
+ " <div class=\"panel-body\" ng-transclude></div>\n" +
3870
+ " </div>\n" +
3871
+ "</div>");
3872
+ }]);
3873
+
3874
+ angular.module("template/accordion/accordion.html", []).run(["$templateCache", function($templateCache) {
3875
+ $templateCache.put("template/accordion/accordion.html",
3876
+ "<div class=\"panel-group\" ng-transclude></div>");
3877
+ }]);
3878
+
3879
+ angular.module("template/alert/alert.html", []).run(["$templateCache", function($templateCache) {
3880
+ $templateCache.put("template/alert/alert.html",
3881
+ "<div class=\"alert\" ng-class=\"['alert-' + (type || 'warning'), closeable ? 'alert-dismissable' : null]\" role=\"alert\">\n" +
3882
+ " <button ng-show=\"closeable\" type=\"button\" class=\"close\" ng-click=\"close()\">\n" +
3883
+ " <span aria-hidden=\"true\">&times;</span>\n" +
3884
+ " <span class=\"sr-only\">Close</span>\n" +
3885
+ " </button>\n" +
3886
+ " <div ng-transclude></div>\n" +
3887
+ "</div>\n" +
3888
+ "");
3889
+ }]);
3890
+
3891
+ angular.module("template/carousel/carousel.html", []).run(["$templateCache", function($templateCache) {
3892
+ $templateCache.put("template/carousel/carousel.html",
3893
+ "<div ng-mouseenter=\"pause()\" ng-mouseleave=\"play()\" class=\"carousel\" ng-swipe-right=\"prev()\" ng-swipe-left=\"next()\">\n" +
3894
+ " <ol class=\"carousel-indicators\" ng-show=\"slides.length > 1\">\n" +
3895
+ " <li ng-repeat=\"slide in slides track by $index\" ng-class=\"{active: isActive(slide)}\" ng-click=\"select(slide)\"></li>\n" +
3896
+ " </ol>\n" +
3897
+ " <div class=\"carousel-inner\" ng-transclude></div>\n" +
3898
+ " <a class=\"left carousel-control\" ng-click=\"prev()\" ng-show=\"slides.length > 1\"><span class=\"glyphicon glyphicon-chevron-left\"></span></a>\n" +
3899
+ " <a class=\"right carousel-control\" ng-click=\"next()\" ng-show=\"slides.length > 1\"><span class=\"glyphicon glyphicon-chevron-right\"></span></a>\n" +
3900
+ "</div>\n" +
3901
+ "");
3902
+ }]);
3903
+
3904
+ angular.module("template/carousel/slide.html", []).run(["$templateCache", function($templateCache) {
3905
+ $templateCache.put("template/carousel/slide.html",
3906
+ "<div ng-class=\"{\n" +
3907
+ " 'active': leaving || (active && !entering),\n" +
3908
+ " 'prev': (next || active) && direction=='prev',\n" +
3909
+ " 'next': (next || active) && direction=='next',\n" +
3910
+ " 'right': direction=='prev',\n" +
3911
+ " 'left': direction=='next'\n" +
3912
+ " }\" class=\"item text-center\" ng-transclude></div>\n" +
3913
+ "");
3914
+ }]);
3915
+
3916
+ angular.module("template/datepicker/datepicker.html", []).run(["$templateCache", function($templateCache) {
3917
+ $templateCache.put("template/datepicker/datepicker.html",
3918
+ "<div ng-switch=\"datepickerMode\" role=\"application\" ng-keydown=\"keydown($event)\">\n" +
3919
+ " <daypicker ng-switch-when=\"day\" tabindex=\"0\"></daypicker>\n" +
3920
+ " <monthpicker ng-switch-when=\"month\" tabindex=\"0\"></monthpicker>\n" +
3921
+ " <yearpicker ng-switch-when=\"year\" tabindex=\"0\"></yearpicker>\n" +
3922
+ "</div>");
3923
+ }]);
3924
+
3925
+ angular.module("template/datepicker/day.html", []).run(["$templateCache", function($templateCache) {
3926
+ $templateCache.put("template/datepicker/day.html",
3927
+ "<table role=\"grid\" aria-labelledby=\"{{uniqueId}}-title\" aria-activedescendant=\"{{activeDateId}}\">\n" +
3928
+ " <thead>\n" +
3929
+ " <tr>\n" +
3930
+ " <th><button type=\"button\" class=\"btn btn-default btn-sm pull-left\" ng-click=\"move(-1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-left\"></i></button></th>\n" +
3931
+ " <th colspan=\"{{5 + showWeeks}}\"><button id=\"{{uniqueId}}-title\" role=\"heading\" aria-live=\"assertive\" aria-atomic=\"true\" type=\"button\" class=\"btn btn-default btn-sm\" ng-click=\"toggleMode()\" tabindex=\"-1\" style=\"width:100%;\"><strong>{{title}}</strong></button></th>\n" +
3932
+ " <th><button type=\"button\" class=\"btn btn-default btn-sm pull-right\" ng-click=\"move(1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-right\"></i></button></th>\n" +
3933
+ " </tr>\n" +
3934
+ " <tr>\n" +
3935
+ " <th ng-show=\"showWeeks\" class=\"text-center\"></th>\n" +
3936
+ " <th ng-repeat=\"label in labels track by $index\" class=\"text-center\"><small aria-label=\"{{label.full}}\">{{label.abbr}}</small></th>\n" +
3937
+ " </tr>\n" +
3938
+ " </thead>\n" +
3939
+ " <tbody>\n" +
3940
+ " <tr ng-repeat=\"row in rows track by $index\">\n" +
3941
+ " <td ng-show=\"showWeeks\" class=\"text-center h6\"><em>{{ weekNumbers[$index] }}</em></td>\n" +
3942
+ " <td ng-repeat=\"dt in row track by dt.date\" class=\"text-center\" role=\"gridcell\" id=\"{{dt.uid}}\" aria-disabled=\"{{!!dt.disabled}}\">\n" +
3943
+ " <button type=\"button\" style=\"width:100%;\" class=\"btn btn-default btn-sm\" ng-class=\"{'btn-info': dt.selected, active: isActive(dt)}\" ng-click=\"select(dt.date)\" ng-disabled=\"dt.disabled\" tabindex=\"-1\"><span ng-class=\"{'text-muted': dt.secondary, 'text-info': dt.current}\">{{dt.label}}</span></button>\n" +
3944
+ " </td>\n" +
3945
+ " </tr>\n" +
3946
+ " </tbody>\n" +
3947
+ "</table>\n" +
3948
+ "");
3949
+ }]);
3950
+
3951
+ angular.module("template/datepicker/month.html", []).run(["$templateCache", function($templateCache) {
3952
+ $templateCache.put("template/datepicker/month.html",
3953
+ "<table role=\"grid\" aria-labelledby=\"{{uniqueId}}-title\" aria-activedescendant=\"{{activeDateId}}\">\n" +
3954
+ " <thead>\n" +
3955
+ " <tr>\n" +
3956
+ " <th><button type=\"button\" class=\"btn btn-default btn-sm pull-left\" ng-click=\"move(-1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-left\"></i></button></th>\n" +
3957
+ " <th><button id=\"{{uniqueId}}-title\" role=\"heading\" aria-live=\"assertive\" aria-atomic=\"true\" type=\"button\" class=\"btn btn-default btn-sm\" ng-click=\"toggleMode()\" tabindex=\"-1\" style=\"width:100%;\"><strong>{{title}}</strong></button></th>\n" +
3958
+ " <th><button type=\"button\" class=\"btn btn-default btn-sm pull-right\" ng-click=\"move(1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-right\"></i></button></th>\n" +
3959
+ " </tr>\n" +
3960
+ " </thead>\n" +
3961
+ " <tbody>\n" +
3962
+ " <tr ng-repeat=\"row in rows track by $index\">\n" +
3963
+ " <td ng-repeat=\"dt in row track by dt.date\" class=\"text-center\" role=\"gridcell\" id=\"{{dt.uid}}\" aria-disabled=\"{{!!dt.disabled}}\">\n" +
3964
+ " <button type=\"button\" style=\"width:100%;\" class=\"btn btn-default\" ng-class=\"{'btn-info': dt.selected, active: isActive(dt)}\" ng-click=\"select(dt.date)\" ng-disabled=\"dt.disabled\" tabindex=\"-1\"><span ng-class=\"{'text-info': dt.current}\">{{dt.label}}</span></button>\n" +
3965
+ " </td>\n" +
3966
+ " </tr>\n" +
3967
+ " </tbody>\n" +
3968
+ "</table>\n" +
3969
+ "");
3970
+ }]);
3971
+
3972
+ angular.module("template/datepicker/popup.html", []).run(["$templateCache", function($templateCache) {
3973
+ $templateCache.put("template/datepicker/popup.html",
3974
+ "<ul class=\"dropdown-menu\" ng-style=\"{display: (isOpen && 'block') || 'none', top: position.top+'px', left: position.left+'px'}\" ng-keydown=\"keydown($event)\">\n" +
3975
+ " <li ng-transclude></li>\n" +
3976
+ " <li ng-if=\"showButtonBar\" style=\"padding:10px 9px 2px\">\n" +
3977
+ " <span class=\"btn-group\">\n" +
3978
+ " <button type=\"button\" class=\"btn btn-sm btn-info\" ng-click=\"select('today')\">{{ getText('current') }}</button>\n" +
3979
+ " <button type=\"button\" class=\"btn btn-sm btn-danger\" ng-click=\"select(null)\">{{ getText('clear') }}</button>\n" +
3980
+ " </span>\n" +
3981
+ " <button type=\"button\" class=\"btn btn-sm btn-success pull-right\" ng-click=\"close()\">{{ getText('close') }}</button>\n" +
3982
+ " </li>\n" +
3983
+ "</ul>\n" +
3984
+ "");
3985
+ }]);
3986
+
3987
+ angular.module("template/datepicker/year.html", []).run(["$templateCache", function($templateCache) {
3988
+ $templateCache.put("template/datepicker/year.html",
3989
+ "<table role=\"grid\" aria-labelledby=\"{{uniqueId}}-title\" aria-activedescendant=\"{{activeDateId}}\">\n" +
3990
+ " <thead>\n" +
3991
+ " <tr>\n" +
3992
+ " <th><button type=\"button\" class=\"btn btn-default btn-sm pull-left\" ng-click=\"move(-1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-left\"></i></button></th>\n" +
3993
+ " <th colspan=\"3\"><button id=\"{{uniqueId}}-title\" role=\"heading\" aria-live=\"assertive\" aria-atomic=\"true\" type=\"button\" class=\"btn btn-default btn-sm\" ng-click=\"toggleMode()\" tabindex=\"-1\" style=\"width:100%;\"><strong>{{title}}</strong></button></th>\n" +
3994
+ " <th><button type=\"button\" class=\"btn btn-default btn-sm pull-right\" ng-click=\"move(1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-right\"></i></button></th>\n" +
3995
+ " </tr>\n" +
3996
+ " </thead>\n" +
3997
+ " <tbody>\n" +
3998
+ " <tr ng-repeat=\"row in rows track by $index\">\n" +
3999
+ " <td ng-repeat=\"dt in row track by dt.date\" class=\"text-center\" role=\"gridcell\" id=\"{{dt.uid}}\" aria-disabled=\"{{!!dt.disabled}}\">\n" +
4000
+ " <button type=\"button\" style=\"width:100%;\" class=\"btn btn-default\" ng-class=\"{'btn-info': dt.selected, active: isActive(dt)}\" ng-click=\"select(dt.date)\" ng-disabled=\"dt.disabled\" tabindex=\"-1\"><span ng-class=\"{'text-info': dt.current}\">{{dt.label}}</span></button>\n" +
4001
+ " </td>\n" +
4002
+ " </tr>\n" +
4003
+ " </tbody>\n" +
4004
+ "</table>\n" +
4005
+ "");
4006
+ }]);
4007
+
4008
+ angular.module("template/modal/backdrop.html", []).run(["$templateCache", function($templateCache) {
4009
+ $templateCache.put("template/modal/backdrop.html",
4010
+ "<div class=\"modal-backdrop fade {{ backdropClass }}\"\n" +
4011
+ " ng-class=\"{in: animate}\"\n" +
4012
+ " ng-style=\"{'z-index': 1040 + (index && 1 || 0) + index*10}\"\n" +
4013
+ "></div>\n" +
4014
+ "");
4015
+ }]);
4016
+
4017
+ angular.module("template/modal/window.html", []).run(["$templateCache", function($templateCache) {
4018
+ $templateCache.put("template/modal/window.html",
4019
+ "<div tabindex=\"-1\" role=\"dialog\" class=\"modal fade\" ng-class=\"{in: animate}\" ng-style=\"{'z-index': 1050 + index*10, display: 'block'}\" ng-click=\"close($event)\">\n" +
4020
+ " <div class=\"modal-dialog\" ng-class=\"{'modal-sm': size == 'sm', 'modal-lg': size == 'lg'}\"><div class=\"modal-content\" modal-transclude></div></div>\n" +
4021
+ "</div>");
4022
+ }]);
4023
+
4024
+ angular.module("template/pagination/pager.html", []).run(["$templateCache", function($templateCache) {
4025
+ $templateCache.put("template/pagination/pager.html",
4026
+ "<ul class=\"pager\">\n" +
4027
+ " <li ng-class=\"{disabled: noPrevious(), previous: align}\"><a href ng-click=\"selectPage(page - 1)\">{{getText('previous')}}</a></li>\n" +
4028
+ " <li ng-class=\"{disabled: noNext(), next: align}\"><a href ng-click=\"selectPage(page + 1)\">{{getText('next')}}</a></li>\n" +
4029
+ "</ul>");
4030
+ }]);
4031
+
4032
+ angular.module("template/pagination/pagination.html", []).run(["$templateCache", function($templateCache) {
4033
+ $templateCache.put("template/pagination/pagination.html",
4034
+ "<ul class=\"pagination\">\n" +
4035
+ " <li ng-if=\"boundaryLinks\" ng-class=\"{disabled: noPrevious()}\"><a href ng-click=\"selectPage(1)\">{{getText('first')}}</a></li>\n" +
4036
+ " <li ng-if=\"directionLinks\" ng-class=\"{disabled: noPrevious()}\"><a href ng-click=\"selectPage(page - 1)\">{{getText('previous')}}</a></li>\n" +
4037
+ " <li ng-repeat=\"page in pages track by $index\" ng-class=\"{active: page.active}\"><a href ng-click=\"selectPage(page.number)\">{{page.text}}</a></li>\n" +
4038
+ " <li ng-if=\"directionLinks\" ng-class=\"{disabled: noNext()}\"><a href ng-click=\"selectPage(page + 1)\">{{getText('next')}}</a></li>\n" +
4039
+ " <li ng-if=\"boundaryLinks\" ng-class=\"{disabled: noNext()}\"><a href ng-click=\"selectPage(totalPages)\">{{getText('last')}}</a></li>\n" +
4040
+ "</ul>");
4041
+ }]);
4042
+
4043
+ angular.module("template/tooltip/tooltip-html-unsafe-popup.html", []).run(["$templateCache", function($templateCache) {
4044
+ $templateCache.put("template/tooltip/tooltip-html-unsafe-popup.html",
4045
+ "<div class=\"tooltip {{placement}}\" ng-class=\"{ in: isOpen(), fade: animation() }\">\n" +
4046
+ " <div class=\"tooltip-arrow\"></div>\n" +
4047
+ " <div class=\"tooltip-inner\" bind-html-unsafe=\"content\"></div>\n" +
4048
+ "</div>\n" +
4049
+ "");
4050
+ }]);
4051
+
4052
+ angular.module("template/tooltip/tooltip-popup.html", []).run(["$templateCache", function($templateCache) {
4053
+ $templateCache.put("template/tooltip/tooltip-popup.html",
4054
+ "<div class=\"tooltip {{placement}}\" ng-class=\"{ in: isOpen(), fade: animation() }\">\n" +
4055
+ " <div class=\"tooltip-arrow\"></div>\n" +
4056
+ " <div class=\"tooltip-inner\" ng-bind=\"content\"></div>\n" +
4057
+ "</div>\n" +
4058
+ "");
4059
+ }]);
4060
+
4061
+ angular.module("template/popover/popover.html", []).run(["$templateCache", function($templateCache) {
4062
+ $templateCache.put("template/popover/popover.html",
4063
+ "<div class=\"popover {{placement}}\" ng-class=\"{ in: isOpen(), fade: animation() }\">\n" +
4064
+ " <div class=\"arrow\"></div>\n" +
4065
+ "\n" +
4066
+ " <div class=\"popover-inner\">\n" +
4067
+ " <h3 class=\"popover-title\" ng-bind=\"title\" ng-show=\"title\"></h3>\n" +
4068
+ " <div class=\"popover-content\" ng-bind=\"content\"></div>\n" +
4069
+ " </div>\n" +
4070
+ "</div>\n" +
4071
+ "");
4072
+ }]);
4073
+
4074
+ angular.module("template/progressbar/bar.html", []).run(["$templateCache", function($templateCache) {
4075
+ $templateCache.put("template/progressbar/bar.html",
4076
+ "<div class=\"progress-bar\" ng-class=\"type && 'progress-bar-' + type\" role=\"progressbar\" aria-valuenow=\"{{value}}\" aria-valuemin=\"0\" aria-valuemax=\"{{max}}\" ng-style=\"{width: percent + '%'}\" aria-valuetext=\"{{percent | number:0}}%\" ng-transclude></div>");
4077
+ }]);
4078
+
4079
+ angular.module("template/progressbar/progress.html", []).run(["$templateCache", function($templateCache) {
4080
+ $templateCache.put("template/progressbar/progress.html",
4081
+ "<div class=\"progress\" ng-transclude></div>");
4082
+ }]);
4083
+
4084
+ angular.module("template/progressbar/progressbar.html", []).run(["$templateCache", function($templateCache) {
4085
+ $templateCache.put("template/progressbar/progressbar.html",
4086
+ "<div class=\"progress\">\n" +
4087
+ " <div class=\"progress-bar\" ng-class=\"type && 'progress-bar-' + type\" role=\"progressbar\" aria-valuenow=\"{{value}}\" aria-valuemin=\"0\" aria-valuemax=\"{{max}}\" ng-style=\"{width: percent + '%'}\" aria-valuetext=\"{{percent | number:0}}%\" ng-transclude></div>\n" +
4088
+ "</div>");
4089
+ }]);
4090
+
4091
+ angular.module("template/rating/rating.html", []).run(["$templateCache", function($templateCache) {
4092
+ $templateCache.put("template/rating/rating.html",
4093
+ "<span ng-mouseleave=\"reset()\" ng-keydown=\"onKeydown($event)\" tabindex=\"0\" role=\"slider\" aria-valuemin=\"0\" aria-valuemax=\"{{range.length}}\" aria-valuenow=\"{{value}}\">\n" +
4094
+ " <i ng-repeat=\"r in range track by $index\" ng-mouseenter=\"enter($index + 1)\" ng-click=\"rate($index + 1)\" class=\"glyphicon\" ng-class=\"$index < value && (r.stateOn || 'glyphicon-star') || (r.stateOff || 'glyphicon-star-empty')\">\n" +
4095
+ " <span class=\"sr-only\">({{ $index < value ? '*' : ' ' }})</span>\n" +
4096
+ " </i>\n" +
4097
+ "</span>");
4098
+ }]);
4099
+
4100
+ angular.module("template/tabs/tab.html", []).run(["$templateCache", function($templateCache) {
4101
+ $templateCache.put("template/tabs/tab.html",
4102
+ "<li ng-class=\"{active: active, disabled: disabled}\">\n" +
4103
+ " <a ng-click=\"select()\" tab-heading-transclude>{{heading}}</a>\n" +
4104
+ "</li>\n" +
4105
+ "");
4106
+ }]);
4107
+
4108
+ angular.module("template/tabs/tabset.html", []).run(["$templateCache", function($templateCache) {
4109
+ $templateCache.put("template/tabs/tabset.html",
4110
+ "<div>\n" +
4111
+ " <ul class=\"nav nav-{{type || 'tabs'}}\" ng-class=\"{'nav-stacked': vertical, 'nav-justified': justified}\" ng-transclude></ul>\n" +
4112
+ " <div class=\"tab-content\">\n" +
4113
+ " <div class=\"tab-pane\" \n" +
4114
+ " ng-repeat=\"tab in tabs\" \n" +
4115
+ " ng-class=\"{active: tab.active}\"\n" +
4116
+ " tab-content-transclude=\"tab\">\n" +
4117
+ " </div>\n" +
4118
+ " </div>\n" +
4119
+ "</div>\n" +
4120
+ "");
4121
+ }]);
4122
+
4123
+ angular.module("template/timepicker/timepicker.html", []).run(["$templateCache", function($templateCache) {
4124
+ $templateCache.put("template/timepicker/timepicker.html",
4125
+ "<table>\n" +
4126
+ " <tbody>\n" +
4127
+ " <tr class=\"text-center\">\n" +
4128
+ " <td><a ng-click=\"incrementHours()\" class=\"btn btn-link\"><span class=\"glyphicon glyphicon-chevron-up\"></span></a></td>\n" +
4129
+ " <td>&nbsp;</td>\n" +
4130
+ " <td><a ng-click=\"incrementMinutes()\" class=\"btn btn-link\"><span class=\"glyphicon glyphicon-chevron-up\"></span></a></td>\n" +
4131
+ " <td ng-show=\"showMeridian\"></td>\n" +
4132
+ " </tr>\n" +
4133
+ " <tr>\n" +
4134
+ " <td style=\"width:50px;\" class=\"form-group\" ng-class=\"{'has-error': invalidHours}\">\n" +
4135
+ " <input type=\"text\" ng-model=\"hours\" ng-change=\"updateHours()\" class=\"form-control text-center\" ng-mousewheel=\"incrementHours()\" ng-readonly=\"readonlyInput\" maxlength=\"2\">\n" +
4136
+ " </td>\n" +
4137
+ " <td>:</td>\n" +
4138
+ " <td style=\"width:50px;\" class=\"form-group\" ng-class=\"{'has-error': invalidMinutes}\">\n" +
4139
+ " <input type=\"text\" ng-model=\"minutes\" ng-change=\"updateMinutes()\" class=\"form-control text-center\" ng-readonly=\"readonlyInput\" maxlength=\"2\">\n" +
4140
+ " </td>\n" +
4141
+ " <td ng-show=\"showMeridian\"><button type=\"button\" class=\"btn btn-default text-center\" ng-click=\"toggleMeridian()\">{{meridian}}</button></td>\n" +
4142
+ " </tr>\n" +
4143
+ " <tr class=\"text-center\">\n" +
4144
+ " <td><a ng-click=\"decrementHours()\" class=\"btn btn-link\"><span class=\"glyphicon glyphicon-chevron-down\"></span></a></td>\n" +
4145
+ " <td>&nbsp;</td>\n" +
4146
+ " <td><a ng-click=\"decrementMinutes()\" class=\"btn btn-link\"><span class=\"glyphicon glyphicon-chevron-down\"></span></a></td>\n" +
4147
+ " <td ng-show=\"showMeridian\"></td>\n" +
4148
+ " </tr>\n" +
4149
+ " </tbody>\n" +
4150
+ "</table>\n" +
4151
+ "");
4152
+ }]);
4153
+
4154
+ angular.module("template/typeahead/typeahead-match.html", []).run(["$templateCache", function($templateCache) {
4155
+ $templateCache.put("template/typeahead/typeahead-match.html",
4156
+ "<a tabindex=\"-1\" bind-html-unsafe=\"match.label | typeaheadHighlight:query\"></a>");
4157
+ }]);
4158
+
4159
+ angular.module("template/typeahead/typeahead-popup.html", []).run(["$templateCache", function($templateCache) {
4160
+ $templateCache.put("template/typeahead/typeahead-popup.html",
4161
+ "<ul class=\"dropdown-menu\" ng-show=\"isOpen()\" ng-style=\"{top: position.top+'px', left: position.left+'px'}\" style=\"display: block;\" role=\"listbox\" aria-hidden=\"{{!isOpen()}}\">\n" +
4162
+ " <li ng-repeat=\"match in matches track by $index\" ng-class=\"{active: isActive($index) }\" ng-mouseenter=\"selectActive($index)\" ng-click=\"selectMatch($index)\" role=\"option\" id=\"{{match.id}}\">\n" +
4163
+ " <div typeahead-match index=\"$index\" match=\"match\" query=\"query\" template-url=\"templateUrl\"></div>\n" +
4164
+ " </li>\n" +
4165
+ "</ul>\n" +
4166
+ "");
4167
+ }]);