middleman-wizard-template 1.0.0.pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1739) hide show
  1. data/.gitignore +11 -0
  2. data/Gemfile +8 -0
  3. data/Rakefile +2 -0
  4. data/lib/middleman-wizard-template.rb +3 -0
  5. data/lib/middleman-wizard-template/template.rb +23 -0
  6. data/lib/middleman-wizard-template/template/closure/compiler/COPYING +202 -0
  7. data/lib/middleman-wizard-template/template/closure/compiler/README +292 -0
  8. data/lib/middleman-wizard-template/template/closure/compiler/compiler.jar +0 -0
  9. data/lib/middleman-wizard-template/template/closure/library/all_tests.html +113 -0
  10. data/lib/middleman-wizard-template/template/closure/library/alltests.js +16 -0
  11. data/lib/middleman-wizard-template/template/closure/library/closure/bin/calcdeps.py +589 -0
  12. data/lib/middleman-wizard-template/template/closure/library/closure/bin/scopify.py +211 -0
  13. data/lib/middleman-wizard-template/template/closure/library/closure/css/inlay/g-base.css +82 -0
  14. data/lib/middleman-wizard-template/template/closure/library/closure/css/inlay/g-fixed.css +173 -0
  15. data/lib/middleman-wizard-template/template/closure/library/closure/css/inlay/g-ratio.css +253 -0
  16. data/lib/middleman-wizard-template/template/closure/library/closure/goog/array/array.js +1416 -0
  17. data/lib/middleman-wizard-template/template/closure/library/closure/goog/array/array_test.html +1573 -0
  18. data/lib/middleman-wizard-template/template/closure/library/closure/goog/asserts/asserts.js +282 -0
  19. data/lib/middleman-wizard-template/template/closure/library/closure/goog/asserts/asserts_test.html +163 -0
  20. data/lib/middleman-wizard-template/template/closure/library/closure/goog/async/animationdelay.js +268 -0
  21. data/lib/middleman-wizard-template/template/closure/library/closure/goog/async/animationdelay_test.html +93 -0
  22. data/lib/middleman-wizard-template/template/closure/library/closure/goog/async/conditionaldelay.js +235 -0
  23. data/lib/middleman-wizard-template/template/closure/library/closure/goog/async/conditionaldelay_test.html +227 -0
  24. data/lib/middleman-wizard-template/template/closure/library/closure/goog/async/delay.js +177 -0
  25. data/lib/middleman-wizard-template/template/closure/library/closure/goog/async/delay_test.html +148 -0
  26. data/lib/middleman-wizard-template/template/closure/library/closure/goog/async/throttle.js +189 -0
  27. data/lib/middleman-wizard-template/template/closure/library/closure/goog/async/throttle_test.html +102 -0
  28. data/lib/middleman-wizard-template/template/closure/library/closure/goog/base.js +1486 -0
  29. data/lib/middleman-wizard-template/template/closure/library/closure/goog/base_test.html +1174 -0
  30. data/lib/middleman-wizard-template/template/closure/library/closure/goog/bootstrap/webworkers.js +37 -0
  31. data/lib/middleman-wizard-template/template/closure/library/closure/goog/color/alpha.js +467 -0
  32. data/lib/middleman-wizard-template/template/closure/library/closure/goog/color/alpha_test.html +301 -0
  33. data/lib/middleman-wizard-template/template/closure/library/closure/goog/color/color.js +773 -0
  34. data/lib/middleman-wizard-template/template/closure/library/closure/goog/color/color_test.html +661 -0
  35. data/lib/middleman-wizard-template/template/closure/library/closure/goog/color/names.js +176 -0
  36. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/arc4.js +162 -0
  37. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/arc4_test.html +63 -0
  38. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/base64.js +272 -0
  39. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/base64_test.html +117 -0
  40. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/basen.js +242 -0
  41. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/basen_test.html +167 -0
  42. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/blobhasher.js +229 -0
  43. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/blobhasher_test.html +236 -0
  44. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/crypt.js +119 -0
  45. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/crypt_perf.html +85 -0
  46. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/crypt_test.html +68 -0
  47. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/hash.js +54 -0
  48. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/hash32.js +184 -0
  49. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/hash32_test.html +287 -0
  50. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/hash_test.js +83 -0
  51. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/hmac.js +163 -0
  52. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/hmac_test.html +113 -0
  53. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/md5.js +428 -0
  54. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/md5_perf.html +64 -0
  55. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/md5_test.html +204 -0
  56. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/sha1.js +232 -0
  57. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/sha1_perf.html +62 -0
  58. data/lib/middleman-wizard-template/template/closure/library/closure/goog/crypt/sha1_test.html +81 -0
  59. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/autocomplete.css +43 -0
  60. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/bubble.css +84 -0
  61. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/button.css +38 -0
  62. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/charpicker.css +205 -0
  63. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/checkbox.css +38 -0
  64. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/colormenubutton.css +25 -0
  65. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/colorpalette.css +54 -0
  66. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/colorpicker-simplegrid.css +49 -0
  67. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/combobox.css +54 -0
  68. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/common.css +41 -0
  69. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/css3button.css +77 -0
  70. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/css3menubutton.css +23 -0
  71. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/custombutton.css +164 -0
  72. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/datepicker.css +148 -0
  73. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/dialog.css +72 -0
  74. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/dimensionpicker.css +47 -0
  75. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/dragdropdetector.css +48 -0
  76. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/editor/bubble.css +73 -0
  77. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/editor/dialog.css +66 -0
  78. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/editor/equationeditor.css +113 -0
  79. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/editor/linkdialog.css +36 -0
  80. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/editortoolbar.css +225 -0
  81. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/filteredmenu.css +30 -0
  82. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/filterobservingmenuitem.css +25 -0
  83. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/flatbutton.css +64 -0
  84. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/flatmenubutton.css +63 -0
  85. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/hovercard.css +51 -0
  86. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/hsvapalette.css +231 -0
  87. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/hsvpalette.css +179 -0
  88. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/imagelessbutton.css +160 -0
  89. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/imagelessmenubutton.css +23 -0
  90. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/inputdatepicker.css +12 -0
  91. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/linkbutton.css +26 -0
  92. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/menu.css +27 -0
  93. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/menubar.css +57 -0
  94. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/menubutton.css +169 -0
  95. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/menuitem.css +148 -0
  96. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/menuseparator.css +19 -0
  97. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/multitestrunner.css +121 -0
  98. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/offline.css +147 -0
  99. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/palette.css +36 -0
  100. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/popupdatepicker.css +17 -0
  101. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/roundedpanel.css +29 -0
  102. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/roundedtab.css +158 -0
  103. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/submenu.css +38 -0
  104. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/tab.css +105 -0
  105. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/tabbar.css +52 -0
  106. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/tablesorter.css +14 -0
  107. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/toolbar.css +400 -0
  108. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/tooltip.css +14 -0
  109. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/tree.css +146 -0
  110. data/lib/middleman-wizard-template/template/closure/library/closure/goog/css/tristatemenuitem.css +43 -0
  111. data/lib/middleman-wizard-template/template/closure/library/closure/goog/cssom/cssom.js +447 -0
  112. data/lib/middleman-wizard-template/template/closure/library/closure/goog/cssom/cssom_test.html +343 -0
  113. data/lib/middleman-wizard-template/template/closure/library/closure/goog/cssom/cssom_test_import_1.css +11 -0
  114. data/lib/middleman-wizard-template/template/closure/library/closure/goog/cssom/cssom_test_import_2.css +10 -0
  115. data/lib/middleman-wizard-template/template/closure/library/closure/goog/cssom/cssom_test_link_1.css +10 -0
  116. data/lib/middleman-wizard-template/template/closure/library/closure/goog/cssom/iframe/style.js +1021 -0
  117. data/lib/middleman-wizard-template/template/closure/library/closure/goog/cssom/iframe/style_test.html +391 -0
  118. data/lib/middleman-wizard-template/template/closure/library/closure/goog/cssom/iframe/style_test_import.css +10 -0
  119. data/lib/middleman-wizard-template/template/closure/library/closure/goog/datasource/datamanager.js +559 -0
  120. data/lib/middleman-wizard-template/template/closure/library/closure/goog/datasource/datasource.js +656 -0
  121. data/lib/middleman-wizard-template/template/closure/library/closure/goog/datasource/datasource_test.html +265 -0
  122. data/lib/middleman-wizard-template/template/closure/library/closure/goog/datasource/expr.js +544 -0
  123. data/lib/middleman-wizard-template/template/closure/library/closure/goog/datasource/expr_test.html +97 -0
  124. data/lib/middleman-wizard-template/template/closure/library/closure/goog/datasource/fastdatanode.js +812 -0
  125. data/lib/middleman-wizard-template/template/closure/library/closure/goog/datasource/fastdatanode_test.html +254 -0
  126. data/lib/middleman-wizard-template/template/closure/library/closure/goog/datasource/jsdatasource.js +460 -0
  127. data/lib/middleman-wizard-template/template/closure/library/closure/goog/datasource/jsondatasource.js +148 -0
  128. data/lib/middleman-wizard-template/template/closure/library/closure/goog/datasource/jsxmlhttpdatasource.js +193 -0
  129. data/lib/middleman-wizard-template/template/closure/library/closure/goog/datasource/jsxmlhttpdatasource_test.html +94 -0
  130. data/lib/middleman-wizard-template/template/closure/library/closure/goog/datasource/xmldatasource.js +413 -0
  131. data/lib/middleman-wizard-template/template/closure/library/closure/goog/date/date.js +1685 -0
  132. data/lib/middleman-wizard-template/template/closure/library/closure/goog/date/date_test.html +1355 -0
  133. data/lib/middleman-wizard-template/template/closure/library/closure/goog/date/datelike.js +27 -0
  134. data/lib/middleman-wizard-template/template/closure/library/closure/goog/date/daterange.js +413 -0
  135. data/lib/middleman-wizard-template/template/closure/library/closure/goog/date/daterange_test.html +253 -0
  136. data/lib/middleman-wizard-template/template/closure/library/closure/goog/date/relative.js +430 -0
  137. data/lib/middleman-wizard-template/template/closure/library/closure/goog/date/relative_test.html +151 -0
  138. data/lib/middleman-wizard-template/template/closure/library/closure/goog/date/utcdatetime.js +179 -0
  139. data/lib/middleman-wizard-template/template/closure/library/closure/goog/date/utcdatetime_test.html +119 -0
  140. data/lib/middleman-wizard-template/template/closure/library/closure/goog/db/cursor.js +175 -0
  141. data/lib/middleman-wizard-template/template/closure/library/closure/goog/db/db.js +78 -0
  142. data/lib/middleman-wizard-template/template/closure/library/closure/goog/db/db_test.html +1175 -0
  143. data/lib/middleman-wizard-template/template/closure/library/closure/goog/db/error.js +178 -0
  144. data/lib/middleman-wizard-template/template/closure/library/closure/goog/db/index.js +212 -0
  145. data/lib/middleman-wizard-template/template/closure/library/closure/goog/db/indexeddb.js +195 -0
  146. data/lib/middleman-wizard-template/template/closure/library/closure/goog/db/keyrange.js +107 -0
  147. data/lib/middleman-wizard-template/template/closure/library/closure/goog/db/objectstore.js +401 -0
  148. data/lib/middleman-wizard-template/template/closure/library/closure/goog/db/transaction.js +175 -0
  149. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/console.js +198 -0
  150. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/console_test.html +182 -0
  151. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/debug.js +492 -0
  152. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/debug_test.html +68 -0
  153. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/debugwindow.js +612 -0
  154. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/devcss/devcss.js +436 -0
  155. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/devcss/devcss_test.html +365 -0
  156. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/devcss/devcssrunner.js +26 -0
  157. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/divconsole.js +141 -0
  158. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/enhanceerror_test.html +138 -0
  159. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/entrypointregistry.js +158 -0
  160. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/entrypointregistry_test.html +87 -0
  161. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/error.js +51 -0
  162. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/error_test.html +101 -0
  163. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/errorhandler.js +273 -0
  164. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/errorhandler_async_test.html +112 -0
  165. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/errorhandler_test.html +206 -0
  166. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/errorhandlerweakdep.js +38 -0
  167. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/errorreporter.js +333 -0
  168. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/errorreporter_test.html +304 -0
  169. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/fancywindow.js +363 -0
  170. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/formatter.js +317 -0
  171. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/fpsdisplay.js +162 -0
  172. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/fpsdisplay_test.html +53 -0
  173. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/gcdiagnostics.js +143 -0
  174. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/logbuffer.js +147 -0
  175. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/logbuffer_test.html +105 -0
  176. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/logger.js +823 -0
  177. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/logger_test.html +208 -0
  178. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/logrecord.js +271 -0
  179. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/logrecordserializer.js +121 -0
  180. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/logrecordserializer_test.html +96 -0
  181. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/reflect.js +178 -0
  182. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/reflect_test.html +101 -0
  183. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/relativetimeprovider.js +83 -0
  184. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/tracer.js +724 -0
  185. data/lib/middleman-wizard-template/template/closure/library/closure/goog/debug/tracer_test.html +57 -0
  186. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/advancedtooltip.html +78 -0
  187. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/animationqueue.html +149 -0
  188. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/autocomplete-basic.html +56 -0
  189. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/autocompleteremote.html +40 -0
  190. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/autocompleteremotedata.js +18 -0
  191. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/autocompleterichremote.html +137 -0
  192. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/autocompleterichremotedata.js +33 -0
  193. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/bidiinput.html +72 -0
  194. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/blobhasher.html +61 -0
  195. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/bubble.html +250 -0
  196. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/button.html +395 -0
  197. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/charcounter.html +57 -0
  198. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/charpicker.html +66 -0
  199. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/checkbox.html +122 -0
  200. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/color-contrast.html +60 -0
  201. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/colormenubutton.html +221 -0
  202. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/colorpicker.html +43 -0
  203. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/combobox.html +160 -0
  204. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/container.html +670 -0
  205. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/control.html +477 -0
  206. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/css/demo.css +75 -0
  207. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/css/emojipicker.css +36 -0
  208. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/css/emojisprite.css +92 -0
  209. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/css3button.html +166 -0
  210. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/css3menubutton.html +285 -0
  211. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/cssspriteanimation.html +80 -0
  212. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/datepicker.html +183 -0
  213. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/debug.html +119 -0
  214. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/depsgraph.html +220 -0
  215. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/dialog.html +156 -0
  216. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/dimensionpicker.html +108 -0
  217. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/dimensionpicker_rtl.html +123 -0
  218. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/dom_selection.html +88 -0
  219. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/drag.html +191 -0
  220. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/dragdrop.html +263 -0
  221. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/dragdropdetector.html +46 -0
  222. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/dragdropdetector_target.html +17 -0
  223. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/dragger.html +83 -0
  224. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/draglistgroup.html +247 -0
  225. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/dragscrollsupport.html +133 -0
  226. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/drilldownrow.html +78 -0
  227. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/deps.js +21 -0
  228. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/editor.html +139 -0
  229. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/equationeditor.html +36 -0
  230. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/equationeditor.js +40 -0
  231. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/field_basic.html +74 -0
  232. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/helloworld.html +91 -0
  233. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/helloworld.js +81 -0
  234. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/helloworld_test.html +75 -0
  235. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/helloworlddialog.js +163 -0
  236. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/helloworlddialog_test.html +100 -0
  237. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/helloworlddialogplugin.js +110 -0
  238. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/helloworlddialogplugin_test.html +198 -0
  239. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/seamlessfield.html +106 -0
  240. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/editor/tableeditor.html +93 -0
  241. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/effects.html +162 -0
  242. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/200.gif +0 -0
  243. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/201.gif +0 -0
  244. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/202.gif +0 -0
  245. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/203.gif +0 -0
  246. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/204.gif +0 -0
  247. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/205.gif +0 -0
  248. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/206.gif +0 -0
  249. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2BC.gif +0 -0
  250. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2BD.gif +0 -0
  251. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2BE.gif +0 -0
  252. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2BF.gif +0 -0
  253. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2C0.gif +0 -0
  254. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2C1.gif +0 -0
  255. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2C2.gif +0 -0
  256. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2C3.gif +0 -0
  257. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2C4.gif +0 -0
  258. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2C5.gif +0 -0
  259. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2C6.gif +0 -0
  260. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2C7.gif +0 -0
  261. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2C8.gif +0 -0
  262. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2C9.gif +0 -0
  263. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2CA.gif +0 -0
  264. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2CB.gif +0 -0
  265. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2CC.gif +0 -0
  266. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2CD.gif +0 -0
  267. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2CE.gif +0 -0
  268. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2CF.gif +0 -0
  269. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2D0.gif +0 -0
  270. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2D1.gif +0 -0
  271. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2D2.gif +0 -0
  272. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2D3.gif +0 -0
  273. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2D4.gif +0 -0
  274. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2D5.gif +0 -0
  275. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2D6.gif +0 -0
  276. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2D7.gif +0 -0
  277. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2D8.gif +0 -0
  278. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2D9.gif +0 -0
  279. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2DA.gif +0 -0
  280. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2DB.gif +0 -0
  281. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2DC.gif +0 -0
  282. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2DD.gif +0 -0
  283. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2DE.gif +0 -0
  284. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2DF.gif +0 -0
  285. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2E0.gif +0 -0
  286. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2E1.gif +0 -0
  287. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2E2.gif +0 -0
  288. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2E3.gif +0 -0
  289. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2E4.gif +0 -0
  290. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2E5.gif +0 -0
  291. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2E6.gif +0 -0
  292. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2E7.gif +0 -0
  293. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2E8.gif +0 -0
  294. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2E9.gif +0 -0
  295. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2EA.gif +0 -0
  296. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2EB.gif +0 -0
  297. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2EC.gif +0 -0
  298. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2ED.gif +0 -0
  299. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2EE.gif +0 -0
  300. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2EF.gif +0 -0
  301. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2F0.gif +0 -0
  302. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2F1.gif +0 -0
  303. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2F2.gif +0 -0
  304. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2F3.gif +0 -0
  305. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2F4.gif +0 -0
  306. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2F5.gif +0 -0
  307. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2F6.gif +0 -0
  308. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2F7.gif +0 -0
  309. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2F8.gif +0 -0
  310. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2F9.gif +0 -0
  311. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2FA.gif +0 -0
  312. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2FB.gif +0 -0
  313. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2FC.gif +0 -0
  314. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2FD.gif +0 -0
  315. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2FE.gif +0 -0
  316. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/2FF.gif +0 -0
  317. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/none.gif +0 -0
  318. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/sprite.png +0 -0
  319. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/sprite2.png +0 -0
  320. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/emoji/unknown.gif +0 -0
  321. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/event-propagation.html +192 -0
  322. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/events.html +99 -0
  323. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/eventtarget.html +70 -0
  324. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/filedrophandler.html +65 -0
  325. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/filteredmenu.html +118 -0
  326. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/focushandler.html +58 -0
  327. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/fpsdisplay.html +50 -0
  328. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/fx/css3/transition.html +222 -0
  329. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/gauge.html +158 -0
  330. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/graphics/advancedcoordinates.html +141 -0
  331. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/graphics/advancedcoordinates2.html +130 -0
  332. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/graphics/basicelements.html +264 -0
  333. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/graphics/events.html +113 -0
  334. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/graphics/modifyelements.html +195 -0
  335. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/graphics/subpixel.html +80 -0
  336. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/graphics/tiger.html +105 -0
  337. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/graphics/tigerdata.js +2841 -0
  338. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/history1.html +132 -0
  339. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/history2.html +119 -0
  340. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/history3.html +116 -0
  341. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/history3js.html +48 -0
  342. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/history_blank.html +26 -0
  343. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/hovercard.html +177 -0
  344. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/hsvapalette.html +55 -0
  345. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/hsvpalette.html +56 -0
  346. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/html5history.html +87 -0
  347. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/imagelessbutton.html +221 -0
  348. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/imagelessmenubutton.html +285 -0
  349. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/index.html +20 -0
  350. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/index_nav.html +255 -0
  351. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/index_splash.html +27 -0
  352. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/inline_block_quirks.html +125 -0
  353. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/inline_block_standards.html +126 -0
  354. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/inputdatepicker.html +60 -0
  355. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/inputhandler.html +72 -0
  356. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/jsonprettyprinter.html +80 -0
  357. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/keyboardshortcuts.html +112 -0
  358. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/keyhandler.html +119 -0
  359. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/labelinput.html +42 -0
  360. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/menu.html +220 -0
  361. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/menubar.html +211 -0
  362. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/menubutton.html +380 -0
  363. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/menubutton_frame.html +27 -0
  364. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/menuitem.html +164 -0
  365. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/mousewheelhandler.html +109 -0
  366. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/offline.html +268 -0
  367. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/onlinehandler.html +78 -0
  368. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/palette.html +302 -0
  369. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/pastehandler.html +54 -0
  370. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/plaintextspellchecker.html +106 -0
  371. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/popup.html +206 -0
  372. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/popupcolorpicker.html +49 -0
  373. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/popupdatepicker.html +53 -0
  374. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/popupemojipicker.html +407 -0
  375. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/popupmenu.html +116 -0
  376. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/progressbar.html +97 -0
  377. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/prompt.html +92 -0
  378. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/quadtree.html +107 -0
  379. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/ratings.html +120 -0
  380. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/richtextspellchecker.html +92 -0
  381. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/roundedpanel.html +139 -0
  382. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/samplecomponent.html +75 -0
  383. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/samplecomponent.js +204 -0
  384. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/scrollfloater.html +117 -0
  385. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/select.html +324 -0
  386. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/selectionmenubutton.html +186 -0
  387. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/serverchart.html +122 -0
  388. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/silverlightclipboardbutton.html +71 -0
  389. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/slider.html +128 -0
  390. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/splitbehavior.html +164 -0
  391. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/splitpane.html +243 -0
  392. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/stopevent.html +171 -0
  393. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/submenus.html +130 -0
  394. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/submenus2.html +150 -0
  395. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/tabbar.html +289 -0
  396. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/tablesorter.html +116 -0
  397. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/tabpane.html +302 -0
  398. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/textarea.html +128 -0
  399. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/timers.html +291 -0
  400. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/toolbar.html +703 -0
  401. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/tooltip.html +91 -0
  402. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/tracer.html +92 -0
  403. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/tree/demo.html +126 -0
  404. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/tree/testdata.js +260 -0
  405. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/tweakui.html +121 -0
  406. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/twothumbslider.html +121 -0
  407. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/useragent.html +214 -0
  408. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/viewportsizemonitor.html +71 -0
  409. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/xpc/blank.html +7 -0
  410. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/xpc/index.html +89 -0
  411. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/xpc/inner.html +58 -0
  412. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/xpc/minimal/blank.html +7 -0
  413. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/xpc/minimal/index.html +105 -0
  414. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/xpc/minimal/inner.html +75 -0
  415. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/xpc/minimal/relay.html +7 -0
  416. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/xpc/relay.html +16 -0
  417. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/xpc/xpcdemo.js +304 -0
  418. data/lib/middleman-wizard-template/template/closure/library/closure/goog/demos/zippy.html +149 -0
  419. data/lib/middleman-wizard-template/template/closure/library/closure/goog/deps.js +840 -0
  420. data/lib/middleman-wizard-template/template/closure/library/closure/goog/disposable/disposable.js +298 -0
  421. data/lib/middleman-wizard-template/template/closure/library/closure/goog/disposable/disposable_test.html +292 -0
  422. data/lib/middleman-wizard-template/template/closure/library/closure/goog/disposable/idisposable.js +45 -0
  423. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/a11y.js +540 -0
  424. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/a11y_test.html +148 -0
  425. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/abstractmultirange.js +77 -0
  426. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/abstractrange.js +514 -0
  427. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/abstractrange_test.html +73 -0
  428. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/annotate.js +355 -0
  429. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/annotate_test.html +215 -0
  430. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/browserfeature.js +66 -0
  431. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/browserrange/abstractrange.js +316 -0
  432. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/browserrange/browserrange.js +149 -0
  433. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/browserrange/browserrange_test.html +638 -0
  434. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/browserrange/geckorange.js +86 -0
  435. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/browserrange/ierange.js +955 -0
  436. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/browserrange/operarange.js +83 -0
  437. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/browserrange/w3crange.js +365 -0
  438. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/browserrange/webkitrange.js +112 -0
  439. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/classes.js +223 -0
  440. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/classes_quirks_test.html +64 -0
  441. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/classes_test.html +64 -0
  442. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/classes_test.js +231 -0
  443. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/controlrange.js +505 -0
  444. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/controlrange_test.html +246 -0
  445. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/dataset.js +135 -0
  446. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/dataset_test.html +117 -0
  447. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/dom.js +2683 -0
  448. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/dom_quirks_test.html +108 -0
  449. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/dom_test.html +107 -0
  450. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/dom_test.js +1385 -0
  451. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/fontsizemonitor.js +158 -0
  452. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/fontsizemonitor_test.html +284 -0
  453. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/forms.js +413 -0
  454. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/forms_test.html +495 -0
  455. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/fullscreen.js +124 -0
  456. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/iframe.js +129 -0
  457. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/iframe_test.html +88 -0
  458. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/iter.js +127 -0
  459. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/iter_test.html +97 -0
  460. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/multirange.js +519 -0
  461. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/multirange_test.html +67 -0
  462. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/nodeiterator.js +86 -0
  463. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/nodeiterator_test.html +49 -0
  464. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/nodeoffset.js +112 -0
  465. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/nodeoffset_test.html +88 -0
  466. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/abstractpattern.js +60 -0
  467. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/allchildren.js +75 -0
  468. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/callback/callback.js +82 -0
  469. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/callback/counter.js +72 -0
  470. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/callback/test.js +77 -0
  471. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/childmatches.js +154 -0
  472. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/endtag.js +53 -0
  473. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/fulltag.js +93 -0
  474. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/matcher.js +150 -0
  475. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/matcher_test.html +204 -0
  476. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/nodetype.js +58 -0
  477. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/pattern.js +93 -0
  478. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/pattern_test.html +614 -0
  479. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/repeat.js +190 -0
  480. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/sequence.js +141 -0
  481. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/starttag.js +53 -0
  482. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/tag.js +150 -0
  483. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/pattern/text.js +70 -0
  484. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/range.js +226 -0
  485. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/range_test.html +735 -0
  486. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/rangeendpoint.js +32 -0
  487. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/savedcaretrange.js +203 -0
  488. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/savedcaretrange_test.html +235 -0
  489. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/savedrange.js +74 -0
  490. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/savedrange_test.html +61 -0
  491. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/selection.js +470 -0
  492. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/selection_test.html +329 -0
  493. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/tagiterator.js +367 -0
  494. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/tagiterator_test.html +589 -0
  495. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/tagname.js +159 -0
  496. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/tagname_test.html +37 -0
  497. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/textrange.js +614 -0
  498. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/textrange_test.html +127 -0
  499. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/textrangeiterator.js +244 -0
  500. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/textrangeiterator_test.html +142 -0
  501. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/viewportsizemonitor.js +233 -0
  502. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/viewportsizemonitor_test.html +180 -0
  503. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/xml.js +204 -0
  504. data/lib/middleman-wizard-template/template/closure/library/closure/goog/dom/xml_test.html +103 -0
  505. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/browserfeature.js +266 -0
  506. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/browserfeature_test.html +124 -0
  507. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/clicktoeditwrapper.js +435 -0
  508. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/clicktoeditwrapper_test.html +137 -0
  509. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/command.js +76 -0
  510. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/contenteditablefield.js +110 -0
  511. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/contenteditablefield_test.html +62 -0
  512. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/defines.js +34 -0
  513. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/field.js +2643 -0
  514. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/field_test.html +32 -0
  515. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/field_test.js +1160 -0
  516. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/focus.js +32 -0
  517. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/focus_test.html +66 -0
  518. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/icontent.js +296 -0
  519. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/icontent_test.html +232 -0
  520. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/link.js +344 -0
  521. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/link_test.html +234 -0
  522. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/node.js +457 -0
  523. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/node_test.html +626 -0
  524. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugin.js +463 -0
  525. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugin_test.html +187 -0
  526. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/abstractbubbleplugin.js +535 -0
  527. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/abstractbubbleplugin_test.html +227 -0
  528. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/abstractdialogplugin.js +337 -0
  529. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/abstractdialogplugin_test.html +399 -0
  530. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/abstracttabhandler.js +78 -0
  531. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/abstracttabhandler_test.html +91 -0
  532. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/basictextformatter.js +1748 -0
  533. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/basictextformatter_test.html +1171 -0
  534. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/blockquote.js +479 -0
  535. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/blockquote_test.html +212 -0
  536. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/emoticons.js +85 -0
  537. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/emoticons_test.html +67 -0
  538. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/enterhandler.js +765 -0
  539. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/enterhandler_test.html +754 -0
  540. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/equationeditorbubble.js +153 -0
  541. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/equationeditorplugin.js +211 -0
  542. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/equationeditorplugin_test.html +120 -0
  543. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/headerformatter.js +95 -0
  544. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/headerformatter_test.html +100 -0
  545. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/linkbubble.js +556 -0
  546. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/linkbubble_test.html +373 -0
  547. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/linkdialogplugin.js +437 -0
  548. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/linkdialogplugin_test.html +686 -0
  549. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/linkshortcutplugin.js +63 -0
  550. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/linkshortcutplugin_test.html +70 -0
  551. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/listtabhandler.js +66 -0
  552. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/listtabhandler_test.html +177 -0
  553. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/loremipsum.js +188 -0
  554. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/loremipsum_test.html +169 -0
  555. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/removeformatting.js +772 -0
  556. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/removeformatting_test.html +940 -0
  557. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/spacestabhandler.js +93 -0
  558. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/spacestabhandler_test.html +186 -0
  559. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/tableeditor.js +472 -0
  560. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/tableeditor_test.html +299 -0
  561. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/tagonenterhandler.js +742 -0
  562. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/tagonenterhandler_test.html +549 -0
  563. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/undoredo.js +1014 -0
  564. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/undoredo_test.html +525 -0
  565. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/undoredomanager.js +337 -0
  566. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/undoredomanager_test.html +394 -0
  567. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/undoredostate.js +84 -0
  568. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/plugins/undoredostate_test.html +44 -0
  569. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/range.js +612 -0
  570. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/range_test.html +912 -0
  571. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/seamlessfield.js +726 -0
  572. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/seamlessfield_quirks_test.html +29 -0
  573. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/seamlessfield_test.html +32 -0
  574. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/seamlessfield_test.js +398 -0
  575. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/style.js +222 -0
  576. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/style_test.html +177 -0
  577. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/table.js +567 -0
  578. data/lib/middleman-wizard-template/template/closure/library/closure/goog/editor/table_test.html +529 -0
  579. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/actioneventwrapper.js +137 -0
  580. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/actioneventwrapper_test.html +176 -0
  581. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/actionhandler.js +181 -0
  582. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/actionhandler_test.html +82 -0
  583. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/browserevent.js +410 -0
  584. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/browserevent_test.html +161 -0
  585. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/browserfeature.js +71 -0
  586. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/event.js +142 -0
  587. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/event_test.html +66 -0
  588. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/eventhandler.js +279 -0
  589. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/eventhandler_test.html +245 -0
  590. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/events.js +1092 -0
  591. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/events_test.html +456 -0
  592. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/eventtarget.js +202 -0
  593. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/eventtarget_test.html +423 -0
  594. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/eventtype.js +125 -0
  595. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/eventwrapper.js +68 -0
  596. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/filedrophandler.js +220 -0
  597. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/filedrophandler_test.html +258 -0
  598. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/focushandler.js +106 -0
  599. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/imehandler.js +364 -0
  600. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/imehandler_test.html +269 -0
  601. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/inputhandler.js +203 -0
  602. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/keycodes.js +356 -0
  603. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/keycodes_test.html +125 -0
  604. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/keyhandler.js +533 -0
  605. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/keyhandler_test.html +727 -0
  606. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/keynames.js +132 -0
  607. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/listener.js +181 -0
  608. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/mousewheelhandler.js +292 -0
  609. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/mousewheelhandler_test.html +384 -0
  610. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/onlinehandler.js +169 -0
  611. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/onlinelistener_test.html +159 -0
  612. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/pastehandler.js +511 -0
  613. data/lib/middleman-wizard-template/template/closure/library/closure/goog/events/pastehandler_test.html +414 -0
  614. data/lib/middleman-wizard-template/template/closure/library/closure/goog/format/emailaddress.js +331 -0
  615. data/lib/middleman-wizard-template/template/closure/library/closure/goog/format/emailaddress_test.html +191 -0
  616. data/lib/middleman-wizard-template/template/closure/library/closure/goog/format/format.js +491 -0
  617. data/lib/middleman-wizard-template/template/closure/library/closure/goog/format/format_test.html +302 -0
  618. data/lib/middleman-wizard-template/template/closure/library/closure/goog/format/htmlprettyprinter.js +407 -0
  619. data/lib/middleman-wizard-template/template/closure/library/closure/goog/format/htmlprettyprinter_test.html +205 -0
  620. data/lib/middleman-wizard-template/template/closure/library/closure/goog/format/jsonprettyprinter.js +413 -0
  621. data/lib/middleman-wizard-template/template/closure/library/closure/goog/format/jsonprettyprinter_test.html +111 -0
  622. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fs/entry.js +533 -0
  623. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fs/error.js +102 -0
  624. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fs/filereader.js +288 -0
  625. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fs/filesaver.js +176 -0
  626. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fs/filesystem.js +59 -0
  627. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fs/filewriter.js +110 -0
  628. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fs/fs.js +248 -0
  629. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fs/fs_test.html +753 -0
  630. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fs/progressevent.js +68 -0
  631. data/lib/middleman-wizard-template/template/closure/library/closure/goog/functions/functions.js +236 -0
  632. data/lib/middleman-wizard-template/template/closure/library/closure/goog/functions/functions_test.html +215 -0
  633. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/abstractdragdrop.js +1514 -0
  634. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/abstractdragdrop_test.html +640 -0
  635. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/anim/anim.js +209 -0
  636. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/anim/anim_test.html +224 -0
  637. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/animation.js +530 -0
  638. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/animation_test.html +117 -0
  639. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/animationqueue.js +307 -0
  640. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/animationqueue_test.html +316 -0
  641. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/css3/fx.js +62 -0
  642. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/css3/transition.js +196 -0
  643. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/css3/transition_test.html +224 -0
  644. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/cssspriteanimation.js +113 -0
  645. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/cssspriteanimation_test.html +126 -0
  646. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/dom.js +653 -0
  647. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/dragdrop.js +50 -0
  648. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/dragdropgroup.js +109 -0
  649. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/dragdropgroup_test.html +234 -0
  650. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/dragger.js +811 -0
  651. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/dragger_test.html +449 -0
  652. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/draglistgroup.js +1268 -0
  653. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/draglistgroup_test.html +359 -0
  654. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/dragscrollsupport.js +299 -0
  655. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/dragscrollsupport_test.html +354 -0
  656. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/easing.js +50 -0
  657. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/fx.js +32 -0
  658. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/fx_test.html +100 -0
  659. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/transition.js +75 -0
  660. data/lib/middleman-wizard-template/template/closure/library/closure/goog/fx/transitionbase.js +237 -0
  661. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/basestore.js +521 -0
  662. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/basestore_test.html +247 -0
  663. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/database.js +933 -0
  664. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/database_test.html +699 -0
  665. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/gears.js +228 -0
  666. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/gears_test.html +78 -0
  667. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/httprequest.js +80 -0
  668. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/loggerclient.js +130 -0
  669. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/loggerclient_test.html +172 -0
  670. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/loggerserver.js +157 -0
  671. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/loggerserver_test.html +119 -0
  672. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/logstore.js +477 -0
  673. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/logstore_test.html +600 -0
  674. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/managedresourcestore.js +553 -0
  675. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/managedresourcestore_test.html +453 -0
  676. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/multipartformdata.js +204 -0
  677. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/multipartformdata_test.html +221 -0
  678. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/statustype.js +37 -0
  679. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/urlcapture.js +370 -0
  680. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/urlcapture_test.html +392 -0
  681. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/worker.js +200 -0
  682. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/workerchannel.js +204 -0
  683. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/workerchannel_test.html +207 -0
  684. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/workerpool.js +240 -0
  685. data/lib/middleman-wizard-template/template/closure/library/closure/goog/gears/workerpool_test.html +204 -0
  686. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/abstractgraphics.js +440 -0
  687. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/affinetransform.js +587 -0
  688. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/affinetransform_test.html +360 -0
  689. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/canvaselement.js +785 -0
  690. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/canvasgraphics.js +665 -0
  691. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/element.js +148 -0
  692. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ellipseelement.js +61 -0
  693. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/coordinates.js +159 -0
  694. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/coordinates_test.html +74 -0
  695. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/element.js +968 -0
  696. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/element_test.html +144 -0
  697. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/ellipse.js +59 -0
  698. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/ext.js +29 -0
  699. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/graphics.js +215 -0
  700. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/group.js +215 -0
  701. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/image.js +63 -0
  702. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/path.js +142 -0
  703. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/path_test.html +46 -0
  704. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/rectangle.js +54 -0
  705. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/shape.js +146 -0
  706. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/ext/strokeandfillelement.js +70 -0
  707. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/fill.js +30 -0
  708. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/font.js +60 -0
  709. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/graphics.js +125 -0
  710. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/groupelement.js +56 -0
  711. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/imageelement.js +67 -0
  712. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/lineargradient.js +171 -0
  713. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/path.js +510 -0
  714. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/path_test.html +359 -0
  715. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/pathelement.js +52 -0
  716. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/paths.js +86 -0
  717. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/paths_test.html +98 -0
  718. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/rectelement.js +61 -0
  719. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/solidfill.js +71 -0
  720. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/solidfill_test.html +53 -0
  721. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/stroke.js +64 -0
  722. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/strokeandfillelement.js +112 -0
  723. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/svgelement.js +275 -0
  724. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/svggraphics.js +851 -0
  725. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/svggraphics_test.html +83 -0
  726. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/textelement.js +53 -0
  727. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/vmlelement.js +393 -0
  728. data/lib/middleman-wizard-template/template/closure/library/closure/goog/graphics/vmlgraphics.js +889 -0
  729. data/lib/middleman-wizard-template/template/closure/library/closure/goog/history/event.js +54 -0
  730. data/lib/middleman-wizard-template/template/closure/library/closure/goog/history/eventtype.js +30 -0
  731. data/lib/middleman-wizard-template/template/closure/library/closure/goog/history/history.js +999 -0
  732. data/lib/middleman-wizard-template/template/closure/library/closure/goog/history/html5history.js +303 -0
  733. data/lib/middleman-wizard-template/template/closure/library/closure/goog/history/html5history_test.html +163 -0
  734. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/bidi.js +806 -0
  735. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/bidi_test.html +418 -0
  736. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/bidiformatter.js +488 -0
  737. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/bidiformatter_test.html +343 -0
  738. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/charlistdecompressor.js +157 -0
  739. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/charlistdecompressor_test.html +65 -0
  740. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/charpickerdata.js +3185 -0
  741. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/currency.js +406 -0
  742. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/currency_test.html +204 -0
  743. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/currencycodemap.js +209 -0
  744. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/datetimeformat.js +667 -0
  745. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/datetimeformat_test.html +497 -0
  746. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/datetimeparse.js +1111 -0
  747. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/datetimeparse_test.html +702 -0
  748. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/datetimepatterns.js +1706 -0
  749. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/datetimepatternsext.js +8366 -0
  750. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/datetimesymbols.js +3551 -0
  751. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/datetimesymbolsext.js +16207 -0
  752. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/graphemebreak.js +181 -0
  753. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/graphemebreak_test.html +72 -0
  754. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/messageformat.js +771 -0
  755. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/messageformat_test.html +471 -0
  756. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/mime.js +100 -0
  757. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/mime_test.html +51 -0
  758. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/numberformat.js +876 -0
  759. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/numberformat_test.html +702 -0
  760. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/numberformatsymbols.js +3263 -0
  761. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/numberformatsymbolsext.js +8895 -0
  762. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/ordinalrules.js +556 -0
  763. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/pluralrules.js +805 -0
  764. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/timezone.js +341 -0
  765. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/timezone_test.html +163 -0
  766. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/uchar.js +1160 -0
  767. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/uchar/localnamefetcher.js +73 -0
  768. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/uchar/localnamefetcher_test.html +62 -0
  769. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/uchar/namefetcher.js +70 -0
  770. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/uchar/remotenamefetcher.js +281 -0
  771. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/uchar/remotenamefetcher_test.html +111 -0
  772. data/lib/middleman-wizard-template/template/closure/library/closure/goog/i18n/uchar_test.html +72 -0
  773. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/blank.gif +0 -0
  774. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/bubble_close.jpg +0 -0
  775. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/bubble_left.gif +0 -0
  776. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/bubble_right.gif +0 -0
  777. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/button-bg.gif +0 -0
  778. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/check-outline.gif +0 -0
  779. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/check-sprite.gif +0 -0
  780. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/check.gif +0 -0
  781. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/close_box.gif +0 -0
  782. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/color-swatch-tick.gif +0 -0
  783. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/dialog_close_box.gif +0 -0
  784. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/dimension-highlighted.png +0 -0
  785. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/dimension-unhighlighted.png +0 -0
  786. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/dropdn.gif +0 -0
  787. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/dropdn_disabled.gif +0 -0
  788. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/dropdown.gif +0 -0
  789. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/gears_bluedot.gif +0 -0
  790. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/gears_offline.gif +0 -0
  791. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/gears_online.gif +0 -0
  792. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/gears_paused.gif +0 -0
  793. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/gears_syncing.gif +0 -0
  794. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/hsv-sprite-sm.gif +0 -0
  795. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/hsv-sprite-sm.png +0 -0
  796. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/hsv-sprite.gif +0 -0
  797. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/hsv-sprite.png +0 -0
  798. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/hsva-sprite-sm.gif +0 -0
  799. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/hsva-sprite-sm.png +0 -0
  800. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/hsva-sprite.gif +0 -0
  801. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/hsva-sprite.png +0 -0
  802. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/left_anchor_bubble_bot.gif +0 -0
  803. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/left_anchor_bubble_top.gif +0 -0
  804. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/menu-arrows.gif +0 -0
  805. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/minus.png +0 -0
  806. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/no_anchor_bubble_bot.gif +0 -0
  807. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/no_anchor_bubble_top.gif +0 -0
  808. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/offlineicons.png +0 -0
  809. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/plus.png +0 -0
  810. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/ratingstars.gif +0 -0
  811. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/right_anchor_bubble_bot.gif +0 -0
  812. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/right_anchor_bubble_top.gif +0 -0
  813. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/toolbar-bg.png +0 -0
  814. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/toolbar-separator.gif +0 -0
  815. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/toolbar_icons.gif +0 -0
  816. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/tree/I.png +0 -0
  817. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/tree/cleardot.gif +0 -0
  818. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/tree/tree.gif +0 -0
  819. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/tree/tree.png +0 -0
  820. data/lib/middleman-wizard-template/template/closure/library/closure/goog/images/ui_controls.jpg +0 -0
  821. data/lib/middleman-wizard-template/template/closure/library/closure/goog/iter/iter.js +686 -0
  822. data/lib/middleman-wizard-template/template/closure/library/closure/goog/iter/iter_test.html +479 -0
  823. data/lib/middleman-wizard-template/template/closure/library/closure/goog/json/evaljsonprocessor.js +66 -0
  824. data/lib/middleman-wizard-template/template/closure/library/closure/goog/json/json.js +349 -0
  825. data/lib/middleman-wizard-template/template/closure/library/closure/goog/json/json_perf.html +116 -0
  826. data/lib/middleman-wizard-template/template/closure/library/closure/goog/json/json_test.html +567 -0
  827. data/lib/middleman-wizard-template/template/closure/library/closure/goog/json/nativejsonprocessor.js +73 -0
  828. data/lib/middleman-wizard-template/template/closure/library/closure/goog/json/processor.js +32 -0
  829. data/lib/middleman-wizard-template/template/closure/library/closure/goog/json/processor_test.html +89 -0
  830. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/net/image.js +93 -0
  831. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/net/image_test.html +21 -0
  832. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/net/image_test.js +128 -0
  833. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/net/testdata/cleardot.gif +0 -0
  834. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/net/testdata/xhr_test_json.data +2 -0
  835. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/net/testdata/xhr_test_text.data +1 -0
  836. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/net/xhr.js +444 -0
  837. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/net/xhr_test.html +437 -0
  838. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/object/object.js +46 -0
  839. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/object/object_test.html +56 -0
  840. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/observe/notice.js +63 -0
  841. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/observe/observable.js +77 -0
  842. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/observe/observableset.js +180 -0
  843. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/observe/observableset_test.html +207 -0
  844. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/observe/observationset.js +156 -0
  845. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/observe/observationset_test.html +252 -0
  846. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/observe/observer.js +100 -0
  847. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/observe/observer_test.html +65 -0
  848. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/observe/simpleobservable.js +129 -0
  849. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/observe/simpleobservable_test.html +196 -0
  850. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/result/chain_test.html +158 -0
  851. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/result/combine_test.html +207 -0
  852. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/result/deferredadaptor.js +57 -0
  853. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/result/deferredadaptor_test.html +86 -0
  854. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/result/result_interface.js +108 -0
  855. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/result/resultutil.js +382 -0
  856. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/result/simpleresult.js +197 -0
  857. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/result/simpleresult_test.html +254 -0
  858. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/result/transform_test.html +131 -0
  859. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/result/wait_test.html +194 -0
  860. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/structs/map.js +339 -0
  861. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/structs/map_perf.js +201 -0
  862. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/structs/map_test.html +434 -0
  863. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/structs/multimap.js +279 -0
  864. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/structs/multimap_test.html +332 -0
  865. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/testing/assertthat.js +59 -0
  866. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/testing/assertthat_test.html +73 -0
  867. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/testing/dictionarymatcher.js +266 -0
  868. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/testing/dictionarymatcher_test.html +70 -0
  869. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/testing/logicmatcher.js +206 -0
  870. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/testing/logicmatcher_test.html +59 -0
  871. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/testing/matcher.js +51 -0
  872. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/testing/numbermatcher.js +334 -0
  873. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/testing/numbermatcher_test.html +79 -0
  874. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/testing/objectmatcher.js +306 -0
  875. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/testing/objectmatcher_test.html +102 -0
  876. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/testing/stringmatcher.js +350 -0
  877. data/lib/middleman-wizard-template/template/closure/library/closure/goog/labs/testing/stringmatcher_test.html +91 -0
  878. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/countries.js +288 -0
  879. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/countrylanguagenames_test.html +233 -0
  880. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/defaultlocalenameconstants.js +903 -0
  881. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/genericfontnames.js +73 -0
  882. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/genericfontnames_test.html +97 -0
  883. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/genericfontnamesdata.js +328 -0
  884. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/locale.js +399 -0
  885. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/nativenameconstants.js +1354 -0
  886. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/scriptToLanguages.js +482 -0
  887. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/timezonedetection.js +117 -0
  888. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/timezonedetection_test.html +130 -0
  889. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/timezonefingerprint.js +250 -0
  890. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/timezonelist.js +130 -0
  891. data/lib/middleman-wizard-template/template/closure/library/closure/goog/locale/timezonelist_test.html +165 -0
  892. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/bezier.js +311 -0
  893. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/bezier_test.html +112 -0
  894. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/box.js +278 -0
  895. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/box_test.html +240 -0
  896. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/coordinate.js +160 -0
  897. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/coordinate3.js +169 -0
  898. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/coordinate3_test.html +204 -0
  899. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/coordinate_test.html +102 -0
  900. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/exponentialbackoff.js +103 -0
  901. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/exponentialbackoff_test.html +67 -0
  902. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/integer.js +737 -0
  903. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/integer_test.html +1653 -0
  904. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/interpolator/interpolator1.js +64 -0
  905. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/interpolator/linear1.js +82 -0
  906. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/interpolator/linear1_test.html +87 -0
  907. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/interpolator/pchip1.js +81 -0
  908. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/interpolator/pchip1_test.html +74 -0
  909. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/interpolator/spline1.js +202 -0
  910. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/interpolator/spline1_test.html +103 -0
  911. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/line.js +177 -0
  912. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/line_test.html +62 -0
  913. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/long.js +802 -0
  914. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/long_test.html +1571 -0
  915. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/math.js +355 -0
  916. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/math_test.html +254 -0
  917. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/matrix.js +670 -0
  918. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/matrix_test.html +427 -0
  919. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/range.js +144 -0
  920. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/range_test.html +103 -0
  921. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/rangeset.js +394 -0
  922. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/rangeset_test.html +664 -0
  923. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/rect.js +341 -0
  924. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/rect_test.html +315 -0
  925. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/size.js +202 -0
  926. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/size_test.html +174 -0
  927. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/tdma.js +73 -0
  928. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/tdma_test.html +33 -0
  929. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/vec2.js +286 -0
  930. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/vec2_test.html +214 -0
  931. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/vec3.js +308 -0
  932. data/lib/middleman-wizard-template/template/closure/library/closure/goog/math/vec3_test.html +221 -0
  933. data/lib/middleman-wizard-template/template/closure/library/closure/goog/memoize/memoize.js +102 -0
  934. data/lib/middleman-wizard-template/template/closure/library/closure/goog/memoize/memoize_test.html +157 -0
  935. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/abstractchannel.js +210 -0
  936. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/abstractchannel_test.html +89 -0
  937. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/bufferedchannel.js +287 -0
  938. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/bufferedchannel_test.html +283 -0
  939. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/deferredchannel.js +98 -0
  940. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/deferredchannel_test.html +113 -0
  941. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/loggerclient.js +131 -0
  942. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/loggerclient_test.html +102 -0
  943. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/loggerserver.js +98 -0
  944. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/loggerserver_test.html +101 -0
  945. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/messagechannel.js +116 -0
  946. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/messaging.js +34 -0
  947. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/messaging_test.html +42 -0
  948. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/multichannel.js +299 -0
  949. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/multichannel_test.html +122 -0
  950. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/portcaller.js +151 -0
  951. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/portcaller_test.html +65 -0
  952. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/portchannel.js +399 -0
  953. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/portchannel_test.html +391 -0
  954. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/portnetwork.js +78 -0
  955. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/portnetwork_test.html +74 -0
  956. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/portoperator.js +197 -0
  957. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/portoperator_test.html +112 -0
  958. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/respondingchannel.js +231 -0
  959. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/respondingchannel_test.html +161 -0
  960. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/testdata/portchannel_inner.html +28 -0
  961. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/testdata/portchannel_worker.js +37 -0
  962. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/testdata/portchannel_wrong_origin_inner.html +29 -0
  963. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/testdata/portnetwork_inner.html +34 -0
  964. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/testdata/portnetwork_worker1.js +32 -0
  965. data/lib/middleman-wizard-template/template/closure/library/closure/goog/messaging/testdata/portnetwork_worker2.js +32 -0
  966. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/abstractmoduleloader.js +56 -0
  967. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/basemodule.js +45 -0
  968. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/loader.js +269 -0
  969. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/module.js +166 -0
  970. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/moduleinfo.js +335 -0
  971. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/moduleinfo_test.html +108 -0
  972. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/moduleloadcallback.js +84 -0
  973. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/moduleloadcallback_test.html +57 -0
  974. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/moduleloader.js +436 -0
  975. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/moduleloader_test.html +436 -0
  976. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/modulemanager.js +1257 -0
  977. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/modulemanager_test.html +2024 -0
  978. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/testdata/modA_1.js +23 -0
  979. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/testdata/modA_2.js +27 -0
  980. data/lib/middleman-wizard-template/template/closure/library/closure/goog/module/testdata/modB_1.js +31 -0
  981. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/browserchannel.js +2657 -0
  982. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/browserchannel_test.html +1308 -0
  983. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/browsertestchannel.js +582 -0
  984. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/bulkloader.js +181 -0
  985. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/bulkloader_test.html +233 -0
  986. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/bulkloaderhelper.js +127 -0
  987. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/channeldebug.js +296 -0
  988. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/channelrequest.js +1213 -0
  989. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/channelrequest_test.html +231 -0
  990. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/cookies.js +371 -0
  991. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/cookies_test.html +266 -0
  992. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/crossdomainrpc.js +849 -0
  993. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/crossdomainrpc_test.css +7 -0
  994. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/crossdomainrpc_test.gif +0 -0
  995. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/crossdomainrpc_test.html +120 -0
  996. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/crossdomainrpc_test_response.html +59 -0
  997. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/errorcode.js +130 -0
  998. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/eventtype.js +37 -0
  999. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/filedownloader.js +741 -0
  1000. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/filedownloader_test.html +372 -0
  1001. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/httpstatus.js +109 -0
  1002. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/iframe_xhr_test.html +147 -0
  1003. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/iframe_xhr_test_response.html +17 -0
  1004. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/iframeio.js +1300 -0
  1005. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/iframeio_different_base_test.data +2 -0
  1006. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/iframeio_different_base_test.html +44 -0
  1007. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/iframeio_test.html +374 -0
  1008. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/iframeloadmonitor.js +200 -0
  1009. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/iframeloadmonitor_test.html +113 -0
  1010. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/iframeloadmonitor_test_frame.html +12 -0
  1011. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/iframeloadmonitor_test_frame2.html +12 -0
  1012. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/iframeloadmonitor_test_frame3.html +12 -0
  1013. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/imageloader.js +292 -0
  1014. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/imageloader_test.html +302 -0
  1015. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/imageloader_testimg1.gif +0 -0
  1016. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/imageloader_testimg2.gif +0 -0
  1017. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/imageloader_testimg3.gif +0 -0
  1018. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/ipaddress.js +511 -0
  1019. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/ipaddress_test.html +227 -0
  1020. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/jsloader.js +363 -0
  1021. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/jsloader_test.html +134 -0
  1022. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/jsonp.js +339 -0
  1023. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/jsonp_test.html +327 -0
  1024. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/mockiframeio.js +318 -0
  1025. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/mockxhrlite.js +34 -0
  1026. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/mockxhrlite_test.html +109 -0
  1027. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/multiiframeloadmonitor.js +116 -0
  1028. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/multiiframeloadmonitor_test.html +172 -0
  1029. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/networktester.js +383 -0
  1030. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/networktester_test.html +227 -0
  1031. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/testdata/jsloader_test1.js +23 -0
  1032. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/testdata/jsloader_test2.js +23 -0
  1033. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/testdata/jsloader_test3.js +23 -0
  1034. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/testdata/jsloader_test4.js +23 -0
  1035. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/tmpnetwork.js +153 -0
  1036. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/websocket.js +504 -0
  1037. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/websocket_test.html +367 -0
  1038. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/wrapperxmlhttpfactory.js +68 -0
  1039. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xhrio.js +1093 -0
  1040. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xhrio_test.html +686 -0
  1041. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xhriopool.js +80 -0
  1042. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xhrlite.js +119 -0
  1043. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xhrlite_test.html +157 -0
  1044. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xhrlitepool.js +37 -0
  1045. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xhrmanager.js +768 -0
  1046. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xhrmanager_test.html +83 -0
  1047. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xmlhttp.js +228 -0
  1048. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xmlhttpfactory.js +64 -0
  1049. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/crosspagechannel.js +790 -0
  1050. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/crosspagechannel_test.html +1024 -0
  1051. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/crosspagechannelrole.js +30 -0
  1052. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/frameelementmethodtransport.js +254 -0
  1053. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/iframepollingtransport.js +897 -0
  1054. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/iframepollingtransport_test.html +295 -0
  1055. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/iframerelaytransport.js +392 -0
  1056. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/nativemessagingtransport.js +647 -0
  1057. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/nativemessagingtransport_test.html +304 -0
  1058. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/nixtransport.js +475 -0
  1059. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/relay.js +72 -0
  1060. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/testdata/access_checker.html +29 -0
  1061. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/testdata/inner_peer.html +96 -0
  1062. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/transport.js +105 -0
  1063. data/lib/middleman-wizard-template/template/closure/library/closure/goog/net/xpc/xpc.js +291 -0
  1064. data/lib/middleman-wizard-template/template/closure/library/closure/goog/object/object.js +614 -0
  1065. data/lib/middleman-wizard-template/template/closure/library/closure/goog/object/object_test.html +466 -0
  1066. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/absoluteposition.js +74 -0
  1067. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/abstractposition.js +48 -0
  1068. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/anchoredposition.js +92 -0
  1069. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/anchoredposition_test.html +77 -0
  1070. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/anchoredviewportposition.js +171 -0
  1071. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/anchoredviewportposition_test.html +132 -0
  1072. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/anchoredviewportposition_test_iframe.html +35 -0
  1073. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/clientposition.js +88 -0
  1074. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/clientposition_test.html +22 -0
  1075. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/clientposition_test.js +122 -0
  1076. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/menuanchoredposition.js +71 -0
  1077. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/menuanchoredposition_test.html +119 -0
  1078. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/positioning.js +545 -0
  1079. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/positioning_test.html +1236 -0
  1080. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/positioning_test_iframe1.html +16 -0
  1081. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/positioning_test_iframe2.html +13 -0
  1082. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/positioning_test_quirk.html +9 -0
  1083. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/positioning_test_standard.html +13 -0
  1084. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/viewportclientposition.js +121 -0
  1085. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/viewportclientposition_test.html +189 -0
  1086. data/lib/middleman-wizard-template/template/closure/library/closure/goog/positioning/viewportposition.js +64 -0
  1087. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto/proto.js +44 -0
  1088. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto/serializer.js +69 -0
  1089. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto/serializer_test.html +43 -0
  1090. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/descriptor.js +200 -0
  1091. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/descriptor_test.html +60 -0
  1092. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/fielddescriptor.js +291 -0
  1093. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/fielddescriptor_test.html +124 -0
  1094. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/lazydeserializer.js +69 -0
  1095. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/message.js +810 -0
  1096. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/message_test.html +460 -0
  1097. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/objectserializer.js +159 -0
  1098. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/objectserializer_test.html +423 -0
  1099. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/package_test.pb.js +165 -0
  1100. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/pbliteserializer.js +193 -0
  1101. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/pbliteserializer_test.html +504 -0
  1102. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/proto_test.html +693 -0
  1103. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/serializer.js +151 -0
  1104. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/test.pb.js +2876 -0
  1105. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/textformatserializer.js +995 -0
  1106. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/textformatserializer_test.html +21 -0
  1107. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/textformatserializer_test.js +628 -0
  1108. data/lib/middleman-wizard-template/template/closure/library/closure/goog/proto2/util.js +54 -0
  1109. data/lib/middleman-wizard-template/template/closure/library/closure/goog/pubsub/pubsub.js +326 -0
  1110. data/lib/middleman-wizard-template/template/closure/library/closure/goog/pubsub/pubsub_perf.html +298 -0
  1111. data/lib/middleman-wizard-template/template/closure/library/closure/goog/pubsub/pubsub_test.html +635 -0
  1112. data/lib/middleman-wizard-template/template/closure/library/closure/goog/reflect/reflect.js +77 -0
  1113. data/lib/middleman-wizard-template/template/closure/library/closure/goog/soy/renderer.js +157 -0
  1114. data/lib/middleman-wizard-template/template/closure/library/closure/goog/soy/renderer_test.html +86 -0
  1115. data/lib/middleman-wizard-template/template/closure/library/closure/goog/soy/soy.js +109 -0
  1116. data/lib/middleman-wizard-template/template/closure/library/closure/goog/soy/soy_test.html +121 -0
  1117. data/lib/middleman-wizard-template/template/closure/library/closure/goog/soy/soy_test.js +99 -0
  1118. data/lib/middleman-wizard-template/template/closure/library/closure/goog/spell/spellcheck.js +475 -0
  1119. data/lib/middleman-wizard-template/template/closure/library/closure/goog/spell/spellcheck_test.html +112 -0
  1120. data/lib/middleman-wizard-template/template/closure/library/closure/goog/stats/basicstat.js +271 -0
  1121. data/lib/middleman-wizard-template/template/closure/library/closure/goog/stats/basicstat_test.html +167 -0
  1122. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/collectablestorage.js +100 -0
  1123. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/collectablestorage_test.html +76 -0
  1124. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/encryptedstorage.js +201 -0
  1125. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/encryptedstorage_test.html +160 -0
  1126. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/errorcode.js +30 -0
  1127. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/expiringstorage.js +142 -0
  1128. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/expiringstorage_test.html +90 -0
  1129. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/errorcode.js +30 -0
  1130. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/html5localstorage.js +45 -0
  1131. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/html5localstorage_test.html +60 -0
  1132. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/html5sessionstorage.js +46 -0
  1133. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/html5sessionstorage_test.html +61 -0
  1134. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/html5webstorage.js +138 -0
  1135. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/ieuserdata.js +283 -0
  1136. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/ieuserdata_test.html +78 -0
  1137. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/iterablemechanism.js +86 -0
  1138. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/iterablemechanism_test.js +117 -0
  1139. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/mechanism.js +56 -0
  1140. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/mechanism_separation_test.js +91 -0
  1141. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/mechanism_sharing_test.js +87 -0
  1142. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/mechanism_test.js +201 -0
  1143. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/mechanismfactory.js +113 -0
  1144. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/mechanismfactory_test.html +58 -0
  1145. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/prefixedmechanism.js +97 -0
  1146. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/mechanism/prefixedmechanism_test.html +66 -0
  1147. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/richstorage.js +149 -0
  1148. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/richstorage_test.html +87 -0
  1149. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/storage.js +103 -0
  1150. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/storage_test.html +55 -0
  1151. data/lib/middleman-wizard-template/template/closure/library/closure/goog/storage/storage_test.js +60 -0
  1152. data/lib/middleman-wizard-template/template/closure/library/closure/goog/string/linkify.js +233 -0
  1153. data/lib/middleman-wizard-template/template/closure/library/closure/goog/string/linkify_test.html +371 -0
  1154. data/lib/middleman-wizard-template/template/closure/library/closure/goog/string/parser.js +37 -0
  1155. data/lib/middleman-wizard-template/template/closure/library/closure/goog/string/path.js +146 -0
  1156. data/lib/middleman-wizard-template/template/closure/library/closure/goog/string/path_test.html +82 -0
  1157. data/lib/middleman-wizard-template/template/closure/library/closure/goog/string/string.js +1297 -0
  1158. data/lib/middleman-wizard-template/template/closure/library/closure/goog/string/string_test.html +1055 -0
  1159. data/lib/middleman-wizard-template/template/closure/library/closure/goog/string/stringbuffer.js +103 -0
  1160. data/lib/middleman-wizard-template/template/closure/library/closure/goog/string/stringbuffer_test.html +101 -0
  1161. data/lib/middleman-wizard-template/template/closure/library/closure/goog/string/stringformat.js +251 -0
  1162. data/lib/middleman-wizard-template/template/closure/library/closure/goog/string/stringformat_test.html +223 -0
  1163. data/lib/middleman-wizard-template/template/closure/library/closure/goog/string/stringifier.js +37 -0
  1164. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/avltree.js +776 -0
  1165. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/avltree_test.html +251 -0
  1166. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/circularbuffer.js +219 -0
  1167. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/circularbuffer_test.html +105 -0
  1168. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/collection.js +55 -0
  1169. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/collection_test.html +57 -0
  1170. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/heap.js +333 -0
  1171. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/heap_test.html +220 -0
  1172. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/inversionmap.js +159 -0
  1173. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/inversionmap_test.html +157 -0
  1174. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/linkedmap.js +473 -0
  1175. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/linkedmap_test.html +300 -0
  1176. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/map.js +449 -0
  1177. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/map_test.html +430 -0
  1178. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/node.js +74 -0
  1179. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/pool.js +381 -0
  1180. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/pool_test.html +291 -0
  1181. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/prioritypool.js +182 -0
  1182. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/prioritypool_test.html +562 -0
  1183. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/priorityqueue.js +64 -0
  1184. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/priorityqueue_test.html +179 -0
  1185. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/quadtree.js +571 -0
  1186. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/quadtree_test.html +179 -0
  1187. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/queue.js +157 -0
  1188. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/queue_test.html +140 -0
  1189. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/set.js +274 -0
  1190. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/set_perf.html +237 -0
  1191. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/set_test.html +581 -0
  1192. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/simplepool.js +205 -0
  1193. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/stringset.js +404 -0
  1194. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/stringset_test.html +251 -0
  1195. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/structs.js +342 -0
  1196. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/structs_test.html +1050 -0
  1197. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/treenode.js +428 -0
  1198. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/treenode_test.html +370 -0
  1199. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/trie.js +368 -0
  1200. data/lib/middleman-wizard-template/template/closure/library/closure/goog/structs/trie_test.html +378 -0
  1201. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/bidi.js +175 -0
  1202. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/bidi_test.html +192 -0
  1203. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/cursor.js +115 -0
  1204. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/cursor_test.html +132 -0
  1205. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/style.js +1906 -0
  1206. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/style_quirks_test.html +2322 -0
  1207. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/style_test.html +2419 -0
  1208. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/style_test.js +78 -0
  1209. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/style_test_iframe_quirk.html +29 -0
  1210. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/style_test_iframe_standard.html +30 -0
  1211. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/style_test_quirk.html +9 -0
  1212. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/style_test_standard.html +11 -0
  1213. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/style_webkit_scrollbars_test.html +80 -0
  1214. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/transition.js +136 -0
  1215. data/lib/middleman-wizard-template/template/closure/library/closure/goog/style/transition_test.html +146 -0
  1216. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/asserts.js +1222 -0
  1217. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/asserts_test.html +1117 -0
  1218. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/async/mockcontrol.js +174 -0
  1219. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/async/mockcontrol_test.html +223 -0
  1220. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/asynctestcase.js +824 -0
  1221. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/asynctestcase_async_test.html +102 -0
  1222. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/asynctestcase_noasync_test.html +98 -0
  1223. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/asynctestcase_test.html +58 -0
  1224. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/benchmark.js +88 -0
  1225. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/benchmarks/jsbinarysizebutton.js +64 -0
  1226. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/benchmarks/jsbinarysizebutton_test.html +58 -0
  1227. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/benchmarks/jsbinarysizetoolbar.js +66 -0
  1228. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/benchmarks/jsbinarysizetoolbar_test.html +49 -0
  1229. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/continuationtestcase.js +689 -0
  1230. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/continuationtestcase_test.html +352 -0
  1231. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/deferredtestcase.js +155 -0
  1232. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/deferredtestcase_test.html +140 -0
  1233. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/dom.js +606 -0
  1234. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/dom_test.html +438 -0
  1235. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/editor/dom.js +293 -0
  1236. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/editor/dom_test.html +295 -0
  1237. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/editor/fieldmock.js +90 -0
  1238. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/editor/testhelper.js +174 -0
  1239. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/editor/testhelper_test.html +177 -0
  1240. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/events/eventobserver.js +86 -0
  1241. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/events/eventobserver_test.html +70 -0
  1242. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/events/events.js +577 -0
  1243. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/events/events_test.html +550 -0
  1244. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/events/matchers.js +41 -0
  1245. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/events/matchers_test.html +40 -0
  1246. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/events/onlinehandler.js +67 -0
  1247. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/events/onlinehandler_test.html +89 -0
  1248. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/expectedfailures.js +236 -0
  1249. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/expectedfailures_test.html +122 -0
  1250. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/blob.js +116 -0
  1251. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/blob_test.html +65 -0
  1252. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/directoryentry_test.html +313 -0
  1253. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/entry.js +668 -0
  1254. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/entry_test.html +227 -0
  1255. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/file.js +52 -0
  1256. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/fileentry_test.html +93 -0
  1257. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/filereader.js +272 -0
  1258. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/filereader_test.html +236 -0
  1259. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/filesystem.js +64 -0
  1260. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/filewriter.js +261 -0
  1261. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/filewriter_test.html +325 -0
  1262. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/fs.js +146 -0
  1263. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/fs_test.html +53 -0
  1264. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/integration_test.html +223 -0
  1265. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/fs/progressevent.js +81 -0
  1266. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/functionmock.js +177 -0
  1267. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/functionmock_test.html +511 -0
  1268. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/graphics.js +64 -0
  1269. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/jsunit.js +148 -0
  1270. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/loosemock.js +240 -0
  1271. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/loosemock_test.html +343 -0
  1272. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/messaging/mockmessagechannel.js +79 -0
  1273. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/messaging/mockmessageevent.js +100 -0
  1274. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/messaging/mockmessageport.js +85 -0
  1275. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/messaging/mockportnetwork.js +65 -0
  1276. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mock.js +619 -0
  1277. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mock_test.html +264 -0
  1278. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockclassfactory.js +580 -0
  1279. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockclassfactory_test.html +241 -0
  1280. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockclock.js +506 -0
  1281. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockclock_test.html +488 -0
  1282. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockcontrol.js +219 -0
  1283. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockcontrol_test.html +127 -0
  1284. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockinterface.js +45 -0
  1285. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockmatchers.js +395 -0
  1286. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockmatchers_test.html +388 -0
  1287. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockrandom.js +126 -0
  1288. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockrandom_test.html +56 -0
  1289. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockrange.js +66 -0
  1290. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockrange_test.html +41 -0
  1291. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockstorage.js +107 -0
  1292. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockstorage_test.html +78 -0
  1293. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockuseragent.js +141 -0
  1294. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/mockuseragent_test.html +59 -0
  1295. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/multitestrunner.js +1440 -0
  1296. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/net/xhrio.js +693 -0
  1297. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/net/xhrio_test.html +384 -0
  1298. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/net/xhriopool.js +61 -0
  1299. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/objectpropertystring.js +67 -0
  1300. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/performancetable.css +46 -0
  1301. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/performancetable.js +190 -0
  1302. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/performancetimer.js +281 -0
  1303. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/performancetimer_test.html +160 -0
  1304. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/propertyreplacer.js +243 -0
  1305. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/propertyreplacer_test.html +368 -0
  1306. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/pseudorandom.js +179 -0
  1307. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/pseudorandom_test.html +98 -0
  1308. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/recordfunction.js +201 -0
  1309. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/recordfunction_test.html +159 -0
  1310. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/shardingtestcase.js +120 -0
  1311. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/shardingtestcase_test.html +34 -0
  1312. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/singleton.js +46 -0
  1313. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/singleton_test.html +39 -0
  1314. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/stacktrace.js +516 -0
  1315. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/stacktrace_test.html +296 -0
  1316. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/storage/fakemechanism.js +66 -0
  1317. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/strictmock.js +128 -0
  1318. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/strictmock_test.html +412 -0
  1319. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/style/layoutasserts.js +310 -0
  1320. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/style/layoutasserts_test.html +269 -0
  1321. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/style/style.js +100 -0
  1322. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/style/style_test.html +162 -0
  1323. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/testcase.js +1197 -0
  1324. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/testqueue.js +66 -0
  1325. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/testrunner.js +404 -0
  1326. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/ui/rendererasserts.js +56 -0
  1327. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/ui/rendererasserts_test.html +52 -0
  1328. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/ui/rendererharness.js +176 -0
  1329. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/ui/style.js +137 -0
  1330. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/ui/style_reference.html +27 -0
  1331. data/lib/middleman-wizard-template/template/closure/library/closure/goog/testing/ui/style_test.html +130 -0
  1332. data/lib/middleman-wizard-template/template/closure/library/closure/goog/timer/timer.js +283 -0
  1333. data/lib/middleman-wizard-template/template/closure/library/closure/goog/timer/timer_test.html +118 -0
  1334. data/lib/middleman-wizard-template/template/closure/library/closure/goog/tweak/entries.js +997 -0
  1335. data/lib/middleman-wizard-template/template/closure/library/closure/goog/tweak/entries_test.html +94 -0
  1336. data/lib/middleman-wizard-template/template/closure/library/closure/goog/tweak/registry.js +310 -0
  1337. data/lib/middleman-wizard-template/template/closure/library/closure/goog/tweak/registry_test.html +144 -0
  1338. data/lib/middleman-wizard-template/template/closure/library/closure/goog/tweak/testhelpers.js +111 -0
  1339. data/lib/middleman-wizard-template/template/closure/library/closure/goog/tweak/tweak.js +318 -0
  1340. data/lib/middleman-wizard-template/template/closure/library/closure/goog/tweak/tweakui.js +817 -0
  1341. data/lib/middleman-wizard-template/template/closure/library/closure/goog/tweak/tweakui_test.html +280 -0
  1342. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/abstractspellchecker.js +1116 -0
  1343. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/ac.js +50 -0
  1344. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/ac_test.html +204 -0
  1345. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/arraymatcher.js +164 -0
  1346. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/arraymatcher_test.html +130 -0
  1347. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/autocomplete.js +736 -0
  1348. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/autocomplete_test.html +779 -0
  1349. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/inputhandler.js +1302 -0
  1350. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/inputhandler_test.html +661 -0
  1351. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/remote.js +114 -0
  1352. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/remotearraymatcher.js +270 -0
  1353. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/remotearraymatcher_test.html +73 -0
  1354. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/renderer.js +936 -0
  1355. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/renderer_test.html +555 -0
  1356. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/renderoptions.js +80 -0
  1357. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/richinputhandler.js +58 -0
  1358. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/richremote.js +107 -0
  1359. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ac/richremotearraymatcher.js +124 -0
  1360. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/activitymonitor.js +300 -0
  1361. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/activitymonitor_test.html +115 -0
  1362. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/advancedtooltip.js +363 -0
  1363. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/advancedtooltip_test.html +296 -0
  1364. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/animatedzippy.js +196 -0
  1365. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/animatedzippy_test.html +137 -0
  1366. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/attachablemenu.js +466 -0
  1367. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/autocomplete/arraymatcher.js +38 -0
  1368. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/autocomplete/autocomplete.js +51 -0
  1369. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/autocomplete/basic.js +61 -0
  1370. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/autocomplete/inputhandler.js +60 -0
  1371. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/autocomplete/remote.js +56 -0
  1372. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/autocomplete/remotearraymatcher.js +38 -0
  1373. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/autocomplete/renderer.js +62 -0
  1374. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/autocomplete/renderoptions.js +35 -0
  1375. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/autocomplete/richinputhandler.js +45 -0
  1376. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/autocomplete/richremote.js +61 -0
  1377. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/autocomplete/richremotearraymatcher.js +43 -0
  1378. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/bidiinput.js +170 -0
  1379. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/bidiinput_test.html +77 -0
  1380. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/bubble.js +475 -0
  1381. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/button.js +210 -0
  1382. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/button_perf.html +176 -0
  1383. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/button_test.html +257 -0
  1384. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/buttonrenderer.js +207 -0
  1385. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/buttonrenderer_test.html +199 -0
  1386. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/buttonside.js +41 -0
  1387. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/charcounter.js +201 -0
  1388. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/charpicker.js +822 -0
  1389. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/checkbox.js +264 -0
  1390. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/checkbox_test.html +370 -0
  1391. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/checkboxmenuitem.js +54 -0
  1392. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/checkboxrenderer.js +171 -0
  1393. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/colorbutton.js +58 -0
  1394. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/colorbutton_test.html +70 -0
  1395. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/colorbuttonrenderer.js +72 -0
  1396. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/colormenubutton.js +216 -0
  1397. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/colormenubuttonrenderer.js +145 -0
  1398. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/colormenubuttonrenderer_test.html +88 -0
  1399. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/colorpalette.js +162 -0
  1400. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/colorpalette_test.html +170 -0
  1401. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/colorpicker.js +345 -0
  1402. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/colorsplitbehavior.js +61 -0
  1403. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/combobox.js +954 -0
  1404. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/combobox_test.html +281 -0
  1405. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/component.js +1244 -0
  1406. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/component_test.html +847 -0
  1407. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/container.js +1310 -0
  1408. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/container_perf.html +55 -0
  1409. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/container_test.html +451 -0
  1410. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/containerrenderer.js +372 -0
  1411. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/containerrenderer_test.html +228 -0
  1412. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/containerscroller.js +222 -0
  1413. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/containerscroller_test.html +214 -0
  1414. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/control.js +1388 -0
  1415. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/control_perf.html +166 -0
  1416. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/control_test.html +2142 -0
  1417. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/controlcontent.js +28 -0
  1418. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/controlrenderer.js +844 -0
  1419. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/controlrenderer_test.html +985 -0
  1420. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/cookieeditor.js +182 -0
  1421. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/cookieeditor_test.html +107 -0
  1422. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/css3buttonrenderer.js +153 -0
  1423. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/css3menubuttonrenderer.js +148 -0
  1424. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/cssnames.js +29 -0
  1425. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/custombutton.js +59 -0
  1426. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/custombuttonrenderer.js +267 -0
  1427. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/customcolorpalette.js +137 -0
  1428. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/customcolorpalette_test.html +60 -0
  1429. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/datepicker.js +1343 -0
  1430. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/datepicker_test.html +231 -0
  1431. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/decorate.js +38 -0
  1432. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/decorate_test.html +114 -0
  1433. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/dialog.js +1548 -0
  1434. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/dialog_test.html +707 -0
  1435. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/dimensionpicker.js +294 -0
  1436. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/dimensionpicker_test.html +156 -0
  1437. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/dimensionpickerrenderer.js +395 -0
  1438. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/dragdropdetector.js +642 -0
  1439. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/drilldownrow.js +494 -0
  1440. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/drilldownrow_test.html +92 -0
  1441. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/abstractdialog.js +443 -0
  1442. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/abstractdialog_test.html +473 -0
  1443. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/bubble.js +521 -0
  1444. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/bubble_test.html +264 -0
  1445. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/defaulttoolbar.js +1064 -0
  1446. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/equationeditordialog.js +123 -0
  1447. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/equationeditorokevent.js +49 -0
  1448. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/linkdialog.js +1049 -0
  1449. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/linkdialog_test.html +604 -0
  1450. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/messages.js +123 -0
  1451. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/tabpane.js +184 -0
  1452. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/toolbarcontroller.js +295 -0
  1453. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/toolbarfactory.js +440 -0
  1454. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/editor/toolbarfactory_test.html +73 -0
  1455. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/emoji/emoji.js +72 -0
  1456. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/emoji/emojipalette.js +289 -0
  1457. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/emoji/emojipaletterenderer.js +207 -0
  1458. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/emoji/emojipicker.js +805 -0
  1459. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/emoji/emojipicker_test.html +840 -0
  1460. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/emoji/fast_nonprogressive_emojipicker_test.html +256 -0
  1461. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/emoji/fast_progressive_emojipicker_test.html +256 -0
  1462. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/emoji/popupemojipicker.js +410 -0
  1463. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/emoji/popupemojipicker_test.html +80 -0
  1464. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/emoji/progressiveemojipaletterenderer.js +97 -0
  1465. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/emoji/spriteinfo.js +212 -0
  1466. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/emoji/spriteinfo_test.html +51 -0
  1467. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/arrowpalette.js +47 -0
  1468. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/changeevent.js +38 -0
  1469. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/comparisonpalette.js +56 -0
  1470. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/editorpane.js +94 -0
  1471. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/equationeditor.js +223 -0
  1472. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/equationeditordialog.js +136 -0
  1473. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/greekpalette.js +75 -0
  1474. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/imagerenderer.js +190 -0
  1475. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/mathpalette.js +55 -0
  1476. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/menupalette.js +86 -0
  1477. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/palette.js +286 -0
  1478. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/palettemanager.js +189 -0
  1479. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/symbolpalette.js +74 -0
  1480. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/texeditor.js +142 -0
  1481. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/equation/texpane.js +445 -0
  1482. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/filteredmenu.js +571 -0
  1483. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/filteredmenu_test.html +301 -0
  1484. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/filterobservingmenuitem.js +98 -0
  1485. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/filterobservingmenuitemrenderer.js +62 -0
  1486. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/flatbuttonrenderer.js +143 -0
  1487. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/flatmenubuttonrenderer.js +204 -0
  1488. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/formpost.js +109 -0
  1489. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/formpost_test.html +105 -0
  1490. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/gauge.js +1007 -0
  1491. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/gaugetheme.js +169 -0
  1492. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/hovercard.js +452 -0
  1493. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/hovercard_test.html +360 -0
  1494. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/hsvapalette.js +297 -0
  1495. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/hsvapalette_test.html +152 -0
  1496. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/hsvpalette.js +485 -0
  1497. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/hsvpalette_test.html +215 -0
  1498. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/idgenerator.js +57 -0
  1499. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/idletimer.js +299 -0
  1500. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/idletimer_test.html +100 -0
  1501. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/iframemask.js +259 -0
  1502. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/iframemask_test.html +230 -0
  1503. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/imagelessbuttonrenderer.js +204 -0
  1504. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/imagelessmenubuttonrenderer.js +208 -0
  1505. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/inputdatepicker.js +305 -0
  1506. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/inputdatepicker_test.html +111 -0
  1507. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/itemevent.js +50 -0
  1508. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/keyboardshortcuthandler.js +1016 -0
  1509. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/keyboardshortcuthandler_test.html +702 -0
  1510. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/labelinput.js +562 -0
  1511. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/labelinput_test.html +213 -0
  1512. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/linkbuttonrenderer.js +67 -0
  1513. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/flashobject.js +629 -0
  1514. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/flashobject_test.html +236 -0
  1515. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/flickr.js +310 -0
  1516. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/flickr_test.html +114 -0
  1517. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/googlevideo.js +282 -0
  1518. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/googlevideo_test.html +105 -0
  1519. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/media.js +286 -0
  1520. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/media_test.html +118 -0
  1521. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/mediamodel.js +960 -0
  1522. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/mediamodel_test.html +108 -0
  1523. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/mp3.js +228 -0
  1524. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/mp3_test.html +78 -0
  1525. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/photo.js +142 -0
  1526. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/photo_test.html +62 -0
  1527. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/picasa.js +323 -0
  1528. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/picasa_test.html +121 -0
  1529. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/vimeo.js +277 -0
  1530. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/vimeo_test.html +102 -0
  1531. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/youtube.js +361 -0
  1532. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/media/youtube_test.html +243 -0
  1533. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menu.js +463 -0
  1534. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menu_test.html +129 -0
  1535. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menubar.js +44 -0
  1536. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menubardecorator.js +34 -0
  1537. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menubarrenderer.js +76 -0
  1538. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menubase.js +191 -0
  1539. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menubutton.js +887 -0
  1540. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menubutton_test.html +586 -0
  1541. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menubutton_test_frame.html +41 -0
  1542. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menubuttonrenderer.js +232 -0
  1543. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menubuttonrenderer_test.html +161 -0
  1544. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menuheader.js +62 -0
  1545. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menuheaderrenderer.js +56 -0
  1546. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menuitem.js +235 -0
  1547. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menuitem_test.html +559 -0
  1548. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menuitemrenderer.js +355 -0
  1549. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menuitemrenderer_test.html +191 -0
  1550. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menurenderer.js +121 -0
  1551. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menuseparator.js +51 -0
  1552. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menuseparatorrenderer.js +113 -0
  1553. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/menuseparatorrenderer_test.html +61 -0
  1554. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/mockactivitymonitor.js +54 -0
  1555. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/modalpopup.js +592 -0
  1556. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/modalpopup_test.html +386 -0
  1557. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/nativebuttonrenderer.js +207 -0
  1558. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/nativebuttonrenderer_test.html +214 -0
  1559. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/offlineinstalldialog.js +1091 -0
  1560. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/offlinestatuscard.js +581 -0
  1561. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/offlinestatuscomponent.js +541 -0
  1562. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/option.js +69 -0
  1563. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/palette.js +538 -0
  1564. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/paletterenderer.js +326 -0
  1565. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/plaintextspellchecker.js +670 -0
  1566. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/plaintextspellchecker_test.html +239 -0
  1567. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/popup.js +346 -0
  1568. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/popup_test.html +137 -0
  1569. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/popupbase.js +809 -0
  1570. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/popupbase_test.html +338 -0
  1571. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/popupcolorpicker.js +442 -0
  1572. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/popupcolorpicker_test.html +71 -0
  1573. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/popupdatepicker.js +274 -0
  1574. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/popupmenu.js +557 -0
  1575. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/popupmenu_test.html +308 -0
  1576. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/progressbar.js +389 -0
  1577. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/prompt.js +408 -0
  1578. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/prompt_test.html +144 -0
  1579. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/rangemodel.js +302 -0
  1580. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/rangemodel_test.html +270 -0
  1581. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/ratings.js +444 -0
  1582. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/registry.js +167 -0
  1583. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/registry_test.html +237 -0
  1584. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/richtextspellchecker.js +629 -0
  1585. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/richtextspellchecker_test.html +247 -0
  1586. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/roundedpanel.js +622 -0
  1587. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/roundedpanel_test.html +57 -0
  1588. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/roundedtabrenderer.js +197 -0
  1589. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/scrollfloater.js +435 -0
  1590. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/scrollfloater_test.html +124 -0
  1591. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/select.js +440 -0
  1592. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/select_test.html +230 -0
  1593. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/selectionmenubutton.js +298 -0
  1594. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/selectionmenubutton_test.html +237 -0
  1595. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/selectionmodel.js +300 -0
  1596. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/selectionmodel_test.html +225 -0
  1597. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/separator.js +76 -0
  1598. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/serverchart.js +1833 -0
  1599. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/serverchart_test.html +638 -0
  1600. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/slider.js +127 -0
  1601. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/sliderbase.js +1499 -0
  1602. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/sliderbase_test.html +689 -0
  1603. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/splitbehavior.js +346 -0
  1604. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/splitbehavior_test.html +161 -0
  1605. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/splitpane.js +859 -0
  1606. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/splitpane_test.html +172 -0
  1607. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/style/app/buttonrenderer.js +202 -0
  1608. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/style/app/buttonrenderer_test.html +155 -0
  1609. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/style/app/menubuttonrenderer.js +234 -0
  1610. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/style/app/menubuttonrenderer_test.html +167 -0
  1611. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/style/app/primaryactionbuttonrenderer.js +88 -0
  1612. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/style/app/primaryactionbuttonrenderer_test.html +76 -0
  1613. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/submenu.js +671 -0
  1614. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/submenu_test.html +536 -0
  1615. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/submenurenderer.js +228 -0
  1616. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tab.js +103 -0
  1617. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tab_test.html +62 -0
  1618. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tabbar.js +394 -0
  1619. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tabbar_test.html +612 -0
  1620. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tabbarrenderer.js +175 -0
  1621. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tabbarrenderer_test.html +138 -0
  1622. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tablesorter.js +326 -0
  1623. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tablesorter_test.html +197 -0
  1624. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tabpane.js +675 -0
  1625. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tabpane_test.html +107 -0
  1626. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tabrenderer.js +153 -0
  1627. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tabrenderer_test.html +133 -0
  1628. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/textarea.js +588 -0
  1629. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/textarea_test.html +316 -0
  1630. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/textarearenderer.js +168 -0
  1631. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/togglebutton.js +59 -0
  1632. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/toolbar.js +46 -0
  1633. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/toolbarbutton.js +56 -0
  1634. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/toolbarbuttonrenderer.js +57 -0
  1635. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/toolbarcolormenubutton.js +59 -0
  1636. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/toolbarcolormenubuttonrenderer.js +99 -0
  1637. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/toolbarcolormenubuttonrenderer_test.html +66 -0
  1638. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/toolbarmenubutton.js +58 -0
  1639. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/toolbarmenubuttonrenderer.js +57 -0
  1640. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/toolbarrenderer.js +99 -0
  1641. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/toolbarselect.js +57 -0
  1642. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/toolbarseparator.js +53 -0
  1643. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/toolbarseparatorrenderer.js +91 -0
  1644. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/toolbartogglebutton.js +55 -0
  1645. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tooltip.js +999 -0
  1646. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tooltip_test.html +380 -0
  1647. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tree/basenode.js +1451 -0
  1648. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tree/basenode_test.html +232 -0
  1649. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tree/treecontrol.js +662 -0
  1650. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tree/treecontrol_test.html +113 -0
  1651. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tree/treenode.js +104 -0
  1652. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tree/typeahead.js +332 -0
  1653. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tree/typeahead_test.html +133 -0
  1654. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tristatemenuitem.js +186 -0
  1655. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/tristatemenuitemrenderer.js +84 -0
  1656. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/twothumbslider.js +157 -0
  1657. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/twothumbslider_test.html +39 -0
  1658. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/zippy.js +443 -0
  1659. data/lib/middleman-wizard-template/template/closure/library/closure/goog/ui/zippy_test.html +285 -0
  1660. data/lib/middleman-wizard-template/template/closure/library/closure/goog/uri/uri.js +1499 -0
  1661. data/lib/middleman-wizard-template/template/closure/library/closure/goog/uri/uri_test.html +1043 -0
  1662. data/lib/middleman-wizard-template/template/closure/library/closure/goog/uri/utils.js +999 -0
  1663. data/lib/middleman-wizard-template/template/closure/library/closure/goog/uri/utils_test.html +544 -0
  1664. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/adobereader.js +90 -0
  1665. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/adobereader_test.html +34 -0
  1666. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/flash.js +153 -0
  1667. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/flash_test.html +34 -0
  1668. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/iphoto.js +87 -0
  1669. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/jscript.js +95 -0
  1670. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/jscript_test.html +65 -0
  1671. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/picasa.js +112 -0
  1672. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/platform.js +73 -0
  1673. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/platform_test.html +115 -0
  1674. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/product.js +253 -0
  1675. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/product_isversion.js +140 -0
  1676. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/product_test.html +372 -0
  1677. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/useragent.js +499 -0
  1678. data/lib/middleman-wizard-template/template/closure/library/closure/goog/useragent/useragent_test.html +291 -0
  1679. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/float32array.js +110 -0
  1680. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/float32array_test.html +69 -0
  1681. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/float64array.js +110 -0
  1682. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/float64array_test.html +69 -0
  1683. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/mat3.js +1212 -0
  1684. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/mat3_test.html +465 -0
  1685. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/mat4.js +1822 -0
  1686. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/mat4_test.html +781 -0
  1687. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/matrix3.js +722 -0
  1688. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/matrix3_test.html +301 -0
  1689. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/matrix4.js +1405 -0
  1690. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/matrix4_test.html +626 -0
  1691. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/quaternion.js +458 -0
  1692. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/quaternion_test.html +195 -0
  1693. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/ray.js +94 -0
  1694. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/ray_test.html +66 -0
  1695. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/vec.js +65 -0
  1696. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/vec2.js +375 -0
  1697. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/vec2_test.html +216 -0
  1698. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/vec3.js +473 -0
  1699. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/vec3_test.html +258 -0
  1700. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/vec4.js +405 -0
  1701. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/vec4_test.html +192 -0
  1702. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/vec_array_perf.html +443 -0
  1703. data/lib/middleman-wizard-template/template/closure/library/closure/goog/vec/vec_perf.html +101 -0
  1704. data/lib/middleman-wizard-template/template/closure/library/closure/goog/webgl/webgl.js +2194 -0
  1705. data/lib/middleman-wizard-template/template/closure/library/closure/goog/window/window.js +233 -0
  1706. data/lib/middleman-wizard-template/template/closure/library/closure/goog/window/window_test.html +239 -0
  1707. data/lib/middleman-wizard-template/template/closure/library/closure/known_issues/testdata/closure_library_warnings.txt +61 -0
  1708. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/base.js +2 -0
  1709. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/caja/string/html/htmlparser.js +611 -0
  1710. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/caja/string/html/htmlsanitizer.js +605 -0
  1711. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/deps.js +20 -0
  1712. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/dojo/dom/query.js +1535 -0
  1713. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/dojo/dom/query_test.html +62 -0
  1714. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/dojo/dom/query_test.js +162 -0
  1715. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/jpeg_encoder/jpeg_encoder_basic.js +751 -0
  1716. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/loremipsum/text/loremipsum.js +712 -0
  1717. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/loremipsum/text/loremipsum_test.html +60 -0
  1718. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/mochikit/async/deferred.js +652 -0
  1719. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/mochikit/async/deferred_test.html +827 -0
  1720. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/mochikit/async/deferredlist.js +200 -0
  1721. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/mochikit/async/deferredlist_test.html +426 -0
  1722. data/lib/middleman-wizard-template/template/closure/library/third_party/closure/goog/osapi/osapi.js +95 -0
  1723. data/lib/middleman-wizard-template/template/config.tt +0 -0
  1724. data/lib/middleman-wizard-template/template/shared/Gemfile.tt +3 -0
  1725. data/lib/middleman-wizard-template/template/source/index.html.erb +89 -0
  1726. data/lib/middleman-wizard-template/template/source/javascripts/_lib/Transform.js +401 -0
  1727. data/lib/middleman-wizard-template/template/source/javascripts/_lib/Tween.js +704 -0
  1728. data/lib/middleman-wizard-template/template/source/javascripts/_lib/asset_loader.js +492 -0
  1729. data/lib/middleman-wizard-template/template/source/javascripts/_lib/raf.js +26 -0
  1730. data/lib/middleman-wizard-template/template/source/javascripts/_lib/router.js +679 -0
  1731. data/lib/middleman-wizard-template/template/source/javascripts/_lib/util.js +284 -0
  1732. data/lib/middleman-wizard-template/template/source/javascripts/app.js +26 -0
  1733. data/lib/middleman-wizard-template/template/source/javascripts/modernizr.js +4 -0
  1734. data/lib/middleman-wizard-template/template/source/stylesheets/default.css +1 -0
  1735. data/lib/middleman-wizard-template/template/source/stylesheets/site.css.scss +6 -0
  1736. data/lib/middleman-wizard-template/version.rb +5 -0
  1737. data/lib/middleman_extension.rb +1 -0
  1738. data/middleman-wizard-template.gemspec +22 -0
  1739. metadata +1804 -0
@@ -0,0 +1,2683 @@
1
+ // Copyright 2006 The Closure Library Authors. All Rights Reserved.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS-IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ /**
16
+ * @fileoverview Utilities for manipulating the browser's Document Object Model
17
+ * Inspiration taken *heavily* from mochikit (http://mochikit.com/).
18
+ *
19
+ * You can use {@link goog.dom.DomHelper} to create new dom helpers that refer
20
+ * to a different document object. This is useful if you are working with
21
+ * frames or multiple windows.
22
+ *
23
+ */
24
+
25
+
26
+ // TODO(arv): Rename/refactor getTextContent and getRawTextContent. The problem
27
+ // is that getTextContent should mimic the DOM3 textContent. We should add a
28
+ // getInnerText (or getText) which tries to return the visible text, innerText.
29
+
30
+
31
+ goog.provide('goog.dom');
32
+ goog.provide('goog.dom.DomHelper');
33
+ goog.provide('goog.dom.NodeType');
34
+
35
+ goog.require('goog.array');
36
+ goog.require('goog.dom.BrowserFeature');
37
+ goog.require('goog.dom.TagName');
38
+ goog.require('goog.dom.classes');
39
+ goog.require('goog.math.Coordinate');
40
+ goog.require('goog.math.Size');
41
+ goog.require('goog.object');
42
+ goog.require('goog.string');
43
+ goog.require('goog.userAgent');
44
+
45
+
46
+ /**
47
+ * @define {boolean} Whether we know at compile time that the browser is in
48
+ * quirks mode.
49
+ */
50
+ goog.dom.ASSUME_QUIRKS_MODE = false;
51
+
52
+
53
+ /**
54
+ * @define {boolean} Whether we know at compile time that the browser is in
55
+ * standards compliance mode.
56
+ */
57
+ goog.dom.ASSUME_STANDARDS_MODE = false;
58
+
59
+
60
+ /**
61
+ * Whether we know the compatibility mode at compile time.
62
+ * @type {boolean}
63
+ * @private
64
+ */
65
+ goog.dom.COMPAT_MODE_KNOWN_ =
66
+ goog.dom.ASSUME_QUIRKS_MODE || goog.dom.ASSUME_STANDARDS_MODE;
67
+
68
+
69
+ /**
70
+ * Enumeration for DOM node types (for reference)
71
+ * @enum {number}
72
+ */
73
+ goog.dom.NodeType = {
74
+ ELEMENT: 1,
75
+ ATTRIBUTE: 2,
76
+ TEXT: 3,
77
+ CDATA_SECTION: 4,
78
+ ENTITY_REFERENCE: 5,
79
+ ENTITY: 6,
80
+ PROCESSING_INSTRUCTION: 7,
81
+ COMMENT: 8,
82
+ DOCUMENT: 9,
83
+ DOCUMENT_TYPE: 10,
84
+ DOCUMENT_FRAGMENT: 11,
85
+ NOTATION: 12
86
+ };
87
+
88
+
89
+ /**
90
+ * Gets the DomHelper object for the document where the element resides.
91
+ * @param {(Node|Window)=} opt_element If present, gets the DomHelper for this
92
+ * element.
93
+ * @return {!goog.dom.DomHelper} The DomHelper.
94
+ */
95
+ goog.dom.getDomHelper = function(opt_element) {
96
+ return opt_element ?
97
+ new goog.dom.DomHelper(goog.dom.getOwnerDocument(opt_element)) :
98
+ (goog.dom.defaultDomHelper_ ||
99
+ (goog.dom.defaultDomHelper_ = new goog.dom.DomHelper()));
100
+ };
101
+
102
+
103
+ /**
104
+ * Cached default DOM helper.
105
+ * @type {goog.dom.DomHelper}
106
+ * @private
107
+ */
108
+ goog.dom.defaultDomHelper_;
109
+
110
+
111
+ /**
112
+ * Gets the document object being used by the dom library.
113
+ * @return {!Document} Document object.
114
+ */
115
+ goog.dom.getDocument = function() {
116
+ return document;
117
+ };
118
+
119
+
120
+ /**
121
+ * Alias for getElementById. If a DOM node is passed in then we just return
122
+ * that.
123
+ * @param {string|Element} element Element ID or a DOM node.
124
+ * @return {Element} The element with the given ID, or the node passed in.
125
+ */
126
+ goog.dom.getElement = function(element) {
127
+ return goog.isString(element) ?
128
+ document.getElementById(element) : element;
129
+ };
130
+
131
+
132
+ /**
133
+ * Alias for getElement.
134
+ * @param {string|Element} element Element ID or a DOM node.
135
+ * @return {Element} The element with the given ID, or the node passed in.
136
+ * @deprecated Use {@link goog.dom.getElement} instead.
137
+ */
138
+ goog.dom.$ = goog.dom.getElement;
139
+
140
+
141
+ /**
142
+ * Looks up elements by both tag and class name, using browser native functions
143
+ * ({@code querySelectorAll}, {@code getElementsByTagName} or
144
+ * {@code getElementsByClassName}) where possible. This function
145
+ * is a useful, if limited, way of collecting a list of DOM elements
146
+ * with certain characteristics. {@code goog.dom.query} offers a
147
+ * more powerful and general solution which allows matching on CSS3
148
+ * selector expressions, but at increased cost in code size. If all you
149
+ * need is particular tags belonging to a single class, this function
150
+ * is fast and sleek.
151
+ *
152
+ * @see {goog.dom.query}
153
+ *
154
+ * @param {?string=} opt_tag Element tag name.
155
+ * @param {?string=} opt_class Optional class name.
156
+ * @param {(Document|Element)=} opt_el Optional element to look in.
157
+ * @return { {length: number} } Array-like list of elements (only a length
158
+ * property and numerical indices are guaranteed to exist).
159
+ */
160
+ goog.dom.getElementsByTagNameAndClass = function(opt_tag, opt_class, opt_el) {
161
+ return goog.dom.getElementsByTagNameAndClass_(document, opt_tag, opt_class,
162
+ opt_el);
163
+ };
164
+
165
+
166
+ /**
167
+ * Returns an array of all the elements with the provided className.
168
+ * @see {goog.dom.query}
169
+ * @param {string} className the name of the class to look for.
170
+ * @param {(Document|Element)=} opt_el Optional element to look in.
171
+ * @return { {length: number} } The items found with the class name provided.
172
+ */
173
+ goog.dom.getElementsByClass = function(className, opt_el) {
174
+ var parent = opt_el || document;
175
+ if (goog.dom.canUseQuerySelector_(parent)) {
176
+ return parent.querySelectorAll('.' + className);
177
+ } else if (parent.getElementsByClassName) {
178
+ return parent.getElementsByClassName(className);
179
+ }
180
+ return goog.dom.getElementsByTagNameAndClass_(
181
+ document, '*', className, opt_el);
182
+ };
183
+
184
+
185
+ /**
186
+ * Returns the first element with the provided className.
187
+ * @see {goog.dom.query}
188
+ * @param {string} className the name of the class to look for.
189
+ * @param {Element|Document=} opt_el Optional element to look in.
190
+ * @return {Element} The first item with the class name provided.
191
+ */
192
+ goog.dom.getElementByClass = function(className, opt_el) {
193
+ var parent = opt_el || document;
194
+ var retVal = null;
195
+ if (goog.dom.canUseQuerySelector_(parent)) {
196
+ retVal = parent.querySelector('.' + className);
197
+ } else {
198
+ retVal = goog.dom.getElementsByClass(className, opt_el)[0];
199
+ }
200
+ return retVal || null;
201
+ };
202
+
203
+
204
+ /**
205
+ * Prefer the standardized (http://www.w3.org/TR/selectors-api/), native and
206
+ * fast W3C Selectors API.
207
+ * @param {!(Element|Document)} parent The parent document object.
208
+ * @return {boolean} whether or not we can use parent.querySelector* APIs.
209
+ * @private
210
+ */
211
+ goog.dom.canUseQuerySelector_ = function(parent) {
212
+ return !!(parent.querySelectorAll && parent.querySelector);
213
+ };
214
+
215
+
216
+ /**
217
+ * Helper for {@code getElementsByTagNameAndClass}.
218
+ * @param {!Document} doc The document to get the elements in.
219
+ * @param {?string=} opt_tag Element tag name.
220
+ * @param {?string=} opt_class Optional class name.
221
+ * @param {(Document|Element)=} opt_el Optional element to look in.
222
+ * @return { {length: number} } Array-like list of elements (only a length
223
+ * property and numerical indices are guaranteed to exist).
224
+ * @private
225
+ */
226
+ goog.dom.getElementsByTagNameAndClass_ = function(doc, opt_tag, opt_class,
227
+ opt_el) {
228
+ var parent = opt_el || doc;
229
+ var tagName = (opt_tag && opt_tag != '*') ? opt_tag.toUpperCase() : '';
230
+
231
+ if (goog.dom.canUseQuerySelector_(parent) &&
232
+ (tagName || opt_class)) {
233
+ var query = tagName + (opt_class ? '.' + opt_class : '');
234
+ return parent.querySelectorAll(query);
235
+ }
236
+
237
+ // Use the native getElementsByClassName if available, under the assumption
238
+ // that even when the tag name is specified, there will be fewer elements to
239
+ // filter through when going by class than by tag name
240
+ if (opt_class && parent.getElementsByClassName) {
241
+ var els = parent.getElementsByClassName(opt_class);
242
+
243
+ if (tagName) {
244
+ var arrayLike = {};
245
+ var len = 0;
246
+
247
+ // Filter for specific tags if requested.
248
+ for (var i = 0, el; el = els[i]; i++) {
249
+ if (tagName == el.nodeName) {
250
+ arrayLike[len++] = el;
251
+ }
252
+ }
253
+ arrayLike.length = len;
254
+
255
+ return arrayLike;
256
+ } else {
257
+ return els;
258
+ }
259
+ }
260
+
261
+ var els = parent.getElementsByTagName(tagName || '*');
262
+
263
+ if (opt_class) {
264
+ var arrayLike = {};
265
+ var len = 0;
266
+ for (var i = 0, el; el = els[i]; i++) {
267
+ var className = el.className;
268
+ // Check if className has a split function since SVG className does not.
269
+ if (typeof className.split == 'function' &&
270
+ goog.array.contains(className.split(/\s+/), opt_class)) {
271
+ arrayLike[len++] = el;
272
+ }
273
+ }
274
+ arrayLike.length = len;
275
+ return arrayLike;
276
+ } else {
277
+ return els;
278
+ }
279
+ };
280
+
281
+
282
+ /**
283
+ * Alias for {@code getElementsByTagNameAndClass}.
284
+ * @param {?string=} opt_tag Element tag name.
285
+ * @param {?string=} opt_class Optional class name.
286
+ * @param {Element=} opt_el Optional element to look in.
287
+ * @return { {length: number} } Array-like list of elements (only a length
288
+ * property and numerical indices are guaranteed to exist).
289
+ * @deprecated Use {@link goog.dom.getElementsByTagNameAndClass} instead.
290
+ */
291
+ goog.dom.$$ = goog.dom.getElementsByTagNameAndClass;
292
+
293
+
294
+ /**
295
+ * Sets multiple properties on a node.
296
+ * @param {Element} element DOM node to set properties on.
297
+ * @param {Object} properties Hash of property:value pairs.
298
+ */
299
+ goog.dom.setProperties = function(element, properties) {
300
+ goog.object.forEach(properties, function(val, key) {
301
+ if (key == 'style') {
302
+ element.style.cssText = val;
303
+ } else if (key == 'class') {
304
+ element.className = val;
305
+ } else if (key == 'for') {
306
+ element.htmlFor = val;
307
+ } else if (key in goog.dom.DIRECT_ATTRIBUTE_MAP_) {
308
+ element.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[key], val);
309
+ } else if (goog.string.startsWith(key, 'aria-') ||
310
+ goog.string.startsWith(key, 'data-')) {
311
+ element.setAttribute(key, val);
312
+ } else {
313
+ element[key] = val;
314
+ }
315
+ });
316
+ };
317
+
318
+
319
+ /**
320
+ * Map of attributes that should be set using
321
+ * element.setAttribute(key, val) instead of element[key] = val. Used
322
+ * by goog.dom.setProperties.
323
+ *
324
+ * @type {Object}
325
+ * @private
326
+ */
327
+ goog.dom.DIRECT_ATTRIBUTE_MAP_ = {
328
+ 'cellpadding': 'cellPadding',
329
+ 'cellspacing': 'cellSpacing',
330
+ 'colspan': 'colSpan',
331
+ 'frameborder': 'frameBorder',
332
+ 'height': 'height',
333
+ 'maxlength': 'maxLength',
334
+ 'role': 'role',
335
+ 'rowspan': 'rowSpan',
336
+ 'type': 'type',
337
+ 'usemap': 'useMap',
338
+ 'valign': 'vAlign',
339
+ 'width': 'width'
340
+ };
341
+
342
+
343
+ /**
344
+ * Gets the dimensions of the viewport.
345
+ *
346
+ * Gecko Standards mode:
347
+ * docEl.clientWidth Width of viewport excluding scrollbar.
348
+ * win.innerWidth Width of viewport including scrollbar.
349
+ * body.clientWidth Width of body element.
350
+ *
351
+ * docEl.clientHeight Height of viewport excluding scrollbar.
352
+ * win.innerHeight Height of viewport including scrollbar.
353
+ * body.clientHeight Height of document.
354
+ *
355
+ * Gecko Backwards compatible mode:
356
+ * docEl.clientWidth Width of viewport excluding scrollbar.
357
+ * win.innerWidth Width of viewport including scrollbar.
358
+ * body.clientWidth Width of viewport excluding scrollbar.
359
+ *
360
+ * docEl.clientHeight Height of document.
361
+ * win.innerHeight Height of viewport including scrollbar.
362
+ * body.clientHeight Height of viewport excluding scrollbar.
363
+ *
364
+ * IE6/7 Standards mode:
365
+ * docEl.clientWidth Width of viewport excluding scrollbar.
366
+ * win.innerWidth Undefined.
367
+ * body.clientWidth Width of body element.
368
+ *
369
+ * docEl.clientHeight Height of viewport excluding scrollbar.
370
+ * win.innerHeight Undefined.
371
+ * body.clientHeight Height of document element.
372
+ *
373
+ * IE5 + IE6/7 Backwards compatible mode:
374
+ * docEl.clientWidth 0.
375
+ * win.innerWidth Undefined.
376
+ * body.clientWidth Width of viewport excluding scrollbar.
377
+ *
378
+ * docEl.clientHeight 0.
379
+ * win.innerHeight Undefined.
380
+ * body.clientHeight Height of viewport excluding scrollbar.
381
+ *
382
+ * Opera 9 Standards and backwards compatible mode:
383
+ * docEl.clientWidth Width of viewport excluding scrollbar.
384
+ * win.innerWidth Width of viewport including scrollbar.
385
+ * body.clientWidth Width of viewport excluding scrollbar.
386
+ *
387
+ * docEl.clientHeight Height of document.
388
+ * win.innerHeight Height of viewport including scrollbar.
389
+ * body.clientHeight Height of viewport excluding scrollbar.
390
+ *
391
+ * WebKit:
392
+ * Safari 2
393
+ * docEl.clientHeight Same as scrollHeight.
394
+ * docEl.clientWidth Same as innerWidth.
395
+ * win.innerWidth Width of viewport excluding scrollbar.
396
+ * win.innerHeight Height of the viewport including scrollbar.
397
+ * frame.innerHeight Height of the viewport exluding scrollbar.
398
+ *
399
+ * Safari 3 (tested in 522)
400
+ *
401
+ * docEl.clientWidth Width of viewport excluding scrollbar.
402
+ * docEl.clientHeight Height of viewport excluding scrollbar in strict mode.
403
+ * body.clientHeight Height of viewport excluding scrollbar in quirks mode.
404
+ *
405
+ * @param {Window=} opt_window Optional window element to test.
406
+ * @return {!goog.math.Size} Object with values 'width' and 'height'.
407
+ */
408
+ goog.dom.getViewportSize = function(opt_window) {
409
+ // TODO(arv): This should not take an argument
410
+ return goog.dom.getViewportSize_(opt_window || window);
411
+ };
412
+
413
+
414
+ /**
415
+ * Helper for {@code getViewportSize}.
416
+ * @param {Window} win The window to get the view port size for.
417
+ * @return {!goog.math.Size} Object with values 'width' and 'height'.
418
+ * @private
419
+ */
420
+ goog.dom.getViewportSize_ = function(win) {
421
+ var doc = win.document;
422
+ var el = goog.dom.isCss1CompatMode_(doc) ? doc.documentElement : doc.body;
423
+ return new goog.math.Size(el.clientWidth, el.clientHeight);
424
+ };
425
+
426
+
427
+ /**
428
+ * Calculates the height of the document.
429
+ *
430
+ * @return {number} The height of the current document.
431
+ */
432
+ goog.dom.getDocumentHeight = function() {
433
+ return goog.dom.getDocumentHeight_(window);
434
+ };
435
+
436
+
437
+ /**
438
+ * Calculates the height of the document of the given window.
439
+ *
440
+ * Function code copied from the opensocial gadget api:
441
+ * gadgets.window.adjustHeight(opt_height)
442
+ *
443
+ * @private
444
+ * @param {Window} win The window whose document height to retrieve.
445
+ * @return {number} The height of the document of the given window.
446
+ */
447
+ goog.dom.getDocumentHeight_ = function(win) {
448
+ // NOTE(eae): This method will return the window size rather than the document
449
+ // size in webkit quirks mode.
450
+ var doc = win.document;
451
+ var height = 0;
452
+
453
+ if (doc) {
454
+ // Calculating inner content height is hard and different between
455
+ // browsers rendering in Strict vs. Quirks mode. We use a combination of
456
+ // three properties within document.body and document.documentElement:
457
+ // - scrollHeight
458
+ // - offsetHeight
459
+ // - clientHeight
460
+ // These values differ significantly between browsers and rendering modes.
461
+ // But there are patterns. It just takes a lot of time and persistence
462
+ // to figure out.
463
+
464
+ // Get the height of the viewport
465
+ var vh = goog.dom.getViewportSize_(win).height;
466
+ var body = doc.body;
467
+ var docEl = doc.documentElement;
468
+ if (goog.dom.isCss1CompatMode_(doc) && docEl.scrollHeight) {
469
+ // In Strict mode:
470
+ // The inner content height is contained in either:
471
+ // document.documentElement.scrollHeight
472
+ // document.documentElement.offsetHeight
473
+ // Based on studying the values output by different browsers,
474
+ // use the value that's NOT equal to the viewport height found above.
475
+ height = docEl.scrollHeight != vh ?
476
+ docEl.scrollHeight : docEl.offsetHeight;
477
+ } else {
478
+ // In Quirks mode:
479
+ // documentElement.clientHeight is equal to documentElement.offsetHeight
480
+ // except in IE. In most browsers, document.documentElement can be used
481
+ // to calculate the inner content height.
482
+ // However, in other browsers (e.g. IE), document.body must be used
483
+ // instead. How do we know which one to use?
484
+ // If document.documentElement.clientHeight does NOT equal
485
+ // document.documentElement.offsetHeight, then use document.body.
486
+ var sh = docEl.scrollHeight;
487
+ var oh = docEl.offsetHeight;
488
+ if (docEl.clientHeight != oh) {
489
+ sh = body.scrollHeight;
490
+ oh = body.offsetHeight;
491
+ }
492
+
493
+ // Detect whether the inner content height is bigger or smaller
494
+ // than the bounding box (viewport). If bigger, take the larger
495
+ // value. If smaller, take the smaller value.
496
+ if (sh > vh) {
497
+ // Content is larger
498
+ height = sh > oh ? sh : oh;
499
+ } else {
500
+ // Content is smaller
501
+ height = sh < oh ? sh : oh;
502
+ }
503
+ }
504
+ }
505
+
506
+ return height;
507
+ };
508
+
509
+
510
+ /**
511
+ * Gets the page scroll distance as a coordinate object.
512
+ *
513
+ * @param {Window=} opt_window Optional window element to test.
514
+ * @return {!goog.math.Coordinate} Object with values 'x' and 'y'.
515
+ * @deprecated Use {@link goog.dom.getDocumentScroll} instead.
516
+ */
517
+ goog.dom.getPageScroll = function(opt_window) {
518
+ var win = opt_window || goog.global || window;
519
+ return goog.dom.getDomHelper(win.document).getDocumentScroll();
520
+ };
521
+
522
+
523
+ /**
524
+ * Gets the document scroll distance as a coordinate object.
525
+ *
526
+ * @return {!goog.math.Coordinate} Object with values 'x' and 'y'.
527
+ */
528
+ goog.dom.getDocumentScroll = function() {
529
+ return goog.dom.getDocumentScroll_(document);
530
+ };
531
+
532
+
533
+ /**
534
+ * Helper for {@code getDocumentScroll}.
535
+ *
536
+ * @param {!Document} doc The document to get the scroll for.
537
+ * @return {!goog.math.Coordinate} Object with values 'x' and 'y'.
538
+ * @private
539
+ */
540
+ goog.dom.getDocumentScroll_ = function(doc) {
541
+ var el = goog.dom.getDocumentScrollElement_(doc);
542
+ var win = goog.dom.getWindow_(doc);
543
+ return new goog.math.Coordinate(win.pageXOffset || el.scrollLeft,
544
+ win.pageYOffset || el.scrollTop);
545
+ };
546
+
547
+
548
+ /**
549
+ * Gets the document scroll element.
550
+ * @return {Element} Scrolling element.
551
+ */
552
+ goog.dom.getDocumentScrollElement = function() {
553
+ return goog.dom.getDocumentScrollElement_(document);
554
+ };
555
+
556
+
557
+ /**
558
+ * Helper for {@code getDocumentScrollElement}.
559
+ * @param {!Document} doc The document to get the scroll element for.
560
+ * @return {Element} Scrolling element.
561
+ * @private
562
+ */
563
+ goog.dom.getDocumentScrollElement_ = function(doc) {
564
+ // Safari (2 and 3) needs body.scrollLeft in both quirks mode and strict mode.
565
+ return !goog.userAgent.WEBKIT && goog.dom.isCss1CompatMode_(doc) ?
566
+ doc.documentElement : doc.body;
567
+ };
568
+
569
+
570
+ /**
571
+ * Gets the window object associated with the given document.
572
+ *
573
+ * @param {Document=} opt_doc Document object to get window for.
574
+ * @return {!Window} The window associated with the given document.
575
+ */
576
+ goog.dom.getWindow = function(opt_doc) {
577
+ // TODO(arv): This should not take an argument.
578
+ return opt_doc ? goog.dom.getWindow_(opt_doc) : window;
579
+ };
580
+
581
+
582
+ /**
583
+ * Helper for {@code getWindow}.
584
+ *
585
+ * @param {!Document} doc Document object to get window for.
586
+ * @return {!Window} The window associated with the given document.
587
+ * @private
588
+ */
589
+ goog.dom.getWindow_ = function(doc) {
590
+ return doc.parentWindow || doc.defaultView;
591
+ };
592
+
593
+
594
+ /**
595
+ * Returns a dom node with a set of attributes. This function accepts varargs
596
+ * for subsequent nodes to be added. Subsequent nodes will be added to the
597
+ * first node as childNodes.
598
+ *
599
+ * So:
600
+ * <code>createDom('div', null, createDom('p'), createDom('p'));</code>
601
+ * would return a div with two child paragraphs
602
+ *
603
+ * @param {string} tagName Tag to create.
604
+ * @param {(Object|Array.<string>|string)=} opt_attributes If object, then a map
605
+ * of name-value pairs for attributes. If a string, then this is the
606
+ * className of the new element. If an array, the elements will be joined
607
+ * together as the className of the new element.
608
+ * @param {...(Object|string|Array|NodeList)} var_args Further DOM nodes or
609
+ * strings for text nodes. If one of the var_args is an array or NodeList,i
610
+ * its elements will be added as childNodes instead.
611
+ * @return {!Element} Reference to a DOM node.
612
+ */
613
+ goog.dom.createDom = function(tagName, opt_attributes, var_args) {
614
+ return goog.dom.createDom_(document, arguments);
615
+ };
616
+
617
+
618
+ /**
619
+ * Helper for {@code createDom}.
620
+ * @param {!Document} doc The document to create the DOM in.
621
+ * @param {!Arguments} args Argument object passed from the callers. See
622
+ * {@code goog.dom.createDom} for details.
623
+ * @return {!Element} Reference to a DOM node.
624
+ * @private
625
+ */
626
+ goog.dom.createDom_ = function(doc, args) {
627
+ var tagName = args[0];
628
+ var attributes = args[1];
629
+
630
+ // Internet Explorer is dumb: http://msdn.microsoft.com/workshop/author/
631
+ // dhtml/reference/properties/name_2.asp
632
+ // Also does not allow setting of 'type' attribute on 'input' or 'button'.
633
+ if (!goog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES && attributes &&
634
+ (attributes.name || attributes.type)) {
635
+ var tagNameArr = ['<', tagName];
636
+ if (attributes.name) {
637
+ tagNameArr.push(' name="', goog.string.htmlEscape(attributes.name),
638
+ '"');
639
+ }
640
+ if (attributes.type) {
641
+ tagNameArr.push(' type="', goog.string.htmlEscape(attributes.type),
642
+ '"');
643
+
644
+ // Clone attributes map to remove 'type' without mutating the input.
645
+ var clone = {};
646
+ goog.object.extend(clone, attributes);
647
+
648
+ // JSCompiler can't see how goog.object.extend added this property,
649
+ // because it was essentially added by reflection.
650
+ // So it needs to be quoted.
651
+ delete clone['type'];
652
+
653
+ attributes = clone;
654
+ }
655
+ tagNameArr.push('>');
656
+ tagName = tagNameArr.join('');
657
+ }
658
+
659
+ var element = doc.createElement(tagName);
660
+
661
+ if (attributes) {
662
+ if (goog.isString(attributes)) {
663
+ element.className = attributes;
664
+ } else if (goog.isArray(attributes)) {
665
+ goog.dom.classes.add.apply(null, [element].concat(attributes));
666
+ } else {
667
+ goog.dom.setProperties(element, attributes);
668
+ }
669
+ }
670
+
671
+ if (args.length > 2) {
672
+ goog.dom.append_(doc, element, args, 2);
673
+ }
674
+
675
+ return element;
676
+ };
677
+
678
+
679
+ /**
680
+ * Appends a node with text or other nodes.
681
+ * @param {!Document} doc The document to create new nodes in.
682
+ * @param {!Node} parent The node to append nodes to.
683
+ * @param {!Arguments} args The values to add. See {@code goog.dom.append}.
684
+ * @param {number} startIndex The index of the array to start from.
685
+ * @private
686
+ */
687
+ goog.dom.append_ = function(doc, parent, args, startIndex) {
688
+ function childHandler(child) {
689
+ // TODO(user): More coercion, ala MochiKit?
690
+ if (child) {
691
+ parent.appendChild(goog.isString(child) ?
692
+ doc.createTextNode(child) : child);
693
+ }
694
+ }
695
+
696
+ for (var i = startIndex; i < args.length; i++) {
697
+ var arg = args[i];
698
+ // TODO(attila): Fix isArrayLike to return false for a text node.
699
+ if (goog.isArrayLike(arg) && !goog.dom.isNodeLike(arg)) {
700
+ // If the argument is a node list, not a real array, use a clone,
701
+ // because forEach can't be used to mutate a NodeList.
702
+ goog.array.forEach(goog.dom.isNodeList(arg) ?
703
+ goog.array.toArray(arg) : arg,
704
+ childHandler);
705
+ } else {
706
+ childHandler(arg);
707
+ }
708
+ }
709
+ };
710
+
711
+
712
+ /**
713
+ * Alias for {@code createDom}.
714
+ * @param {string} tagName Tag to create.
715
+ * @param {(string|Object)=} opt_attributes If object, then a map of name-value
716
+ * pairs for attributes. If a string, then this is the className of the new
717
+ * element.
718
+ * @param {...(Object|string|Array|NodeList)} var_args Further DOM nodes or
719
+ * strings for text nodes. If one of the var_args is an array, its
720
+ * children will be added as childNodes instead.
721
+ * @return {!Element} Reference to a DOM node.
722
+ * @deprecated Use {@link goog.dom.createDom} instead.
723
+ */
724
+ goog.dom.$dom = goog.dom.createDom;
725
+
726
+
727
+ /**
728
+ * Creates a new element.
729
+ * @param {string} name Tag name.
730
+ * @return {!Element} The new element.
731
+ */
732
+ goog.dom.createElement = function(name) {
733
+ return document.createElement(name);
734
+ };
735
+
736
+
737
+ /**
738
+ * Creates a new text node.
739
+ * @param {string} content Content.
740
+ * @return {!Text} The new text node.
741
+ */
742
+ goog.dom.createTextNode = function(content) {
743
+ return document.createTextNode(content);
744
+ };
745
+
746
+
747
+ /**
748
+ * Create a table.
749
+ * @param {number} rows The number of rows in the table. Must be >= 1.
750
+ * @param {number} columns The number of columns in the table. Must be >= 1.
751
+ * @param {boolean=} opt_fillWithNbsp If true, fills table entries with nsbps.
752
+ * @return {!Element} The created table.
753
+ */
754
+ goog.dom.createTable = function(rows, columns, opt_fillWithNbsp) {
755
+ return goog.dom.createTable_(document, rows, columns, !!opt_fillWithNbsp);
756
+ };
757
+
758
+
759
+ /**
760
+ * Create a table.
761
+ * @param {!Document} doc Document object to use to create the table.
762
+ * @param {number} rows The number of rows in the table. Must be >= 1.
763
+ * @param {number} columns The number of columns in the table. Must be >= 1.
764
+ * @param {boolean} fillWithNbsp If true, fills table entries with nsbps.
765
+ * @return {!Element} The created table.
766
+ * @private
767
+ */
768
+ goog.dom.createTable_ = function(doc, rows, columns, fillWithNbsp) {
769
+ var rowHtml = ['<tr>'];
770
+ for (var i = 0; i < columns; i++) {
771
+ rowHtml.push(fillWithNbsp ? '<td>&nbsp;</td>' : '<td></td>');
772
+ }
773
+ rowHtml.push('</tr>');
774
+ rowHtml = rowHtml.join('');
775
+ var totalHtml = ['<table>'];
776
+ for (i = 0; i < rows; i++) {
777
+ totalHtml.push(rowHtml);
778
+ }
779
+ totalHtml.push('</table>');
780
+
781
+ var elem = doc.createElement(goog.dom.TagName.DIV);
782
+ elem.innerHTML = totalHtml.join('');
783
+ return /** @type {!Element} */ (elem.removeChild(elem.firstChild));
784
+ };
785
+
786
+
787
+ /**
788
+ * Converts an HTML string into a document fragment. The string must be
789
+ * sanitized in order to avoid cross-site scripting. For example
790
+ * {@code goog.dom.htmlToDocumentFragment('&lt;img src=x onerror=alert(0)&gt;')}
791
+ * triggers an alert in all browsers, even if the returned document fragment
792
+ * is thrown away immediately.
793
+ *
794
+ * @param {string} htmlString The HTML string to convert.
795
+ * @return {!Node} The resulting document fragment.
796
+ */
797
+ goog.dom.htmlToDocumentFragment = function(htmlString) {
798
+ return goog.dom.htmlToDocumentFragment_(document, htmlString);
799
+ };
800
+
801
+
802
+ /**
803
+ * Helper for {@code htmlToDocumentFragment}.
804
+ *
805
+ * @param {!Document} doc The document.
806
+ * @param {string} htmlString The HTML string to convert.
807
+ * @return {!Node} The resulting document fragment.
808
+ * @private
809
+ */
810
+ goog.dom.htmlToDocumentFragment_ = function(doc, htmlString) {
811
+ var tempDiv = doc.createElement('div');
812
+ if (goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT) {
813
+ tempDiv.innerHTML = '<br>' + htmlString;
814
+ tempDiv.removeChild(tempDiv.firstChild);
815
+ } else {
816
+ tempDiv.innerHTML = htmlString;
817
+ }
818
+ if (tempDiv.childNodes.length == 1) {
819
+ return /** @type {!Node} */ (tempDiv.removeChild(tempDiv.firstChild));
820
+ } else {
821
+ var fragment = doc.createDocumentFragment();
822
+ while (tempDiv.firstChild) {
823
+ fragment.appendChild(tempDiv.firstChild);
824
+ }
825
+ return fragment;
826
+ }
827
+ };
828
+
829
+
830
+ /**
831
+ * Returns the compatMode of the document.
832
+ * @return {string} The result is either CSS1Compat or BackCompat.
833
+ * @deprecated use goog.dom.isCss1CompatMode instead.
834
+ */
835
+ goog.dom.getCompatMode = function() {
836
+ return goog.dom.isCss1CompatMode() ? 'CSS1Compat' : 'BackCompat';
837
+ };
838
+
839
+
840
+ /**
841
+ * Returns true if the browser is in "CSS1-compatible" (standards-compliant)
842
+ * mode, false otherwise.
843
+ * @return {boolean} True if in CSS1-compatible mode.
844
+ */
845
+ goog.dom.isCss1CompatMode = function() {
846
+ return goog.dom.isCss1CompatMode_(document);
847
+ };
848
+
849
+
850
+ /**
851
+ * Returns true if the browser is in "CSS1-compatible" (standards-compliant)
852
+ * mode, false otherwise.
853
+ * @param {Document} doc The document to check.
854
+ * @return {boolean} True if in CSS1-compatible mode.
855
+ * @private
856
+ */
857
+ goog.dom.isCss1CompatMode_ = function(doc) {
858
+ if (goog.dom.COMPAT_MODE_KNOWN_) {
859
+ return goog.dom.ASSUME_STANDARDS_MODE;
860
+ }
861
+
862
+ return doc.compatMode == 'CSS1Compat';
863
+ };
864
+
865
+
866
+ /**
867
+ * Determines if the given node can contain children, intended to be used for
868
+ * HTML generation.
869
+ *
870
+ * IE natively supports node.canHaveChildren but has inconsistent behavior.
871
+ * Prior to IE8 the base tag allows children and in IE9 all nodes return true
872
+ * for canHaveChildren.
873
+ *
874
+ * In practice all non-IE browsers allow you to add children to any node, but
875
+ * the behavior is inconsistent:
876
+ *
877
+ * <pre>
878
+ * var a = document.createElement('br');
879
+ * a.appendChild(document.createTextNode('foo'));
880
+ * a.appendChild(document.createTextNode('bar'));
881
+ * console.log(a.childNodes.length); // 2
882
+ * console.log(a.innerHTML); // Chrome: "", IE9: "foobar", FF3.5: "foobar"
883
+ * </pre>
884
+ *
885
+ * TODO(user): Rename shouldAllowChildren() ?
886
+ *
887
+ * @param {Node} node The node to check.
888
+ * @return {boolean} Whether the node can contain children.
889
+ */
890
+ goog.dom.canHaveChildren = function(node) {
891
+ if (node.nodeType != goog.dom.NodeType.ELEMENT) {
892
+ return false;
893
+ }
894
+ switch (node.tagName) {
895
+ case goog.dom.TagName.APPLET:
896
+ case goog.dom.TagName.AREA:
897
+ case goog.dom.TagName.BASE:
898
+ case goog.dom.TagName.BR:
899
+ case goog.dom.TagName.COL:
900
+ case goog.dom.TagName.COMMAND:
901
+ case goog.dom.TagName.EMBED:
902
+ case goog.dom.TagName.FRAME:
903
+ case goog.dom.TagName.HR:
904
+ case goog.dom.TagName.IMG:
905
+ case goog.dom.TagName.INPUT:
906
+ case goog.dom.TagName.IFRAME:
907
+ case goog.dom.TagName.ISINDEX:
908
+ case goog.dom.TagName.KEYGEN:
909
+ case goog.dom.TagName.LINK:
910
+ case goog.dom.TagName.NOFRAMES:
911
+ case goog.dom.TagName.NOSCRIPT:
912
+ case goog.dom.TagName.META:
913
+ case goog.dom.TagName.OBJECT:
914
+ case goog.dom.TagName.PARAM:
915
+ case goog.dom.TagName.SCRIPT:
916
+ case goog.dom.TagName.SOURCE:
917
+ case goog.dom.TagName.STYLE:
918
+ case goog.dom.TagName.TRACK:
919
+ case goog.dom.TagName.WBR:
920
+ return false;
921
+ }
922
+ return true;
923
+ };
924
+
925
+
926
+ /**
927
+ * Appends a child to a node.
928
+ * @param {Node} parent Parent.
929
+ * @param {Node} child Child.
930
+ */
931
+ goog.dom.appendChild = function(parent, child) {
932
+ parent.appendChild(child);
933
+ };
934
+
935
+
936
+ /**
937
+ * Appends a node with text or other nodes.
938
+ * @param {!Node} parent The node to append nodes to.
939
+ * @param {...goog.dom.Appendable} var_args The things to append to the node.
940
+ * If this is a Node it is appended as is.
941
+ * If this is a string then a text node is appended.
942
+ * If this is an array like object then fields 0 to length - 1 are appended.
943
+ */
944
+ goog.dom.append = function(parent, var_args) {
945
+ goog.dom.append_(goog.dom.getOwnerDocument(parent), parent, arguments, 1);
946
+ };
947
+
948
+
949
+ /**
950
+ * Removes all the child nodes on a DOM node.
951
+ * @param {Node} node Node to remove children from.
952
+ */
953
+ goog.dom.removeChildren = function(node) {
954
+ // Note: Iterations over live collections can be slow, this is the fastest
955
+ // we could find. The double parenthesis are used to prevent JsCompiler and
956
+ // strict warnings.
957
+ var child;
958
+ while ((child = node.firstChild)) {
959
+ node.removeChild(child);
960
+ }
961
+ };
962
+
963
+
964
+ /**
965
+ * Inserts a new node before an existing reference node (i.e. as the previous
966
+ * sibling). If the reference node has no parent, then does nothing.
967
+ * @param {Node} newNode Node to insert.
968
+ * @param {Node} refNode Reference node to insert before.
969
+ */
970
+ goog.dom.insertSiblingBefore = function(newNode, refNode) {
971
+ if (refNode.parentNode) {
972
+ refNode.parentNode.insertBefore(newNode, refNode);
973
+ }
974
+ };
975
+
976
+
977
+ /**
978
+ * Inserts a new node after an existing reference node (i.e. as the next
979
+ * sibling). If the reference node has no parent, then does nothing.
980
+ * @param {Node} newNode Node to insert.
981
+ * @param {Node} refNode Reference node to insert after.
982
+ */
983
+ goog.dom.insertSiblingAfter = function(newNode, refNode) {
984
+ if (refNode.parentNode) {
985
+ refNode.parentNode.insertBefore(newNode, refNode.nextSibling);
986
+ }
987
+ };
988
+
989
+
990
+ /**
991
+ * Insert a child at a given index. If index is larger than the number of child
992
+ * nodes that the parent currently has, the node is inserted as the last child
993
+ * node.
994
+ * @param {Element} parent The element into which to insert the child.
995
+ * @param {Node} child The element to insert.
996
+ * @param {number} index The index at which to insert the new child node. Must
997
+ * not be negative.
998
+ */
999
+ goog.dom.insertChildAt = function(parent, child, index) {
1000
+ // Note that if the second argument is null, insertBefore
1001
+ // will append the child at the end of the list of children.
1002
+ parent.insertBefore(child, parent.childNodes[index] || null);
1003
+ };
1004
+
1005
+
1006
+ /**
1007
+ * Removes a node from its parent.
1008
+ * @param {Node} node The node to remove.
1009
+ * @return {Node} The node removed if removed; else, null.
1010
+ */
1011
+ goog.dom.removeNode = function(node) {
1012
+ return node && node.parentNode ? node.parentNode.removeChild(node) : null;
1013
+ };
1014
+
1015
+
1016
+ /**
1017
+ * Replaces a node in the DOM tree. Will do nothing if {@code oldNode} has no
1018
+ * parent.
1019
+ * @param {Node} newNode Node to insert.
1020
+ * @param {Node} oldNode Node to replace.
1021
+ */
1022
+ goog.dom.replaceNode = function(newNode, oldNode) {
1023
+ var parent = oldNode.parentNode;
1024
+ if (parent) {
1025
+ parent.replaceChild(newNode, oldNode);
1026
+ }
1027
+ };
1028
+
1029
+
1030
+ /**
1031
+ * Flattens an element. That is, removes it and replace it with its children.
1032
+ * Does nothing if the element is not in the document.
1033
+ * @param {Element} element The element to flatten.
1034
+ * @return {Element|undefined} The original element, detached from the document
1035
+ * tree, sans children; or undefined, if the element was not in the document
1036
+ * to begin with.
1037
+ */
1038
+ goog.dom.flattenElement = function(element) {
1039
+ var child, parent = element.parentNode;
1040
+ if (parent && parent.nodeType != goog.dom.NodeType.DOCUMENT_FRAGMENT) {
1041
+ // Use IE DOM method (supported by Opera too) if available
1042
+ if (element.removeNode) {
1043
+ return /** @type {Element} */ (element.removeNode(false));
1044
+ } else {
1045
+ // Move all children of the original node up one level.
1046
+ while ((child = element.firstChild)) {
1047
+ parent.insertBefore(child, element);
1048
+ }
1049
+
1050
+ // Detach the original element.
1051
+ return /** @type {Element} */ (goog.dom.removeNode(element));
1052
+ }
1053
+ }
1054
+ };
1055
+
1056
+
1057
+ /**
1058
+ * Returns an array containing just the element children of the given element.
1059
+ * @param {Element} element The element whose element children we want.
1060
+ * @return {!(Array|NodeList)} An array or array-like list of just the element
1061
+ * children of the given element.
1062
+ */
1063
+ goog.dom.getChildren = function(element) {
1064
+ // We check if the children attribute is supported for child elements
1065
+ // since IE8 misuses the attribute by also including comments.
1066
+ if (goog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE &&
1067
+ element.children != undefined) {
1068
+ return element.children;
1069
+ }
1070
+ // Fall back to manually filtering the element's child nodes.
1071
+ return goog.array.filter(element.childNodes, function(node) {
1072
+ return node.nodeType == goog.dom.NodeType.ELEMENT;
1073
+ });
1074
+ };
1075
+
1076
+
1077
+ /**
1078
+ * Returns the first child node that is an element.
1079
+ * @param {Node} node The node to get the first child element of.
1080
+ * @return {Element} The first child node of {@code node} that is an element.
1081
+ */
1082
+ goog.dom.getFirstElementChild = function(node) {
1083
+ if (node.firstElementChild != undefined) {
1084
+ return /** @type {Element} */(node).firstElementChild;
1085
+ }
1086
+ return goog.dom.getNextElementNode_(node.firstChild, true);
1087
+ };
1088
+
1089
+
1090
+ /**
1091
+ * Returns the last child node that is an element.
1092
+ * @param {Node} node The node to get the last child element of.
1093
+ * @return {Element} The last child node of {@code node} that is an element.
1094
+ */
1095
+ goog.dom.getLastElementChild = function(node) {
1096
+ if (node.lastElementChild != undefined) {
1097
+ return /** @type {Element} */(node).lastElementChild;
1098
+ }
1099
+ return goog.dom.getNextElementNode_(node.lastChild, false);
1100
+ };
1101
+
1102
+
1103
+ /**
1104
+ * Returns the first next sibling that is an element.
1105
+ * @param {Node} node The node to get the next sibling element of.
1106
+ * @return {Element} The next sibling of {@code node} that is an element.
1107
+ */
1108
+ goog.dom.getNextElementSibling = function(node) {
1109
+ if (node.nextElementSibling != undefined) {
1110
+ return /** @type {Element} */(node).nextElementSibling;
1111
+ }
1112
+ return goog.dom.getNextElementNode_(node.nextSibling, true);
1113
+ };
1114
+
1115
+
1116
+ /**
1117
+ * Returns the first previous sibling that is an element.
1118
+ * @param {Node} node The node to get the previous sibling element of.
1119
+ * @return {Element} The first previous sibling of {@code node} that is
1120
+ * an element.
1121
+ */
1122
+ goog.dom.getPreviousElementSibling = function(node) {
1123
+ if (node.previousElementSibling != undefined) {
1124
+ return /** @type {Element} */(node).previousElementSibling;
1125
+ }
1126
+ return goog.dom.getNextElementNode_(node.previousSibling, false);
1127
+ };
1128
+
1129
+
1130
+ /**
1131
+ * Returns the first node that is an element in the specified direction,
1132
+ * starting with {@code node}.
1133
+ * @param {Node} node The node to get the next element from.
1134
+ * @param {boolean} forward Whether to look forwards or backwards.
1135
+ * @return {Element} The first element.
1136
+ * @private
1137
+ */
1138
+ goog.dom.getNextElementNode_ = function(node, forward) {
1139
+ while (node && node.nodeType != goog.dom.NodeType.ELEMENT) {
1140
+ node = forward ? node.nextSibling : node.previousSibling;
1141
+ }
1142
+
1143
+ return /** @type {Element} */ (node);
1144
+ };
1145
+
1146
+
1147
+ /**
1148
+ * Returns the next node in source order from the given node.
1149
+ * @param {Node} node The node.
1150
+ * @return {Node} The next node in the DOM tree, or null if this was the last
1151
+ * node.
1152
+ */
1153
+ goog.dom.getNextNode = function(node) {
1154
+ if (!node) {
1155
+ return null;
1156
+ }
1157
+
1158
+ if (node.firstChild) {
1159
+ return node.firstChild;
1160
+ }
1161
+
1162
+ while (node && !node.nextSibling) {
1163
+ node = node.parentNode;
1164
+ }
1165
+
1166
+ return node ? node.nextSibling : null;
1167
+ };
1168
+
1169
+
1170
+ /**
1171
+ * Returns the previous node in source order from the given node.
1172
+ * @param {Node} node The node.
1173
+ * @return {Node} The previous node in the DOM tree, or null if this was the
1174
+ * first node.
1175
+ */
1176
+ goog.dom.getPreviousNode = function(node) {
1177
+ if (!node) {
1178
+ return null;
1179
+ }
1180
+
1181
+ if (!node.previousSibling) {
1182
+ return node.parentNode;
1183
+ }
1184
+
1185
+ node = node.previousSibling;
1186
+ while (node && node.lastChild) {
1187
+ node = node.lastChild;
1188
+ }
1189
+
1190
+ return node;
1191
+ };
1192
+
1193
+
1194
+ /**
1195
+ * Whether the object looks like a DOM node.
1196
+ * @param {*} obj The object being tested for node likeness.
1197
+ * @return {boolean} Whether the object looks like a DOM node.
1198
+ */
1199
+ goog.dom.isNodeLike = function(obj) {
1200
+ return goog.isObject(obj) && obj.nodeType > 0;
1201
+ };
1202
+
1203
+
1204
+ /**
1205
+ * Whether the object looks like an Element.
1206
+ * @param {*} obj The object being tested for Element likeness.
1207
+ * @return {boolean} Whether the object looks like an Element.
1208
+ */
1209
+ goog.dom.isElement = function(obj) {
1210
+ return goog.isObject(obj) && obj.nodeType == goog.dom.NodeType.ELEMENT;
1211
+ };
1212
+
1213
+
1214
+ /**
1215
+ * Returns true if the specified value is a Window object. This includes the
1216
+ * global window for HTML pages, and iframe windows.
1217
+ * @param {*} obj Variable to test.
1218
+ * @return {boolean} Whether the variable is a window.
1219
+ */
1220
+ goog.dom.isWindow = function(obj) {
1221
+ return goog.isObject(obj) && obj['window'] == obj;
1222
+ };
1223
+
1224
+
1225
+ /**
1226
+ * Returns an element's parent, if it's an Element.
1227
+ * @param {Element} element The DOM element.
1228
+ * @return {Element} The parent, or null if not an Element.
1229
+ */
1230
+ goog.dom.getParentElement = function(element) {
1231
+ if (goog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY) {
1232
+ return element.parentElement;
1233
+ }
1234
+ var parent = element.parentNode;
1235
+ return goog.dom.isElement(parent) ? (/** @type {!Element} */ parent) : null;
1236
+ };
1237
+
1238
+
1239
+ /**
1240
+ * Whether a node contains another node.
1241
+ * @param {Node} parent The node that should contain the other node.
1242
+ * @param {Node} descendant The node to test presence of.
1243
+ * @return {boolean} Whether the parent node contains the descendent node.
1244
+ */
1245
+ goog.dom.contains = function(parent, descendant) {
1246
+ // We use browser specific methods for this if available since it is faster
1247
+ // that way.
1248
+
1249
+ // IE DOM
1250
+ if (parent.contains && descendant.nodeType == goog.dom.NodeType.ELEMENT) {
1251
+ return parent == descendant || parent.contains(descendant);
1252
+ }
1253
+
1254
+ // W3C DOM Level 3
1255
+ if (typeof parent.compareDocumentPosition != 'undefined') {
1256
+ return parent == descendant ||
1257
+ Boolean(parent.compareDocumentPosition(descendant) & 16);
1258
+ }
1259
+
1260
+ // W3C DOM Level 1
1261
+ while (descendant && parent != descendant) {
1262
+ descendant = descendant.parentNode;
1263
+ }
1264
+ return descendant == parent;
1265
+ };
1266
+
1267
+
1268
+ /**
1269
+ * Compares the document order of two nodes, returning 0 if they are the same
1270
+ * node, a negative number if node1 is before node2, and a positive number if
1271
+ * node2 is before node1. Note that we compare the order the tags appear in the
1272
+ * document so in the tree <b><i>text</i></b> the B node is considered to be
1273
+ * before the I node.
1274
+ *
1275
+ * @param {Node} node1 The first node to compare.
1276
+ * @param {Node} node2 The second node to compare.
1277
+ * @return {number} 0 if the nodes are the same node, a negative number if node1
1278
+ * is before node2, and a positive number if node2 is before node1.
1279
+ */
1280
+ goog.dom.compareNodeOrder = function(node1, node2) {
1281
+ // Fall out quickly for equality.
1282
+ if (node1 == node2) {
1283
+ return 0;
1284
+ }
1285
+
1286
+ // Use compareDocumentPosition where available
1287
+ if (node1.compareDocumentPosition) {
1288
+ // 4 is the bitmask for FOLLOWS.
1289
+ return node1.compareDocumentPosition(node2) & 2 ? 1 : -1;
1290
+ }
1291
+
1292
+ // Special case for document nodes on IE 7 and 8.
1293
+ if ((node1.nodeType == goog.dom.NodeType.DOCUMENT ||
1294
+ node2.nodeType == goog.dom.NodeType.DOCUMENT) &&
1295
+ goog.userAgent.IE && !goog.userAgent.isVersion(9)) {
1296
+ if (node1.nodeType == goog.dom.NodeType.DOCUMENT) {
1297
+ return -1;
1298
+ }
1299
+ if (node2.nodeType == goog.dom.NodeType.DOCUMENT) {
1300
+ return 1;
1301
+ }
1302
+ }
1303
+
1304
+ // Process in IE using sourceIndex - we check to see if the first node has
1305
+ // a source index or if its parent has one.
1306
+ if ('sourceIndex' in node1 ||
1307
+ (node1.parentNode && 'sourceIndex' in node1.parentNode)) {
1308
+ var isElement1 = node1.nodeType == goog.dom.NodeType.ELEMENT;
1309
+ var isElement2 = node2.nodeType == goog.dom.NodeType.ELEMENT;
1310
+
1311
+ if (isElement1 && isElement2) {
1312
+ return node1.sourceIndex - node2.sourceIndex;
1313
+ } else {
1314
+ var parent1 = node1.parentNode;
1315
+ var parent2 = node2.parentNode;
1316
+
1317
+ if (parent1 == parent2) {
1318
+ return goog.dom.compareSiblingOrder_(node1, node2);
1319
+ }
1320
+
1321
+ if (!isElement1 && goog.dom.contains(parent1, node2)) {
1322
+ return -1 * goog.dom.compareParentsDescendantNodeIe_(node1, node2);
1323
+ }
1324
+
1325
+
1326
+ if (!isElement2 && goog.dom.contains(parent2, node1)) {
1327
+ return goog.dom.compareParentsDescendantNodeIe_(node2, node1);
1328
+ }
1329
+
1330
+ return (isElement1 ? node1.sourceIndex : parent1.sourceIndex) -
1331
+ (isElement2 ? node2.sourceIndex : parent2.sourceIndex);
1332
+ }
1333
+ }
1334
+
1335
+ // For Safari, we compare ranges.
1336
+ var doc = goog.dom.getOwnerDocument(node1);
1337
+
1338
+ var range1, range2;
1339
+ range1 = doc.createRange();
1340
+ range1.selectNode(node1);
1341
+ range1.collapse(true);
1342
+
1343
+ range2 = doc.createRange();
1344
+ range2.selectNode(node2);
1345
+ range2.collapse(true);
1346
+
1347
+ return range1.compareBoundaryPoints(goog.global['Range'].START_TO_END,
1348
+ range2);
1349
+ };
1350
+
1351
+
1352
+ /**
1353
+ * Utility function to compare the position of two nodes, when
1354
+ * {@code textNode}'s parent is an ancestor of {@code node}. If this entry
1355
+ * condition is not met, this function will attempt to reference a null object.
1356
+ * @param {Node} textNode The textNode to compare.
1357
+ * @param {Node} node The node to compare.
1358
+ * @return {number} -1 if node is before textNode, +1 otherwise.
1359
+ * @private
1360
+ */
1361
+ goog.dom.compareParentsDescendantNodeIe_ = function(textNode, node) {
1362
+ var parent = textNode.parentNode;
1363
+ if (parent == node) {
1364
+ // If textNode is a child of node, then node comes first.
1365
+ return -1;
1366
+ }
1367
+ var sibling = node;
1368
+ while (sibling.parentNode != parent) {
1369
+ sibling = sibling.parentNode;
1370
+ }
1371
+ return goog.dom.compareSiblingOrder_(sibling, textNode);
1372
+ };
1373
+
1374
+
1375
+ /**
1376
+ * Utility function to compare the position of two nodes known to be non-equal
1377
+ * siblings.
1378
+ * @param {Node} node1 The first node to compare.
1379
+ * @param {Node} node2 The second node to compare.
1380
+ * @return {number} -1 if node1 is before node2, +1 otherwise.
1381
+ * @private
1382
+ */
1383
+ goog.dom.compareSiblingOrder_ = function(node1, node2) {
1384
+ var s = node2;
1385
+ while ((s = s.previousSibling)) {
1386
+ if (s == node1) {
1387
+ // We just found node1 before node2.
1388
+ return -1;
1389
+ }
1390
+ }
1391
+
1392
+ // Since we didn't find it, node1 must be after node2.
1393
+ return 1;
1394
+ };
1395
+
1396
+
1397
+ /**
1398
+ * Find the deepest common ancestor of the given nodes.
1399
+ * @param {...Node} var_args The nodes to find a common ancestor of.
1400
+ * @return {Node} The common ancestor of the nodes, or null if there is none.
1401
+ * null will only be returned if two or more of the nodes are from different
1402
+ * documents.
1403
+ */
1404
+ goog.dom.findCommonAncestor = function(var_args) {
1405
+ var i, count = arguments.length;
1406
+ if (!count) {
1407
+ return null;
1408
+ } else if (count == 1) {
1409
+ return arguments[0];
1410
+ }
1411
+
1412
+ var paths = [];
1413
+ var minLength = Infinity;
1414
+ for (i = 0; i < count; i++) {
1415
+ // Compute the list of ancestors.
1416
+ var ancestors = [];
1417
+ var node = arguments[i];
1418
+ while (node) {
1419
+ ancestors.unshift(node);
1420
+ node = node.parentNode;
1421
+ }
1422
+
1423
+ // Save the list for comparison.
1424
+ paths.push(ancestors);
1425
+ minLength = Math.min(minLength, ancestors.length);
1426
+ }
1427
+ var output = null;
1428
+ for (i = 0; i < minLength; i++) {
1429
+ var first = paths[0][i];
1430
+ for (var j = 1; j < count; j++) {
1431
+ if (first != paths[j][i]) {
1432
+ return output;
1433
+ }
1434
+ }
1435
+ output = first;
1436
+ }
1437
+ return output;
1438
+ };
1439
+
1440
+
1441
+ /**
1442
+ * Returns the owner document for a node.
1443
+ * @param {Node|Window} node The node to get the document for.
1444
+ * @return {!Document} The document owning the node.
1445
+ */
1446
+ goog.dom.getOwnerDocument = function(node) {
1447
+ // TODO(arv): Remove IE5 code.
1448
+ // IE5 uses document instead of ownerDocument
1449
+ return /** @type {!Document} */ (
1450
+ node.nodeType == goog.dom.NodeType.DOCUMENT ? node :
1451
+ node.ownerDocument || node.document);
1452
+ };
1453
+
1454
+
1455
+ /**
1456
+ * Cross-browser function for getting the document element of a frame or iframe.
1457
+ * @param {Element} frame Frame element.
1458
+ * @return {!Document} The frame content document.
1459
+ */
1460
+ goog.dom.getFrameContentDocument = function(frame) {
1461
+ var doc = frame.contentDocument || frame.contentWindow.document;
1462
+ return doc;
1463
+ };
1464
+
1465
+
1466
+ /**
1467
+ * Cross-browser function for getting the window of a frame or iframe.
1468
+ * @param {Element} frame Frame element.
1469
+ * @return {Window} The window associated with the given frame.
1470
+ */
1471
+ goog.dom.getFrameContentWindow = function(frame) {
1472
+ return frame.contentWindow ||
1473
+ goog.dom.getWindow_(goog.dom.getFrameContentDocument(frame));
1474
+ };
1475
+
1476
+
1477
+ /**
1478
+ * Cross-browser function for setting the text content of an element.
1479
+ * @param {Element} element The element to change the text content of.
1480
+ * @param {string} text The string that should replace the current element
1481
+ * content.
1482
+ */
1483
+ goog.dom.setTextContent = function(element, text) {
1484
+ if ('textContent' in element) {
1485
+ element.textContent = text;
1486
+ } else if (element.firstChild &&
1487
+ element.firstChild.nodeType == goog.dom.NodeType.TEXT) {
1488
+ // If the first child is a text node we just change its data and remove the
1489
+ // rest of the children.
1490
+ while (element.lastChild != element.firstChild) {
1491
+ element.removeChild(element.lastChild);
1492
+ }
1493
+ element.firstChild.data = text;
1494
+ } else {
1495
+ goog.dom.removeChildren(element);
1496
+ var doc = goog.dom.getOwnerDocument(element);
1497
+ element.appendChild(doc.createTextNode(text));
1498
+ }
1499
+ };
1500
+
1501
+
1502
+ /**
1503
+ * Gets the outerHTML of a node, which islike innerHTML, except that it
1504
+ * actually contains the HTML of the node itself.
1505
+ * @param {Element} element The element to get the HTML of.
1506
+ * @return {string} The outerHTML of the given element.
1507
+ */
1508
+ goog.dom.getOuterHtml = function(element) {
1509
+ // IE, Opera and WebKit all have outerHTML.
1510
+ if ('outerHTML' in element) {
1511
+ return element.outerHTML;
1512
+ } else {
1513
+ var doc = goog.dom.getOwnerDocument(element);
1514
+ var div = doc.createElement('div');
1515
+ div.appendChild(element.cloneNode(true));
1516
+ return div.innerHTML;
1517
+ }
1518
+ };
1519
+
1520
+
1521
+ /**
1522
+ * Finds the first descendant node that matches the filter function, using
1523
+ * a depth first search. This function offers the most general purpose way
1524
+ * of finding a matching element. You may also wish to consider
1525
+ * {@code goog.dom.query} which can express many matching criteria using
1526
+ * CSS selector expressions. These expressions often result in a more
1527
+ * compact representation of the desired result.
1528
+ * @see goog.dom.query
1529
+ *
1530
+ * @param {Node} root The root of the tree to search.
1531
+ * @param {function(Node) : boolean} p The filter function.
1532
+ * @return {Node|undefined} The found node or undefined if none is found.
1533
+ */
1534
+ goog.dom.findNode = function(root, p) {
1535
+ var rv = [];
1536
+ var found = goog.dom.findNodes_(root, p, rv, true);
1537
+ return found ? rv[0] : undefined;
1538
+ };
1539
+
1540
+
1541
+ /**
1542
+ * Finds all the descendant nodes that match the filter function, using a
1543
+ * a depth first search. This function offers the most general-purpose way
1544
+ * of finding a set of matching elements. You may also wish to consider
1545
+ * {@code goog.dom.query} which can express many matching criteria using
1546
+ * CSS selector expressions. These expressions often result in a more
1547
+ * compact representation of the desired result.
1548
+
1549
+ * @param {Node} root The root of the tree to search.
1550
+ * @param {function(Node) : boolean} p The filter function.
1551
+ * @return {!Array.<!Node>} The found nodes or an empty array if none are found.
1552
+ */
1553
+ goog.dom.findNodes = function(root, p) {
1554
+ var rv = [];
1555
+ goog.dom.findNodes_(root, p, rv, false);
1556
+ return rv;
1557
+ };
1558
+
1559
+
1560
+ /**
1561
+ * Finds the first or all the descendant nodes that match the filter function,
1562
+ * using a depth first search.
1563
+ * @param {Node} root The root of the tree to search.
1564
+ * @param {function(Node) : boolean} p The filter function.
1565
+ * @param {!Array.<!Node>} rv The found nodes are added to this array.
1566
+ * @param {boolean} findOne If true we exit after the first found node.
1567
+ * @return {boolean} Whether the search is complete or not. True in case findOne
1568
+ * is true and the node is found. False otherwise.
1569
+ * @private
1570
+ */
1571
+ goog.dom.findNodes_ = function(root, p, rv, findOne) {
1572
+ if (root != null) {
1573
+ var child = root.firstChild;
1574
+ while (child) {
1575
+ if (p(child)) {
1576
+ rv.push(child);
1577
+ if (findOne) {
1578
+ return true;
1579
+ }
1580
+ }
1581
+ if (goog.dom.findNodes_(child, p, rv, findOne)) {
1582
+ return true;
1583
+ }
1584
+ child = child.nextSibling;
1585
+ }
1586
+ }
1587
+ return false;
1588
+ };
1589
+
1590
+
1591
+ /**
1592
+ * Map of tags whose content to ignore when calculating text length.
1593
+ * @type {Object}
1594
+ * @private
1595
+ */
1596
+ goog.dom.TAGS_TO_IGNORE_ = {
1597
+ 'SCRIPT': 1,
1598
+ 'STYLE': 1,
1599
+ 'HEAD': 1,
1600
+ 'IFRAME': 1,
1601
+ 'OBJECT': 1
1602
+ };
1603
+
1604
+
1605
+ /**
1606
+ * Map of tags which have predefined values with regard to whitespace.
1607
+ * @type {Object}
1608
+ * @private
1609
+ */
1610
+ goog.dom.PREDEFINED_TAG_VALUES_ = {'IMG': ' ', 'BR': '\n'};
1611
+
1612
+
1613
+ /**
1614
+ * Returns true if the element has a tab index that allows it to receive
1615
+ * keyboard focus (tabIndex >= 0), false otherwise. Note that form elements
1616
+ * natively support keyboard focus, even if they have no tab index.
1617
+ * @param {Element} element Element to check.
1618
+ * @return {boolean} Whether the element has a tab index that allows keyboard
1619
+ * focus.
1620
+ * @see http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
1621
+ */
1622
+ goog.dom.isFocusableTabIndex = function(element) {
1623
+ // IE returns 0 for an unset tabIndex, so we must use getAttributeNode(),
1624
+ // which returns an object with a 'specified' property if tabIndex is
1625
+ // specified. This works on other browsers, too.
1626
+ var attrNode = element.getAttributeNode('tabindex'); // Must be lowercase!
1627
+ if (attrNode && attrNode.specified) {
1628
+ var index = element.tabIndex;
1629
+ // NOTE: IE9 puts tabIndex in 16-bit int, e.g. -2 is 65534.
1630
+ return goog.isNumber(index) && index >= 0 && index < 32768;
1631
+ }
1632
+ return false;
1633
+ };
1634
+
1635
+
1636
+ /**
1637
+ * Enables or disables keyboard focus support on the element via its tab index.
1638
+ * Only elements for which {@link goog.dom.isFocusableTabIndex} returns true
1639
+ * (or elements that natively support keyboard focus, like form elements) can
1640
+ * receive keyboard focus. See http://go/tabindex for more info.
1641
+ * @param {Element} element Element whose tab index is to be changed.
1642
+ * @param {boolean} enable Whether to set or remove a tab index on the element
1643
+ * that supports keyboard focus.
1644
+ */
1645
+ goog.dom.setFocusableTabIndex = function(element, enable) {
1646
+ if (enable) {
1647
+ element.tabIndex = 0;
1648
+ } else {
1649
+ // Set tabIndex to -1 first, then remove it. This is a workaround for
1650
+ // Safari (confirmed in version 4 on Windows). When removing the attribute
1651
+ // without setting it to -1 first, the element remains keyboard focusable
1652
+ // despite not having a tabIndex attribute anymore.
1653
+ element.tabIndex = -1;
1654
+ element.removeAttribute('tabIndex'); // Must be camelCase!
1655
+ }
1656
+ };
1657
+
1658
+
1659
+ /**
1660
+ * Returns the text content of the current node, without markup and invisible
1661
+ * symbols. New lines are stripped and whitespace is collapsed,
1662
+ * such that each character would be visible.
1663
+ *
1664
+ * In browsers that support it, innerText is used. Other browsers attempt to
1665
+ * simulate it via node traversal. Line breaks are canonicalized in IE.
1666
+ *
1667
+ * @param {Node} node The node from which we are getting content.
1668
+ * @return {string} The text content.
1669
+ */
1670
+ goog.dom.getTextContent = function(node) {
1671
+ var textContent;
1672
+ // Note(arv): IE9, Opera, and Safari 3 support innerText but they include
1673
+ // text nodes in script tags. So we revert to use a user agent test here.
1674
+ if (goog.dom.BrowserFeature.CAN_USE_INNER_TEXT && ('innerText' in node)) {
1675
+ textContent = goog.string.canonicalizeNewlines(node.innerText);
1676
+ // Unfortunately .innerText() returns text with &shy; symbols
1677
+ // We need to filter it out and then remove duplicate whitespaces
1678
+ } else {
1679
+ var buf = [];
1680
+ goog.dom.getTextContent_(node, buf, true);
1681
+ textContent = buf.join('');
1682
+ }
1683
+
1684
+ // Strip &shy; entities. goog.format.insertWordBreaks inserts them in Opera.
1685
+ textContent = textContent.replace(/ \xAD /g, ' ').replace(/\xAD/g, '');
1686
+ // Strip &#8203; entities. goog.format.insertWordBreaks inserts them in IE8.
1687
+ textContent = textContent.replace(/\u200B/g, '');
1688
+
1689
+ // Skip this replacement on old browsers with working innerText, which
1690
+ // automatically turns &nbsp; into ' ' and / +/ into ' ' when reading
1691
+ // innerText.
1692
+ if (!goog.dom.BrowserFeature.CAN_USE_INNER_TEXT) {
1693
+ textContent = textContent.replace(/ +/g, ' ');
1694
+ }
1695
+ if (textContent != ' ') {
1696
+ textContent = textContent.replace(/^\s*/, '');
1697
+ }
1698
+
1699
+ return textContent;
1700
+ };
1701
+
1702
+
1703
+ /**
1704
+ * Returns the text content of the current node, without markup.
1705
+ *
1706
+ * Unlike {@code getTextContent} this method does not collapse whitespaces
1707
+ * or normalize lines breaks.
1708
+ *
1709
+ * @param {Node} node The node from which we are getting content.
1710
+ * @return {string} The raw text content.
1711
+ */
1712
+ goog.dom.getRawTextContent = function(node) {
1713
+ var buf = [];
1714
+ goog.dom.getTextContent_(node, buf, false);
1715
+
1716
+ return buf.join('');
1717
+ };
1718
+
1719
+
1720
+ /**
1721
+ * Recursive support function for text content retrieval.
1722
+ *
1723
+ * @param {Node} node The node from which we are getting content.
1724
+ * @param {Array} buf string buffer.
1725
+ * @param {boolean} normalizeWhitespace Whether to normalize whitespace.
1726
+ * @private
1727
+ */
1728
+ goog.dom.getTextContent_ = function(node, buf, normalizeWhitespace) {
1729
+ if (node.nodeName in goog.dom.TAGS_TO_IGNORE_) {
1730
+ // ignore certain tags
1731
+ } else if (node.nodeType == goog.dom.NodeType.TEXT) {
1732
+ if (normalizeWhitespace) {
1733
+ buf.push(String(node.nodeValue).replace(/(\r\n|\r|\n)/g, ''));
1734
+ } else {
1735
+ buf.push(node.nodeValue);
1736
+ }
1737
+ } else if (node.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) {
1738
+ buf.push(goog.dom.PREDEFINED_TAG_VALUES_[node.nodeName]);
1739
+ } else {
1740
+ var child = node.firstChild;
1741
+ while (child) {
1742
+ goog.dom.getTextContent_(child, buf, normalizeWhitespace);
1743
+ child = child.nextSibling;
1744
+ }
1745
+ }
1746
+ };
1747
+
1748
+
1749
+ /**
1750
+ * Returns the text length of the text contained in a node, without markup. This
1751
+ * is equivalent to the selection length if the node was selected, or the number
1752
+ * of cursor movements to traverse the node. Images & BRs take one space. New
1753
+ * lines are ignored.
1754
+ *
1755
+ * @param {Node} node The node whose text content length is being calculated.
1756
+ * @return {number} The length of {@code node}'s text content.
1757
+ */
1758
+ goog.dom.getNodeTextLength = function(node) {
1759
+ return goog.dom.getTextContent(node).length;
1760
+ };
1761
+
1762
+
1763
+ /**
1764
+ * Returns the text offset of a node relative to one of its ancestors. The text
1765
+ * length is the same as the length calculated by goog.dom.getNodeTextLength.
1766
+ *
1767
+ * @param {Node} node The node whose offset is being calculated.
1768
+ * @param {Node=} opt_offsetParent The node relative to which the offset will
1769
+ * be calculated. Defaults to the node's owner document's body.
1770
+ * @return {number} The text offset.
1771
+ */
1772
+ goog.dom.getNodeTextOffset = function(node, opt_offsetParent) {
1773
+ var root = opt_offsetParent || goog.dom.getOwnerDocument(node).body;
1774
+ var buf = [];
1775
+ while (node && node != root) {
1776
+ var cur = node;
1777
+ while ((cur = cur.previousSibling)) {
1778
+ buf.unshift(goog.dom.getTextContent(cur));
1779
+ }
1780
+ node = node.parentNode;
1781
+ }
1782
+ // Trim left to deal with FF cases when there might be line breaks and empty
1783
+ // nodes at the front of the text
1784
+ return goog.string.trimLeft(buf.join('')).replace(/ +/g, ' ').length;
1785
+ };
1786
+
1787
+
1788
+ /**
1789
+ * Returns the node at a given offset in a parent node. If an object is
1790
+ * provided for the optional third parameter, the node and the remainder of the
1791
+ * offset will stored as properties of this object.
1792
+ * @param {Node} parent The parent node.
1793
+ * @param {number} offset The offset into the parent node.
1794
+ * @param {Object=} opt_result Object to be used to store the return value. The
1795
+ * return value will be stored in the form {node: Node, remainder: number}
1796
+ * if this object is provided.
1797
+ * @return {Node} The node at the given offset.
1798
+ */
1799
+ goog.dom.getNodeAtOffset = function(parent, offset, opt_result) {
1800
+ var stack = [parent], pos = 0, cur;
1801
+ while (stack.length > 0 && pos < offset) {
1802
+ cur = stack.pop();
1803
+ if (cur.nodeName in goog.dom.TAGS_TO_IGNORE_) {
1804
+ // ignore certain tags
1805
+ } else if (cur.nodeType == goog.dom.NodeType.TEXT) {
1806
+ var text = cur.nodeValue.replace(/(\r\n|\r|\n)/g, '').replace(/ +/g, ' ');
1807
+ pos += text.length;
1808
+ } else if (cur.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) {
1809
+ pos += goog.dom.PREDEFINED_TAG_VALUES_[cur.nodeName].length;
1810
+ } else {
1811
+ for (var i = cur.childNodes.length - 1; i >= 0; i--) {
1812
+ stack.push(cur.childNodes[i]);
1813
+ }
1814
+ }
1815
+ }
1816
+ if (goog.isObject(opt_result)) {
1817
+ opt_result.remainder = cur ? cur.nodeValue.length + offset - pos - 1 : 0;
1818
+ opt_result.node = cur;
1819
+ }
1820
+
1821
+ return cur;
1822
+ };
1823
+
1824
+
1825
+ /**
1826
+ * Returns true if the object is a {@code NodeList}. To qualify as a NodeList,
1827
+ * the object must have a numeric length property and an item function (which
1828
+ * has type 'string' on IE for some reason).
1829
+ * @param {Object} val Object to test.
1830
+ * @return {boolean} Whether the object is a NodeList.
1831
+ */
1832
+ goog.dom.isNodeList = function(val) {
1833
+ // TODO(attila): Now the isNodeList is part of goog.dom we can use
1834
+ // goog.userAgent to make this simpler.
1835
+ // A NodeList must have a length property of type 'number' on all platforms.
1836
+ if (val && typeof val.length == 'number') {
1837
+ // A NodeList is an object everywhere except Safari, where it's a function.
1838
+ if (goog.isObject(val)) {
1839
+ // A NodeList must have an item function (on non-IE platforms) or an item
1840
+ // property of type 'string' (on IE).
1841
+ return typeof val.item == 'function' || typeof val.item == 'string';
1842
+ } else if (goog.isFunction(val)) {
1843
+ // On Safari, a NodeList is a function with an item property that is also
1844
+ // a function.
1845
+ return typeof val.item == 'function';
1846
+ }
1847
+ }
1848
+
1849
+ // Not a NodeList.
1850
+ return false;
1851
+ };
1852
+
1853
+
1854
+ /**
1855
+ * Walks up the DOM hierarchy returning the first ancestor that has the passed
1856
+ * tag name and/or class name. If the passed element matches the specified
1857
+ * criteria, the element itself is returned.
1858
+ * @param {Node} element The DOM node to start with.
1859
+ * @param {?(goog.dom.TagName|string)=} opt_tag The tag name to match (or
1860
+ * null/undefined to match only based on class name).
1861
+ * @param {?string=} opt_class The class name to match (or null/undefined to
1862
+ * match only based on tag name).
1863
+ * @return {Element} The first ancestor that matches the passed criteria, or
1864
+ * null if no match is found.
1865
+ */
1866
+ goog.dom.getAncestorByTagNameAndClass = function(element, opt_tag, opt_class) {
1867
+ if (!opt_tag && !opt_class) {
1868
+ return null;
1869
+ }
1870
+ var tagName = opt_tag ? opt_tag.toUpperCase() : null;
1871
+ return /** @type {Element} */ (goog.dom.getAncestor(element,
1872
+ function(node) {
1873
+ return (!tagName || node.nodeName == tagName) &&
1874
+ (!opt_class || goog.dom.classes.has(node, opt_class));
1875
+ }, true));
1876
+ };
1877
+
1878
+
1879
+ /**
1880
+ * Walks up the DOM hierarchy returning the first ancestor that has the passed
1881
+ * class name. If the passed element matches the specified criteria, the
1882
+ * element itself is returned.
1883
+ * @param {Node} element The DOM node to start with.
1884
+ * @param {string} className The class name to match.
1885
+ * @return {Element} The first ancestor that matches the passed criteria, or
1886
+ * null if none match.
1887
+ */
1888
+ goog.dom.getAncestorByClass = function(element, className) {
1889
+ return goog.dom.getAncestorByTagNameAndClass(element, null, className);
1890
+ };
1891
+
1892
+
1893
+ /**
1894
+ * Walks up the DOM hierarchy returning the first ancestor that passes the
1895
+ * matcher function.
1896
+ * @param {Node} element The DOM node to start with.
1897
+ * @param {function(Node) : boolean} matcher A function that returns true if the
1898
+ * passed node matches the desired criteria.
1899
+ * @param {boolean=} opt_includeNode If true, the node itself is included in
1900
+ * the search (the first call to the matcher will pass startElement as
1901
+ * the node to test).
1902
+ * @param {number=} opt_maxSearchSteps Maximum number of levels to search up the
1903
+ * dom.
1904
+ * @return {Node} DOM node that matched the matcher, or null if there was
1905
+ * no match.
1906
+ */
1907
+ goog.dom.getAncestor = function(
1908
+ element, matcher, opt_includeNode, opt_maxSearchSteps) {
1909
+ if (!opt_includeNode) {
1910
+ element = element.parentNode;
1911
+ }
1912
+ var ignoreSearchSteps = opt_maxSearchSteps == null;
1913
+ var steps = 0;
1914
+ while (element && (ignoreSearchSteps || steps <= opt_maxSearchSteps)) {
1915
+ if (matcher(element)) {
1916
+ return element;
1917
+ }
1918
+ element = element.parentNode;
1919
+ steps++;
1920
+ }
1921
+ // Reached the root of the DOM without a match
1922
+ return null;
1923
+ };
1924
+
1925
+
1926
+ /**
1927
+ * Determines the active element in the given document.
1928
+ * @param {Document} doc The document to look in.
1929
+ * @return {Element} The active element.
1930
+ */
1931
+ goog.dom.getActiveElement = function(doc) {
1932
+ try {
1933
+ return doc && doc.activeElement;
1934
+ } catch (e) {
1935
+ // NOTE(nicksantos): Sometimes, evaluating document.activeElement in IE
1936
+ // throws an exception. I'm not 100% sure why, but I suspect it chokes
1937
+ // on document.activeElement if the activeElement has been recently
1938
+ // removed from the DOM by a JS operation.
1939
+ //
1940
+ // We assume that an exception here simply means
1941
+ // "there is no active element."
1942
+ }
1943
+
1944
+ return null;
1945
+ };
1946
+
1947
+
1948
+
1949
+ /**
1950
+ * Create an instance of a DOM helper with a new document object.
1951
+ * @param {Document=} opt_document Document object to associate with this
1952
+ * DOM helper.
1953
+ * @constructor
1954
+ */
1955
+ goog.dom.DomHelper = function(opt_document) {
1956
+ /**
1957
+ * Reference to the document object to use
1958
+ * @type {!Document}
1959
+ * @private
1960
+ */
1961
+ this.document_ = opt_document || goog.global.document || document;
1962
+ };
1963
+
1964
+
1965
+ /**
1966
+ * Gets the dom helper object for the document where the element resides.
1967
+ * @param {Node=} opt_node If present, gets the DomHelper for this node.
1968
+ * @return {!goog.dom.DomHelper} The DomHelper.
1969
+ */
1970
+ goog.dom.DomHelper.prototype.getDomHelper = goog.dom.getDomHelper;
1971
+
1972
+
1973
+ /**
1974
+ * Sets the document object.
1975
+ * @param {!Document} document Document object.
1976
+ */
1977
+ goog.dom.DomHelper.prototype.setDocument = function(document) {
1978
+ this.document_ = document;
1979
+ };
1980
+
1981
+
1982
+ /**
1983
+ * Gets the document object being used by the dom library.
1984
+ * @return {!Document} Document object.
1985
+ */
1986
+ goog.dom.DomHelper.prototype.getDocument = function() {
1987
+ return this.document_;
1988
+ };
1989
+
1990
+
1991
+ /**
1992
+ * Alias for {@code getElementById}. If a DOM node is passed in then we just
1993
+ * return that.
1994
+ * @param {string|Element} element Element ID or a DOM node.
1995
+ * @return {Element} The element with the given ID, or the node passed in.
1996
+ */
1997
+ goog.dom.DomHelper.prototype.getElement = function(element) {
1998
+ if (goog.isString(element)) {
1999
+ return this.document_.getElementById(element);
2000
+ } else {
2001
+ return element;
2002
+ }
2003
+ };
2004
+
2005
+
2006
+ /**
2007
+ * Alias for {@code getElement}.
2008
+ * @param {string|Element} element Element ID or a DOM node.
2009
+ * @return {Element} The element with the given ID, or the node passed in.
2010
+ * @deprecated Use {@link goog.dom.DomHelper.prototype.getElement} instead.
2011
+ */
2012
+ goog.dom.DomHelper.prototype.$ = goog.dom.DomHelper.prototype.getElement;
2013
+
2014
+
2015
+ /**
2016
+ * Looks up elements by both tag and class name, using browser native functions
2017
+ * ({@code querySelectorAll}, {@code getElementsByTagName} or
2018
+ * {@code getElementsByClassName}) where possible. The returned array is a live
2019
+ * NodeList or a static list depending on the code path taken.
2020
+ *
2021
+ * @see goog.dom.query
2022
+ *
2023
+ * @param {?string=} opt_tag Element tag name or * for all tags.
2024
+ * @param {?string=} opt_class Optional class name.
2025
+ * @param {(Document|Element)=} opt_el Optional element to look in.
2026
+ * @return { {length: number} } Array-like list of elements (only a length
2027
+ * property and numerical indices are guaranteed to exist).
2028
+ */
2029
+ goog.dom.DomHelper.prototype.getElementsByTagNameAndClass = function(opt_tag,
2030
+ opt_class,
2031
+ opt_el) {
2032
+ return goog.dom.getElementsByTagNameAndClass_(this.document_, opt_tag,
2033
+ opt_class, opt_el);
2034
+ };
2035
+
2036
+
2037
+ /**
2038
+ * Returns an array of all the elements with the provided className.
2039
+ * @see {goog.dom.query}
2040
+ * @param {string} className the name of the class to look for.
2041
+ * @param {Element|Document=} opt_el Optional element to look in.
2042
+ * @return { {length: number} } The items found with the class name provided.
2043
+ */
2044
+ goog.dom.DomHelper.prototype.getElementsByClass = function(className, opt_el) {
2045
+ var doc = opt_el || this.document_;
2046
+ return goog.dom.getElementsByClass(className, doc);
2047
+ };
2048
+
2049
+
2050
+ /**
2051
+ * Returns the first element we find matching the provided class name.
2052
+ * @see {goog.dom.query}
2053
+ * @param {string} className the name of the class to look for.
2054
+ * @param {(Element|Document)=} opt_el Optional element to look in.
2055
+ * @return {Element} The first item found with the class name provided.
2056
+ */
2057
+ goog.dom.DomHelper.prototype.getElementByClass = function(className, opt_el) {
2058
+ var doc = opt_el || this.document_;
2059
+ return goog.dom.getElementByClass(className, doc);
2060
+ };
2061
+
2062
+
2063
+ /**
2064
+ * Alias for {@code getElementsByTagNameAndClass}.
2065
+ * @deprecated Use DomHelper getElementsByTagNameAndClass.
2066
+ * @see goog.dom.query
2067
+ *
2068
+ * @param {?string=} opt_tag Element tag name.
2069
+ * @param {?string=} opt_class Optional class name.
2070
+ * @param {Element=} opt_el Optional element to look in.
2071
+ * @return { {length: number} } Array-like list of elements (only a length
2072
+ * property and numerical indices are guaranteed to exist).
2073
+ */
2074
+ goog.dom.DomHelper.prototype.$$ =
2075
+ goog.dom.DomHelper.prototype.getElementsByTagNameAndClass;
2076
+
2077
+
2078
+ /**
2079
+ * Sets a number of properties on a node.
2080
+ * @param {Element} element DOM node to set properties on.
2081
+ * @param {Object} properties Hash of property:value pairs.
2082
+ */
2083
+ goog.dom.DomHelper.prototype.setProperties = goog.dom.setProperties;
2084
+
2085
+
2086
+ /**
2087
+ * Gets the dimensions of the viewport.
2088
+ * @param {Window=} opt_window Optional window element to test. Defaults to
2089
+ * the window of the Dom Helper.
2090
+ * @return {!goog.math.Size} Object with values 'width' and 'height'.
2091
+ */
2092
+ goog.dom.DomHelper.prototype.getViewportSize = function(opt_window) {
2093
+ // TODO(arv): This should not take an argument. That breaks the rule of a
2094
+ // a DomHelper representing a single frame/window/document.
2095
+ return goog.dom.getViewportSize(opt_window || this.getWindow());
2096
+ };
2097
+
2098
+
2099
+ /**
2100
+ * Calculates the height of the document.
2101
+ *
2102
+ * @return {number} The height of the document.
2103
+ */
2104
+ goog.dom.DomHelper.prototype.getDocumentHeight = function() {
2105
+ return goog.dom.getDocumentHeight_(this.getWindow());
2106
+ };
2107
+
2108
+
2109
+ /**
2110
+ * Typedef for use with goog.dom.createDom and goog.dom.append.
2111
+ * @typedef {Object|string|Array|NodeList}
2112
+ */
2113
+ goog.dom.Appendable;
2114
+
2115
+
2116
+ /**
2117
+ * Returns a dom node with a set of attributes. This function accepts varargs
2118
+ * for subsequent nodes to be added. Subsequent nodes will be added to the
2119
+ * first node as childNodes.
2120
+ *
2121
+ * So:
2122
+ * <code>createDom('div', null, createDom('p'), createDom('p'));</code>
2123
+ * would return a div with two child paragraphs
2124
+ *
2125
+ * An easy way to move all child nodes of an existing element to a new parent
2126
+ * element is:
2127
+ * <code>createDom('div', null, oldElement.childNodes);</code>
2128
+ * which will remove all child nodes from the old element and add them as
2129
+ * child nodes of the new DIV.
2130
+ *
2131
+ * @param {string} tagName Tag to create.
2132
+ * @param {Object|string=} opt_attributes If object, then a map of name-value
2133
+ * pairs for attributes. If a string, then this is the className of the new
2134
+ * element.
2135
+ * @param {...goog.dom.Appendable} var_args Further DOM nodes or
2136
+ * strings for text nodes. If one of the var_args is an array or
2137
+ * NodeList, its elements will be added as childNodes instead.
2138
+ * @return {!Element} Reference to a DOM node.
2139
+ */
2140
+ goog.dom.DomHelper.prototype.createDom = function(tagName,
2141
+ opt_attributes,
2142
+ var_args) {
2143
+ return goog.dom.createDom_(this.document_, arguments);
2144
+ };
2145
+
2146
+
2147
+ /**
2148
+ * Alias for {@code createDom}.
2149
+ * @param {string} tagName Tag to create.
2150
+ * @param {(Object|string)=} opt_attributes If object, then a map of name-value
2151
+ * pairs for attributes. If a string, then this is the className of the new
2152
+ * element.
2153
+ * @param {...goog.dom.Appendable} var_args Further DOM nodes or strings for
2154
+ * text nodes. If one of the var_args is an array, its children will be
2155
+ * added as childNodes instead.
2156
+ * @return {!Element} Reference to a DOM node.
2157
+ * @deprecated Use {@link goog.dom.DomHelper.prototype.createDom} instead.
2158
+ */
2159
+ goog.dom.DomHelper.prototype.$dom = goog.dom.DomHelper.prototype.createDom;
2160
+
2161
+
2162
+ /**
2163
+ * Creates a new element.
2164
+ * @param {string} name Tag name.
2165
+ * @return {!Element} The new element.
2166
+ */
2167
+ goog.dom.DomHelper.prototype.createElement = function(name) {
2168
+ return this.document_.createElement(name);
2169
+ };
2170
+
2171
+
2172
+ /**
2173
+ * Creates a new text node.
2174
+ * @param {string} content Content.
2175
+ * @return {!Text} The new text node.
2176
+ */
2177
+ goog.dom.DomHelper.prototype.createTextNode = function(content) {
2178
+ return this.document_.createTextNode(content);
2179
+ };
2180
+
2181
+
2182
+ /**
2183
+ * Create a table.
2184
+ * @param {number} rows The number of rows in the table. Must be >= 1.
2185
+ * @param {number} columns The number of columns in the table. Must be >= 1.
2186
+ * @param {boolean=} opt_fillWithNbsp If true, fills table entries with nsbps.
2187
+ * @return {!Element} The created table.
2188
+ */
2189
+ goog.dom.DomHelper.prototype.createTable = function(rows, columns,
2190
+ opt_fillWithNbsp) {
2191
+ return goog.dom.createTable_(this.document_, rows, columns,
2192
+ !!opt_fillWithNbsp);
2193
+ };
2194
+
2195
+
2196
+ /**
2197
+ * Converts an HTML string into a node or a document fragment. A single Node
2198
+ * is used if the {@code htmlString} only generates a single node. If the
2199
+ * {@code htmlString} generates multiple nodes then these are put inside a
2200
+ * {@code DocumentFragment}.
2201
+ *
2202
+ * @param {string} htmlString The HTML string to convert.
2203
+ * @return {!Node} The resulting node.
2204
+ */
2205
+ goog.dom.DomHelper.prototype.htmlToDocumentFragment = function(htmlString) {
2206
+ return goog.dom.htmlToDocumentFragment_(this.document_, htmlString);
2207
+ };
2208
+
2209
+
2210
+ /**
2211
+ * Returns the compatMode of the document.
2212
+ * @return {string} The result is either CSS1Compat or BackCompat.
2213
+ * @deprecated use goog.dom.DomHelper.prototype.isCss1CompatMode instead.
2214
+ */
2215
+ goog.dom.DomHelper.prototype.getCompatMode = function() {
2216
+ return this.isCss1CompatMode() ? 'CSS1Compat' : 'BackCompat';
2217
+ };
2218
+
2219
+
2220
+ /**
2221
+ * Returns true if the browser is in "CSS1-compatible" (standards-compliant)
2222
+ * mode, false otherwise.
2223
+ * @return {boolean} True if in CSS1-compatible mode.
2224
+ */
2225
+ goog.dom.DomHelper.prototype.isCss1CompatMode = function() {
2226
+ return goog.dom.isCss1CompatMode_(this.document_);
2227
+ };
2228
+
2229
+
2230
+ /**
2231
+ * Gets the window object associated with the document.
2232
+ * @return {!Window} The window associated with the given document.
2233
+ */
2234
+ goog.dom.DomHelper.prototype.getWindow = function() {
2235
+ return goog.dom.getWindow_(this.document_);
2236
+ };
2237
+
2238
+
2239
+ /**
2240
+ * Gets the document scroll element.
2241
+ * @return {Element} Scrolling element.
2242
+ */
2243
+ goog.dom.DomHelper.prototype.getDocumentScrollElement = function() {
2244
+ return goog.dom.getDocumentScrollElement_(this.document_);
2245
+ };
2246
+
2247
+
2248
+ /**
2249
+ * Gets the document scroll distance as a coordinate object.
2250
+ * @return {!goog.math.Coordinate} Object with properties 'x' and 'y'.
2251
+ */
2252
+ goog.dom.DomHelper.prototype.getDocumentScroll = function() {
2253
+ return goog.dom.getDocumentScroll_(this.document_);
2254
+ };
2255
+
2256
+
2257
+ /**
2258
+ * Determines the active element in the given document.
2259
+ * @param {Document=} opt_doc The document to look in.
2260
+ * @return {Element} The active element.
2261
+ */
2262
+ goog.dom.DomHelper.prototype.getActiveElement = function(opt_doc) {
2263
+ return goog.dom.getActiveElement(opt_doc || this.document_);
2264
+ };
2265
+
2266
+
2267
+ /**
2268
+ * Appends a child to a node.
2269
+ * @param {Node} parent Parent.
2270
+ * @param {Node} child Child.
2271
+ */
2272
+ goog.dom.DomHelper.prototype.appendChild = goog.dom.appendChild;
2273
+
2274
+
2275
+ /**
2276
+ * Appends a node with text or other nodes.
2277
+ * @param {!Node} parent The node to append nodes to.
2278
+ * @param {...goog.dom.Appendable} var_args The things to append to the node.
2279
+ * If this is a Node it is appended as is.
2280
+ * If this is a string then a text node is appended.
2281
+ * If this is an array like object then fields 0 to length - 1 are appended.
2282
+ */
2283
+ goog.dom.DomHelper.prototype.append = goog.dom.append;
2284
+
2285
+
2286
+ /**
2287
+ * Determines if the given node can contain children, intended to be used for
2288
+ * HTML generation.
2289
+ *
2290
+ * @param {Node} node The node to check.
2291
+ * @return {boolean} Whether the node can contain children.
2292
+ */
2293
+ goog.dom.DomHelper.prototype.canHaveChildren = goog.dom.canHaveChildren;
2294
+
2295
+
2296
+ /**
2297
+ * Removes all the child nodes on a DOM node.
2298
+ * @param {Node} node Node to remove children from.
2299
+ */
2300
+ goog.dom.DomHelper.prototype.removeChildren = goog.dom.removeChildren;
2301
+
2302
+
2303
+ /**
2304
+ * Inserts a new node before an existing reference node (i.e., as the previous
2305
+ * sibling). If the reference node has no parent, then does nothing.
2306
+ * @param {Node} newNode Node to insert.
2307
+ * @param {Node} refNode Reference node to insert before.
2308
+ */
2309
+ goog.dom.DomHelper.prototype.insertSiblingBefore = goog.dom.insertSiblingBefore;
2310
+
2311
+
2312
+ /**
2313
+ * Inserts a new node after an existing reference node (i.e., as the next
2314
+ * sibling). If the reference node has no parent, then does nothing.
2315
+ * @param {Node} newNode Node to insert.
2316
+ * @param {Node} refNode Reference node to insert after.
2317
+ */
2318
+ goog.dom.DomHelper.prototype.insertSiblingAfter = goog.dom.insertSiblingAfter;
2319
+
2320
+
2321
+ /**
2322
+ * Insert a child at a given index. If index is larger than the number of child
2323
+ * nodes that the parent currently has, the node is inserted as the last child
2324
+ * node.
2325
+ * @param {Element} parent The element into which to insert the child.
2326
+ * @param {Node} child The element to insert.
2327
+ * @param {number} index The index at which to insert the new child node. Must
2328
+ * not be negative.
2329
+ */
2330
+ goog.dom.DomHelper.prototype.insertChildAt = goog.dom.insertChildAt;
2331
+
2332
+
2333
+ /**
2334
+ * Removes a node from its parent.
2335
+ * @param {Node} node The node to remove.
2336
+ * @return {Node} The node removed if removed; else, null.
2337
+ */
2338
+ goog.dom.DomHelper.prototype.removeNode = goog.dom.removeNode;
2339
+
2340
+
2341
+ /**
2342
+ * Replaces a node in the DOM tree. Will do nothing if {@code oldNode} has no
2343
+ * parent.
2344
+ * @param {Node} newNode Node to insert.
2345
+ * @param {Node} oldNode Node to replace.
2346
+ */
2347
+ goog.dom.DomHelper.prototype.replaceNode = goog.dom.replaceNode;
2348
+
2349
+
2350
+ /**
2351
+ * Flattens an element. That is, removes it and replace it with its children.
2352
+ * @param {Element} element The element to flatten.
2353
+ * @return {Element|undefined} The original element, detached from the document
2354
+ * tree, sans children, or undefined if the element was already not in the
2355
+ * document.
2356
+ */
2357
+ goog.dom.DomHelper.prototype.flattenElement = goog.dom.flattenElement;
2358
+
2359
+
2360
+ /**
2361
+ * Returns an array containing just the element children of the given element.
2362
+ * @param {Element} element The element whose element children we want.
2363
+ * @return {!(Array|NodeList)} An array or array-like list of just the element
2364
+ * children of the given element.
2365
+ */
2366
+ goog.dom.DomHelper.prototype.getChildren = goog.dom.getChildren;
2367
+
2368
+
2369
+ /**
2370
+ * Returns the first child node that is an element.
2371
+ * @param {Node} node The node to get the first child element of.
2372
+ * @return {Element} The first child node of {@code node} that is an element.
2373
+ */
2374
+ goog.dom.DomHelper.prototype.getFirstElementChild =
2375
+ goog.dom.getFirstElementChild;
2376
+
2377
+
2378
+ /**
2379
+ * Returns the last child node that is an element.
2380
+ * @param {Node} node The node to get the last child element of.
2381
+ * @return {Element} The last child node of {@code node} that is an element.
2382
+ */
2383
+ goog.dom.DomHelper.prototype.getLastElementChild = goog.dom.getLastElementChild;
2384
+
2385
+
2386
+ /**
2387
+ * Returns the first next sibling that is an element.
2388
+ * @param {Node} node The node to get the next sibling element of.
2389
+ * @return {Element} The next sibling of {@code node} that is an element.
2390
+ */
2391
+ goog.dom.DomHelper.prototype.getNextElementSibling =
2392
+ goog.dom.getNextElementSibling;
2393
+
2394
+
2395
+ /**
2396
+ * Returns the first previous sibling that is an element.
2397
+ * @param {Node} node The node to get the previous sibling element of.
2398
+ * @return {Element} The first previous sibling of {@code node} that is
2399
+ * an element.
2400
+ */
2401
+ goog.dom.DomHelper.prototype.getPreviousElementSibling =
2402
+ goog.dom.getPreviousElementSibling;
2403
+
2404
+
2405
+ /**
2406
+ * Returns the next node in source order from the given node.
2407
+ * @param {Node} node The node.
2408
+ * @return {Node} The next node in the DOM tree, or null if this was the last
2409
+ * node.
2410
+ */
2411
+ goog.dom.DomHelper.prototype.getNextNode = goog.dom.getNextNode;
2412
+
2413
+
2414
+ /**
2415
+ * Returns the previous node in source order from the given node.
2416
+ * @param {Node} node The node.
2417
+ * @return {Node} The previous node in the DOM tree, or null if this was the
2418
+ * first node.
2419
+ */
2420
+ goog.dom.DomHelper.prototype.getPreviousNode = goog.dom.getPreviousNode;
2421
+
2422
+
2423
+ /**
2424
+ * Whether the object looks like a DOM node.
2425
+ * @param {*} obj The object being tested for node likeness.
2426
+ * @return {boolean} Whether the object looks like a DOM node.
2427
+ */
2428
+ goog.dom.DomHelper.prototype.isNodeLike = goog.dom.isNodeLike;
2429
+
2430
+
2431
+ /**
2432
+ * Whether the object looks like an Element.
2433
+ * @param {*} obj The object being tested for Element likeness.
2434
+ * @return {boolean} Whether the object looks like an Element.
2435
+ */
2436
+ goog.dom.DomHelper.prototype.isElement = goog.dom.isElement;
2437
+
2438
+
2439
+ /**
2440
+ * Returns true if the specified value is a Window object. This includes the
2441
+ * global window for HTML pages, and iframe windows.
2442
+ * @param {*} obj Variable to test.
2443
+ * @return {boolean} Whether the variable is a window.
2444
+ */
2445
+ goog.dom.DomHelper.prototype.isWindow = goog.dom.isWindow;
2446
+
2447
+
2448
+ /**
2449
+ * Returns an element's parent, if it's an Element.
2450
+ * @param {Element} element The DOM element.
2451
+ * @return {Element} The parent, or null if not an Element.
2452
+ */
2453
+ goog.dom.DomHelper.prototype.getParentElement = goog.dom.getParentElement;
2454
+
2455
+
2456
+ /**
2457
+ * Whether a node contains another node.
2458
+ * @param {Node} parent The node that should contain the other node.
2459
+ * @param {Node} descendant The node to test presence of.
2460
+ * @return {boolean} Whether the parent node contains the descendent node.
2461
+ */
2462
+ goog.dom.DomHelper.prototype.contains = goog.dom.contains;
2463
+
2464
+
2465
+ /**
2466
+ * Compares the document order of two nodes, returning 0 if they are the same
2467
+ * node, a negative number if node1 is before node2, and a positive number if
2468
+ * node2 is before node1. Note that we compare the order the tags appear in the
2469
+ * document so in the tree <b><i>text</i></b> the B node is considered to be
2470
+ * before the I node.
2471
+ *
2472
+ * @param {Node} node1 The first node to compare.
2473
+ * @param {Node} node2 The second node to compare.
2474
+ * @return {number} 0 if the nodes are the same node, a negative number if node1
2475
+ * is before node2, and a positive number if node2 is before node1.
2476
+ */
2477
+ goog.dom.DomHelper.prototype.compareNodeOrder = goog.dom.compareNodeOrder;
2478
+
2479
+
2480
+ /**
2481
+ * Find the deepest common ancestor of the given nodes.
2482
+ * @param {...Node} var_args The nodes to find a common ancestor of.
2483
+ * @return {Node} The common ancestor of the nodes, or null if there is none.
2484
+ * null will only be returned if two or more of the nodes are from different
2485
+ * documents.
2486
+ */
2487
+ goog.dom.DomHelper.prototype.findCommonAncestor = goog.dom.findCommonAncestor;
2488
+
2489
+
2490
+ /**
2491
+ * Returns the owner document for a node.
2492
+ * @param {Node} node The node to get the document for.
2493
+ * @return {!Document} The document owning the node.
2494
+ */
2495
+ goog.dom.DomHelper.prototype.getOwnerDocument = goog.dom.getOwnerDocument;
2496
+
2497
+
2498
+ /**
2499
+ * Cross browser function for getting the document element of an iframe.
2500
+ * @param {Element} iframe Iframe element.
2501
+ * @return {!Document} The frame content document.
2502
+ */
2503
+ goog.dom.DomHelper.prototype.getFrameContentDocument =
2504
+ goog.dom.getFrameContentDocument;
2505
+
2506
+
2507
+ /**
2508
+ * Cross browser function for getting the window of a frame or iframe.
2509
+ * @param {Element} frame Frame element.
2510
+ * @return {Window} The window associated with the given frame.
2511
+ */
2512
+ goog.dom.DomHelper.prototype.getFrameContentWindow =
2513
+ goog.dom.getFrameContentWindow;
2514
+
2515
+
2516
+ /**
2517
+ * Cross browser function for setting the text content of an element.
2518
+ * @param {Element} element The element to change the text content of.
2519
+ * @param {string} text The string that should replace the current element
2520
+ * content with.
2521
+ */
2522
+ goog.dom.DomHelper.prototype.setTextContent = goog.dom.setTextContent;
2523
+
2524
+
2525
+ /**
2526
+ * Gets the outerHTML of a node, which islike innerHTML, except that it
2527
+ * actually contains the HTML of the node itself.
2528
+ * @param {Element} element The element to get the HTML of.
2529
+ * @return {string} The outerHTML of the given element.
2530
+ */
2531
+ goog.dom.DomHelper.prototype.getOuterHtml = goog.dom.getOuterHtml;
2532
+
2533
+
2534
+ /**
2535
+ * Finds the first descendant node that matches the filter function. This does
2536
+ * a depth first search.
2537
+ * @param {Node} root The root of the tree to search.
2538
+ * @param {function(Node) : boolean} p The filter function.
2539
+ * @return {Node|undefined} The found node or undefined if none is found.
2540
+ */
2541
+ goog.dom.DomHelper.prototype.findNode = goog.dom.findNode;
2542
+
2543
+
2544
+ /**
2545
+ * Finds all the descendant nodes that matches the filter function. This does a
2546
+ * depth first search.
2547
+ * @param {Node} root The root of the tree to search.
2548
+ * @param {function(Node) : boolean} p The filter function.
2549
+ * @return {Array.<Node>} The found nodes or an empty array if none are found.
2550
+ */
2551
+ goog.dom.DomHelper.prototype.findNodes = goog.dom.findNodes;
2552
+
2553
+
2554
+ /**
2555
+ * Returns true if the element has a tab index that allows it to receive
2556
+ * keyboard focus (tabIndex >= 0), false otherwise. Note that form elements
2557
+ * natively support keyboard focus, even if they have no tab index.
2558
+ * @param {Element} element Element to check.
2559
+ * @return {boolean} Whether the element has a tab index that allows keyboard
2560
+ * focus.
2561
+ */
2562
+ goog.dom.DomHelper.prototype.isFocusableTabIndex = goog.dom.isFocusableTabIndex;
2563
+
2564
+
2565
+ /**
2566
+ * Enables or disables keyboard focus support on the element via its tab index.
2567
+ * Only elements for which {@link goog.dom.isFocusableTabIndex} returns true
2568
+ * (or elements that natively support keyboard focus, like form elements) can
2569
+ * receive keyboard focus. See http://go/tabindex for more info.
2570
+ * @param {Element} element Element whose tab index is to be changed.
2571
+ * @param {boolean} enable Whether to set or remove a tab index on the element
2572
+ * that supports keyboard focus.
2573
+ */
2574
+ goog.dom.DomHelper.prototype.setFocusableTabIndex =
2575
+ goog.dom.setFocusableTabIndex;
2576
+
2577
+
2578
+ /**
2579
+ * Returns the text contents of the current node, without markup. New lines are
2580
+ * stripped and whitespace is collapsed, such that each character would be
2581
+ * visible.
2582
+ *
2583
+ * In browsers that support it, innerText is used. Other browsers attempt to
2584
+ * simulate it via node traversal. Line breaks are canonicalized in IE.
2585
+ *
2586
+ * @param {Node} node The node from which we are getting content.
2587
+ * @return {string} The text content.
2588
+ */
2589
+ goog.dom.DomHelper.prototype.getTextContent = goog.dom.getTextContent;
2590
+
2591
+
2592
+ /**
2593
+ * Returns the text length of the text contained in a node, without markup. This
2594
+ * is equivalent to the selection length if the node was selected, or the number
2595
+ * of cursor movements to traverse the node. Images & BRs take one space. New
2596
+ * lines are ignored.
2597
+ *
2598
+ * @param {Node} node The node whose text content length is being calculated.
2599
+ * @return {number} The length of {@code node}'s text content.
2600
+ */
2601
+ goog.dom.DomHelper.prototype.getNodeTextLength = goog.dom.getNodeTextLength;
2602
+
2603
+
2604
+ /**
2605
+ * Returns the text offset of a node relative to one of its ancestors. The text
2606
+ * length is the same as the length calculated by
2607
+ * {@code goog.dom.getNodeTextLength}.
2608
+ *
2609
+ * @param {Node} node The node whose offset is being calculated.
2610
+ * @param {Node=} opt_offsetParent Defaults to the node's owner document's body.
2611
+ * @return {number} The text offset.
2612
+ */
2613
+ goog.dom.DomHelper.prototype.getNodeTextOffset = goog.dom.getNodeTextOffset;
2614
+
2615
+
2616
+ /**
2617
+ * Returns the node at a given offset in a parent node. If an object is
2618
+ * provided for the optional third parameter, the node and the remainder of the
2619
+ * offset will stored as properties of this object.
2620
+ * @param {Node} parent The parent node.
2621
+ * @param {number} offset The offset into the parent node.
2622
+ * @param {Object=} opt_result Object to be used to store the return value. The
2623
+ * return value will be stored in the form {node: Node, remainder: number}
2624
+ * if this object is provided.
2625
+ * @return {Node} The node at the given offset.
2626
+ */
2627
+ goog.dom.DomHelper.prototype.getNodeAtOffset = goog.dom.getNodeAtOffset;
2628
+
2629
+
2630
+ /**
2631
+ * Returns true if the object is a {@code NodeList}. To qualify as a NodeList,
2632
+ * the object must have a numeric length property and an item function (which
2633
+ * has type 'string' on IE for some reason).
2634
+ * @param {Object} val Object to test.
2635
+ * @return {boolean} Whether the object is a NodeList.
2636
+ */
2637
+ goog.dom.DomHelper.prototype.isNodeList = goog.dom.isNodeList;
2638
+
2639
+
2640
+ /**
2641
+ * Walks up the DOM hierarchy returning the first ancestor that has the passed
2642
+ * tag name and/or class name. If the passed element matches the specified
2643
+ * criteria, the element itself is returned.
2644
+ * @param {Node} element The DOM node to start with.
2645
+ * @param {?(goog.dom.TagName|string)=} opt_tag The tag name to match (or
2646
+ * null/undefined to match only based on class name).
2647
+ * @param {?string=} opt_class The class name to match (or null/undefined to
2648
+ * match only based on tag name).
2649
+ * @return {Element} The first ancestor that matches the passed criteria, or
2650
+ * null if no match is found.
2651
+ */
2652
+ goog.dom.DomHelper.prototype.getAncestorByTagNameAndClass =
2653
+ goog.dom.getAncestorByTagNameAndClass;
2654
+
2655
+
2656
+ /**
2657
+ * Walks up the DOM hierarchy returning the first ancestor that has the passed
2658
+ * class name. If the passed element matches the specified criteria, the
2659
+ * element itself is returned.
2660
+ * @param {Node} element The DOM node to start with.
2661
+ * @param {string} class The class name to match.
2662
+ * @return {Element} The first ancestor that matches the passed criteria, or
2663
+ * null if none match.
2664
+ */
2665
+ goog.dom.DomHelper.prototype.getAncestorByClass =
2666
+ goog.dom.getAncestorByClass;
2667
+
2668
+
2669
+ /**
2670
+ * Walks up the DOM hierarchy returning the first ancestor that passes the
2671
+ * matcher function.
2672
+ * @param {Node} element The DOM node to start with.
2673
+ * @param {function(Node) : boolean} matcher A function that returns true if the
2674
+ * passed node matches the desired criteria.
2675
+ * @param {boolean=} opt_includeNode If true, the node itself is included in
2676
+ * the search (the first call to the matcher will pass startElement as
2677
+ * the node to test).
2678
+ * @param {number=} opt_maxSearchSteps Maximum number of levels to search up the
2679
+ * dom.
2680
+ * @return {Node} DOM node that matched the matcher, or null if there was
2681
+ * no match.
2682
+ */
2683
+ goog.dom.DomHelper.prototype.getAncestor = goog.dom.getAncestor;