jsduck 2.0.pre4 → 3.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (485) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +126 -34
  3. data/Rakefile +343 -115
  4. data/bin/jsduck +4 -196
  5. data/example.js +144 -0
  6. data/jsduck.gemspec +4 -9
  7. data/lib/jsduck/aggregator.rb +1 -1
  8. data/lib/jsduck/app.rb +165 -182
  9. data/lib/jsduck/categories.rb +17 -2
  10. data/lib/jsduck/class.rb +10 -0
  11. data/lib/jsduck/class_formatter.rb +77 -0
  12. data/lib/jsduck/doc_formatter.rb +42 -4
  13. data/lib/jsduck/doc_parser.rb +64 -10
  14. data/lib/jsduck/examples.rb +33 -0
  15. data/lib/jsduck/exporter.rb +18 -42
  16. data/lib/jsduck/guides.rb +41 -74
  17. data/lib/jsduck/icons.rb +28 -0
  18. data/lib/jsduck/js_literal_builder.rb +21 -0
  19. data/lib/jsduck/js_literal_parser.rb +106 -0
  20. data/lib/jsduck/js_parser.rb +115 -97
  21. data/lib/jsduck/json_duck.rb +45 -0
  22. data/lib/jsduck/lexer.rb +55 -25
  23. data/lib/jsduck/lint.rb +84 -0
  24. data/lib/jsduck/merger.rb +91 -21
  25. data/lib/jsduck/options.rb +320 -0
  26. data/lib/jsduck/relations.rb +7 -1
  27. data/lib/jsduck/renderer.rb +315 -0
  28. data/lib/jsduck/source_writer.rb +2 -2
  29. data/lib/jsduck/type_parser.rb +85 -0
  30. data/lib/jsduck/videos.rb +33 -0
  31. data/lib/jsduck/welcome.rb +21 -0
  32. data/{template → template-min}/README.md +0 -0
  33. data/template-min/app.js +1 -0
  34. data/template-min/build-js.html +25 -0
  35. data/template-min/egIframe.html +24 -0
  36. data/template-min/extjs/bootstrap.js +73 -0
  37. data/template-min/extjs/ext-all-debug.js +90047 -0
  38. data/{template → template-min}/extjs/ext-all.js +0 -0
  39. data/template-min/extjs/resources/css/ext-all.css +1 -0
  40. data/template-min/extjs/resources/themes/images/default/boundlist/trigger-arrow.png +0 -0
  41. data/template-min/extjs/resources/themes/images/default/box/corners-blue.gif +0 -0
  42. data/template-min/extjs/resources/themes/images/default/box/corners.gif +0 -0
  43. data/template-min/extjs/resources/themes/images/default/box/l-blue.gif +0 -0
  44. data/template-min/extjs/resources/themes/images/default/box/l.gif +0 -0
  45. data/template-min/extjs/resources/themes/images/default/box/r-blue.gif +0 -0
  46. data/template-min/extjs/resources/themes/images/default/box/r.gif +0 -0
  47. data/template-min/extjs/resources/themes/images/default/box/tb-blue.gif +0 -0
  48. data/template-min/extjs/resources/themes/images/default/box/tb.gif +0 -0
  49. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-bg.gif +0 -0
  50. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-corners.gif +0 -0
  51. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-disabled-bg.gif +0 -0
  52. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-disabled-corners.gif +0 -0
  53. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-disabled-sides.gif +0 -0
  54. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-focus-bg.gif +0 -0
  55. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-focus-corners.gif +0 -0
  56. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-focus-sides.gif +0 -0
  57. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-over-bg.gif +0 -0
  58. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-over-corners.gif +0 -0
  59. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-over-sides.gif +0 -0
  60. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-pressed-bg.gif +0 -0
  61. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-pressed-corners.gif +0 -0
  62. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-pressed-sides.gif +0 -0
  63. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-sides.gif +0 -0
  64. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-bg.gif +0 -0
  65. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-corners.gif +0 -0
  66. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif +0 -0
  67. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-corners.gif +0 -0
  68. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-sides.gif +0 -0
  69. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-focus-bg.gif +0 -0
  70. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-focus-corners.gif +0 -0
  71. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-focus-sides.gif +0 -0
  72. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-over-bg.gif +0 -0
  73. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-over-corners.gif +0 -0
  74. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-over-sides.gif +0 -0
  75. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-bg.gif +0 -0
  76. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-corners.gif +0 -0
  77. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-sides.gif +0 -0
  78. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-sides.gif +0 -0
  79. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-bg.gif +0 -0
  80. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-corners.gif +0 -0
  81. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-disabled-bg.gif +0 -0
  82. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-disabled-corners.gif +0 -0
  83. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-disabled-sides.gif +0 -0
  84. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-focus-bg.gif +0 -0
  85. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-focus-corners.gif +0 -0
  86. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-focus-sides.gif +0 -0
  87. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-over-bg.gif +0 -0
  88. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-over-corners.gif +0 -0
  89. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-over-sides.gif +0 -0
  90. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-pressed-bg.gif +0 -0
  91. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-pressed-corners.gif +0 -0
  92. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-pressed-sides.gif +0 -0
  93. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-sides.gif +0 -0
  94. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-corners.gif +0 -0
  95. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-corners.gif +0 -0
  96. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-sides.gif +0 -0
  97. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif +0 -0
  98. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-corners.gif +0 -0
  99. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-sides.gif +0 -0
  100. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif +0 -0
  101. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-corners.gif +0 -0
  102. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-sides.gif +0 -0
  103. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif +0 -0
  104. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif +0 -0
  105. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-sides.gif +0 -0
  106. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-sides.gif +0 -0
  107. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-corners.gif +0 -0
  108. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-corners.gif +0 -0
  109. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-sides.gif +0 -0
  110. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif +0 -0
  111. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif +0 -0
  112. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-sides.gif +0 -0
  113. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-bg.gif +0 -0
  114. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif +0 -0
  115. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-sides.gif +0 -0
  116. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-bg.gif +0 -0
  117. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-corners.gif +0 -0
  118. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-sides.gif +0 -0
  119. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-sides.gif +0 -0
  120. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-corners.gif +0 -0
  121. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-corners.gif +0 -0
  122. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-sides.gif +0 -0
  123. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif +0 -0
  124. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif +0 -0
  125. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-sides.gif +0 -0
  126. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-bg.gif +0 -0
  127. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif +0 -0
  128. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-sides.gif +0 -0
  129. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-bg.gif +0 -0
  130. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif +0 -0
  131. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-sides.gif +0 -0
  132. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-sides.gif +0 -0
  133. data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-corners.gif +0 -0
  134. data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-notitle-corners.gif +0 -0
  135. data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-notitle-sides.gif +0 -0
  136. data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-sides.gif +0 -0
  137. data/template-min/extjs/resources/themes/images/default/button/arrow.gif +0 -0
  138. data/template-min/extjs/resources/themes/images/default/button/btn.gif +0 -0
  139. data/template-min/extjs/resources/themes/images/default/button/group-cs.gif +0 -0
  140. data/template-min/extjs/resources/themes/images/default/button/group-lr.gif +0 -0
  141. data/template-min/extjs/resources/themes/images/default/button/group-tb.gif +0 -0
  142. data/template-min/extjs/resources/themes/images/default/button/s-arrow-b-noline.gif +0 -0
  143. data/template-min/extjs/resources/themes/images/default/button/s-arrow-b.gif +0 -0
  144. data/template-min/extjs/resources/themes/images/default/button/s-arrow-bo.gif +0 -0
  145. data/template-min/extjs/resources/themes/images/default/button/s-arrow-light.gif +0 -0
  146. data/template-min/extjs/resources/themes/images/default/button/s-arrow-noline.gif +0 -0
  147. data/template-min/extjs/resources/themes/images/default/button/s-arrow-o.gif +0 -0
  148. data/template-min/extjs/resources/themes/images/default/button/s-arrow.gif +0 -0
  149. data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.gif +0 -0
  150. data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.png +0 -0
  151. data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.gif +0 -0
  152. data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.png +0 -0
  153. data/template-min/extjs/resources/themes/images/default/dd/drop-add.gif +0 -0
  154. data/template-min/extjs/resources/themes/images/default/dd/drop-no.gif +0 -0
  155. data/template-min/extjs/resources/themes/images/default/dd/drop-yes.gif +0 -0
  156. data/template-min/extjs/resources/themes/images/default/editor/tb-sprite.gif +0 -0
  157. data/{template → template-min}/extjs/resources/themes/images/default/form/checkbox.gif +0 -0
  158. data/template-min/extjs/resources/themes/images/default/form/clear-trigger.gif +0 -0
  159. data/template-min/extjs/resources/themes/images/default/form/date-trigger.gif +0 -0
  160. data/template-min/extjs/resources/themes/images/default/form/error-tip-corners.gif +0 -0
  161. data/template-min/extjs/resources/themes/images/default/form/exclamation.gif +0 -0
  162. data/template-min/extjs/resources/themes/images/default/form/radio.gif +0 -0
  163. data/template-min/extjs/resources/themes/images/default/form/search-trigger.gif +0 -0
  164. data/template-min/extjs/resources/themes/images/default/form/spinner-small.gif +0 -0
  165. data/template-min/extjs/resources/themes/images/default/form/spinner.gif +0 -0
  166. data/{template → template-min}/extjs/resources/themes/images/default/form/text-bg.gif +0 -0
  167. data/template-min/extjs/resources/themes/images/default/form/trigger-square.gif +0 -0
  168. data/template-min/extjs/resources/themes/images/default/form/trigger-tpl.gif +0 -0
  169. data/template-min/extjs/resources/themes/images/default/form/trigger.gif +0 -0
  170. data/template-min/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-corners.gif +0 -0
  171. data/template-min/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-sides.gif +0 -0
  172. data/template-min/extjs/resources/themes/images/default/grid/arrow-left-white.gif +0 -0
  173. data/template-min/extjs/resources/themes/images/default/grid/arrow-right-white.gif +0 -0
  174. data/template-min/extjs/resources/themes/images/default/grid/cell-special-bg.gif +0 -0
  175. data/template-min/extjs/resources/themes/images/default/grid/cell-special-bg.png +0 -0
  176. data/template-min/extjs/resources/themes/images/default/grid/cell-special-selected-bg.gif +0 -0
  177. data/template-min/extjs/resources/themes/images/default/grid/cell-special-selected-bg.png +0 -0
  178. data/template-min/extjs/resources/themes/images/default/grid/checked.gif +0 -0
  179. data/template-min/extjs/resources/themes/images/default/grid/col-move-bottom.gif +0 -0
  180. data/template-min/extjs/resources/themes/images/default/grid/col-move-top.gif +0 -0
  181. data/template-min/extjs/resources/themes/images/default/grid/column-header-bg.gif +0 -0
  182. data/template-min/extjs/resources/themes/images/default/grid/column-header-bg.png +0 -0
  183. data/template-min/extjs/resources/themes/images/default/grid/column-header-over-bg.gif +0 -0
  184. data/template-min/extjs/resources/themes/images/default/grid/column-header-over-bg.png +0 -0
  185. data/template-min/extjs/resources/themes/images/default/grid/columns.gif +0 -0
  186. data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.gif +0 -0
  187. data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.png +0 -0
  188. data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.gif +0 -0
  189. data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.png +0 -0
  190. data/template-min/extjs/resources/themes/images/default/grid/dirty.gif +0 -0
  191. data/template-min/extjs/resources/themes/images/default/grid/done.gif +0 -0
  192. data/template-min/extjs/resources/themes/images/default/grid/drop-no.gif +0 -0
  193. data/template-min/extjs/resources/themes/images/default/grid/drop-yes.gif +0 -0
  194. data/template-min/extjs/resources/themes/images/default/grid/footer-bg.gif +0 -0
  195. data/template-min/extjs/resources/themes/images/default/grid/grid-blue-hd.gif +0 -0
  196. data/template-min/extjs/resources/themes/images/default/grid/grid-blue-split.gif +0 -0
  197. data/template-min/extjs/resources/themes/images/default/grid/grid-hrow.gif +0 -0
  198. data/template-min/extjs/resources/themes/images/default/grid/grid-loading.gif +0 -0
  199. data/template-min/extjs/resources/themes/images/default/grid/grid-split.gif +0 -0
  200. data/template-min/extjs/resources/themes/images/default/grid/grid-vista-hd.gif +0 -0
  201. data/template-min/extjs/resources/themes/images/default/grid/grid3-hd-btn.gif +0 -0
  202. data/template-min/extjs/resources/themes/images/default/grid/grid3-hrow-over.gif +0 -0
  203. data/template-min/extjs/resources/themes/images/default/grid/grid3-hrow.gif +0 -0
  204. data/template-min/extjs/resources/themes/images/default/grid/grid3-rowheader.gif +0 -0
  205. data/template-min/extjs/resources/themes/images/default/grid/group-by.gif +0 -0
  206. data/template-min/extjs/resources/themes/images/default/grid/group-collapse.gif +0 -0
  207. data/template-min/extjs/resources/themes/images/default/grid/group-expand-sprite.gif +0 -0
  208. data/template-min/extjs/resources/themes/images/default/grid/group-expand.gif +0 -0
  209. data/template-min/extjs/resources/themes/images/default/grid/hd-pop.gif +0 -0
  210. data/template-min/extjs/resources/themes/images/default/grid/hmenu-asc.gif +0 -0
  211. data/template-min/extjs/resources/themes/images/default/grid/hmenu-desc.gif +0 -0
  212. data/template-min/extjs/resources/themes/images/default/grid/hmenu-lock.gif +0 -0
  213. data/template-min/extjs/resources/themes/images/default/grid/hmenu-lock.png +0 -0
  214. data/template-min/extjs/resources/themes/images/default/grid/hmenu-unlock.gif +0 -0
  215. data/template-min/extjs/resources/themes/images/default/grid/hmenu-unlock.png +0 -0
  216. data/template-min/extjs/resources/themes/images/default/grid/invalid_line.gif +0 -0
  217. data/{template → template-min}/extjs/resources/themes/images/default/grid/loading.gif +0 -0
  218. data/template-min/extjs/resources/themes/images/default/grid/mso-hd.gif +0 -0
  219. data/template-min/extjs/resources/themes/images/default/grid/nowait.gif +0 -0
  220. data/template-min/extjs/resources/themes/images/default/grid/page-first-disabled.gif +0 -0
  221. data/template-min/extjs/resources/themes/images/default/grid/page-first.gif +0 -0
  222. data/template-min/extjs/resources/themes/images/default/grid/page-last-disabled.gif +0 -0
  223. data/template-min/extjs/resources/themes/images/default/grid/page-last.gif +0 -0
  224. data/template-min/extjs/resources/themes/images/default/grid/page-next-disabled.gif +0 -0
  225. data/template-min/extjs/resources/themes/images/default/grid/page-next.gif +0 -0
  226. data/template-min/extjs/resources/themes/images/default/grid/page-prev-disabled.gif +0 -0
  227. data/template-min/extjs/resources/themes/images/default/grid/page-prev.gif +0 -0
  228. data/template-min/extjs/resources/themes/images/default/grid/pick-button.gif +0 -0
  229. data/template-min/extjs/resources/themes/images/default/grid/property-cell-bg.gif +0 -0
  230. data/template-min/extjs/resources/themes/images/default/grid/property-cell-selected-bg.gif +0 -0
  231. data/template-min/extjs/resources/themes/images/default/grid/refresh-disabled.gif +0 -0
  232. data/template-min/extjs/resources/themes/images/default/grid/refresh.gif +0 -0
  233. data/template-min/extjs/resources/themes/images/default/grid/row-check-sprite.gif +0 -0
  234. data/template-min/extjs/resources/themes/images/default/grid/row-expand-sprite.gif +0 -0
  235. data/template-min/extjs/resources/themes/images/default/grid/row-over.gif +0 -0
  236. data/template-min/extjs/resources/themes/images/default/grid/row-sel.gif +0 -0
  237. data/template-min/extjs/resources/themes/images/default/grid/sort-hd.gif +0 -0
  238. data/template-min/extjs/resources/themes/images/default/grid/sort_asc.gif +0 -0
  239. data/template-min/extjs/resources/themes/images/default/grid/sort_desc.gif +0 -0
  240. data/template-min/extjs/resources/themes/images/default/grid/unchecked.gif +0 -0
  241. data/template-min/extjs/resources/themes/images/default/grid/wait.gif +0 -0
  242. data/template-min/extjs/resources/themes/images/default/layout/mini-bottom.gif +0 -0
  243. data/template-min/extjs/resources/themes/images/default/layout/mini-left.gif +0 -0
  244. data/template-min/extjs/resources/themes/images/default/layout/mini-right.gif +0 -0
  245. data/template-min/extjs/resources/themes/images/default/layout/mini-top.gif +0 -0
  246. data/template-min/extjs/resources/themes/images/default/menu/checked.gif +0 -0
  247. data/template-min/extjs/resources/themes/images/default/menu/group-checked.gif +0 -0
  248. data/template-min/extjs/resources/themes/images/default/menu/item-over.gif +0 -0
  249. data/template-min/extjs/resources/themes/images/default/menu/menu-item-active-bg.gif +0 -0
  250. data/template-min/extjs/resources/themes/images/default/menu/menu-item-active-corners.gif +0 -0
  251. data/template-min/extjs/resources/themes/images/default/menu/menu-item-active-sides.gif +0 -0
  252. data/template-min/extjs/resources/themes/images/default/menu/menu-parent.gif +0 -0
  253. data/template-min/extjs/resources/themes/images/default/menu/menu.gif +0 -0
  254. data/template-min/extjs/resources/themes/images/default/menu/unchecked.gif +0 -0
  255. data/template-min/extjs/resources/themes/images/default/panel/panel-default-framed-corners.gif +0 -0
  256. data/template-min/extjs/resources/themes/images/default/panel/panel-default-framed-sides.gif +0 -0
  257. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif +0 -0
  258. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif +0 -0
  259. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-corners.gif +0 -0
  260. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-sides.gif +0 -0
  261. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-bg.gif +0 -0
  262. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif +0 -0
  263. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif +0 -0
  264. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-bg.gif +0 -0
  265. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-corners.gif +0 -0
  266. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-sides.gif +0 -0
  267. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-bg.gif +0 -0
  268. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-corners.gif +0 -0
  269. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-sides.gif +0 -0
  270. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-bg.gif +0 -0
  271. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-corners.gif +0 -0
  272. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-sides.gif +0 -0
  273. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif +0 -0
  274. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-corners.gif +0 -0
  275. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-sides.gif +0 -0
  276. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif +0 -0
  277. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-corners.gif +0 -0
  278. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-sides.gif +0 -0
  279. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif +0 -0
  280. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-corners.gif +0 -0
  281. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-sides.gif +0 -0
  282. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-left-bg.gif +0 -0
  283. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-right-bg.gif +0 -0
  284. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-top-bg.gif +0 -0
  285. data/template-min/extjs/resources/themes/images/default/progress/progress-default-bg.gif +0 -0
  286. data/template-min/extjs/resources/themes/images/default/shared/blue-loading.gif +0 -0
  287. data/template-min/extjs/resources/themes/images/default/shared/calendar.gif +0 -0
  288. data/template-min/extjs/resources/themes/images/default/shared/glass-bg.gif +0 -0
  289. data/template-min/extjs/resources/themes/images/default/shared/hd-sprite.gif +0 -0
  290. data/template-min/extjs/resources/themes/images/default/shared/icon-error.gif +0 -0
  291. data/template-min/extjs/resources/themes/images/default/shared/icon-info.gif +0 -0
  292. data/template-min/extjs/resources/themes/images/default/shared/icon-question.gif +0 -0
  293. data/template-min/extjs/resources/themes/images/default/shared/icon-warning.gif +0 -0
  294. data/template-min/extjs/resources/themes/images/default/shared/large-loading.gif +0 -0
  295. data/template-min/extjs/resources/themes/images/default/shared/left-btn.gif +0 -0
  296. data/template-min/extjs/resources/themes/images/default/shared/loading-balls.gif +0 -0
  297. data/template-min/extjs/resources/themes/images/default/shared/right-btn.gif +0 -0
  298. data/template-min/extjs/resources/themes/images/default/shared/shadow-c.png +0 -0
  299. data/template-min/extjs/resources/themes/images/default/shared/shadow-lr.png +0 -0
  300. data/template-min/extjs/resources/themes/images/default/shared/shadow.png +0 -0
  301. data/template-min/extjs/resources/themes/images/default/shared/warning.gif +0 -0
  302. data/template-min/extjs/resources/themes/images/default/sizer/e-handle-dark.gif +0 -0
  303. data/template-min/extjs/resources/themes/images/default/sizer/e-handle.gif +0 -0
  304. data/template-min/extjs/resources/themes/images/default/sizer/ne-handle-dark.gif +0 -0
  305. data/template-min/extjs/resources/themes/images/default/sizer/ne-handle.gif +0 -0
  306. data/template-min/extjs/resources/themes/images/default/sizer/nw-handle-dark.gif +0 -0
  307. data/template-min/extjs/resources/themes/images/default/sizer/nw-handle.gif +0 -0
  308. data/template-min/extjs/resources/themes/images/default/sizer/s-handle-dark.gif +0 -0
  309. data/template-min/extjs/resources/themes/images/default/sizer/s-handle.gif +0 -0
  310. data/template-min/extjs/resources/themes/images/default/sizer/se-handle-dark.gif +0 -0
  311. data/template-min/extjs/resources/themes/images/default/sizer/se-handle.gif +0 -0
  312. data/template-min/extjs/resources/themes/images/default/sizer/square.gif +0 -0
  313. data/template-min/extjs/resources/themes/images/default/sizer/sw-handle-dark.gif +0 -0
  314. data/template-min/extjs/resources/themes/images/default/sizer/sw-handle.gif +0 -0
  315. data/template-min/extjs/resources/themes/images/default/slider/slider-bg.gif +0 -0
  316. data/template-min/extjs/resources/themes/images/default/slider/slider-bg.png +0 -0
  317. data/template-min/extjs/resources/themes/images/default/slider/slider-thumb.gif +0 -0
  318. data/template-min/extjs/resources/themes/images/default/slider/slider-thumb.png +0 -0
  319. data/template-min/extjs/resources/themes/images/default/slider/slider-v-bg.gif +0 -0
  320. data/template-min/extjs/resources/themes/images/default/slider/slider-v-bg.png +0 -0
  321. data/template-min/extjs/resources/themes/images/default/slider/slider-v-thumb.gif +0 -0
  322. data/template-min/extjs/resources/themes/images/default/slider/slider-v-thumb.png +0 -0
  323. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-active-bg.gif +0 -0
  324. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-active-corners.gif +0 -0
  325. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-active-sides.gif +0 -0
  326. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-bg.gif +0 -0
  327. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-corners.gif +0 -0
  328. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-bg.gif +0 -0
  329. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif +0 -0
  330. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif +0 -0
  331. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-over-bg.gif +0 -0
  332. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-over-corners.gif +0 -0
  333. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-over-sides.gif +0 -0
  334. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-sides.gif +0 -0
  335. data/template-min/extjs/resources/themes/images/default/tab/tab-default-close.gif +0 -0
  336. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-active-bg.gif +0 -0
  337. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-active-corners.gif +0 -0
  338. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-active-sides.gif +0 -0
  339. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-bg.gif +0 -0
  340. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-corners.gif +0 -0
  341. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif +0 -0
  342. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-disabled-corners.gif +0 -0
  343. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-disabled-sides.gif +0 -0
  344. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-over-bg.gif +0 -0
  345. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-over-corners.gif +0 -0
  346. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-over-sides.gif +0 -0
  347. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-sides.gif +0 -0
  348. data/template-min/extjs/resources/themes/images/default/tab-bar/scroll-left.gif +0 -0
  349. data/template-min/extjs/resources/themes/images/default/tab-bar/scroll-right.gif +0 -0
  350. data/template-min/extjs/resources/themes/images/default/tab-bar/tab-bar-default-bg.gif +0 -0
  351. data/template-min/extjs/resources/themes/images/default/tip/tip-corners.gif +0 -0
  352. data/template-min/extjs/resources/themes/images/default/tip/tip-sides.gif +0 -0
  353. data/template-min/extjs/resources/themes/images/default/toolbar/more.gif +0 -0
  354. data/template-min/extjs/resources/themes/images/default/toolbar/scroll-left.gif +0 -0
  355. data/template-min/extjs/resources/themes/images/default/toolbar/scroll-right.gif +0 -0
  356. data/template-min/extjs/resources/themes/images/default/toolbar/toolbar-default-bg.gif +0 -0
  357. data/template-min/extjs/resources/themes/images/default/tools/tool-sprite-tpl.gif +0 -0
  358. data/template-min/extjs/resources/themes/images/default/tools/tool-sprites.gif +0 -0
  359. data/template-min/extjs/resources/themes/images/default/tools/tools-sprites-trans.gif +0 -0
  360. data/{template → template-min}/extjs/resources/themes/images/default/tree/arrows.gif +0 -0
  361. data/template-min/extjs/resources/themes/images/default/tree/drop-above.gif +0 -0
  362. data/template-min/extjs/resources/themes/images/default/tree/drop-add.gif +0 -0
  363. data/template-min/extjs/resources/themes/images/default/tree/drop-append.gif +0 -0
  364. data/template-min/extjs/resources/themes/images/default/tree/drop-below.gif +0 -0
  365. data/template-min/extjs/resources/themes/images/default/tree/drop-between.gif +0 -0
  366. data/template-min/extjs/resources/themes/images/default/tree/drop-no.gif +0 -0
  367. data/template-min/extjs/resources/themes/images/default/tree/drop-over.gif +0 -0
  368. data/template-min/extjs/resources/themes/images/default/tree/drop-under.gif +0 -0
  369. data/template-min/extjs/resources/themes/images/default/tree/drop-yes.gif +0 -0
  370. data/template-min/extjs/resources/themes/images/default/tree/elbow-end-minus-nl.gif +0 -0
  371. data/template-min/extjs/resources/themes/images/default/tree/elbow-end-minus.gif +0 -0
  372. data/template-min/extjs/resources/themes/images/default/tree/elbow-end-plus-nl.gif +0 -0
  373. data/template-min/extjs/resources/themes/images/default/tree/elbow-end-plus.gif +0 -0
  374. data/{template/resources/images → template-min/extjs/resources/themes/images/default/tree}/elbow-end.gif +0 -0
  375. data/template-min/extjs/resources/themes/images/default/tree/elbow-line.gif +0 -0
  376. data/template-min/extjs/resources/themes/images/default/tree/elbow-minus-nl.gif +0 -0
  377. data/template-min/extjs/resources/themes/images/default/tree/elbow-minus.gif +0 -0
  378. data/template-min/extjs/resources/themes/images/default/tree/elbow-plus-nl.gif +0 -0
  379. data/template-min/extjs/resources/themes/images/default/tree/elbow-plus.gif +0 -0
  380. data/template-min/extjs/resources/themes/images/default/tree/elbow.gif +0 -0
  381. data/template-min/extjs/resources/themes/images/default/tree/folder-open.gif +0 -0
  382. data/template-min/extjs/resources/themes/images/default/tree/folder.gif +0 -0
  383. data/template-min/extjs/resources/themes/images/default/tree/leaf.gif +0 -0
  384. data/template-min/extjs/resources/themes/images/default/tree/loading.gif +0 -0
  385. data/template-min/extjs/resources/themes/images/default/tree/s.gif +0 -0
  386. data/template-min/extjs/resources/themes/images/default/util/splitter/mini-bottom.gif +0 -0
  387. data/template-min/extjs/resources/themes/images/default/util/splitter/mini-left.gif +0 -0
  388. data/template-min/extjs/resources/themes/images/default/util/splitter/mini-right.gif +0 -0
  389. data/template-min/extjs/resources/themes/images/default/util/splitter/mini-top.gif +0 -0
  390. data/template-min/extjs/resources/themes/images/default/window/window-default-corners.gif +0 -0
  391. data/template-min/extjs/resources/themes/images/default/window/window-default-sides.gif +0 -0
  392. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-bottom-corners.gif +0 -0
  393. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-bottom-sides.gif +0 -0
  394. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-left-corners.gif +0 -0
  395. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-left-sides.gif +0 -0
  396. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-right-corners.gif +0 -0
  397. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-right-sides.gif +0 -0
  398. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-top-corners.gif +0 -0
  399. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-top-sides.gif +0 -0
  400. data/{template → template-min}/favicon.ico +0 -0
  401. data/template-min/index.php +59 -0
  402. data/template-min/print-template.html +22 -0
  403. data/template-min/resources/css/app.css +1 -0
  404. data/template-min/resources/images/arrows.png +0 -0
  405. data/{template → template-min}/resources/images/class-m.png +0 -0
  406. data/{template → template-min}/resources/images/class-sm.png +0 -0
  407. data/{template → template-min}/resources/images/component-m.png +0 -0
  408. data/{template → template-min}/resources/images/configs.png +0 -0
  409. data/{template → template-min}/resources/images/doc-m.png +0 -0
  410. data/template-min/resources/images/elbow-end.gif +0 -0
  411. data/{template → template-min}/resources/images/events.png +0 -0
  412. data/template-min/resources/images/example-icons.png +0 -0
  413. data/{template → template-min}/resources/images/expandcollapse.png +0 -0
  414. data/{template → template-min}/resources/images/guide-icon.png +0 -0
  415. data/{template → template-min}/resources/images/guides.png +0 -0
  416. data/template-min/resources/images/header.png +0 -0
  417. data/template-min/resources/images/hero-extjs4-alt.png +0 -0
  418. data/template-min/resources/images/icons.png +0 -0
  419. data/template-min/resources/images/link-green-standard-over.png +0 -0
  420. data/template-min/resources/images/link-green-standard.png +0 -0
  421. data/{template → template-min}/resources/images/loading-title.png +0 -0
  422. data/{template → template-min}/resources/images/loading.gif +0 -0
  423. data/template-min/resources/images/logo-screen-noglow.png +0 -0
  424. data/template-min/resources/images/logo.png +0 -0
  425. data/{template → template-min}/resources/images/member-collapsed.gif +0 -0
  426. data/{template → template-min}/resources/images/member-expanded.gif +0 -0
  427. data/{template → template-min}/resources/images/member-hover.gif +0 -0
  428. data/{template → template-min}/resources/images/methods.png +0 -0
  429. data/template-min/resources/images/more.png +0 -0
  430. data/template-min/resources/images/preview.png +0 -0
  431. data/template-min/resources/images/print.png +0 -0
  432. data/{template → template-min}/resources/images/properties.png +0 -0
  433. data/template-min/resources/images/search-box.png +0 -0
  434. data/{template → template-min}/resources/images/singleton-m.png +0 -0
  435. data/template-min/resources/images/tabs.png +0 -0
  436. data/{template → template-min}/resources/images/version-tabs.png +0 -0
  437. data/template-min/resources/images/welcome-bg-js4.gif +0 -0
  438. data/{template → template-min}/resources/images/x.png +0 -0
  439. data/{template → template-min}/resources/images/x12.png +0 -0
  440. data/template-min/resources/images/x122.png +0 -0
  441. data/{template/index.html → template-min/template.html} +9 -14
  442. data/template-min/welcome.html +78 -0
  443. metadata +429 -76
  444. data/lib/jsduck/jsonp.rb +0 -17
  445. data/lib/jsduck/tree.rb +0 -117
  446. data/lib/jsduck/tree_icons.rb +0 -19
  447. data/template/app/Application.js +0 -53
  448. data/template/app/Favorites.js +0 -88
  449. data/template/app/History.js +0 -45
  450. data/template/app/LocalStore.js +0 -45
  451. data/template/app/Settings.js +0 -39
  452. data/template/app/Syntax.js +0 -20
  453. data/template/app/controller/Classes.js +0 -301
  454. data/template/app/controller/Search.js +0 -189
  455. data/template/app/model/Favorite.js +0 -11
  456. data/template/app/model/Setting.js +0 -11
  457. data/template/app/store/Favorites.js +0 -7
  458. data/template/app/store/Search.js +0 -14
  459. data/template/app/store/Settings.js +0 -7
  460. data/template/app/view/ClassGrid.js +0 -114
  461. data/template/app/view/HoverMenu.js +0 -59
  462. data/template/app/view/HoverMenuButton.js +0 -147
  463. data/template/app/view/Viewport.js +0 -240
  464. data/template/app/view/cls/Header.js +0 -47
  465. data/template/app/view/cls/Overview.js +0 -415
  466. data/template/app/view/cls/Toolbar.js +0 -199
  467. data/template/app/view/index/Container.js +0 -62
  468. data/template/app/view/search/Dropdown.js +0 -115
  469. data/template/app/view/tree/Tree.js +0 -143
  470. data/template/app.js +0 -25
  471. data/template/prettify/prettify.css +0 -1
  472. data/template/prettify/prettify.js +0 -28
  473. data/template/resources/css/docs-ext.css +0 -3594
  474. data/template/resources/css/reset.css +0 -59
  475. data/template/resources/css/scrollbars.css +0 -14
  476. data/template/resources/css/viewport.css +0 -420
  477. data/template/resources/images/data-package.png +0 -0
  478. data/template/resources/images/drag-bar-center.png +0 -0
  479. data/template/resources/images/headBG.png +0 -0
  480. data/template/resources/images/header.gif +0 -0
  481. data/template/resources/images/icon.png +0 -0
  482. data/template/resources/images/icons.png +0 -0
  483. data/template/resources/images/model.png +0 -0
  484. data/template/resources/images/root-lines.png +0 -0
  485. data/template/resources/images/search-box.png +0 -0
@@ -0,0 +1 @@
1
+ var CodeMirror=(function(){function l(S,a0){var ba={},aV=l.defaults;for(var bp in aV){if(aV.hasOwnProperty(bp)){ba[bp]=(a0&&a0.hasOwnProperty(bp)?a0:aV)[bp]}}var bE=ba.document;var bn=bE.createElement("div");bn.className="CodeMirror";bn.innerHTML='<div style="overflow: hidden; position: relative; width: 1px; height: 0px;"><textarea style="position: absolute; width: 2px;" wrap="off"></textarea></div><div class="CodeMirror-scroll cm-s-'+ba.theme+'"><div style="position: relative"><div style="position: absolute; height: 0; width: 0; overflow: hidden;"></div><div style="position: relative"><div class="CodeMirror-gutter"><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative"><pre class="CodeMirror-cursor">&#160;</pre><div></div></div></div></div></div></div>';if(S.appendChild){S.appendChild(bn)}else{S(bn)}var bU=bn.firstChild,bR=bU.firstChild,aC=bn.lastChild,aD=aC.firstChild,av=aD.firstChild,bj=av.nextSibling,aN=bj.firstChild,bP=aN.firstChild,aG=aN.nextSibling.firstChild,ab=aG.firstChild,af=ab.nextSibling;if(ba.tabindex!=null){bR.tabindex=ba.tabindex}if(!ba.gutter&&!ba.lineNumbers){aN.style.display="none"}var aF=new m(),ao=new m(),ae;var bc,bL=[new c("")],a4,a1=new f(),i;bl();var aP={from:{line:0,ch:0},to:{line:0,ch:0},inverted:false};var a3,bv,ad;var bh,bJ,aI,ak,bH;var be=0,bt=0,bA=0,aM=null;var T,bz;var aH="";bM(function(){ah(ba.value||"");bh=false})();setTimeout(aA,20);j(aC,"mousedown",bM(ap));if(!u){j(aC,"contextmenu",bM(am))}j(aD,"dblclick",bM(bd));j(aC,"scroll",function(){ac([]);if(ba.onScroll){ba.onScroll(bI)}});j(window,"resize",function(){ac(true)});j(bR,"keyup",bM(bi));j(bR,"keydown",bM(at));j(bR,"keypress",bM(a7));j(bR,"focus",aB);j(bR,"blur",az);j(aC,"dragenter",function(bW){bW.stop()});j(aC,"dragover",function(bW){bW.stop()});j(aC,"drop",bM(aj));j(aC,"paste",function(){an();bG()});j(bR,"paste",function(){bG()});j(bR,"cut",function(){bG()});var Y;try{Y=(bE.activeElement==bR)}catch(aT){}if(Y){aB()}else{az()}function M(bW){return bW>=0&&bW<bL.length}var bI={getValue:bb,setValue:bM(ah),getSelection:bC,replaceSelection:bM(ai),focus:function(){an();aB();aA();bG()},setOption:function(bW,bX){ba[bW]=bX;if(bW=="lineNumbers"||bW=="gutter"){O()}else{if(bW=="mode"||bW=="indentUnit"){bl()}else{if(bW=="readOnly"&&bX=="nocursor"){bR.blur()}else{if(bW=="theme"){aC.className=aC.className.replace(/cm-s-\w+/,"cm-s-"+bX)}}}}},getOption:function(bW){return ba[bW]},undo:bM(bx),redo:bM(bV),indentLine:bM(function(bW){if(M(bW)){ar(bW,"smart")}}),historySize:function(){return{undo:a1.done.length,redo:a1.undone.length}},matchBrackets:bM(function(){aq(true)}),getTokenAt:function(bW){bW=ag(bW);return bL[bW.line].getTokenAt(bc,aE(bW.line),bW.ch)},cursorCoords:function(bW){if(bW==null){bW=aP.inverted}return br(bW?aP.from:aP.to)},charCoords:function(bW){return br(ag(bW))},coordsChar:function(bX){var bY=L(aG);var bW=aX(Math.min(bL.length-1,be+Math.floor((bX.y-bY.top)/bK())));return ag({line:bW,ch:a9(aX(bW),bX.x-bY.left)})},getSearchCursor:function(bX,bY,bW){return new aw(bX,bY,bW)},markText:bM(function(bX,bW,bY){return bM(R(bX,bW,bY))}),setMarker:al,clearMarker:aa,setLineClass:bM(aL),lineInfo:X,addWidget:function(bY,bX,bW){var bY=bs(ag(bY),true);bX.style.top=(be*bK()+bY.yBot+a5())+"px";bX.style.left=(bY.x+bk())+"px";aD.appendChild(bX);if(bW){bT(bY.x,bY.yBot,bY.x+bX.offsetWidth,bY.yBot+bX.offsetHeight)}},lineCount:function(){return bL.length},getCursor:function(bW){if(bW==null){bW=aP.inverted}return C(bW?aP.from:aP.to)},somethingSelected:function(){return !G(aP.from,aP.to)},setCursor:bM(function(bW,bX){if(bX==null&&typeof bW.line=="number"){aS(bW.line,bW.ch)}else{aS(bW,bX)}}),setSelection:bM(function(bX,bW){bu(ag(bX),ag(bW||bX))}),getLine:function(bW){if(M(bW)){return bL[bW].text}},setLine:bM(function(bW,bX){if(M(bW)){bm(bX,{line:bW,ch:0},{line:bW,ch:bL[bW].text.length})}}),removeLine:bM(function(bW){if(M(bW)){bm("",{line:bW,ch:0},ag({line:bW+1,ch:0}))}}),replaceRange:bM(bm),getRange:function(bX,bW){return a6(ag(bX),ag(bW))},operation:function(bW){return bM(bW)()},refresh:function(){ac(true)},getInputField:function(){return bR},getWrapperElement:function(){return bn}};function ah(bW){a1=null;var bX={line:0,ch:0};bg(bX,{line:bL.length-1,ch:bL[bL.length-1].text.length},n(bW),bX,bX);a1=new f()}function bb(bY){var bZ=[];for(var bX=0,bW=bL.length;bX<bW;++bX){bZ.push(bL[bX].text)}return bZ.join("\n")}function ap(b3){var bW=ad;ad=null;for(var bZ=b3.target();bZ!=bn;bZ=bZ.parentNode){if(bZ.parentNode==bP){if(ba.onGutterClick){ba.onGutterClick(bI,k(bP.childNodes,bZ)+be)}return b3.stop()}}if(u&&b3.button()==3){am(b3)}if(b3.button()!=1){return}var bX=Z(b3),b5=bX,bY;if(!bX){if(b3.target()==aC){b3.stop()}return}if(!i){aB()}b3.stop();if(bW&&+new Date-bW<400){return aK(bX.line)}aS(bX.line,bX.ch,true);function b1(){an();bh=true;b0();b2()}function b4(b6){var b8=Z(b6,true);if(b8&&!G(b8,b5)){if(!i){aB()}b5=b8;aO(bX,b8);bh=false;var b7=bN();if(b8.line>=b7.to||b8.line<b7.from){bY=setTimeout(bM(function(){b4(b6)}),150)}}}var b0=j(bE,"mousemove",bM(function(b6){clearTimeout(bY);b6.stop();b4(b6)}),true);var b2=j(bE,"mouseup",bM(function(b6){clearTimeout(bY);var b7=Z(b6);if(b7){aO(bX,b7)}b6.stop();b1()}),true)}function bd(bW){var bX=Z(bW);if(!bX){return}bf(bX);bW.stop();ad=+new Date}function aj(b0){var b3=Z(b0,true),bX=b0.e.dataTransfer.files;if(!b3||ba.readOnly){return}if(bX&&bX.length&&window.FileReader&&window.File){var b2=bX.length,b1=Array(b2),bY=0;for(var bW=0;bW<b2;++bW){bZ(bX[bW],bW)}function bZ(b6,b5){var b4=new FileReader;b4.onload=function(){b1[b5]=b4.result;if(++bY==b2){bm(b1.join(""),ag(b3),ag(b3))}};b4.readAsText(b6)}}else{try{var b1=b0.e.dataTransfer.getData("Text");if(b1){bm(b1,b3,b3)}}catch(b0){}}}function at(b0){if(!i){aB()}var bZ=b0.e.keyCode;if(r&&bZ==27){b0.e.returnValue=false}var bY=(s?b0.e.metaKey:b0.e.ctrlKey)&&!b0.e.altKey,bX=b0.e.ctrlKey||b0.e.altKey||b0.e.metaKey;if(bZ==16||b0.e.shiftKey){a3=a3||(aP.inverted?aP.to:aP.from)}else{a3=null}if(ba.onKeyEvent&&ba.onKeyEvent(bI,t(b0.e))){return}if(bZ==33||bZ==34){bD(bZ==34);return b0.stop()}if(bY&&((bZ==36||bZ==35)||s&&(bZ==38||bZ==40))){bO(bZ==36||bZ==38);return b0.stop()}if(bY&&bZ==65){bo();return b0.stop()}if(!ba.readOnly){if(!bX&&bZ==13){return}if(!bX&&bZ==9&&ax(b0.e.shiftKey)){return b0.stop()}if(bY&&bZ==90){bx();return b0.stop()}if(bY&&((b0.e.shiftKey&&bZ==90)||bZ==89)){bV();return b0.stop()}}aM=(bY?"c":"")+bZ;if(aP.inverted&&H.hasOwnProperty(aM)){var bW=I(bR);if(bW){bv={anchor:bW.start};b(bR,bW.start,bW.start)}}bG(aM)}function bi(bW){if(ba.onKeyEvent&&ba.onKeyEvent(bI,t(bW.e))){return}if(bv){bv=null;bh=true}if(bW.e.keyCode==16){a3=null}}function a7(bY){if(ba.onKeyEvent&&ba.onKeyEvent(bI,t(bY.e))){return}if(ba.electricChars&&bc.electricChars){var bW=String.fromCharCode(bY.e.charCode==null?bY.e.keyCode:bY.e.charCode);if(bc.electricChars.indexOf(bW)>-1){setTimeout(bM(function(){ar(aP.to.line,"smart")}),50)}}var bX=bY.e.keyCode;if(bX==13){if(!ba.readOnly){ay()}bY.stop()}else{if(!bY.e.ctrlKey&&!bY.e.altKey&&!bY.e.metaKey&&bX==9&&ba.tabMode!="default"){bY.stop()}else{bG(aM)}}}function aB(){if(ba.readOnly=="nocursor"){return}if(!i&&ba.onFocus){ba.onFocus(bI)}i=true;bw();if(bn.className.search(/\bCodeMirror-focused\b/)==-1){bn.className+=" CodeMirror-focused"}N()}function az(){if(i&&ba.onBlur){ba.onBlur(bI)}clearInterval(ae);a3=null;i=false;bn.className=bn.className.replace(" CodeMirror-focused","")}function bg(b3,b2,b0,bX,bW){if(a1){var bY=[];for(var bZ=b3.line,b1=b2.line+1;bZ<b1;++bZ){bY.push(bL[bZ].text)}a1.addChange(b3.line,b0.length,bY);while(a1.done.length>ba.undoDepth){a1.done.shift()}}P(b3,b2,b0,bX,bW);if(b0.length<5){a8(b3.line,b3.line+b0.length)}}function aR(b2,b1){var b0=b2.pop();if(b0){var bY=[],bW=b0.start+b0.added;for(var bX=b0.start;bX<bW;++bX){bY.push(bL[bX].text)}b1.push({start:b0.start,added:b0.old.length,old:bY});var bZ=ag({line:b0.start+b0.old.length-1,ch:A(bY[bY.length-1],b0.old[b0.old.length-1])});P({line:b0.start,ch:0},{line:bW-1,ch:bL[bW-1].text.length},b0.old,bZ,bZ)}}function bx(){aR(a1.done,a1.undone)}function bV(){aR(a1.undone,a1.done)}function P(b7,b0,cc,bW,cd){var cb=false,bZ=aH.length;for(var b8=b7.line;b8<=b0.line;++b8){if(bL[b8].text.length==bZ){cb=true;break}}var b3=b0.line-b7.line,b2=bL[b7.line],bX=bL[b0.line];if(b2==bX){if(cc.length==1){b2.replace(b7.ch,b0.ch,cc[0])}else{bX=b2.split(b0.ch,cc[cc.length-1]);var b4=[b7.line+1,b3];b2.replace(b7.ch,b2.text.length,cc[0]);for(var b8=1,ca=cc.length-1;b8<ca;++b8){b4.push(new c(cc[b8]))}b4.push(bX);bL.splice.apply(bL,b4)}}else{if(cc.length==1){b2.replace(b7.ch,b2.text.length,cc[0]+bX.text.slice(b0.ch));bL.splice(b7.line+1,b3)}else{var b4=[b7.line+1,b3-1];b2.replace(b7.ch,b2.text.length,cc[0]);bX.replace(0,b0.ch,cc[cc.length-1]);for(var b8=1,ca=cc.length-1;b8<ca;++b8){b4.push(new c(cc[b8]))}bL.splice.apply(bL,b4)}}for(var b8=b7.line,ca=b8+cc.length;b8<ca;++b8){var b6=bL[b8].text;if(b6.length>bZ){aH=b6;bZ=b6.length;cb=false}}if(cb){bZ=0;aH="";for(var b8=0,ca=bL.length;b8<ca;++b8){var b6=bL[b8].text;if(b6.length>bZ){bZ=b6.length;aH=b6}}}var bY=[],b1=cc.length-b3-1;for(var b8=0,b6=a4.length;b8<b6;++b8){var b9=a4[b8];if(b9<b7.line){bY.push(b9)}else{if(b9>b0.line){bY.push(b9+b1)}}}if(cc.length){bY.push(b7.line)}a4=bY;bQ(100);bJ.push({from:b7.line,to:b0.line+1,diff:b1});aI={from:b7,to:b0,text:cc};function b5(ce){return ce<=Math.min(b0.line,b0.line+b1)?ce:ce+b1}bu(bW,cd,b5(aP.from.line),b5(aP.to.line));aD.style.height=(bL.length*bK()+2*a5())+"px"}function bm(bX,b0,bZ){b0=ag(b0);if(!bZ){bZ=b0}else{bZ=ag(bZ)}bX=n(bX);function bY(b3){if(B(b3,b0)){return b3}if(!B(bZ,b3)){return bW}var b1=b3.line+bX.length-(bZ.line-b0.line)-1;var b2=b3.ch;if(b3.line==bZ.line){b2+=bX[bX.length-1].length-(bZ.ch-(bZ.line==b0.line?b0.ch:0))}return{line:b1,ch:b2}}var bW;by(bX,b0,bZ,function(b1){bW=b1;return{from:bY(aP.from),to:bY(aP.to)}});return bW}function ai(bW,bX){by(n(bW),aP.from,aP.to,function(bY){if(bX=="end"){return{from:bY,to:bY}}else{if(bX=="start"){return{from:aP.from,to:aP.from}}else{return{from:aP.from,to:bY}}}})}function by(bZ,b1,b0,bW){var bY=bZ.length==1?bZ[0].length+b1.ch:bZ[bZ.length-1].length;var bX=bW({line:b1.line+bZ.length-1,ch:bY});bg(b1,b0,bZ,bX.from,bX.to)}function a6(b1,b0){var bX=b1.line,bW=b0.line;if(bX==bW){return bL[bX].text.slice(b1.ch,b0.ch)}var bZ=[bL[bX].text.slice(b1.ch)];for(var bY=bX+1;bY<bW;++bY){bZ.push(bL[bY].text)}bZ.push(bL[bW].text.slice(0,b0.ch));return bZ.join("\n")}function bC(){return a6(aP.from,aP.to)}var aW=false;function bw(){if(aW){return}aF.set(2000,function(){V();bF();if(i){bw()}aJ()})}function bG(bY){var bW=false;aW=true;function bX(){V();var bZ=bF();if(bZ=="moved"&&bY){H[bY]=true}if(!bZ&&!bW){bW=true;aF.set(80,bX)}else{aW=false;bw()}aJ()}aF.set(20,bX)}function bF(){if(bH){return}var b3=false,cb=bR.value,cd=I(bR);if(!cd){return false}var b3=T.text!=cb,b5=bv;var b4=b3||cd.start!=T.start||cd.end!=(b5?T.start:T.end);if(!b4&&!b5){return false}if(b3){a3=bv=null;if(ba.readOnly){bh=true;return"changed"}}function b0(cj,ch){var ci=0;for(;;){var cg=cb.indexOf("\n",ci);if(cg==-1||(cb.charAt(cg-1)=="\r"?cg-1:cg)>=cj){return{line:ch,ch:cj-ci}}++ch;ci=cg+1}}var cc=b0(cd.start,T.from),bX=b0(cd.end,T.from);if(b5){var b2=cd.start==b5.anchor?bX:cc;var b6=a3?aP.to:cd.start==b5.anchor?cc:bX;if(aP.inverted=B(b2,b6)){cc=b2;bX=b6}else{bv=null;cc=b6;bX=b2}}if(cc.line==bX.line&&cc.line==aP.from.line&&cc.line==aP.to.line&&!a3){bh=false}if(b3){var b1=0,bZ=cb.length,ce=Math.min(bZ,T.text.length);var cf,b8=T.from,bY=-1;while(b1<ce&&(cf=cb.charAt(b1))==T.text.charAt(b1)){++b1;if(cf=="\n"){b8++;bY=b1}}var b9=bY>-1?b1-bY:b1,bW=T.to-1,b7=T.text.length;for(;;){cf=T.text.charAt(b7);if(cb.charAt(bZ)!=cf){++bZ;++b7;break}if(cf=="\n"){bW--}if(b7<=b1||bZ<=b1){break}--bZ;--b7}var bY=T.text.lastIndexOf("\n",b7-1),ca=bY==-1?b7:b7-bY-1;bg({line:b8,ch:b9},{line:bW,ch:ca},n(cb.slice(b1,bZ)),cc,bX);if(b8!=bW||cc.line!=b8){bh=true}}else{bu(cc,bX)}T.text=cb;T.start=cd.start;T.end=cd.end;return b3?"changed":b4?"moved":false}function aA(){var bZ=[];var b1=Math.max(0,aP.from.line-1),b0=Math.min(bL.length,aP.to.line+2);for(var bY=b1;bY<b0;++bY){bZ.push(bL[bY].text)}bZ=bR.value=bZ.join(d);var bX=aP.from.ch,bW=aP.to.ch;for(var bY=b1;bY<aP.from.line;++bY){bX+=d.length+bL[bY].text.length}for(var bY=b1;bY<aP.to.line;++bY){bW+=d.length+bL[bY].text.length}T={text:bZ,from:b1,to:b0,start:bX,end:bW};b(bR,bX,bv?bX:bW)}function an(){if(ba.readOnly!="nocursor"){bR.focus()}}function aU(){var bW=bs(aP.inverted?aP.from:aP.to);return bT(bW.x,bW.y,bW.x,bW.yBot)}function bT(bY,b2,bW,b1){var b0=bk(),b8=a5(),b4=bK();b2+=b8;b1+=b8;bY+=b0;bW+=b0;var b5=aC.clientHeight,bZ=aC.scrollTop,bX=false,b7=true;if(b2<bZ){aC.scrollTop=Math.max(0,b2-2*b4);bX=true}else{if(b1>bZ+b5){aC.scrollTop=b1+b4-b5;bX=true}}var b3=aC.clientWidth,b6=aC.scrollLeft;if(bY<b6){if(bY<50){bY=0}aC.scrollLeft=Math.max(0,bY-10);bX=true}else{if(bW>b3+b6){aC.scrollLeft=bW+10-b3;bX=true;if(bW>aD.clientWidth){b7=false}}}if(bX&&ba.onScroll){ba.onScroll(bI)}return b7}function bN(){var bW=bK(),bX=aC.scrollTop-a5();return{from:Math.min(bL.length,Math.max(0,Math.floor(bX/bW))),to:Math.min(bL.length,Math.ceil((bX+aC.clientHeight)/bW))}}function ac(cf){if(!aC.clientWidth){be=bt=0;return}var ce=cf===true?[]:[{from:be,to:bt,domStart:0}];for(var cd=0,b9=cf.length||0;cd<b9;++cd){var b3=cf[cd],b1=[],b4=b3.diff||0;for(var cc=0,ca=ce.length;cc<ca;++cc){var b6=ce[cc];if(b3.to<=b6.from){b1.push({from:b6.from+b4,to:b6.to+b4,domStart:b6.domStart})}else{if(b6.to<=b3.from){b1.push(b6)}else{if(b3.from>b6.from){b1.push({from:b6.from,to:b3.from,domStart:b6.domStart})}if(b3.to<b6.to){b1.push({from:b3.to+b4,to:b6.to+b4,domStart:b6.domStart+(b3.to-b6.from)})}}}}ce=b1}var bY=bN();var cb=Math.min(be,Math.max(bY.from-3,0)),bW=Math.min(bL.length,Math.max(bt,bY.to+3)),b2=[],b5=0,b0=bt-be,bZ=cb,b8=0;for(var cd=0,b9=ce.length;cd<b9;++cd){var b6=ce[cd];if(b6.to<=cb){continue}if(b6.from>=bW){break}if(b6.domStart>b5||b6.from>bZ){b2.push({from:bZ,to:b6.from,domSize:b6.domStart-b5,domStart:b5});b8+=b6.from-bZ}bZ=b6.to;b5=b6.domStart+(b6.to-b6.from)}if(b5!=b0||bZ!=bW){b8+=Math.abs(bW-bZ);b2.push({from:bZ,to:bW,domSize:b0-b5,domStart:b5})}if(!b2.length){return}af.style.display="none";if(b8>(bY.to-bY.from)*0.3){aY(cb=Math.max(bY.from-10,0),bW=Math.min(bY.to+7,bL.length))}else{W(b2)}af.style.display="";var b7=cb!=be||bW!=bt||bA!=aC.clientHeight;be=cb;bt=bW;bj.style.top=(cb*bK())+"px";if(b7){bA=aC.clientHeight;aD.style.height=(bL.length*bK()+2*a5())+"px";U()}var bX=aQ(aH);aG.style.width=bX>aC.clientWidth?bX+"px":"";if(af.childNodes.length!=bt-be){throw new Error("BAD PATCH! "+JSON.stringify(b2)+" size="+(bt-be)+" nodes="+af.childNodes.length)}bB()}function aY(b3,b2){var bZ=[],b1={line:b3,ch:0},b0=B(aP.from,b1)&&!B(aP.to,b1);for(var bY=b3;bY<b2;++bY){var bX=null,bW=null;if(b0){bX=0;if(aP.to.line==bY){b0=false;bW=aP.to.ch}}else{if(aP.from.line==bY){if(aP.to.line==bY){bX=aP.from.ch;bW=aP.to.ch}else{b0=true;bX=aP.from.ch}}}bZ.push(bL[bY].getHTML(bX,bW,true))}af.innerHTML=bZ.join("")}function W(b8){var b9=aP.from.line,ca=aP.to.line,bY=0,b6=x&&bE.createElement("div");for(var b4=0,b5=b8.length;b4<b5;++b4){var b1=b8[b4];var b0=(b1.to-b1.from)-b1.domSize;var b7=af.childNodes[b1.domStart+b1.domSize+bY]||null;if(x){for(var b3=Math.max(-b0,b1.domSize);b3>0;--b3){af.removeChild(b7?b7.previousSibling:af.lastChild)}}else{if(b0){for(var b3=Math.max(0,b0);b3>0;--b3){af.insertBefore(bE.createElement("pre"),b7)}for(var b3=Math.max(0,-b0);b3>0;--b3){af.removeChild(b7?b7.previousSibling:af.lastChild)}}}var bZ=af.childNodes[b1.domStart+bY],b2=b9<b1.from&&ca>=b1.from;for(var b3=b1.from;b3<b1.to;++b3){var bX=null,bW=null;if(b2){bX=0;if(ca==b3){b2=false;bW=aP.to.ch}}else{if(b9==b3){if(ca==b3){bX=aP.from.ch;bW=aP.to.ch}else{b2=true;bX=aP.from.ch}}}if(x){b6.innerHTML=bL[b3].getHTML(bX,bW,true);af.insertBefore(b6.firstChild,b7)}else{bZ.innerHTML=bL[b3].getHTML(bX,bW,false);bZ.className=bL[b3].className||"";bZ=bZ.nextSibling}}bY+=b0}}function U(){if(!ba.gutter&&!ba.lineNumbers){return}var bY=bj.offsetHeight,b5=aC.clientHeight;aN.style.height=(bY-b5<2?b5:bY)+"px";var b3=[];for(var b1=be;b1<Math.max(bt,be+1);++b1){var b2=bL[b1].gutterMarker;var b4=ba.lineNumbers?b1+ba.firstLineNumber:null;if(b2&&b2.text){b4=b2.text.replace("%N%",b4!=null?b4:"")}else{if(b4==null){b4="\u00a0"}}b3.push((b2&&b2.style?'<pre class="'+b2.style+'">':"<pre>"),b4,"</pre>")}aN.style.display="none";bP.innerHTML=b3.join("");var b0=String(bL.length).length,bW=bP.firstChild,bX=p(bW),bZ="";while(bX.length+bZ.length<b0){bZ+="\u00a0"}if(bZ){bW.insertBefore(bE.createTextNode(bZ),bW.firstChild)}aN.style.display="";aG.style.marginLeft=aN.offsetWidth+"px"}function bB(){var bY=aP.inverted?aP.from:aP.to,bX=bK();var bW=Q(bY.line,bY.ch)+"px",bZ=(bY.line-be)*bX+"px";bU.style.top=(bY.line*bX-aC.scrollTop)+"px";if(G(aP.from,aP.to)){ab.style.top=bZ;ab.style.left=bW;ab.style.display=""}else{ab.style.display="none"}}function aO(bY,bX){var bW=a3&&ag(a3);if(bW){if(B(bW,bY)){bY=bW}else{if(B(bX,bW)){bX=bW}}}bu(bY,bX)}function bu(b0,bZ,bW,bY){if(G(aP.from,b0)&&G(aP.to,bZ)){return}if(B(bZ,b0)){var bX=bZ;bZ=b0;b0=bX}if(G(b0,bZ)){aP.inverted=false}else{if(G(b0,aP.to)){aP.inverted=false}else{if(G(bZ,aP.from)){aP.inverted=true}}}if(bW==null){bW=aP.from.line;bY=aP.to.line}if(G(b0,bZ)){if(!G(aP.from,aP.to)){bJ.push({from:bW,to:bY+1})}}else{if(G(aP.from,aP.to)){bJ.push({from:b0.line,to:bZ.line+1})}else{if(!G(b0,aP.from)){if(b0.line<bW){bJ.push({from:b0.line,to:Math.min(bZ.line,bW)+1})}else{bJ.push({from:bW,to:Math.min(bY,b0.line)+1})}}if(!G(bZ,aP.to)){if(bZ.line<bY){bJ.push({from:Math.max(bW,b0.line),to:bY+1})}else{bJ.push({from:Math.max(b0.line,bY),to:bZ.line+1})}}}}aP.from=b0;aP.to=bZ;ak=true}function aS(bW,bY,bX){var bZ=ag({line:bW,ch:bY||0});(bX?aO:bu)(bZ,bZ)}function aX(bW){return Math.max(0,Math.min(bW,bL.length-1))}function ag(bY){if(bY.line<0){return{line:0,ch:0}}if(bY.line>=bL.length){return{line:bL.length-1,ch:bL[bL.length-1].text.length}}var bW=bY.ch,bX=bL[bY.line].text.length;if(bW==null||bW>bX){return{line:bY.line,ch:bX}}else{if(bW<0){return{line:bY.line,ch:0}}else{return bY}}}function bD(bY){var bW=Math.floor(aC.clientHeight/bK()),bX=aP.inverted?aP.from:aP.to;aS(bX.line+(Math.max(bW-1,1)*(bY?1:-1)),bX.ch,true)}function bO(bW){var bX=bW?{line:0,ch:0}:{line:bL.length-1,ch:bL[bL.length-1].text.length};aO(bX,bX)}function bo(){var bW=bL.length-1;bu({line:0,ch:0},{line:bW,ch:bL[bW].text.length})}function bf(bZ){var bX=bL[bZ.line].text;var bY=bZ.ch,bW=bZ.ch;while(bY>0&&/\w/.test(bX.charAt(bY-1))){--bY}while(bW<bX.length&&/\w/.test(bX.charAt(bW))){++bW}aO({line:bZ.line,ch:bY},{line:bZ.line,ch:bW})}function aK(bW){aO({line:bW,ch:0},{line:bW,ch:bL[bW].text.length})}function ay(){ai("\n","end");if(ba.enterMode!="flat"){ar(aP.from.line,ba.enterMode=="keep"?"prev":"smart")}}function ax(bW){a3=null;switch(ba.tabMode){case"default":return false;case"indent":for(var bX=aP.from.line,bY=aP.to.line;bX<=bY;++bX){ar(bX,"smart")}break;case"classic":if(G(aP.from,aP.to)){if(bW){ar(aP.from.line,"smart")}else{ai("\t","end")}break}case"shift":for(var bX=aP.from.line,bY=aP.to.line;bX<=bY;++bX){ar(bX,bW?"subtract":"add")}break}return true}function ar(bY,b5){if(b5=="smart"){if(!bc.indent){b5="prev"}else{var bW=aE(bY)}}var b6=bL[bY],b0=b6.indentation(),bX=b6.text.match(/^\s*/)[0],b2;if(b5=="prev"){if(bY){b2=bL[bY-1].indentation()}else{b2=0}}else{if(b5=="smart"){b2=bc.indent(bW,b6.text.slice(bX.length))}else{if(b5=="add"){b2=b0+ba.indentUnit}else{if(b5=="subtract"){b2=b0-ba.indentUnit}}}}b2=Math.max(0,b2);var b4=b2-b0;if(!b4){if(aP.from.line!=bY&&aP.to.line!=bY){return}var b3=bX}else{var b3="",b1=0;if(ba.indentWithTabs){for(var bZ=Math.floor(b2/o);bZ;--bZ){b1+=o;b3+="\t"}}while(b1<b2){++b1;b3+=" "}}bm(b3,{line:bY,ch:0},{line:bY,ch:bX.length})}function bl(){bc=l.getMode(ba,ba.mode);for(var bX=0,bW=bL.length;bX<bW;++bX){bL[bX].stateAfter=null}a4=[0];bQ()}function O(){var bW=ba.gutter||ba.lineNumbers;aN.style.display=bW?"":"none";if(bW){U()}else{af.parentNode.style.marginLeft=0}}function R(b2,b1,bY){b2=ag(b2);b1=ag(b1);var bW=[];function b0(b3,b7,b6,b4){var b3=bL[b3],b5=b3.addMark(b7,b6,b4);b5.line=b3;bW.push(b5)}if(b2.line==b1.line){b0(b2.line,b2.ch,b1.ch,bY)}else{b0(b2.line,b2.ch,null,bY);for(var bX=b2.line+1,bZ=b1.line;bX<bZ;++bX){b0(bX,0,null,bY)}b0(b1.line,0,b1.ch,bY)}bJ.push({from:b2.line,to:b1.line+1});return function(){var b7,b3;for(var b4=0;b4<bW.length;++b4){var b6=bW[b4],b5=k(bL,b6.line);b6.line.removeMark(b6);if(b5>-1){if(b7==null){b7=b5}b3=b5}}if(b7!=null){bJ.push({from:b7,to:b3+1})}}}function al(bW,bY,bX){if(typeof bW=="number"){bW=bL[aX(bW)]}bW.gutterMarker={text:bY,style:bX};U();return bW}function aa(bW){if(typeof bW=="number"){bW=bL[aX(bW)]}bW.gutterMarker=null;U()}function aL(bW,bX){if(typeof bW=="number"){var bY=bW;bW=bL[aX(bW)]}else{var bY=k(bL,bW);if(bY==-1){return null}}if(bW.className!=bX){bW.className=bX;bJ.push({from:bY,to:bY+1})}return bW}function X(bX){if(typeof bX=="number"){var bY=bX;bX=bL[bX];if(!bX){return null}}else{var bY=k(bL,bX);if(bY==-1){return null}}var bW=bX.gutterMarker;return{line:bY,text:bX.text,markerText:bW&&bW.text,markerClass:bW&&bW.style}}function aQ(bW){av.innerHTML="<pre><span>x</span></pre>";av.firstChild.firstChild.firstChild.nodeValue=bW;return av.firstChild.firstChild.offsetWidth||10}function Q(bW,bX){if(bX==0){return 0}av.innerHTML="<pre><span>"+bL[bW].getHTML(null,null,false,bX)+"</span></pre>";return av.firstChild.firstChild.offsetWidth}function a9(b8,b2){if(b2<=0){return 0}var bZ=bL[b8],b5=bZ.text;function b6(b9){av.innerHTML="<pre><span>"+bZ.getHTML(null,null,false,b9)+"</span></pre>";return av.firstChild.firstChild.offsetWidth}var b3=0,b1=0,b4=b5.length,b0;var bX=Math.min(b4,Math.ceil(b2/aQ("x")));for(;;){var bY=b6(bX);if(bY<=b2&&bX<b4){bX=Math.min(b4,Math.ceil(bX*1.2))}else{b0=bY;b4=bX;break}}if(b2>b0){return b4}bX=Math.floor(b4*0.8);bY=b6(bX);if(bY<b2){b3=bX;b1=bY}for(;;){if(b4-b3<=1){return(b0-b2>b2-b1)?b3:b4}var b7=Math.ceil((b3+b4)/2),bW=b6(b7);if(bW>b2){b4=b7;b0=bW}else{b3=b7;b1=bW}}}function bs(bZ,bY){var bX=bK(),bW=bZ.line-(bY?be:0);return{x:Q(bZ.line,bZ.ch),y:bW*bX,yBot:(bW+1)*bX}}function br(bY){var bW=bs(bY,true),bX=L(aG);return{x:bX.left+bW.x,y:bX.top+bW.y,yBot:bX.top+bW.yBot}}function bK(){var bW=af.childNodes.length;if(bW){return(af.offsetHeight/bW)||1}av.innerHTML="<pre>x</pre>";return av.firstChild.offsetHeight||1}function a5(){return aG.offsetTop}function bk(){return aG.offsetLeft}function Z(b1,b0){var bZ=L(aC,true),bW=b1.e.clientX,b2=b1.e.clientY;if(!b0&&(bW-bZ.left>aC.clientWidth||b2-bZ.top>aC.clientHeight)){return null}var bY=L(aG,true);var bX=be+Math.floor((b2-bY.top)/bK());return ag({line:bX,ch:a9(aX(bX),bW-bY.left)})}function am(bX){var b1=Z(bX);if(!b1||window.opera){return}if(G(aP.from,aP.to)||B(b1,aP.from)||!B(b1,aP.to)){aS(b1.line,b1.ch)}var b0=bR.style.cssText;bR.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(bX.pageY()-1)+"px; left: "+(bX.pageX()-1)+"px; z-index: 1000; background: white; border-width: 0; outline: none; overflow: hidden; opacity: .05;";var bZ=bR.value=bC();an();b(bR,0,bR.value.length);bH=true;function bW(){if(bR.value!=bZ){bM(ai)(bR.value,"end")}bR.style.cssText=b0;bH=false;aA();bw()}if(u){bX.stop();var bY=j(window,"mouseup",function(){bY();setTimeout(bW,20)},true)}else{setTimeout(bW,50)}}function N(){clearInterval(ae);var bW=true;ab.style.visibility="";ae=setInterval(function(){ab.style.visibility=(bW=!bW)?"":"hidden"},650)}var bS={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};function aq(b2){var bW=aP.inverted?aP.from:aP.to,b4=bL[bW.line],bX=bW.ch-1;var b1=(bX>=0&&bS[b4.text.charAt(bX)])||bS[b4.text.charAt(++bX)];if(!b1){return}var b5=b1.charAt(0),b3=b1.charAt(1)==">",cf=b3?1:-1,ca=b4.styles;for(var cg=bX+1,cc=0,ce=ca.length;cc<ce;cc+=2){if((cg-=ca[cc].length)<=0){var cd=ca[cc+1];break}}var bZ=[b4.text.charAt(bX)],b9=/[(){}[\]]/;function b7(cs,cn,co){if(!cs.text){return}var cr=cs.styles,cm=b3?0:cs.text.length-1,cp;for(var cj=b3?0:cr.length-2,cl=b3?cr.length:-2;cj!=cl;cj+=2*cf){var cq=cr[cj];if(cr[cj+1]!=null&&cr[cj+1]!=cd){cm+=cf*cq.length;continue}for(var ci=b3?0:cq.length-1,ch=b3?cq.length:-1;ci!=ch;ci+=cf,cm+=cf){if(cm>=cn&&cm<co&&b9.test(cp=cq.charAt(ci))){var ck=bS[cp];if(ck.charAt(1)==">"==b3){bZ.push(cp)}else{if(bZ.pop()!=ck.charAt(0)){return{pos:cm,match:false}}else{if(!bZ.length){return{pos:cm,match:true}}}}}}}}for(var cc=bW.line,ce=b3?Math.min(cc+50,bL.length):Math.max(-1,cc-50);cc!=ce;cc+=cf){var b4=bL[cc],b0=cc==bW.line;var b6=b7(b4,b0&&b3?bX+1:0,b0&&!b3?bX:b4.text.length);if(b6){var cd=b6.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";var cb=R({line:bW.line,ch:bX},{line:bW.line,ch:bX+1},cd),bY=R({line:cc,ch:b6.pos},{line:cc,ch:b6.pos+1},cd);var b8=bM(function(){cb();bY()});if(b2){setTimeout(b8,800)}else{bz=b8}break}}}function aZ(b2){var b1,bY;for(var bX=b2,bZ=b2-40;bX>bZ;--bX){if(bX==0){return 0}var bW=bL[bX-1];if(bW.stateAfter){return bX}var b0=bW.indentation();if(bY==null||b1>b0){bY=bX;b1=b0}}return bY}function aE(b0){var bZ=aZ(b0),bY=bZ&&bL[bZ-1].stateAfter;if(!bY){bY=z(bc)}else{bY=h(bc,bY)}for(var bX=bZ;bX<b0;++bX){var bW=bL[bX];bW.highlight(bc,bY);bW.stateAfter=h(bc,bY)}if(!bL[b0].stateAfter){a4.push(b0)}return bY}function a8(b0,bX){var bZ=aE(b0);for(var bY=b0;bY<bX;++bY){var bW=bL[bY];bW.highlight(bc,bZ);bW.stateAfter=h(bc,bZ)}}function a2(){var b1=+new Date+ba.workTime;var b5=a4.length;while(a4.length){if(!bL[be].stateAfter){var bY=be}else{var bY=a4.pop()}if(bY>=bL.length){continue}var bX=aZ(bY),bW=bX&&bL[bX-1].stateAfter;if(bW){bW=h(bc,bW)}else{bW=z(bc)}var b0=0;for(var b4=bX,bZ=bL.length;b4<bZ;++b4){var b6=bL[b4],b2=b6.stateAfter;if(+new Date>b1){a4.push(b4);bQ(ba.workDelay);bJ.push({from:bY,to:b4});return}var b3=b6.highlight(bc,bW);b6.stateAfter=h(bc,bW);if(b3||!b2){b0=0}else{if(++b0>3){break}}}bJ.push({from:bY,to:b4})}if(b5&&ba.onHighlightComplete){ba.onHighlightComplete(bI)}}function bQ(bW){if(!a4.length){return}ao.set(bW,bM(a2))}function V(){bh=null;bJ=[];aI=ak=false}function aJ(){var bX=false;if(ak){bX=!aU()}if(bJ.length){ac(bJ)}else{if(ak){bB()}}if(bX){aU()}if(ak){N()}if(!bH&&(bh===true||(bh!==false&&ak))){aA()}if(ak&&ba.matchBrackets){setTimeout(bM(function(){if(bz){bz();bz=null}aq(false)}),20)}var bW=aI;if(ak&&ba.onCursorActivity){ba.onCursorActivity(bI)}if(bW&&ba.onChange&&bI){ba.onChange(bI,bW)}}var au=0;function bM(bW){return function(){if(!au++){V()}try{var bX=bW.apply(this,arguments)}finally{if(!--au){aJ()}}return bX}}function aw(bY,b0,bX){this.atOccurrence=false;if(bX==null){bX=typeof bY=="string"&&bY==bY.toLowerCase()}if(b0&&typeof b0=="object"){b0=ag(b0)}else{b0={line:0,ch:0}}this.pos={from:b0,to:b0};if(typeof bY!="string"){this.matches=function(b3,b7){if(b3){var b1=bL[b7.line].text.slice(0,b7.ch),b2=b1.match(bY),b6=0;while(b2){var b4=b1.indexOf(b2[0]);b6+=b4;b1=b1.slice(b4+1);var b5=b1.match(bY);if(b5){b2=b5}else{break}b6++}}else{var b1=bL[b7.line].text.slice(b7.ch),b2=b1.match(bY),b6=b2&&b7.ch+b1.indexOf(b2[0])}if(b2){return{from:{line:b7.line,ch:b6},to:{line:b7.line,ch:b6+b2[0].length},match:b2}}}}else{if(bX){bY=bY.toLowerCase()}var bW=bX?function(b1){return b1.toLowerCase()}:function(b1){return b1};var bZ=bY.split("\n");if(bZ.length==1){this.matches=function(b4,b5){var b2=bW(bL[b5.line].text),b1=bY.length,b3;if(b4?(b5.ch>=b1&&(b3=b2.lastIndexOf(bY,b5.ch-b1))!=-1):(b3=b2.indexOf(bY,b5.ch))!=-1){return{from:{line:b5.line,ch:b3},to:{line:b5.line,ch:b3+b1}}}}}else{this.matches=function(b6,b8){var b7=b8.line,b9=(b6?bZ.length-1:0),b4=bZ[b9],ca=bW(bL[b7].text);var b5=(b6?ca.indexOf(b4)+b4.length:ca.lastIndexOf(b4));if(b6?b5>=b8.ch||b5!=b4.length:b5<=b8.ch||b5!=ca.length-b4.length){return}for(;;){if(b6?!b7:b7==bL.length-1){return}ca=bW(bL[b7+=b6?-1:1].text);b4=bZ[b6?--b9:++b9];if(b9>0&&b9<bZ.length-1){if(ca!=b4){return}else{continue}}var b3=(b6?ca.lastIndexOf(b4):ca.indexOf(b4)+b4.length);if(b6?b3!=ca.length-b4.length:b3!=b4.length){return}var b1={line:b8.line,ch:b5},b2={line:b7,ch:b3};return{from:b6?b2:b1,to:b6?b1:b2}}}}}}aw.prototype={findNext:function(){return this.find(false)},findPrevious:function(){return this.find(true)},find:function(bX){var bW=this,bZ=ag(bX?this.pos.from:this.pos.to);function bY(b0){var b1={line:b0,ch:0};bW.pos={from:b1,to:b1};bW.atOccurrence=false;return false}for(;;){if(this.pos=this.matches(bX,bZ)){this.atOccurrence=true;return this.pos.match||true}if(bX){if(!bZ.line){return bY(0)}bZ={line:bZ.line-1,ch:bL[bZ.line-1].text.length}}else{if(bZ.line==bL.length-1){return bY(bL.length)}bZ={line:bZ.line+1,ch:0}}}},from:function(){if(this.atOccurrence){return C(this.pos.from)}},to:function(){if(this.atOccurrence){return C(this.pos.to)}}};for(var bq in D){if(D.propertyIsEnumerable(bq)&&!bI.propertyIsEnumerable(bq)){bI[bq]=D[bq]}}return bI}l.defaults={value:"",mode:null,theme:"default",indentUnit:2,indentWithTabs:false,tabMode:"classic",enterMode:"indent",electricChars:true,onKeyEvent:null,lineNumbers:false,gutter:false,firstLineNumber:1,readOnly:false,onChange:null,onCursorActivity:null,onGutterClick:null,onHighlightComplete:null,onFocus:null,onBlur:null,onScroll:null,matchBrackets:false,workTime:100,workDelay:200,undoDepth:40,tabindex:null,document:window.document};var J={},y={};l.defineMode=function(i,M){if(!l.defaults.mode&&i!="null"){l.defaults.mode=i}J[i]=M};l.defineMIME=function(M,i){y[M]=i};l.getMode=function(N,i){if(typeof i=="string"&&y.hasOwnProperty(i)){i=y[i]}if(typeof i=="string"){var P=i,M={}}else{if(i!=null){var P=i.name,M=i}}var O=J[P];if(!O){if(window.console){console.warn("No mode "+P+" found, falling back to plain text.")}return l.getMode(N,"text/plain")}return O(N,M||{})};l.listModes=function(){var M=[];for(var i in J){if(J.propertyIsEnumerable(i)){M.push(i)}}return M};l.listMIMEs=function(){var M=[];for(var i in y){if(y.propertyIsEnumerable(i)){M.push(i)}}return M};var D={};l.defineExtension=function(i,M){D[i]=M};l.fromTextArea=function(M,O){if(!O){O={}}O.value=M.value;if(!O.tabindex&&M.tabindex){O.tabindex=M.tabindex}function Q(){M.value=i.getValue()}if(M.form){var P=j(M.form,"submit",Q,true);if(typeof M.form.submit=="function"){var N=M.form.submit;function R(){Q();M.form.submit=N;M.form.submit();M.form.submit=R}M.form.submit=R}}M.style.display="none";var i=l(function(S){M.parentNode.insertBefore(S,M.nextSibling)},O);i.save=Q;i.toTextArea=function(){Q();M.parentNode.removeChild(i.getWrapperElement());M.style.display="";if(M.form){P();if(typeof M.form.submit=="function"){M.form.submit=N}}};return i};function h(O,i){if(i===true){return i}if(O.copyState){return O.copyState(i)}var N={};for(var P in i){var M=i[P];if(M instanceof Array){M=M.concat([])}N[P]=M}return N}l.startState=z;function z(N,M,i){return N.startState?N.startState(M,i):true}l.copyState=h;function a(i){this.pos=this.start=0;this.string=i}a.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)},next:function(){if(this.pos<this.string.length){return this.string.charAt(this.pos++)}},eat:function(i){var N=this.string.charAt(this.pos);if(typeof i=="string"){var M=N==i}else{var M=N&&(i.test?i.test(N):i(N))}if(M){++this.pos;return N}},eatWhile:function(i){var M=this.start;while(this.eat(i)){}return this.pos>M},eatSpace:function(){var i=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>i},skipToEnd:function(){this.pos=this.string.length},skipTo:function(i){var M=this.string.indexOf(i,this.pos);if(M>-1){this.pos=M;return true}},backUp:function(i){this.pos-=i},column:function(){return g(this.string,this.start)},indentation:function(){return g(this.string)},match:function(O,M,i){if(typeof O=="string"){function P(Q){return i?Q.toLowerCase():Q}if(P(this.string).indexOf(P(O),this.pos)==this.pos){if(M!==false){this.pos+=O.length}return true}}else{var N=this.string.slice(this.pos).match(O);if(N&&M!==false){this.pos+=N[0].length}return N}},current:function(){return this.string.slice(this.start,this.pos)}};l.StringStream=a;function c(M,i){this.styles=i||[M,null];this.stateAfter=null;this.text=M;this.marked=this.gutterMarker=this.className=null}c.prototype={replace:function(R,S,V){var W=[],P=this.marked;K(0,R,this.styles,W);if(V){W.push(V,null)}K(S,this.text.length,this.styles,W);this.styles=W;this.text=this.text.slice(0,R)+V+this.text.slice(S);this.stateAfter=null;if(P){var T=V.length-(S-R),N=this.text.length;function Q(i){return i<=Math.min(S,S+T)?i:i+T}for(var O=0;O<P.length;++O){var M=P[O],U=false;if(M.from>=N){U=true}else{M.from=Q(M.from);if(M.to!=null){M.to=Q(M.to)}}if(U||M.from>=M.to){P.splice(O,1);O--}}}},split:function(N,M){var i=[M,null];K(N,this.text.length,this.styles,i);return new c(M+this.text.slice(N),i)},addMark:function(P,O,M){var i=this.marked,N={from:P,to:O,style:M};if(this.marked==null){this.marked=[]}this.marked.push(N);this.marked.sort(function(R,Q){return R.from-Q.from});return N},removeMark:function(O){var M=this.marked;if(!M){return}for(var N=0;N<M.length;++N){if(M[N]==O){M.splice(N,1);break}}},highlight:function(Q,M){var S=new a(this.text),U=this.styles,R=0;var P=false,N=U[0],T;if(this.text==""&&Q.blankLine){Q.blankLine(M)}while(!S.eol()){var i=Q.token(S,M);var O=this.text.slice(S.start,S.pos);S.start=S.pos;if(R&&U[R-1]==i){U[R-2]+=O}else{if(O){if(!P&&(U[R+1]!=i||(R&&U[R-2]!=T))){P=true}U[R++]=O;U[R++]=i;T=N;N=U[R]}}if(S.pos>5000){U[R++]=this.text.slice(S.pos);U[R++]=null;break}}if(U.length!=R){U.length=R;P=true}if(R&&U[R-2]!=T){P=true}return P||(U.length<5&&this.text.length<10)},getTokenAt:function(Q,O,N){var i=this.text,P=new a(i);while(P.pos<N&&!P.eol()){P.start=P.pos;var M=Q.token(P,O)}return{start:P.start,end:P.pos,string:P.current(),className:M||null,state:O}},indentation:function(){return g(this.text)},getHTML:function(Y,ac,P,aa){var S=[];if(P){S.push(this.className?'<pre class="'+this.className+'">':"<pre>")}function ad(al,i){if(!al){return}if(i){S.push('<span class="cm-',i,'">',v(al),"</span>")}else{S.push(v(al))}}var X=this.styles,Q=this.text,W=this.marked;if(Y==ac){Y=null}var af=Q.length;if(aa!=null){af=Math.min(aa,af)}if(!Q&&aa==null){ad(" ",Y!=null&&ac==null?"CodeMirror-selected":null)}else{if(!W&&Y==null){for(var ae=0,T=0;T<af;ae+=2){var Z=X[ae],ab=Z.length;if(T+ab>af){Z=Z.slice(0,af-T)}T+=ab;ad(Z,X[ae+1])}}else{var O=0,ae=0,V="",ag,aj=0;var ah=-1,R=null;function ai(){if(W){ah+=1;R=(ah<W.length)?W[ah]:null}}ai();while(O<af){var U=af;var ak="";if(Y!=null){if(Y>O){U=Y}else{if(ac==null||ac>O){ak=" CodeMirror-selected";if(ac!=null){U=Math.min(U,ac)}}}}while(R&&R.to!=null&&R.to<=O){ai()}if(R){if(R.from>O){U=Math.min(U,R.from)}else{ak+=" "+R.style;if(R.to!=null){U=Math.min(U,R.to)}}}for(;;){var N=O+V.length;var M=ag;if(ak){M=ag?ag+ak:ak}ad(N>U?V.slice(0,U-O):V,M);if(N>=U){V=V.slice(U-O);O=U;break}O=N;V=X[ae++];ag=X[ae++]}}if(Y!=null&&ac==null){ad(" ","CodeMirror-selected")}}}if(P){S.push("</pre>")}return S.join("")}};function K(S,T,M,U){for(var Q=0,R=0,N=0;R<T;Q+=2){var O=M[Q],P=R+O.length;if(N==0){if(P>S){U.push(O.slice(S-R,Math.min(O.length,T-R)),M[Q+1])}if(P>=S){N=1}}else{if(N==1){if(P>T){U.push(O.slice(0,T-R),M[Q+1])}else{U.push(O,M[Q+1])}}}R=P}}function f(){this.time=0;this.done=[];this.undone=[]}f.prototype={addChange:function(T,O,M){this.undone.length=0;var S=+new Date,Q=this.done[this.done.length-1];if(S-this.time>400||!Q||Q.start>T+O||Q.start+Q.added<T-Q.added+Q.old.length){this.done.push({start:T,added:O,old:M})}else{var P=0;if(T<Q.start){for(var N=Q.start-T-1;N>=0;--N){Q.old.unshift(M[N])}Q.added+=Q.start-T;Q.start=T}else{if(Q.start<T){P=T-Q.start;O+=P}}for(var N=Q.added-P,R=M.length;N<R;++N){Q.old.push(M[N])}if(Q.added<O){Q.added=O}}this.time=S}};function E(){if(this.preventDefault){this.preventDefault();this.stopPropagation()}else{this.returnValue=false;this.cancelBubble=true}}function t(i){if(!i.stop){i.stop=E}return i}function w(i){this.e=i}w.prototype={stop:function(){E.call(this.e)},target:function(){return this.e.target||this.e.srcElement},button:function(){if(this.e.which){return this.e.which}else{if(this.e.button&1){return 1}else{if(this.e.button&2){return 3}else{if(this.e.button&4){return 2}}}}},pageX:function(){if(this.e.pageX!=null){return this.e.pageX}var i=this.target().ownerDocument;return this.e.clientX+i.body.scrollLeft+i.documentElement.scrollLeft},pageY:function(){if(this.e.pageY!=null){return this.e.pageY}var i=this.target().ownerDocument;return this.e.clientY+i.body.scrollTop+i.documentElement.scrollTop}};function j(O,N,M,i){function P(Q){M(new w(Q||window.event))}if(typeof O.addEventListener=="function"){O.addEventListener(N,P,false);if(i){return function(){O.removeEventListener(N,P,false)}}}else{O.attachEvent("on"+N,P);if(i){return function(){O.detachEvent("on"+N,P)}}}}function m(){this.id=null}m.prototype={set:function(i,M){clearTimeout(this.id);this.id=setTimeout(M,i)}};var x=(function(){var i=document.createElement("pre");i.innerHTML=" ";return !i.innerHTML})();var u=/gecko\/\d{7}/i.test(navigator.userAgent);var r=/MSIE \d/.test(navigator.userAgent);var e=/Apple Computer/.test(navigator.vendor);var d="\n";(function(){var i=document.createElement("textarea");i.value="foo\nbar";if(i.value.indexOf("\r")>-1){d="\r\n"}}());var o=8;var s=/Mac/.test(navigator.platform);var H={};for(var F=35;F<=40;++F){H[F]=H["c"+F]=true}function g(N,M){if(M==null){M=N.search(/[^\s\u00a0]/);if(M==-1){M=N.length}}for(var O=0,P=0;O<M;++O){if(N.charAt(O)=="\t"){P+=o-(P%o)}else{++P}}return P}function L(N,M){var Q=N.ownerDocument.body;var i=0,S=0,P=false;for(var R=N;R;R=R.offsetParent){i+=R.offsetLeft;S+=R.offsetTop;if(R==Q){P=true}}var O=M&&P?null:Q;for(var R=N.parentNode;R!=O;R=R.parentNode){if(R.scrollLeft!=null){i-=R.scrollLeft;S-=R.scrollTop}}return{left:i,top:S}}function p(i){return i.textContent||i.innerText||i.nodeValue||""}function G(M,i){return M.line==i.line&&M.ch==i.ch}function B(M,i){return M.line<i.line||(M.line==i.line&&M.ch<i.ch)}function C(i){return{line:i.line,ch:i.ch}}function v(i){return i.replace(/[<>&]/g,function(M){return M=="&"?"&amp;":M=="<"?"&lt;":"&gt;"})}l.htmlEscape=v;function A(P,O){if(!O){return P?P.length:0}if(!P){return O.length}for(var N=P.length,M=O.length;N>=0&&M>=0;--N,--M){if(P.charAt(N)!=O.charAt(M)){break}}return M+1}function k(P,M){if(P.indexOf){return P.indexOf(M)}for(var N=0,O=P.length;N<O;++N){if(P[N]==M){return N}}return -1}if("\n\nb".split(/\n/).length!=3){var n=function(N){var O=0,M,i=[];while((M=N.indexOf("\n",O))>-1){i.push(N.slice(O,N.charAt(M-1)=="\r"?M-1:M));O=M+1}i.push(N.slice(O));return i}}else{var n=function(i){return i.split(/\r?\n/)}}l.splitLines=n;if(window.getSelection){var I=function(M){try{return{start:M.selectionStart,end:M.selectionEnd}}catch(i){return null}};if(e){var b=function(M,N,i){if(N==i){M.setSelectionRange(N,i)}else{M.setSelectionRange(N,i-1);window.getSelection().modify("extend","forward","character")}}}else{var b=function(N,O,i){try{N.setSelectionRange(O,i)}catch(M){}}}}else{var I=function(O){try{var S=O.ownerDocument.selection.createRange()}catch(U){return null}if(!S||S.parentElement()!=O){return null}var N=O.value,T=N.length,V=O.createTextRange();V.moveToBookmark(S.getBookmark());var Q=O.createTextRange();Q.collapse(false);if(V.compareEndPoints("StartToEnd",Q)>-1){return{start:T,end:T}}var M=-V.moveStart("character",-T);for(var R=N.indexOf("\r");R>-1&&R<M;R=N.indexOf("\r",R+1),M++){}if(V.compareEndPoints("EndToEnd",Q)>-1){return{start:M,end:T}}var P=-V.moveEnd("character",-T);for(var R=N.indexOf("\r");R>-1&&R<P;R=N.indexOf("\r",R+1),P++){}return{start:M,end:P}};var b=function(Q,S,N){var O=Q.createTextRange();O.collapse(true);var M=O.duplicate();var P=0,i=Q.value;for(var R=i.indexOf("\n");R>-1&&R<S;R=i.indexOf("\n",R+1)){++P}O.move("character",S-P);for(;R>-1&&R<N;R=i.indexOf("\n",R+1)){++P}M.move("character",N-P);O.setEndPoint("EndToEnd",M);O.select()}}l.defineMode("null",function(){return{token:function(i){i.skipToEnd()}}});l.defineMIME("text/plain","null");return l})();CodeMirror.defineMode("javascript",function(I,M){var w=I.indentUnit;var Q=M.json;var b=function(){function W(Z){return{type:Z,style:"keyword"}}var T=W("keyword a"),Y=W("keyword b"),X=W("keyword c");var U=W("operator"),V={type:"atom",style:"atom"};return{"if":T,"while":T,"with":T,"else":Y,"do":Y,"try":Y,"finally":Y,"return":X,"break":X,"continue":X,"new":X,"delete":X,"throw":X,"var":W("var"),"function":W("function"),"catch":W("catch"),"for":W("for"),"switch":W("switch"),"case":W("case"),"default":W("default"),"in":U,"typeof":U,"instanceof":U,"true":V,"false":V,"null":V,"undefined":V,"NaN":V,"Infinity":V}}();var N=/[+\-*&%=<>!?|]/;function R(V,U,T){U.tokenize=T;return T(V,U)}function h(W,T){var V=false,U;while((U=W.next())!=null){if(U==T&&!V){return false}V=!V&&U=="\\"}return V}var S,p;function B(V,U,T){S=V;p=T;return U}function l(X,V){var T=X.next();if(T=='"'||T=="'"){return R(X,V,A(T))}else{if(/[\[\]{}\(\),;\:\.]/.test(T)){return B(T)}else{if(T=="0"&&X.eat(/x/i)){X.eatWhile(/[\da-f]/i);return B("number","atom")}else{if(/\d/.test(T)){X.match(/^\d*(?:\.\d*)?(?:e[+\-]?\d+)?/);return B("number","atom")}else{if(T=="/"){if(X.eat("*")){return R(X,V,f)}else{if(X.eat("/")){X.skipToEnd();return B("comment","comment")}else{if(V.reAllowed){h(X,"/");X.eatWhile(/[gimy]/);return B("regexp","string")}else{X.eatWhile(N);return B("operator",null,X.current())}}}}else{if(N.test(T)){X.eatWhile(N);return B("operator",null,X.current())}else{X.eatWhile(/[\w\$_]/);var W=X.current(),U=b.propertyIsEnumerable(W)&&b[W];return U?B(U.type,U.style,W):B("variable","variable",W)}}}}}}}function A(T){return function(V,U){if(!h(V,T)){U.tokenize=l}return B("string","string")}}function f(W,V){var T=false,U;while(U=W.next()){if(U=="/"&&T){V.tokenize=l;break}T=(U=="*")}return B("comment","comment")}var k={atom:true,number:true,variable:true,string:true,regexp:true};function u(Y,U,T,X,V,W){this.indented=Y;this.column=U;this.type=T;this.prev=V;this.info=W;if(X!=null){this.align=X}}function x(V,U){for(var T=V.localVars;T;T=T.next){if(T.name==U){return true}}}function E(X,U,T,W,Y){var Z=X.cc;v.state=X;v.stream=Y;v.marked=null,v.cc=Z;if(!X.lexical.hasOwnProperty("align")){X.lexical.align=true}while(true){var V=Z.length?Z.pop():Q?y:z;if(V(T,W)){while(Z.length&&Z[Z.length-1].lex){Z.pop()()}if(v.marked){return v.marked}if(T=="variable"&&x(X,W)){return"variable-2"}return U}}}var v={state:null,column:null,marked:null,cc:null};function a(){for(var T=arguments.length-1;T>=0;T--){v.cc.push(arguments[T])}}function G(){a.apply(null,arguments);return true}function m(U){var V=v.state;if(V.context){v.marked="def";for(var T=V.localVars;T;T=T.next){if(T.name==U){return}}V.localVars={name:U,next:V.localVars}}}var D={name:"this",next:{name:"arguments"}};function t(){if(!v.state.context){v.state.localVars=D}v.state.context={prev:v.state.context,vars:v.state.localVars}}function s(){v.state.localVars=v.state.context.vars;v.state.context=v.state.context.prev}function j(U,V){var T=function(){var W=v.state;W.lexical=new u(W.indented,v.stream.column(),U,null,W.lexical,V)};T.lex=true;return T}function F(){var T=v.state;if(T.lexical.prev){if(T.lexical.type==")"){T.indented=T.lexical.indented}T.lexical=T.lexical.prev}}F.lex=true;function c(U){return function T(V){if(V==U){return G()}else{if(U==";"){return a()}else{return G(arguments.callee)}}}}function z(T){if(T=="var"){return G(j("vardef"),J,c(";"),F)}if(T=="keyword a"){return G(j("form"),y,z,F)}if(T=="keyword b"){return G(j("form"),z,F)}if(T=="{"){return G(j("}"),n,F)}if(T==";"){return G()}if(T=="function"){return G(i)}if(T=="for"){return G(j("form"),c("("),j(")"),g,c(")"),F,z,F)}if(T=="variable"){return G(j("stat"),C)}if(T=="switch"){return G(j("form"),y,j("}","switch"),c("{"),n,F,F)}if(T=="case"){return G(y,c(":"))}if(T=="default"){return G(c(":"))}if(T=="catch"){return G(j("form"),t,c("("),r,c(")"),z,F,s)}return a(j("stat"),y,c(";"),F)}function y(T){if(k.hasOwnProperty(T)){return G(L)}if(T=="function"){return G(i)}if(T=="keyword c"){return G(y)}if(T=="("){return G(j(")"),y,c(")"),F,L)}if(T=="operator"){return G(y)}if(T=="["){return G(j("]"),O(y,"]"),F,L)}if(T=="{"){return G(j("}"),O(o,"}"),F,L)}return G()}function L(T,U){if(T=="operator"&&/\+\+|--/.test(U)){return G(L)}if(T=="operator"){return G(y)}if(T==";"){return}if(T=="("){return G(j(")"),O(y,")"),F,L)}if(T=="."){return G(P,L)}if(T=="["){return G(j("]"),y,c("]"),F,L)}}function C(T){if(T==":"){return G(F,z)}return a(L,c(";"),F)}function P(T){if(T=="variable"){v.marked="property";return G()}}function o(T){if(T=="variable"){v.marked="property"}if(k.hasOwnProperty(T)){return G(c(":"),y)}}function O(V,T){function U(X){if(X==","){return G(V,U)}if(X==T){return G()}return G(c(T))}return function W(X){if(X==T){return G()}else{return a(V,U)}}}function n(T){if(T=="}"){return G()}return a(z,n)}function J(T,U){if(T=="variable"){m(U);return G(H)}return G()}function H(T,U){if(U=="="){return G(y,H)}if(T==","){return G(J)}}function g(T){if(T=="var"){return G(J,e)}if(T==";"){return a(e)}if(T=="variable"){return G(K)}return a(e)}function K(T,U){if(U=="in"){return G(y)}return G(L,e)}function e(T,U){if(T==";"){return G(d)}if(U=="in"){return G(y)}return G(y,c(";"),d)}function d(T){if(T!=")"){G(y)}}function i(T,U){if(T=="variable"){m(U);return G(i)}if(T=="("){return G(j(")"),t,O(r,")"),F,z,s)}}function r(T,U){if(T=="variable"){m(U);return G()}}return{startState:function(T){return{tokenize:l,reAllowed:true,cc:[],lexical:new u((T||0)-w,0,"block",false),localVars:null,context:null,indented:0}},token:function(V,U){if(V.sol()){if(!U.lexical.hasOwnProperty("align")){U.lexical.align=false}U.indented=V.indentation()}if(V.eatSpace()){return null}var T=U.tokenize(V,U);if(S=="comment"){return T}U.reAllowed=S=="operator"||S=="keyword c"||S.match(/^[\[{}\(,;:]$/);return E(U,T,S,p,V)},indent:function(Y,T){if(Y.tokenize!=l){return 0}var X=T&&T.charAt(0),V=Y.lexical,W=V.type,U=X==W;if(W=="vardef"){return V.indented+4}else{if(W=="form"&&X=="{"){return V.indented}else{if(W=="stat"||W=="form"){return V.indented+w}else{if(V.info=="switch"&&!U){return V.indented+(/^(?:case|default)\b/.test(T)?w:2*w)}else{if(V.align){return V.column+(U?0:1)}else{return V.indented+(U?0:w)}}}}}},electricChars:":{}"}});CodeMirror.defineMIME("text/javascript","javascript");CodeMirror.defineMIME("application/json",{name:"javascript",json:true});var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;(function(){function d(F){function w(J){var K=J.charCodeAt(0);if(K!==92){return K}var I=J.charAt(1);return(K=k[I])?K:"0"<=I&&I<="7"?parseInt(J.substring(1),8):I==="u"||I==="x"?parseInt(J.substring(2),16):J.charCodeAt(1)}function C(I){if(I<32){return(I<16?"\\x0":"\\x")+I.toString(16)}I=String.fromCharCode(I);if(I==="\\"||I==="-"||I==="["||I==="]"){I="\\"+I}return I}function A(J){for(var M=J.substring(1,J.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),J=[],I=[],O=M[0]==="^",P=O?1:0,L=M.length;P<L;++P){var K=M[P];if(/\\[bdsw]/i.test(K)){J.push(K)}else{var K=w(K),N;P+2<L&&"-"===M[P+1]?(N=w(M[P+2]),P+=2):N=K;I.push([K,N]);N<65||K>122||(N<65||K>90||I.push([Math.max(65,K)|32,Math.min(N,90)|32]),N<97||K>122||I.push([Math.max(97,K)&-33,Math.min(N,122)&-33]))}}I.sort(function(Q,R){return Q[0]-R[0]||R[1]-Q[1]});M=[];K=[NaN,NaN];for(P=0;P<I.length;++P){L=I[P],L[0]<=K[1]+1?K[1]=Math.max(K[1],L[1]):M.push(K=L)}I=["["];O&&I.push("^");I.push.apply(I,J);for(P=0;P<M.length;++P){L=M[P],I.push(C(L[0])),L[1]>L[0]&&(L[1]+1>L[0]&&I.push("-"),I.push(C(L[1])))}I.push("]");return I.join("")}function E(J){for(var M=J.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),I=M.length,N=[],O=0,L=0;O<I;++O){var K=M[O];K==="("?++L:"\\"===K.charAt(0)&&(K=+K.substring(1))&&K<=L&&(N[K]=-1)}for(O=1;O<N.length;++O){-1===N[O]&&(N[O]=++G)}for(L=O=0;O<I;++O){K=M[O],K==="("?(++L,N[L]===void 0&&(M[O]="(?:")):"\\"===K.charAt(0)&&(K=+K.substring(1))&&K<=L&&(M[O]="\\"+N[L])}for(L=O=0;O<I;++O){"^"===M[O]&&"^"!==M[O+1]&&(M[O]="")}if(J.ignoreCase&&H){for(O=0;O<I;++O){K=M[O],J=K.charAt(0),K.length>=2&&J==="["?M[O]=A(K):J!=="\\"&&(M[O]=K.replace(/[A-Za-z]/g,function(P){P=P.charCodeAt(0);return"["+String.fromCharCode(P&-33,P|32)+"]"}))}}return M.join("")}for(var G=0,H=!1,x=!1,u=0,D=F.length;u<D;++u){var B=F[u];if(B.ignoreCase){x=!0}else{if(/[a-z]/i.test(B.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){H=!0;x=!1;break}}}for(var k={b:8,t:9,n:10,v:11,f:12,r:13},v=[],u=0,D=F.length;u<D;++u){B=F[u];if(B.global||B.multiline){throw Error(""+B)}v.push("(?:"+E(B)+")")}return RegExp(v.join("|"),x?"gi":"g")}function c(B){function u(E){switch(E.nodeType){case 1:if(x.test(E.className)){break}for(var F=E.firstChild;F;F=F.nextSibling){u(F)}F=E.nodeName;if("BR"===F||"LI"===F){w[D]="\n",C[D<<1]=A++,C[D++<<1|1]=E}break;case 3:case 4:F=E.nodeValue,F.length&&(F=k?F.replace(/\r\n?/g,"\n"):F.replace(/[\t\n\r ]+/g," "),w[D]=F,C[D<<1]=A,A+=F.length,C[D++<<1|1]=E)}}var x=/(?:^|\s)nocode(?:\s|$)/,w=[],A=0,C=[],D=0,v;B.currentStyle?v=B.currentStyle.whiteSpace:window.getComputedStyle&&(v=document.defaultView.getComputedStyle(B,q).getPropertyValue("white-space"));var k=v&&"pre"===v.substring(0,3);u(B);return{a:w.join("").replace(/\n$/,""),c:C}}function t(u,k,w,v){k&&(u={a:k,d:u},w(u),v.push.apply(v,u.e))}function h(u,k){function x(P){for(var F=P.d,C=[F,"pln"],L=0,J=P.a.match(A)||[],B={},E=0,N=J.length;E<N;++E){var K=J[E],O=B[K],D=void 0,M;if(typeof O==="string"){M=!1}else{var I=w[K.charAt(0)];if(I){D=K.match(I[1]),O=I[0]}else{for(M=0;M<v;++M){if(I=k[M],D=K.match(I[1])){O=I[0];break}}D||(O="pln")}if((M=O.length>=5&&"lang-"===O.substring(0,5))&&!(D&&typeof D[1]==="string")){M=!1,O="src"}M||(B[K]=O)}I=L;L+=K.length;if(M){M=D[1];var H=K.indexOf(M),G=H+M.length;D[2]&&(G=K.length-D[2].length,H=G-M.length);O=O.substring(5);t(F+I,K.substring(0,H),x,C);t(F+I+H,M,s(O,M),C);t(F+I+G,K.substring(G),x,C)}else{C.push(F+I,O)}}P.e=C}var w={},A;(function(){for(var G=u.concat(k),B=[],F={},H=0,E=G.length;H<E;++H){var D=G[H],I=D[3];if(I){for(var C=I.length;--C>=0;){w[I.charAt(C)]=D}}D=D[1];I=""+D;F.hasOwnProperty(I)||(B.push(D),F[I]=q)}B.push(/[\S\s]/);A=d(B)})();var v=k.length;return x}function o(u){var k=[],w=[];u.tripleQuotedStrings?k.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):u.multiLineStrings?k.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,q,"'\"`"]):k.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);u.verbatimStrings&&w.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var v=u.hashComments;v&&(u.cStyleComments?(v>1?k.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):k.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),w.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):k.push(["com",/^#[^\n\r]*/,q,"#"]));u.cStyleComments&&(w.push(["com",/^\/\/[^\n\r]*/,q]),w.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));u.regexLiterals&&w.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(v=u.types)&&w.push(["typ",v]);u=(""+u.keywords).replace(/^ | $/g,"");u.length&&w.push(["kwd",RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),q]);k.push(["pln",/^\s+/,q," \r\n\t\xa0"]);w.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return h(k,w)}function r(H,x){function E(K){switch(K.nodeType){case 1:if(B.test(K.className)){break}if("BR"===K.nodeName){C(K),K.parentNode&&K.parentNode.removeChild(K)}else{for(K=K.firstChild;K;K=K.nextSibling){E(K)}}break;case 3:case 4:if(v){var k=K.nodeValue,L=k.match(I);if(L){var M=k.substring(0,L.index);K.nodeValue=M;(k=k.substring(L.index+L[0].length))&&K.parentNode.insertBefore(J.createTextNode(k),K.nextSibling);C(K);M||K.parentNode.removeChild(K)}}}}function C(K){function k(M,R){var Q=R?M.cloneNode(!1):M,P=M.parentNode;if(P){var P=k(P,1),O=M.nextSibling;P.appendChild(Q);for(var N=O;N;N=O){O=N.nextSibling,P.appendChild(N)}}return Q}for(;!K.nextSibling;){if(K=K.parentNode,!K){return}}for(var K=k(K.nextSibling,0),L;(L=K.parentNode)&&L.nodeType===1;){K=L}F.push(K)}var B=/(?:^|\s)nocode(?:\s|$)/,I=/\r\n?|\n/,J=H.ownerDocument,A;H.currentStyle?A=H.currentStyle.whiteSpace:window.getComputedStyle&&(A=J.defaultView.getComputedStyle(H,q).getPropertyValue("white-space"));var v=A&&"pre"===A.substring(0,3);for(A=J.createElement("LI");H.firstChild;){A.appendChild(H.firstChild)}for(var F=[A],D=0;D<F.length;++D){E(F[D])}x===(x|0)&&F[0].setAttribute("value",x);var u=J.createElement("OL");u.className="linenums";for(var w=Math.max(0,x-1|0)||0,D=0,G=F.length;D<G;++D){A=F[D],A.className="L"+(D+w)%10,A.firstChild||A.appendChild(J.createTextNode("\xa0")),u.appendChild(A)}H.appendChild(u)}function z(u,k){for(var w=k.length;--w>=0;){var v=k[w];y.hasOwnProperty(v)?window.console&&console.warn("cannot override language handler %s",v):y[v]=u}}function s(u,k){if(!u||!y.hasOwnProperty(u)){u=/^\s*</.test(k)?"default-markup":"default-code"}return y[u]}function p(X){var L=X.g;try{var T=c(X.h),Q=T.a;X.a=Q;X.c=T.c;X.d=0;s(L,Q)(X);var N=/\bMSIE\b/.test(navigator.userAgent),L=/\n/g,F=X.a,G=F.length,T=0,M=X.c,I=M.length,Q=0,U=X.e,R=U.length,X=0;U[R]=G;var H,K;for(K=H=0;K<R;){U[K]!==U[K+2]?(U[H++]=U[K++],U[H++]=U[K++]):K+=2}R=H;for(K=H=0;K<R;){for(var A=U[K],S=U[K+1],W=K+2;W+2<=R&&U[W+1]===S;){W+=2}U[H++]=A;U[H++]=S;K=W}for(U.length=H;Q<I;){var J=M[Q+2]||G,V=U[X+2]||G,W=Math.min(J,V),P=M[Q+1],O;if(P.nodeType!==1&&(O=F.substring(T,W))){N&&(O=O.replace(L,"\r"));P.nodeValue=O;var E=P.ownerDocument,D=E.createElement("SPAN");D.className=U[X+1];var B=P.parentNode;B.replaceChild(D,P);D.appendChild(P);T<J&&(M[Q+1]=P=E.createTextNode(F.substring(W,J)),B.insertBefore(P,D.nextSibling))}T=W;T>=J&&(Q+=2);T>=V&&(X+=2)}}catch(C){"console" in window&&console.log(C&&C.stack?C.stack:C)}}var m=["break,continue,do,else,for,if,return,while"],j=[[m,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],n=[j,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],l=[j,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],i=[l,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],j=[j,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],g=[m,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],f=[m,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],m=[m,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,b=/\S/,a=o({keywords:[n,i,j,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+g,f,m],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),y={};z(a,["default-code"]);z(h([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);z(h([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);z(h([],[["atv",/^[\S\s]+/]]),["uq.val"]);z(o({keywords:n,hashComments:!0,cStyleComments:!0,types:e}),["c","cc","cpp","cxx","cyc","m"]);z(o({keywords:"null,true,false"}),["json"]);z(o({keywords:i,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:e}),["cs"]);z(o({keywords:l,cStyleComments:!0}),["java"]);z(o({keywords:m,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);z(o({keywords:g,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py"]);z(o({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);z(o({keywords:f,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);z(o({keywords:j,cStyleComments:!0,regexLiterals:!0}),["js"]);z(o({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);z(h([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(u,k,w){var v=document.createElement("PRE");v.innerHTML=u;w&&r(v,w);p({g:k,i:w,h:v});return v.innerHTML};window.prettyPrint=function(E){function v(){for(var L=window.PR_SHOULD_USE_CONTINUATION?w.now()+250:Infinity;u<A.length&&w.now()<L;u++){var O=A[u],I=O.className;if(I.indexOf("prettyprint")>=0){var I=I.match(B),K,H;if(H=!I){H=O;for(var M=void 0,N=H.firstChild;N;N=N.nextSibling){var J=N.nodeType,M=J===1?M?H:N:J===3?b.test(N.nodeValue)?H:M:M}H=(K=M===H?void 0:M)&&"CODE"===K.tagName}H&&(I=K.className.match(B));I&&(I=I[1]);H=!1;for(M=O.parentNode;M;M=M.parentNode){if((M.tagName==="pre"||M.tagName==="code"||M.tagName==="xmp")&&M.className&&M.className.indexOf("prettyprint")>=0){H=!0;break}}H||((H=(H=O.className.match(/\blinenums\b(?::(\d+))?/))?H[1]&&H[1].length?+H[1]:!0:!1)&&r(O,H),D={g:I,h:O,i:H},p(D))}}u<A.length?setTimeout(v,250):E&&E()}for(var C=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],A=[],x=0;x<C.length;++x){for(var F=0,G=C[x].length;F<G;++F){A.push(C[x][F])}}var C=q,w=Date;w.now||(w={now:function(){return +new Date}});var u=0,D,B=/\blang(?:uage)?-([\w.]+)(?!\S)/;v()};window.PR={createSimpleLexer:h,registerLangHandler:z,sourceDecorator:o,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();Ext.define("Ext.AbstractPlugin",{disabled:false,constructor:function(b){if(!b.cmp&&Ext.global.console){Ext.global.console.warn("Attempted to attach a plugin ")}Ext.apply(this,b)},getCmp:function(){return this.cmp},init:Ext.emptyFn,destroy:Ext.emptyFn,enable:function(){this.disabled=false},disable:function(){this.disabled=true}});Ext.define("Docs.History",{singleton:true,init:function(){Ext.util.History.init(function(){this.historyLoaded=true;this.initialNavigate()},this);Ext.util.History.on("change",this.navigate,this)},notifyTabsLoaded:function(){this.tabsLoaded=true;this.initialNavigate()},initialNavigate:function(){if(this.tabsLoaded&&this.historyLoaded){this.navigate(Ext.util.History.getToken())}},navigate:function(c){if(this.noNavigate){this.noNavigate=false;return}var d=this.parseToken(c);if(d.url=="#!/api"){Docs.App.getController("Classes").loadIndex(true)}else{if(d.type==="api"){Docs.App.getController("Classes").loadClass(d.url,true)}else{if(d.url==="#!/guide"){Docs.App.getController("Guides").loadIndex(true)}else{if(d.type==="guide"){Docs.App.getController("Guides").loadGuide(d.url,true)}else{if(d.url==="#!/video"){Docs.App.getController("Videos").loadIndex(true)}else{if(d.type==="video"){Docs.App.getController("Videos").loadVideo(d.url,true)}else{if(d.url==="#!/example"){Docs.App.getController("Examples").loadIndex()}else{if(d.type==="example"){Docs.App.getController("Examples").loadExample(d.url,true)}else{if(Docs.App.getController("Welcome").isActive()){Docs.App.getController("Welcome").loadIndex(true)}else{Docs.App.getController("Classes").loadIndex(true)}}}}}}}}}},parseToken:function(d){var c=d&&d.match(/!?(\/(api|guide|example|video)(\/(.*))?)/);return c?{type:c[2],url:"#!"+c[1]}:{}},push:function(d,c){d=this.cleanUrl(d);if(!/^#!?/.test(d)){d="#!"+d}if(c&&c.navigate){this.noNavigate=false}else{this.noNavigate=true}Ext.util.History.add(d)},cleanUrl:function(b){return b.replace(/^[^#]+#/,"#")}});Ext.define("Docs.ContentGrabber",{singleton:true,get:function(f){var e;var d=Ext.get(f);if(d){e=d.dom.innerHTML;d.remove()}return e}});Ext.define("Ext.form.field.VTypes",(function(){var h=/^[a-zA-Z_]+$/,g=/^[a-zA-Z0-9_]+$/,e=/^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/,f=/(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{singleton:true,alternateClassName:"Ext.form.VTypes",email:function(a){return e.test(a)},emailText:'This field should be an e-mail address in the format "user@example.com"',emailMask:/[a-z0-9_\.\-@\+]/i,url:function(a){return f.test(a)},urlText:'This field should be a URL in the format "http://www.example.com"',alpha:function(a){return h.test(a)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(a){return g.test(a)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}})());Ext.define("Ext.util.Observable",{requires:["Ext.util.Event"],statics:{releaseCapture:function(b){b.fireEvent=this.prototype.fireEvent},capture:function(f,d,e){f.fireEvent=Ext.Function.createInterceptor(f.fireEvent,d,e)},observe:function(d,c){if(d){if(!d.isObservable){Ext.applyIf(d,new this());this.capture(d.prototype,d.fireEvent,d)}if(Ext.isObject(c)){d.on(c)}return d}}},isObservable:true,constructor:function(d){var c=this;Ext.apply(c,d);if(c.listeners){c.on(c.listeners);delete c.listeners}c.events=c.events||{};if(c.bubbleEvents){c.enableBubble(c.bubbleEvents)}},eventOptionsRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|element|vertical|horizontal)$/,addManagedListener:function(k,o,m,n,p){var l=this,j=l.managedListeners=l.managedListeners||[],i;if(typeof o!=="string"){p=o;for(o in p){if(p.hasOwnProperty(o)){i=p[o];if(!l.eventOptionsRe.test(o)){l.addManagedListener(k,o,i.fn||i,i.scope||p.scope,i.fn?i:p)}}}}else{j.push({item:k,ename:o,fn:m,scope:n,options:p});k.on(o,m,n,p)}},removeManagedListener:function(m,s,o,l){var p=this,i,t,n,u,r;if(typeof s!=="string"){i=s;for(s in i){if(i.hasOwnProperty(s)){t=i[s];if(!p.eventOptionsRe.test(s)){p.removeManagedListener(m,s,t.fn||t,t.scope||i.scope)}}}}n=p.managedListeners?p.managedListeners.slice():[];for(r=0,u=n.length;r<u;r++){p.removeManagedListenerItem(false,n[r],m,s,o,l)}},fireEvent:function(){var j=this,n=Ext.Array.toArray(arguments),m=n[0].toLowerCase(),h=true,k=j.events[m],i=j.eventQueue,l;if(j.eventsSuspended===true){if(i){i.push(n)}}else{if(k&&k!==true){if(k.bubble){if(k.fire.apply(k,n.slice(1))===false){return false}l=j.getBubbleTarget&&j.getBubbleTarget();if(l&&l.isObservable){if(!l.events[m]||l.events[m]===true||!l.events[m].bubble){l.enableBubble(m)}return l.fireEvent.apply(l,n)}}else{n.shift();h=k.fire.apply(k,n)}}}return h},addListener:function(n,l,m,h){var j=this,i,k;if(typeof n!=="string"){h=n;for(n in h){if(h.hasOwnProperty(n)){i=h[n];if(!j.eventOptionsRe.test(n)){j.addListener(n,i.fn||i,i.scope||h.scope,i.fn?i:h)}}}}else{n=n.toLowerCase();j.events[n]=j.events[n]||true;k=j.events[n]||true;if(Ext.isBoolean(k)){j.events[n]=k=new Ext.util.Event(j,n)}k.addListener(l,m,Ext.isObject(h)?h:{})}},removeListener:function(n,l,m){var j=this,h,k,i;if(typeof n!=="string"){i=n;for(n in i){if(i.hasOwnProperty(n)){h=i[n];if(!j.eventOptionsRe.test(n)){j.removeListener(n,h.fn||h,h.scope||i.scope)}}}}else{n=n.toLowerCase();k=j.events[n];if(k&&k.isEvent){k.removeListener(l,m)}}},clearListeners:function(){var d=this.events,f,e;for(e in d){if(d.hasOwnProperty(e)){f=d[e];if(f.isEvent){f.clearListeners()}}}this.clearManagedListeners()},purgeListeners:function(){if(Ext.global.console){Ext.global.console.warn("Observable: purgeListeners has been deprecated. Please use clearListeners.")}return this.clearListeners.apply(this,arguments)},clearManagedListeners:function(){var d=this.managedListeners||[],f=0,e=d.length;for(;f<e;f++){this.removeManagedListenerItem(true,d[f])}this.managedListeners=[]},removeManagedListenerItem:function(g,h,i,l,j,k){if(g||(h.item===i&&h.ename===l&&(!j||h.fn===j)&&(!k||h.scope===k))){h.item.un(h.ename,h.fn,h.scope);if(!g){Ext.Array.remove(this.managedListeners,h)}}},purgeManagedListeners:function(){if(Ext.global.console){Ext.global.console.warn("Observable: purgeManagedListeners has been deprecated. Please use clearManagedListeners.")}return this.clearManagedListeners.apply(this,arguments)},addEvents:function(h){var i=this,f,g,j;i.events=i.events||{};if(Ext.isString(h)){f=arguments;j=f.length;while(j--){i.events[f[j]]=i.events[f[j]]||true}}else{Ext.applyIf(i.events,h)}},hasListener:function(d){var c=this.events[d.toLowerCase()];return c&&c.isEvent===true&&c.listeners.length>0},suspendEvents:function(b){this.eventsSuspended=true;if(b&&!this.eventQueue){this.eventQueue=[]}},resumeEvents:function(){var d=this,c=d.eventQueue||[];d.eventsSuspended=false;delete d.eventQueue;Ext.each(c,function(a){d.fireEvent.apply(d,a)})},relayEvents:function(p,n,k){k=k||"";var l=this,j=n.length,o=0,m,i;for(;o<j;o++){m=n[o].substr(k.length);i=k+m;l.events[i]=l.events[i]||true;p.on(m,l.createRelayer(i))}},createRelayer:function(d){var c=this;return function(){return c.fireEvent.apply(c,[d].concat(Array.prototype.slice.call(arguments,0,-1)))}},enableBubble:function(d){var c=this;if(!Ext.isEmpty(d)){d=Ext.isArray(d)?d:Ext.Array.toArray(arguments);Ext.each(d,function(b){b=b.toLowerCase();var a=c.events[b]||true;if(Ext.isBoolean(a)){a=new Ext.util.Event(c,b);c.events[b]=a}a.bubble=true})}}},function(){this.createAlias({on:"addListener",un:"removeListener",mon:"addManagedListener",mun:"removeManagedListener"});this.observeClass=this.observe;Ext.apply(Ext.util.Observable.prototype,function(){function b(e){var j=(this.methodEvents=this.methodEvents||{})[e],m,n,l,k=this;if(!j){this.methodEvents[e]=j={};j.originalFn=this[e];j.methodName=e;j.before=[];j.after=[];var a=function(c,d,f){if((n=c.apply(d||k,f))!==undefined){if(typeof n=="object"){if(n.returnValue!==undefined){m=n.returnValue}else{m=n}l=!!n.cancel}else{if(n===false){l=true}else{m=n}}}};this[e]=function(){var d=Array.prototype.slice.call(arguments,0),f,c,g;m=n=undefined;l=false;for(c=0,g=j.before.length;c<g;c++){f=j.before[c];a(f.fn,f.scope,d);if(l){return m}}if((n=j.originalFn.apply(k,d))!==undefined){m=n}for(c=0,g=j.after.length;c<g;c++){f=j.after[c];a(f.fn,f.scope,d);if(l){return m}}return m}}return j}return{beforeMethod:function(e,f,a){b.call(this,e).before.push({fn:f,scope:a})},afterMethod:function(e,f,a){b.call(this,e).after.push({fn:f,scope:a})},removeMethodListener:function(e,j,k){var i=this.getMethodEvent(e),l,a;for(l=0,a=i.before.length;l<a;l++){if(i.before[l].fn==j&&i.before[l].scope==k){Ext.Array.erase(i.before,l,1);return}}for(l=0,a=i.after.length;l<a;l++){if(i.after[l].fn==j&&i.after[l].scope==k){Ext.Array.erase(i.after,l,1);return}}},toggleEventLogging:function(a){Ext.util.Observable[a?"capture":"releaseCapture"](this,function(d){if(Ext.isDefined(Ext.global.console)){Ext.global.console.log(d,arguments)}})}}}())});Ext.define("Ext.util.KeyMap",{alternateClassName:"Ext.KeyMap",constructor:function(e,g,f){var h=this;Ext.apply(h,{el:Ext.get(e),eventName:f||h.eventName,bindings:[]});if(g){h.addBinding(g)}h.enable()},eventName:"keydown",addBinding:function(l){if(Ext.isArray(l)){Ext.each(l,this.addBinding,this);return}var m=l.key,k=false,o,n,i,p,j;if(Ext.isString(m)){n=[];i=m.toLowerCase();for(p=0,j=i.length;p<j;++p){n.push(i.charCodeAt(p))}m=n;k=true}if(!Ext.isArray(m)){m=[m]}if(!k){for(p=0,j=m.length;p<j;++p){o=m[p];if(Ext.isString(o)){m[p]=o.toLowerCase().charCodeAt(0)}}}this.bindings.push(Ext.apply({keyCode:m},l))},handleKeyDown:function(h){if(this.enabled){var g=this.bindings,e=0,f=g.length;h=this.processEvent(h);for(;e<f;++e){this.processBinding(g[e],h)}}},processEvent:function(b){return b},processBinding:function(o,u){if(this.checkModifiers(o,u)){var n=u.getKey(),l=o.fn||o.handler,i=o.scope||this,m=o.keyCode,t=o.defaultEventAction,s,p,r=new Ext.EventObjectImpl(u);for(s=0,p=m.length;s<p;++s){if(n===m[s]){if(l.call(i,n,u)!==true&&t){r[t]()}break}}}},checkModifiers:function(j,l){var m=["shift","ctrl","alt"],n=0,i=m.length,k,e;for(;n<i;++n){e=m[n];k=j[e];if(!(k===undefined||(k===l[e+"Key"]))){return false}}return true},on:function(h,m,n){var j,i,l,k;if(Ext.isObject(h)&&!Ext.isArray(h)){j=h.key;i=h.shift;l=h.ctrl;k=h.alt}else{j=h}this.addBinding({key:j,shift:i,ctrl:l,alt:k,fn:m,scope:n})},isEnabled:function(){return this.enabled},enable:function(){if(!this.enabled){this.el.on(this.eventName,this.handleKeyDown,this);this.enabled=true}},disable:function(){if(this.enabled){this.el.removeListener(this.eventName,this.handleKeyDown,this);this.enabled=false}},setDisabled:function(b){if(b){this.disable()}else{this.enable()}},destroy:function(c){var d=this;d.bindings=[];d.disable();if(c===true){d.el.remove()}delete d.el}});Ext.define("Ext.util.Memento",function(){function i(b,c,a){b[a]=c[a]}function j(b,c,a){delete b[a]}function h(b,c,a){var d=b[a];if(d||b.hasOwnProperty(a)){g(c,a,d)}}function g(b,a,c){if(Ext.isDefined(c)){b[a]=c}else{delete b[a]}}function f(d,a,b,c){if(a){if(Ext.isArray(c)){Ext.each(c,function(e){d(a,b,e)})}else{d(a,b,c)}}}return{data:null,target:null,constructor:function(a,b){if(a){this.target=a;if(b){this.capture(b)}}},capture:function(b,a){f(i,this.data||(this.data={}),a||this.target,b)},remove:function(a){f(j,this.data,null,a)},restore:function(b,c,a){f(h,this.data,a||this.target,b);if(c!==false){this.remove(b)}},restoreAll:function(d,a){var b=this,c=a||this.target;Ext.Object.each(b.data,function(e,l){g(c,e,l)});if(d!==false){delete b.data}}}}());Ext.define("Ext.util.KeyNav",{alternateClassName:"Ext.KeyNav",requires:["Ext.util.KeyMap"],statics:{keyOptions:{left:37,right:39,up:38,down:40,space:32,pageUp:33,pageDown:34,del:46,backspace:8,home:36,end:35,enter:13,esc:27,tab:9}},constructor:function(c,d){this.setConfig(c,d||{})},setConfig:function(k,h){if(this.map){this.map.destroy()}var i=Ext.create("Ext.util.KeyMap",k,null,this.getKeyEvent("forceKeyDown" in h?h.forceKeyDown:this.forceKeyDown)),j=Ext.util.KeyNav.keyOptions,l=h.scope||this,g;this.map=i;for(g in j){if(j.hasOwnProperty(g)){if(h[g]){i.addBinding({scope:l,key:j[g],handler:Ext.Function.bind(this.handleEvent,l,[h[g]],true),defaultEventAction:h.defaultEventAction||this.defaultEventAction})}}}i.disable();if(!h.disabled){i.enable()}},handleEvent:function(f,d,e){return e.call(this,d)},disabled:false,defaultEventAction:"stopEvent",forceKeyDown:false,destroy:function(b){this.map.destroy(b);delete this.map},enable:function(){this.map.enable();this.disabled=false},disable:function(){this.map.disable();this.disabled=true},setDisabled:function(b){this.map.setDisabled(b);this.disabled=b},getKeyEvent:function(b){return(b||Ext.EventManager.useKeyDown)?"keydown":"keypress"}});Ext.define("Ext.fx.CubicBezier",{singleton:true,cubicBezierAtTime:function(r,B,D,s,t,x){var w=3*B,u=3*(s-B)-w,E=1-w-u,y=3*D,v=3*(t-D)-y,p=1-y-v;function z(a){return((E*a+u)*a+w)*a}function C(c,a){var b=A(c,a);return((p*b+v)*b+y)*b}function A(h,a){var b,c,e,g,d,f;for(e=h,f=0;f<8;f++){g=z(e)-h;if(Math.abs(g)<a){return e}d=(3*E*e+2*u)*e+w;if(Math.abs(d)<0.000001){break}e=e-g/d}b=0;c=1;e=h;if(e<b){return b}if(e>c){return c}while(b<c){g=z(e);if(Math.abs(g-h)<a){return e}if(h>g){b=e}else{c=e}e=(c-b)/2+b}return e}return C(r,1/(200*x))},cubicBezier:function(f,h,g,j){var i=function(a){return Ext.fx.CubicBezier.cubicBezierAtTime(a,f,h,g,j,1)};i.toCSS3=function(){return"cubic-bezier("+[f,h,g,j].join(",")+")"};i.reverse=function(){return Ext.fx.CubicBezier.cubicBezier(1-g,1-j,1-f,1-h)};return i}});Ext.define("Ext.data.Operation",{synchronous:true,action:undefined,filters:undefined,sorters:undefined,group:undefined,start:undefined,limit:undefined,batch:undefined,started:false,running:false,complete:false,success:undefined,exception:false,error:undefined,constructor:function(b){Ext.apply(this,b||{})},setStarted:function(){this.started=true;this.running=true},setCompleted:function(){this.complete=true;this.running=false},setSuccessful:function(){this.success=true},setException:function(b){this.exception=true;this.success=false;this.running=false;this.error=b},hasException:function(){return this.exception===true},getError:function(){return this.error},getRecords:function(){var b=this.getResultSet();return(b===undefined?this.records:b.records)},getResultSet:function(){return this.resultSet},isStarted:function(){return this.started===true},isRunning:function(){return this.running===true},isComplete:function(){return this.complete===true},wasSuccessful:function(){return this.isComplete()&&this.success===true},setBatch:function(b){this.batch=b},allowWrite:function(){return this.action!="read"}});Ext.define("Ext.util.Filter",{anyMatch:false,exactMatch:false,caseSensitive:false,constructor:function(b){Ext.apply(this,b);this.filter=this.filter||this.filterFn;if(this.filter==undefined){if(this.property==undefined||this.value==undefined){}else{this.filter=this.createFilterFn()}this.filterFn=this.filter}},createFilterFn:function(){var e=this,f=e.createValueMatcher(),d=e.property;return function(a){return f.test(e.getRoot.call(e,a)[d])}},getRoot:function(b){return this.root==undefined?b:b[this.root]},createValueMatcher:function(){var k=this,j=k.value,i=k.anyMatch,l=k.exactMatch,h=k.caseSensitive,g=Ext.String.escapeRegex;if(!j.exec){j=String(j);if(i===true){j=g(j)}else{j="^"+g(j);if(l===true){j+="$"}}j=new RegExp(j,h?"":"i")}return j}});Ext.define("Ext.util.Floating",{uses:["Ext.Layer","Ext.window.Window"],focusOnToFront:true,shadow:"sides",constructor:function(b){this.floating=true;this.el=Ext.create("Ext.Layer",Ext.apply({},b,{hideMode:this.hideMode,hidden:this.hidden,shadow:Ext.isDefined(this.shadow)?this.shadow:"sides",shadowOffset:this.shadowOffset,constrain:false,shim:this.shim===false?false:undefined}),this.el)},onFloatRender:function(){var b=this;b.zIndexParent=b.getZIndexParent();b.setFloatParent(b.ownerCt);delete b.ownerCt;if(b.zIndexParent){b.zIndexParent.registerFloatingItem(b)}else{Ext.WindowManager.register(b)}},setFloatParent:function(c){var d=this;if(d.floatParent){d.mun(d.floatParent,{hide:d.onFloatParentHide,show:d.onFloatParentShow,scope:d})}d.floatParent=c;if(c){d.mon(d.floatParent,{hide:d.onFloatParentHide,show:d.onFloatParentShow,scope:d})}if((d.constrain||d.constrainHeader)&&!d.constrainTo){d.constrainTo=c?c.getTargetEl():d.container}},onFloatParentHide:function(){if(this.hideOnParentHide!==false){this.showOnParentShow=this.isVisible();this.hide()}},onFloatParentShow:function(){if(this.showOnParentShow){delete this.showOnParentShow;this.show()}},getZIndexParent:function(){var d=this.ownerCt,c;if(d){while(d){c=d;d=d.ownerCt}if(c.floating){return c}}},setZIndex:function(d){var c=this;this.el.setZIndex(d);d+=10;if(c.floatingItems){d=Math.floor(c.floatingItems.setBase(d)/100)*100+10000}return d},doConstrain:function(e){var h=this,f=h.getConstrainVector(e),g;if(f){g=h.getPosition();g[0]+=f[0];g[1]+=f[1];h.setPosition(g)}},getConstrainVector:function(d){var f=this,e;if(f.constrain||f.constrainHeader){e=f.constrainHeader?f.header.el:f.el;d=d||(f.floatParent&&f.floatParent.getTargetEl())||f.container;return e.getConstrainVector(d)}},alignTo:function(e,f,h){if(e.isComponent){e=e.getEl()}var g=this.el.getAlignToXY(e,f,h);this.setPagePosition(g);return this},toFront:function(c){var d=this;if(d.zIndexParent){d.zIndexParent.toFront(true)}if(d.zIndexManager.bringToFront(d)){if(!Ext.isDefined(c)){c=!d.focusOnToFront}if(!c){d.focus(false,true)}}return d},setActive:function(d,c){if(d){if((this instanceof Ext.window.Window)&&!this.maximized){this.el.enableShadow(true)}this.fireEvent("activate",this)}else{if((this instanceof Ext.window.Window)&&(c instanceof Ext.window.Window)){this.el.disableShadow()}this.fireEvent("deactivate",this)}},toBack:function(){this.zIndexManager.sendToBack(this);return this},center:function(){var b=this.el.getAlignToXY(this.container,"c-c");this.setPagePosition(b);return this},syncShadow:function(){if(this.floating){this.el.sync(true)}},fitContainer:function(){var f=this.floatParent,e=f?f.getTargetEl():this.container,d=e.getViewSize(false);this.setSize(d)}});Ext.define("Ext.app.Controller",{mixins:{observable:"Ext.util.Observable"},onClassExtended:function(k,p){var l=Ext.getClassName(k),o=l.match(/^(.*)\.controller\./);if(o!==null){var s=Ext.Loader.getPrefix(l)||o[1],m=p.onBeforeClassCreated,j=[],r=["model","view","store"],n;p.onBeforeClassCreated=function(i,f){var e,c,h,b,g,d,a;for(e=0,c=r.length;e<c;e++){h=r[e];b=Ext.Array.from(f[h+"s"]);for(g=0,d=b.length;g<d;g++){a=b[g];n=Ext.Loader.getPrefix(a);if(n===""||n===a){j.push(s+"."+h+"."+a)}else{j.push(a)}}}Ext.require(j,Ext.Function.pass(m,arguments,this))}}},constructor:function(b){this.mixins.observable.constructor.call(this,b);Ext.apply(this,b||{});this.createGetters("model",this.models);this.createGetters("store",this.stores);this.createGetters("view",this.views);if(this.refs){this.ref(this.refs)}},init:function(b){},onLaunch:function(b){},createGetters:function(c,d){c=Ext.String.capitalize(c);Ext.Array.each(d,function(b){var f="get",a=b.split(".");Ext.Array.each(a,function(e){f+=Ext.String.capitalize(e)});f+=c;if(!this[f]){this[f]=Ext.Function.pass(this["get"+c],[b],this)}this[f](b)},this)},ref:function(d){var c=this;d=Ext.Array.from(d);Ext.Array.each(d,function(a){var b=a.ref,f="get"+Ext.String.capitalize(b);if(!c[f]){c[f]=Ext.Function.pass(c.getRef,[b,a],c)}})},getRef:function(j,i,g){this.refCache=this.refCache||{};i=i||{};g=g||{};Ext.apply(i,g);if(i.forceCreate){return Ext.ComponentManager.create(i,"component")}var k=this,h=i.selector,l=k.refCache[j];if(!l){k.refCache[j]=l=Ext.ComponentQuery.query(i.selector)[0];if(!l&&i.autoCreate){k.refCache[j]=l=Ext.ComponentManager.create(i,"component")}if(l){l.on("beforedestroy",function(){k.refCache[j]=null})}}return l},control:function(d,c){this.application.control(d,c,this)},getController:function(b){return this.application.getController(b)},getStore:function(b){return this.application.getStore(b)},getModel:function(b){return this.application.getModel(b)},getView:function(b){return this.application.getView(b)}});Ext.define("Ext.app.EventBus",{requires:["Ext.util.Event"],mixins:{observable:"Ext.util.Observable"},constructor:function(){this.mixins.observable.constructor.call(this);this.bus={};var b=this;Ext.override(Ext.Component,{fireEvent:function(a){if(Ext.util.Observable.prototype.fireEvent.apply(this,arguments)!==false){return b.dispatch.call(b,a,this,arguments)}return false}})},dispatch:function(o,t,p){var s=this.bus,n=s[o],v,w,x,i,y,u,r;if(n){for(v in n){if(t.is(v)){w=n[v];for(x in w){i=w[x];for(u=0,r=i.length;u<r;u++){y=i[u];if(y.fire.apply(y,Array.prototype.slice.call(p,1))===false){return false}}}}}}},control:function(k,i,l){var g=this.bus,h,j;if(Ext.isString(k)){h=k;k={};k[h]=i;this.control(k,null,l);return}Ext.Object.each(k,function(b,a){Ext.Object.each(a,function(d,c){var n={},f=l,e=Ext.create("Ext.util.Event",l,d);if(Ext.isObject(c)){n=c;c=n.fn;f=n.scope||l;delete n.fn;delete n.scope}e.addListener(c,f,n);g[d]=g[d]||{};g[d][b]=g[d][b]||{};g[d][b][l.id]=g[d][b][l.id]||[];g[d][b][l.id].push(e)})})}});Ext.define("Docs.LocalStore",{storeName:"",init:function(){this.localStorage=("localStorage" in window&&window.localStorage!==null);this.store=Ext.getStore(this.storeName);if(this.localStorage){this.cleanup();this.store.load();if(window.addEventListener){window.addEventListener("storage",Ext.Function.bind(this.onStorageChange,this),false)}else{window.attachEvent("onstorage",Ext.Function.bind(this.onStorageChange,this))}}},onStorageChange:function(b){b=b||window.event;if(b.key===this.store.getProxy().id){this.store.load()}},syncStore:function(){this.localStorage&&this.store.sync()},cleanup:function(){var f=new RegExp("^"+Ext.escapeRe(Docs.localStorageDb+"-settings"));for(var d=0;d<window.localStorage.length;d++){var e=window.localStorage.key(d);if(!f.test(e)){window.localStorage.removeItem(e)}}}});Ext.define("Docs.Syntax",{singleton:true,highlight:function(b){Ext.Array.forEach(Ext.query("pre > code",b.dom||b),function(a){a=Ext.get(a);var d=a.parent();if(Ext.isIE&&d.hasCls("inline-example")){d.removeCls("inline-example")}if(!d.hasCls("inline-example")){a.addCls("prettyprint")}});prettyPrint()}});Ext.define("Ext.form.field.Field",{isFormField:true,disabled:false,submitValue:true,validateOnChange:true,suspendCheckChange:0,initField:function(){this.addEvents("change","validitychange","dirtychange");this.initValue()},initValue:function(){var b=this;b.originalValue=b.lastValue=b.value;b.suspendCheckChange++;b.setValue(b.value);b.suspendCheckChange--},getName:function(){return this.name},getValue:function(){return this.value},setValue:function(c){var d=this;d.value=c;d.checkChange();return d},isEqual:function(c,d){return String(c)===String(d)},getSubmitData:function(){var d=this,c=null;if(!d.disabled&&d.submitValue&&!d.isFileUpload()){c={};c[d.getName()]=""+d.getValue()}return c},getModelData:function(){var d=this,c=null;if(!d.disabled&&!d.isFileUpload()){c={};c[d.getName()]=d.getValue()}return c},reset:function(){var b=this;b.setValue(b.originalValue);b.clearInvalid();delete b.wasValid},resetOriginalValue:function(){this.originalValue=this.getValue();this.checkDirty()},checkChange:function(){if(!this.suspendCheckChange){var f=this,d=f.getValue(),e=f.lastValue;if(!f.isEqual(d,e)&&!f.isDestroyed){f.lastValue=d;f.fireEvent("change",f,d,e);f.onChange(d,e)}}},onChange:function(c,d){if(this.validateOnChange){this.validate()}this.checkDirty()},isDirty:function(){var b=this;return !b.disabled&&!b.isEqual(b.getValue(),b.originalValue)},checkDirty:function(){var d=this,c=d.isDirty();if(c!==d.wasDirty){d.fireEvent("dirtychange",d,c);d.onDirtyChange(c);d.wasDirty=c}},onDirtyChange:Ext.emptyFn,getErrors:function(b){return[]},isValid:function(){var b=this;return b.disabled||Ext.isEmpty(b.getErrors())},validate:function(){var d=this,c=d.isValid();if(c!==d.wasValid){d.wasValid=c;d.fireEvent("validitychange",d,c)}return c},batchChanges:function(b){this.suspendCheckChange++;b();this.suspendCheckChange--;this.checkChange()},isFileUpload:function(){return false},extractFileInput:function(){return null},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.util.TextMetrics",{statics:{shared:null,measure:function(g,i,h){var f=this,j=f.shared;if(!j){j=f.shared=new f(g,h)}j.bind(g);j.setFixedWidth(h||"auto");return j.getSize(i)},destroy:function(){var b=this;Ext.destroy(b.shared);b.shared=null}},constructor:function(e,f){var d=this.measure=Ext.getBody().createChild({cls:"x-textmetrics"});this.el=Ext.get(e);d.position("absolute");d.setLeftTop(-1000,-1000);d.hide();if(f){d.setWidth(f)}},getSize:function(f){var d=this.measure,e;d.update(f);e=d.getSize();d.update("");return e},bind:function(d){var c=this;c.el=Ext.get(d);c.measure.setStyle(c.el.getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(b){this.measure.setWidth(b)},getWidth:function(b){this.measure.dom.style.width="auto";return this.getSize(b).width},getHeight:function(b){return this.getSize(b).height},destroy:function(){var b=this;b.measure.remove();delete b.el;delete b.measure}},function(){Ext.core.Element.addMethods({getTextWidth:function(f,d,e){return Ext.Number.constrain(Ext.util.TextMetrics.measure(this.dom,Ext.value(f,this.dom.innerHTML,true)).width,d||0,e||1000000)}})});Ext.define("Ext.panel.Proxy",{alternateClassName:"Ext.dd.PanelProxy",constructor:function(d,c){this.panel=d;this.id=this.panel.id+"-ddproxy";Ext.apply(this,c)},insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost.el},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){if(this.ghost){if(this.proxy){this.proxy.remove();delete this.proxy}this.panel.unghost(null,false);delete this.ghost}},show:function(){if(!this.ghost){var b=this.panel.getSize();this.panel.el.setVisibilityMode(Ext.core.Element.DISPLAY);this.ghost=this.panel.ghost();if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:Ext.baseCSSPrefix+"panel-dd-spacer"});this.proxy.setSize(b)}}},repair:function(d,f,e){this.hide();if(typeof f=="function"){f.call(e||this)}},moveProxy:function(d,c){if(this.proxy){d.insertBefore(this.proxy.dom,c)}}});Ext.define("Ext.Template",{requires:["Ext.core.DomHelper","Ext.util.Format"],statics:{from:function(c,d){c=Ext.getDom(c);return new this(c.value||c.innerHTML,d||"")}},constructor:function(m){var k=this,h=arguments,i=[],n=0,l=h.length,j;k.initialConfig={};if(l>1){for(;n<l;n++){j=h[n];if(typeof j=="object"){Ext.apply(k.initialConfig,j);Ext.apply(k,j)}else{i.push(j)}}m=i.join("")}else{if(Ext.isArray(m)){i.push(m.join(""))}else{i.push(m)}}k.html=i.join("");if(k.compiled){k.compile()}},isTemplate:true,disableFormats:false,re:/\{([\w\-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,applyTemplate:function(h){var i=this,l=i.disableFormats!==true,j=Ext.util.Format,g=i;if(i.compiled){return i.compiled(h)}function k(d,b,a,c){if(a&&l){if(c){c=[h[b]].concat(Ext.functionFactory("return ["+c+"];")())}else{c=[h[b]]}if(a.substr(0,5)=="this."){return g[a.substr(5)].apply(g,c)}else{return j[a].apply(j,c)}}else{return h[b]!==undefined?h[b]:""}}return i.html.replace(i.re,k)},set:function(e,f){var d=this;d.html=e;d.compiled=null;return f?d.compile():d},compileARe:/\\/g,compileBRe:/(\r\n|\n)/g,compileCRe:/'/g,compile:function(){var me=this,fm=Ext.util.Format,useFormat=me.disableFormats!==true,body,bodyReturn;function fn(m,name,format,args){if(format&&useFormat){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format="this."+format.substr(5)+"("}}else{args="";format="(values['"+name+"'] == undefined ? '' : "}return"',"+format+"values['"+name+"']"+args+") ,'"}bodyReturn=me.html.replace(me.compileARe,"\\\\").replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn);body="this.compiled = function(values){ return ['"+bodyReturn+"'].join('');};";eval(body);return me},insertFirst:function(d,e,f){return this.doInsert("afterBegin",d,e,f)},insertBefore:function(d,e,f){return this.doInsert("beforeBegin",d,e,f)},insertAfter:function(d,e,f){return this.doInsert("afterEnd",d,e,f)},append:function(d,e,f){return this.doInsert("beforeEnd",d,e,f)},doInsert:function(j,h,f,g){h=Ext.getDom(h);var i=Ext.core.DomHelper.insertHtml(j,h,this.applyTemplate(f));return g?Ext.get(i,true):i},overwrite:function(d,e,f){d=Ext.getDom(d);d.innerHTML=this.applyTemplate(e);return f?Ext.get(d.firstChild,true):d.firstChild}},function(){this.createAlias("apply","applyTemplate")});Ext.define("Ext.ComponentQuery",{singleton:true,uses:["Ext.ComponentManager"]},function(){var u=this,r=["var r = [],","i = 0,","it = items,","l = it.length,","c;","for (; i < l; i++) {","c = it[i];","if (c.{0}) {","r.push(c);","}","}","return r;"].join(""),w=function(a,b){return b.method.apply(this,[a].concat(b.args))},A=function(e,a){var g=[],d=0,b=e.length,c,f=a!==">";for(;d<b;d++){c=e[d];if(c.getRefItems){g=g.concat(c.getRefItems(f))}}return g},v=function(d){var e=[],c=0,a=d.length,b;for(;c<a;c++){b=d[c];while(!!(b=(b.ownerCt||b.floatParent))){e.push(b)}}return e},o=function(f,a,b){if(a==="*"){return f.slice()}else{var g=[],e=0,c=f.length,d;for(;e<c;e++){d=f[e];if(d.isXType(a,b)){g.push(d)}}return g}},s=function(f,c){var a=Ext.Array,g=[],e=0,b=f.length,d;for(;e<b;e++){d=f[e];if(d.el?d.el.hasCls(c):a.contains(d.initCls(),c)){g.push(d)}}return g},n=function(f,a,g,b){var h=[],e=0,c=f.length,d;for(;e<c;e++){d=f[e];if(!b?!!d[a]:(String(d[a])===b)){h.push(d)}}return h},x=function(e,a){var f=[],d=0,b=e.length,c;for(;d<b;d++){c=e[d];if(c.getItemId()===a){f.push(c)}}return f},p=function(c,b,a){return u.pseudos[b](c,a)},t=/^(\s?([>\^])\s?|\s|$)/,y=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,z=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:o},{re:/^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/,method:n},{re:/^#([\w\-]+)/,method:x},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:p},{re:/^(?:\{([^\}]+)\})/,method:r}];u.Query=Ext.extend(Object,{constructor:function(a){a=a||{};Ext.apply(this,a)},execute:function(e){var c=this.operations,b=0,a=c.length,d,f;if(!e){f=Ext.ComponentManager.all.getArray()}else{if(Ext.isArray(e)){f=e}}for(;b<a;b++){d=c[b];if(d.mode==="^"){f=v(f||[e])}else{if(d.mode){f=A(f||[e],d.mode)}else{f=w(f||A([e]),d)}}if(b===a-1){return f}}return[]},is:function(e){var f=this.operations,b=Ext.isArray(e)?e:[e],g=b.length,a=f[f.length-1],c,d;b=w(b,a);if(b.length===g){if(f.length>1){for(d=0,c=b.length;d<c;d++){if(Ext.Array.indexOf(this.execute(),b[d])===-1){return false}}}return true}return false}});Ext.apply(this,{cache:{},pseudos:{not:function(b,h){var a=Ext.ComponentQuery,d=0,c=b.length,e=[],f=-1,g;for(;d<c;++d){g=b[d];if(!a.is(g,h)){e[++f]=g}}return e}},query:function(d,h){var g=d.split(","),e=g.length,c=0,b=[],f=[],i={},k,a,j;for(;c<e;c++){d=Ext.String.trim(g[c]);k=this.cache[d];if(!k){this.cache[d]=k=this.parse(d)}b=b.concat(k.execute(h))}if(e>1){a=b.length;for(c=0;c<a;c++){j=b[c];if(!i[j.id]){f.push(j);i[j.id]=true}}b=f}return b},is:function(b,c){if(!c){return true}var a=this.cache[c];if(!a){this.cache[c]=a=this.parse(c)}return a.is(b)},parse:function(b){var d=[],c=z.length,i,a,h,g,f,k,j,e;while(b&&i!==b){i=b;a=b.match(y);if(a){h=a[1];if(h==="#"){d.push({method:x,args:[Ext.String.trim(a[2])]})}else{if(h==="."){d.push({method:s,args:[Ext.String.trim(a[2])]})}else{d.push({method:o,args:[Ext.String.trim(a[2]),Boolean(a[3])]})}}b=b.replace(a[0],"")}while(!(g=b.match(t))){for(k=0;b&&k<c;k++){j=z[k];f=b.match(j.re);e=j.method;if(f){d.push({method:Ext.isString(j.method)?Ext.functionFactory("items",Ext.String.format.apply(Ext.String,[e].concat(f.slice(1)))):j.method,args:f.slice(1)});b=b.replace(f[0],"");break}if(k===(c-1)){Ext.Error.raise('Invalid ComponentQuery selector: "'+arguments[0]+'"')}}}if(g[1]){d.push({mode:g[2]||g[1]});b=b.replace(g[0],"")}}return new u.Query({operations:d})}})});Ext.define("Ext.util.HashMap",{mixins:{observable:"Ext.util.Observable"},constructor:function(e){e=e||{};var f=this,d=e.keyFn;f.addEvents("add","clear","remove","replace");f.mixins.observable.constructor.call(f,e);f.clear(true);if(d){f.getKey=d}},getCount:function(){return this.length},getData:function(d,c){if(c===undefined){c=d;d=this.getKey(c)}return[d,c]},getKey:function(b){return b.id},add:function(f,g){var e=this,h;if(arguments.length===1){g=f;f=e.getKey(g)}if(e.containsKey(f)){e.replace(f,g)}h=e.getData(f,g);f=h[0];g=h[1];e.map[f]=g;++e.length;e.fireEvent("add",e,f,g);return g},replace:function(f,i){var j=this,h=j.map,g;if(!j.containsKey(f)){j.add(f,i)}g=h[f];h[f]=i;j.fireEvent("replace",j,f,i,g);return i},remove:function(c){var d=this.findKey(c);if(d!==undefined){return this.removeAtKey(d)}return false},removeAtKey:function(e){var d=this,f;if(d.containsKey(e)){f=d.map[e];delete d.map[e];--d.length;d.fireEvent("remove",d,e,f);return true}return false},get:function(b){return this.map[b]},clear:function(d){var c=this;c.map={};c.length=0;if(d!==true){c.fireEvent("clear",c)}return c},containsKey:function(b){return this.map[b]!==undefined},contains:function(b){return this.containsKey(this.findKey(b))},getKeys:function(){return this.getArray(true)},getValues:function(){return this.getArray(false)},getArray:function(g){var f=[],e,h=this.map;for(e in h){if(h.hasOwnProperty(e)){f.push(g?e:h[e])}}return f},each:function(i,j){var g=Ext.apply({},this.map),f,h=this.length;j=j||this;for(f in g){if(g.hasOwnProperty(f)){if(i.call(j,f,g[f],h)===false){break}}}return this},clone:function(){var f=new this.self(),d=this.map,e;f.suspendEvents();for(e in d){if(d.hasOwnProperty(e)){f.add(e,d[e])}}f.resumeEvents();return f},findKey:function(d){var e,f=this.map;for(e in f){if(f.hasOwnProperty(e)&&f[e]===d){return e}}return undefined}});Ext.define("Ext.layout.Layout",{isLayout:true,initialized:false,statics:{create:function(d,f){var e;if(d instanceof Ext.layout.Layout){return Ext.createByAlias("layout."+d)}else{if(!d||typeof d==="string"){e=d||f;d={}}else{e=d.type}return Ext.createByAlias("layout."+e,d||{})}}},constructor:function(b){this.id=Ext.id(null,this.type+"-");Ext.apply(this,b)},layout:function(){var b=this;b.layoutBusy=true;b.initLayout();if(b.beforeLayout.apply(b,arguments)!==false){b.layoutCancelled=false;b.onLayout.apply(b,arguments);b.childrenChanged=false;b.owner.needsLayout=false;b.layoutBusy=false;b.afterLayout.apply(b,arguments)}else{b.layoutCancelled=true}b.layoutBusy=false;b.doOwnerCtLayouts()},beforeLayout:function(){this.renderChildren();return true},renderChildren:function(){var b=this;b.renderItems(b.getLayoutItems(),b.getRenderTarget())},renderItems:function(g,h){var i=g.length,f=0,j;for(;f<i;f++){j=g[f];if(j&&!j.rendered){this.renderItem(j,h,f)}else{if(!this.isValidParent(j,h,f)){this.moveItem(j,h,f)}}}},isValidParent:function(e,h,f){var g=e.el?e.el.dom:Ext.getDom(e);if(g&&h&&h.dom){if(Ext.isNumber(f)&&g!==h.dom.childNodes[f]){return false}return(g.parentNode==(h.dom||h))}return false},renderItem:function(h,g,f){var e=this;if(!h.rendered){if(e.itemCls){h.addCls(e.itemCls)}if(e.owner.itemCls){h.addCls(e.owner.itemCls)}h.render(g,f);e.configureItem(h);e.childrenChanged=true}},moveItem:function(d,f,e){f=f.dom||f;if(typeof e=="number"){e=f.childNodes[e]}f.insertBefore(d.el.dom,e||null);d.container=Ext.get(f);this.configureItem(d);this.childrenChanged=true},initLayout:function(){if(!this.initialized&&!Ext.isEmpty(this.targetCls)){this.getTarget().addCls(this.targetCls)}this.initialized=true},setOwner:function(b){this.owner=b},getLayoutItems:function(){return[]},configureItem:Ext.emptyFn,onLayout:Ext.emptyFn,afterLayout:Ext.emptyFn,onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,doOwnerCtLayouts:Ext.emptyFn,afterRemove:function(g){var h=this,e=g.el,f=h.owner;if(g.rendered){if(h.itemCls){e.removeCls(h.itemCls)}if(f.itemCls){e.removeCls(f.itemCls)}}delete g.layoutManagedWidth;delete g.layoutManagedHeight},destroy:function(){if(!Ext.isEmpty(this.targetCls)){var b=this.getTarget();if(b){b.removeCls(this.targetCls)}}this.onDestroy()}});Ext.define("Ext.ZIndexManager",{alternateClassName:"Ext.WindowGroup",statics:{zBase:9000},constructor:function(d){var c=this;c.list={};c.zIndexStack=[];c.front=null;if(d){if(d.isContainer){d.on("resize",c._onContainerResize,c);c.zseed=Ext.Number.from(d.getEl().getStyle("zIndex"),c.getNextZSeed());c.targetEl=d.getTargetEl();c.container=d}else{Ext.EventManager.onWindowResize(c._onContainerResize,c);c.zseed=c.getNextZSeed();c.targetEl=Ext.get(d)}}else{Ext.EventManager.onWindowResize(c._onContainerResize,c);c.zseed=c.getNextZSeed();Ext.onDocumentReady(function(){c.targetEl=Ext.getBody()})}},getNextZSeed:function(){return(Ext.ZIndexManager.zBase+=10000)},setBase:function(b){this.zseed=b;return this.assignZIndices()},assignZIndices:function(){var j=this.zIndexStack,a=j.length,h=0,g=this.zseed,i;for(;h<a;h++){i=j[h];if(i&&!i.hidden){g=i.setZIndex(g)}}this._activateLast();return g},_setActiveChild:function(b){if(b!=this.front){if(this.front){this.front.setActive(false,b)}this.front=b;if(b){b.setActive(true);if(b.modal){this._showModalMask(b.el.getStyle("zIndex")-4)}}}},_activateLast:function(f){var e,g=false,h;for(h=this.zIndexStack.length-1;h>=0;--h){e=this.zIndexStack[h];if(!e.hidden){if(!g){this._setActiveChild(e);g=true}if(e.modal){this._showModalMask(e.el.getStyle("zIndex")-4);return}}}this._hideModalMask();if(!g){this._setActiveChild(null)}},_showModalMask:function(b){if(!this.mask){this.mask=this.targetEl.createChild({cls:Ext.baseCSSPrefix+"mask"});this.mask.setVisibilityMode(Ext.core.Element.DISPLAY);this.mask.on("click",this._onMaskClick,this)}Ext.getBody().addCls(Ext.baseCSSPrefix+"body-masked");this.mask.setSize(this.targetEl.getViewSize(true));this.mask.setStyle("zIndex",b);this.mask.show()},_hideModalMask:function(){if(this.mask){Ext.getBody().removeCls(Ext.baseCSSPrefix+"body-masked");this.mask.hide()}},_onMaskClick:function(){if(this.front){this.front.focus()}},_onContainerResize:function(){if(this.mask&&this.mask.isVisible()){this.mask.setSize(this.targetEl.getViewSize(true))}},register:function(b){if(b.zIndexManager){b.zIndexManager.unregister(b)}b.zIndexManager=this;this.list[b.id]=b;this.zIndexStack.push(b);b.on("hide",this._activateLast,this)},unregister:function(b){delete b.zIndexManager;if(this.list&&this.list[b.id]){delete this.list[b.id];b.un("hide",this._activateLast);Ext.Array.remove(this.zIndexStack,b);this._activateLast(b)}},get:function(b){return typeof b=="object"?b:this.list[b]},bringToFront:function(b){b=this.get(b);if(b!=this.front){Ext.Array.remove(this.zIndexStack,b);this.zIndexStack.push(b);this.assignZIndices();return true}if(b.modal){Ext.getBody().addCls(Ext.baseCSSPrefix+"body-masked");this.mask.setSize(Ext.core.Element.getViewWidth(true),Ext.core.Element.getViewHeight(true));this.mask.show()}return false},sendToBack:function(b){b=this.get(b);Ext.Array.remove(this.zIndexStack,b);this.zIndexStack.unshift(b);this.assignZIndices();return b},hideAll:function(){for(var b in this.list){if(this.list[b].isComponent&&this.list[b].isVisible()){this.list[b].hide()}}},hide:function(){var d=0,f=this.zIndexStack.length,e;this.tempHidden=[];for(;d<f;d++){e=this.zIndexStack[d];if(e.isVisible()){this.tempHidden.push(e);e.hide()}}},show:function(){var j=0,i=this.tempHidden.length,f,g,h;for(;j<i;j++){f=this.tempHidden[j];g=f.x;h=f.y;f.show();f.setPosition(g,h)}delete this.tempHidden},getActive:function(){return this.front},getBy:function(j,k){var i=[],l=0,h=this.zIndexStack.length,g;for(;l<h;l++){g=this.zIndexStack[l];if(j.call(k||g,g)!==false){i.push(g)}}return i},each:function(h,e){var f;for(var g in this.list){f=this.list[g];if(f.isComponent&&h.call(e||f,f)===false){return}}},eachBottomUp:function(j,k){var g,h=this.zIndexStack,l,i;for(l=0,i=h.length;l<i;l++){g=h[l];if(g.isComponent&&j.call(k||g,g)===false){return}}},eachTopDown:function(h,i){var f,g=this.zIndexStack,j;for(j=g.length;j-->0;){f=g[j];if(f.isComponent&&h.call(i||f,f)===false){return}}},destroy:function(){delete this.zIndexStack;delete this.list;delete this.container;delete this.targetEl}},function(){Ext.WindowManager=Ext.WindowMgr=new this()});Ext.define("Ext.fx.Queue",{requires:["Ext.util.HashMap"],constructor:function(){this.targets=Ext.create("Ext.util.HashMap");this.fxQueue={}},getFxDefaults:function(d){var c=this.targets.get(d);if(c){return c.fxDefaults}return{}},setFxDefaults:function(e,f){var d=this.targets.get(e);if(d){d.fxDefaults=Ext.apply(d.fxDefaults||{},f)}},stopAnimation:function(e){var g=this,f=g.getFxQueue(e),h=f.length;while(h){f[h-1].end();h--}},getActiveAnimation:function(c){var d=this.getFxQueue(c);return(d&&!!d.length)?d[0]:false},hasFxBlock:function(c){var d=this.getFxQueue(c);return d&&d[0]&&d[0].block},getFxQueue:function(e){if(!e){return false}var h=this,f=h.fxQueue[e],g=h.targets.get(e);if(!g){return false}if(!f){h.fxQueue[e]=[];if(g.type!="element"){g.target.on("destroy",function(){h.fxQueue[e]=[]})}}return h.fxQueue[e]},queueFx:function(i){var j=this,h=i.target,g,f;if(!h){return}g=j.getFxQueue(h.getId());f=g.length;if(f){if(i.concurrent){i.paused=false}else{g[f-1].on("afteranimate",function(){i.paused=false})}}else{i.paused=false}i.on("afteranimate",function(){Ext.Array.remove(g,i);if(i.remove){if(h.type=="element"){var a=Ext.get(h.id);if(a){a.remove()}}}},this);g.push(i)}});Ext.define("Ext.util.Sorter",{direction:"ASC",constructor:function(d){var c=this;Ext.apply(c,d);if(c.property===undefined&&c.sorterFn===undefined){Ext.Error.raise("A Sorter requires either a property or a sorter function")}c.updateSortFunction()},createSortFunction:function(f){var j=this,i=j.property,h=j.direction||"ASC",g=h.toUpperCase()=="DESC"?-1:1;return function(a,b){return g*f.call(j,a,b)}},defaultSorterFn:function(k,l){var g=this,h=g.transform,i=g.getRoot(k)[g.property],j=g.getRoot(l)[g.property];if(h){i=h(i);j=h(j)}return i>j?1:(i<j?-1:0)},getRoot:function(b){return this.root===undefined?b:b[this.root]},setDirection:function(c){var d=this;d.direction=c;d.updateSortFunction()},toggle:function(){var b=this;b.direction=Ext.String.toggle(b.direction,"ASC","DESC");b.updateSortFunction()},updateSortFunction:function(d){var c=this;d=d||c.sorterFn||c.defaultSorterFn;c.sort=c.createSortFunction(d)}});Ext.define("Ext.util.AbstractMixedCollection",{requires:["Ext.util.Filter"],mixins:{observable:"Ext.util.Observable"},constructor:function(d,e){var f=this;f.items=[];f.map={};f.keys=[];f.length=0;f.addEvents("clear","add","replace","remove");f.allowFunctions=d===true;if(e){f.getKey=e}f.mixins.observable.constructor.call(f)},allowFunctions:false,add:function(g,j){var k=this,i=j,l=g,h;if(arguments.length==1){i=l;l=k.getKey(i)}if(typeof l!="undefined"&&l!==null){h=k.map[l];if(typeof h!="undefined"){return k.replace(l,i)}k.map[l]=i}k.length++;k.items.push(i);k.keys.push(l);k.fireEvent("add",k.length-1,i,l);return i},getKey:function(b){return b.id},replace:function(j,h){var i=this,g,f;if(arguments.length==1){h=arguments[0];j=i.getKey(h)}g=i.map[j];if(typeof j=="undefined"||j===null||typeof g=="undefined"){return i.add(j,h)}f=i.indexOfKey(j);i.items[f]=h;i.map[j]=h;i.fireEvent("replace",j,g,h);return h},addAll:function(i){var j=this,k=0,g,h,l;if(arguments.length>1||Ext.isArray(i)){g=arguments.length>1?arguments:i;for(h=g.length;k<h;k++){j.add(g[k])}}else{for(l in i){if(i.hasOwnProperty(l)){if(j.allowFunctions||typeof i[l]!="function"){j.add(l,i[l])}}}}},each:function(j,k){var g=[].concat(this.items),l=0,h=g.length,i;for(;l<h;l++){i=g[l];if(j.call(k||i,i,l,h)===false){break}}},eachKey:function(j,k){var i=this.keys,g=this.items,l=0,h=i.length;for(;l<h;l++){j.call(k||window,i[l],g[l],l,h)}},findBy:function(j,k){var i=this.keys,g=this.items,l=0,h=g.length;for(;l<h;l++){if(j.call(k||window,g[l],i[l])){return g[l]}}return null},find:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.util.MixedCollection: find has been deprecated. Use findBy instead.")}return this.findBy.apply(this,arguments)},insert:function(h,g,j){var k=this,l=g,i=j;if(arguments.length==2){i=l;l=k.getKey(i)}if(k.containsKey(l)){k.suspendEvents();k.removeAtKey(l);k.resumeEvents()}if(h>=k.length){return k.add(l,i)}k.length++;Ext.Array.splice(k.items,h,0,i);if(typeof l!="undefined"&&l!==null){k.map[l]=i}Ext.Array.splice(k.keys,h,0,l);k.fireEvent("add",h,i,l);return i},remove:function(b){return this.removeAt(this.indexOf(b))},removeAll:function(b){Ext.each(b||[],function(a){this.remove(a)},this);return this},removeAt:function(f){var h=this,g,e;if(f<h.length&&f>=0){h.length--;g=h.items[f];Ext.Array.erase(h.items,f,1);e=h.keys[f];if(typeof e!="undefined"){delete h.map[e]}Ext.Array.erase(h.keys,f,1);h.fireEvent("remove",g,e);return g}return false},removeAtKey:function(b){return this.removeAt(this.indexOfKey(b))},getCount:function(){return this.length},indexOf:function(b){return Ext.Array.indexOf(this.items,b)},indexOfKey:function(b){return Ext.Array.indexOf(this.keys,b)},get:function(e){var g=this,f=g.map[e],h=f!==undefined?f:(typeof e=="number")?g.items[e]:undefined;return typeof h!="function"||g.allowFunctions?h:null},getAt:function(b){return this.items[b]},getByKey:function(b){return this.map[b]},contains:function(b){return Ext.Array.contains(this.items,b)},containsKey:function(b){return typeof this.map[b]!="undefined"},clear:function(){var b=this;b.length=0;b.items=[];b.keys=[];b.map={};b.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(l,i,k,j){var p=this.extractValues(l,i),m=p.length,n=0,o;k=k||0;j=(j||j===0)?j:m-1;for(o=k;o<=j;o++){n+=p[o]}return n},collect:function(l,p,n){var i=this.extractValues(l,p),u=i.length,t={},s=[],m,o,r;for(r=0;r<u;r++){m=i[r];o=String(m);if((n||!Ext.isEmpty(m))&&!t[o]){t[o]=true;s.push(m)}}return s},extractValues:function(f,e){var d=this.items;if(e){d=Ext.Array.pluck(d,e)}return Ext.Array.pluck(d,f)},getRange:function(i,h){var j=this,l=j.items,g=[],k;if(l.length<1){return g}i=i||0;h=Math.min(typeof h=="undefined"?j.length-1:h,j.length-1);if(i<=h){for(k=i;k<=h;k++){g[g.length]=l[k]}}else{for(k=i;k>=h;k--){g[g.length]=l[k]}}return g},filter:function(k,l,i,h){var g=[],j;if(Ext.isString(k)){g.push(Ext.create("Ext.util.Filter",{property:k,value:l,anyMatch:i,caseSensitive:h}))}else{if(Ext.isArray(k)||k instanceof Ext.util.Filter){g=g.concat(k)}}j=function(f){var a=true,o=g.length,e;for(e=0;e<o;e++){var b=g[e],c=b.filterFn,d=b.scope;a=a&&c.call(d,f)}return a};return this.filterBy(j)},filterBy:function(n,o){var k=this,j=new this.self(),l=k.keys,i=k.items,m=i.length,p;j.getKey=k.getKey;for(p=0;p<m;p++){if(n.call(o||k,i[p],l[p])){j.add(l[p],i[p])}}return j},findIndex:function(j,f,h,i,g){if(Ext.isEmpty(f,false)){return -1}f=this.createValueMatcher(f,i,g);return this.findIndexBy(function(a){return a&&f.test(a[j])},null,h)},findIndexBy:function(n,o,k){var l=this,m=l.keys,i=l.items,p=k||0,j=i.length;for(;p<j;p++){if(n.call(o||l,i[p],m[p])){return p}}return -1},createValueMatcher:function(j,h,g,f){if(!j.exec){var i=Ext.String.escapeRegex;j=String(j);if(h===true){j=i(j)}else{j="^"+i(j);if(f===true){j+="$"}}j=new RegExp(j,g?"":"i")}return j},clone:function(){var j=this,i=new this.self(),k=j.keys,g=j.items,l=0,h=g.length;for(;l<h;l++){i.add(k[l],g[l])}i.getKey=j.getKey;return i}});Ext.define("Ext.data.SortTypes",{singleton:true,none:function(b){return b},stripTagsRE:/<\/?[^>]+>/gi,asText:function(b){return String(b).replace(this.stripTagsRE,"")},asUCText:function(b){return String(b).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(b){return String(b).toUpperCase()},asDate:function(b){if(!b){return 0}if(Ext.isDate(b)){return b.getTime()}return Date.parse(String(b))},asFloat:function(d){var c=parseFloat(String(d).replace(/,/g,""));return isNaN(c)?0:c},asInt:function(d){var c=parseInt(String(d).replace(/,/g,""),10);return isNaN(c)?0:c}});Ext.define("Ext.util.Grouper",{extend:"Ext.util.Sorter",getGroupString:function(b){return b.get(this.property)}});Ext.define("Ext.util.Animate",{uses:["Ext.fx.Manager","Ext.fx.Anim"],animate:function(d){var c=this;if(Ext.fx.Manager.hasFxBlock(c.id)){return c}Ext.fx.Manager.queueFx(Ext.create("Ext.fx.Anim",c.anim(d)));return this},anim:function(d){if(!Ext.isObject(d)){return(d)?{}:false}var c=this;if(d.stopAnimation){c.stopAnimation()}Ext.applyIf(d,Ext.fx.Manager.getFxDefaults(c.id));return Ext.apply({target:c,paused:true},d)},stopFx:Ext.Function.alias(Ext.util.Animate,"stopAnimation"),stopAnimation:function(){Ext.fx.Manager.stopAnimation(this.id);return this},syncFx:function(){Ext.fx.Manager.setFxDefaults(this.id,{concurrent:true});return this},sequenceFx:function(){Ext.fx.Manager.setFxDefaults(this.id,{concurrent:false});return this},hasActiveFx:Ext.Function.alias(Ext.util.Animate,"getActiveAnimation"),getActiveAnimation:function(){return Ext.fx.Manager.getActiveAnimation(this.id)}},function(){Ext.applyIf(Ext.core.Element.prototype,this.prototype);Ext.CompositeElementLite.importElementMethods()});Ext.define("Ext.AbstractManager",{requires:["Ext.util.HashMap"],typeName:"type",constructor:function(b){Ext.apply(this,b||{});this.all=Ext.create("Ext.util.HashMap");this.types={}},get:function(b){return this.all.get(b)},register:function(b){this.all.add(b)},unregister:function(b){this.all.remove(b)},registerType:function(c,d){this.types[c]=d;d[this.typeName]=c},isRegistered:function(b){return this.types[b]!==undefined},create:function(f,g){var e=f[this.typeName]||f.type||g,h=this.types[e];if(h==undefined){Ext.Error.raise("The '"+e+"' type has not been registered with this manager")}return new h(f)},onAvailable:function(h,j,f){var g=this.all,i;if(g.containsKey(h)){i=g.get(h);j.call(f||i,i)}else{g.on("add",function(a,c,b){if(c==h){j.call(f||b,b);g.un("add",j,f)}})}},each:function(c,d){this.all.each(c,d||this)},getCount:function(){return this.all.getCount()}});Ext.define("Ext.data.Association",{primaryKey:"id",defaultReaderType:"json",statics:{create:function(b){if(!b.isAssociation){if(Ext.isString(b)){b={type:b}}switch(b.type){case"belongsTo":return Ext.create("Ext.data.BelongsToAssociation",b);case"hasMany":return Ext.create("Ext.data.HasManyAssociation",b);default:Ext.Error.raise('Unknown Association type: "'+b.type+'"')}}return b}},constructor:function(h){Ext.apply(this,h);var n=Ext.ModelManager.types,m=h.ownerModel,k=h.associatedModel,l=n[m],j=n[k],i;if(l===undefined){Ext.Error.raise("The configured ownerModel was not valid (you tried "+m+")")}if(j===undefined){Ext.Error.raise("The configured associatedModel was not valid (you tried "+k+")")}this.ownerModel=l;this.associatedModel=j;Ext.applyIf(this,{ownerName:m,associatedName:k})},getReader:function(){var f=this,e=f.reader,d=f.associatedModel;if(e){if(Ext.isString(e)){e={type:e}}if(e.isReader){e.setModel(d)}else{Ext.applyIf(e,{model:d,type:f.defaultReaderType})}f.reader=Ext.createByAlias("reader."+e.type,e)}return f.reader||null}});Ext.define("Ext.data.validations",{singleton:true,presenceMessage:"must be present",lengthMessage:"is the wrong length",formatMessage:"is the wrong format",inclusionMessage:"is not included in the list of acceptable values",exclusionMessage:"is not an acceptable value",presence:function(d,c){if(c===undefined){c=d}return !!c},length:function(f,h){if(h===undefined){return false}var i=h.length,j=f.min,g=f.max;if((j&&i<j)||(g&&i>g)){return false}else{return true}},format:function(d,c){return !!(d.matcher&&d.matcher.test(c))},inclusion:function(d,c){return d.list&&Ext.Array.indexOf(d.list,c)!=-1},exclusion:function(d,c){return d.list&&Ext.Array.indexOf(d.list,c)==-1}});Ext.define("Docs.view.cls.Logic",{showPrivateClasses:false,constructor:function(b){Ext.apply(this,b)}});Ext.define("Ext.dd.StatusProxy",{animRepair:false,constructor:function(b){Ext.apply(this,b);this.id=this.id||Ext.id();this.proxy=Ext.createWidget("component",{floating:true,id:this.id,html:'<div class="'+Ext.baseCSSPrefix+'dd-drop-icon"></div><div class="'+Ext.baseCSSPrefix+'dd-drag-ghost"></div>',cls:Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed,shadow:!b||b.shadow!==false,renderTo:document.body});this.el=this.proxy.el;this.el.show();this.el.setVisibilityMode(Ext.core.Element.VISIBILITY);this.el.hide();this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",setStatus:function(b){b=b||this.dropNotAllowed;if(this.dropStatus!=b){this.el.replaceCls(this.dropStatus,b);this.dropStatus=b}},reset:function(b){this.el.dom.className=Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(b){this.ghost.update("")}},update:function(d){if(typeof d=="string"){this.ghost.update(d)}else{this.ghost.update("");d.style.margin="0";this.ghost.dom.appendChild(d)}var c=this.ghost.dom.firstChild;if(c){Ext.fly(c).setStyle("float","none")}},getEl:function(){return this.el},getGhost:function(){return this.ghost},hide:function(b){this.proxy.hide();if(b){this.reset(true)}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop()}},show:function(){this.proxy.show();this.proxy.toFront()},sync:function(){this.proxy.el.sync()},repair:function(d,f,e){this.callback=f;this.scope=e;if(d&&this.animRepair!==false){this.el.addCls(Ext.baseCSSPrefix+"dd-drag-repair");this.el.hideUnders(true);this.anim=this.el.animate({duration:this.repairDuration||500,easing:"ease-out",to:{x:d[0],y:d[1]},stopAnimation:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback=="function"){this.callback.call(this.scope||this)}this.callback=null;this.scope=null},destroy:function(){Ext.destroy(this.ghost,this.proxy,this.el)}});Ext.define("Ext.fx.target.Target",{isAnimTarget:true,constructor:function(b){this.target=b;this.id=this.getId()},getId:function(){return this.target.id}});Ext.define("Ext.draw.Color",{colorToHexRe:/(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbRe:/\s*rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)\s*/,hexRe:/\s*#([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)\s*/,lightnessFactor:0.2,constructor:function(i,j,g){var f=this,h=Ext.Number.constrain;f.r=h(i,0,255);f.g=h(j,0,255);f.b=h(g,0,255)},getRed:function(){return this.r},getGreen:function(){return this.g},getBlue:function(){return this.b},getRGB:function(){var b=this;return[b.r,b.g,b.b]},getHSL:function(){var o=this,u=o.r/255,p=o.g/255,l=o.b/255,h=Math.max(u,p,l),s=Math.min(u,p,l),g=h-s,r,b=0,t=0.5*(h+s);if(s!=h){b=(t<0.5)?g/(h+s):g/(2-h-s);if(u==h){r=60*(p-l)/g}else{if(p==h){r=120+60*(l-u)/g}else{r=240+60*(u-p)/g}}if(r<0){r+=360}if(r>=360){r-=360}}return[r,b,t]},getLighter:function(c){var d=this.getHSL();c=c||this.lightnessFactor;d[2]=Ext.Number.constrain(d[2]+c,0,1);return this.fromHSL(d[0],d[1],d[2])},getDarker:function(b){b=b||this.lightnessFactor;return this.getLighter(-b)},toString:function(){var g=this,j=Math.round,h=j(g.r).toString(16),i=j(g.g).toString(16),b=j(g.b).toString(16);h=(h.length==1)?"0"+h:h;i=(i.length==1)?"0"+i:i;b=(b.length==1)?"0"+b:b;return["#",h,i,b].join("")},toHex:function(g){if(Ext.isArray(g)){g=g[0]}if(!Ext.isString(g)){return""}if(g.substr(0,1)==="#"){return g}var j=this.colorToHexRe.exec(g);if(Ext.isArray(j)){var i=parseInt(j[2],10),k=parseInt(j[3],10),h=parseInt(j[4],10),l=h|(k<<8)|(i<<16);return j[1]+"#"+("000000"+l.toString(16)).slice(-6)}else{return""}},fromString:function(g){var l,j,k,b,i=parseInt;if((g.length==4||g.length==7)&&g.substr(0,1)==="#"){l=g.match(this.hexRe);if(l){j=i(l[1],16)>>0;k=i(l[2],16)>>0;b=i(l[3],16)>>0;if(g.length==4){j+=(j*16);k+=(k*16);b+=(b*16)}}}else{l=g.match(this.rgbRe);if(l){j=l[1];k=l[2];b=l[3]}}return(typeof j=="undefined")?undefined:Ext.create("Ext.draw.Color",j,k,b)},getGrayscale:function(){return this.r*0.3+this.g*0.59+this.b*0.11},fromHSL:function(o,h,r){var u,t,s,p,l=[],i=Math.abs,m=Math.floor;if(h==0||o==null){l=[r,r,r]}else{o/=60;u=h*(1-i(2*r-1));t=u*(1-i(o-2*m(o/2)-1));s=r-u/2;switch(m(o)){case 0:l=[u,t,0];break;case 1:l=[t,u,0];break;case 2:l=[0,u,t];break;case 3:l=[0,t,u];break;case 4:l=[t,0,u];break;case 5:l=[u,0,t];break}l=[l[0]+s,l[1]+s,l[2]+s]}return Ext.create("Ext.draw.Color",l[0]*255,l[1]*255,l[2]*255)}},function(){var b=this.prototype;this.addStatics({fromHSL:function(){return b.fromHSL.apply(b,arguments)},fromString:function(){return b.fromString.apply(b,arguments)},toHex:function(){return b.toHex.apply(b,arguments)}})});Ext.define("Ext.ElementLoader",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.data.Connection","Ext.Ajax"],statics:{Renderer:{Html:function(e,d,f){e.getTarget().update(d.responseText,f.scripts===true);return true}}},url:null,params:null,baseParams:null,autoLoad:false,target:null,loadMask:false,ajaxOptions:null,scripts:false,isLoader:true,constructor:function(d){var f=this,e;d=d||{};Ext.apply(f,d);f.setTarget(f.target);f.addEvents("beforeload","exception","load");f.mixins.observable.constructor.call(f);if(f.autoLoad){e=f.autoLoad;if(e===true){e={}}f.load(e)}},setTarget:function(c){var d=this;c=Ext.get(c);if(d.target&&d.target!=c){d.abort()}d.target=c},getTarget:function(){return this.target||null},abort:function(){var b=this.active;if(b!==undefined){Ext.Ajax.abort(b.request);if(b.mask){this.removeMask()}delete this.active}},removeMask:function(){this.target.unmask()},addMask:function(b){this.target.mask(b===true?null:b)},load:function(k){if(!this.target){Ext.Error.raise("A valid target is required when loading content")}k=Ext.apply({},k);var n=this,o=n.target,j=Ext.isDefined(k.loadMask)?k.loadMask:n.loadMask,r=Ext.apply({},k.params),s=Ext.apply({},k.ajaxOptions),m=k.callback||n.callback,l=k.scope||n.scope||n,p;Ext.applyIf(s,n.ajaxOptions);Ext.applyIf(k,s);Ext.applyIf(r,n.params);Ext.apply(r,n.baseParams);Ext.applyIf(k,{url:n.url});if(!k.url){Ext.Error.raise("You must specify the URL from which content should be loaded")}Ext.apply(k,{scope:n,params:r,callback:n.onComplete});if(n.fireEvent("beforeload",n,k)===false){return}if(j){n.addMask(j)}p=Ext.Ajax.request(k);n.active={request:p,options:k,mask:j,scope:l,callback:m,success:k.success||n.success,failure:k.failure||n.failure,renderer:k.renderer||n.renderer,scripts:Ext.isDefined(k.scripts)?k.scripts:n.scripts};n.setOptions(n.active,k)},setOptions:Ext.emptyFn,onComplete:function(h,j,i){var m=this,k=m.active,n=k.scope,l=m.getRenderer(k.renderer);if(j){j=l.call(m,m,i,k)}if(j){Ext.callback(k.success,n,[m,i,h]);m.fireEvent("load",m,i,h)}else{Ext.callback(k.failure,n,[m,i,h]);m.fireEvent("exception",m,i,h)}Ext.callback(k.callback,n,[m,j,i,h]);if(k.mask){m.removeMask()}delete m.active},getRenderer:function(b){if(Ext.isFunction(b)){return b}return this.statics().Renderer.Html},startAutoRefresh:function(e,d){var f=this;f.stopAutoRefresh();f.autoRefresh=setInterval(function(){f.load(d)},e)},stopAutoRefresh:function(){clearInterval(this.autoRefresh);delete this.autoRefresh},isAutoRefreshing:function(){return Ext.isDefined(this.autoRefresh)},destroy:function(){var b=this;b.stopAutoRefresh();delete b.target;b.abort();b.clearListeners()}});Ext.define("Ext.state.Provider",{mixins:{observable:"Ext.util.Observable"},prefix:"ext-",constructor:function(d){d=d||{};var c=this;Ext.apply(c,d);c.addEvents("statechange");c.state={};c.mixins.observable.constructor.call(c)},get:function(c,d){return typeof this.state[c]=="undefined"?d:this.state[c]},clear:function(d){var c=this;delete c.state[d];c.fireEvent("statechange",c,d,null)},set:function(e,f){var d=this;d.state[e]=f;d.fireEvent("statechange",d,e,f)},decodeValue:function(k){var m=this,n=/^(a|n|d|b|s|o|e)\:(.*)$/,l=n.exec(unescape(k)),h,i,k,j;if(!l||!l[1]){return}i=l[1];k=l[2];switch(i){case"e":return null;case"n":return parseFloat(k);case"d":return new Date(Date.parse(k));case"b":return(k=="1");case"a":h=[];if(k!=""){Ext.each(k.split("^"),function(a){h.push(m.decodeValue(a))},m)}return h;case"o":h={};if(k!=""){Ext.each(k.split("^"),function(a){j=a.split("=");h[j[0]]=m.decodeValue(j[1])},m)}return h;default:return k}},encodeValue:function(j){var i="",k=0,g,h,l;if(j==null){return"e:1"}else{if(typeof j=="number"){g="n:"+j}else{if(typeof j=="boolean"){g="b:"+(j?"1":"0")}else{if(Ext.isDate(j)){g="d:"+j.toGMTString()}else{if(Ext.isArray(j)){for(h=j.length;k<h;k++){i+=this.encodeValue(j[k]);if(k!=h-1){i+="^"}}g="a:"+i}else{if(typeof j=="object"){for(l in j){if(typeof j[l]!="function"&&j[l]!==undefined){i+=l+"="+this.encodeValue(j[l])+"^"}}g="o:"+i.substring(0,i.length-1)}else{g="s:"+j}}}}}}return escape(g)}});Ext.define("Ext.data.Connection",{mixins:{observable:"Ext.util.Observable"},statics:{requestId:0},url:null,async:true,method:null,username:"",password:"",disableCaching:true,disableCachingParam:"_dc",timeout:30000,useDefaultHeader:true,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest",constructor:function(b){b=b||{};Ext.apply(this,b);this.addEvents("beforerequest","requestcomplete","requestexception");this.requests={};this.mixins.observable.constructor.call(this)},request:function(k){k=k||{};var o=this,l=k.scope||window,p=k.username||o.username,n=k.password||o.password||"",t,s,r,u,m;if(o.fireEvent("beforerequest",o,k)!==false){s=o.setOptions(k,l);if(this.isFormUpload(k)===true){this.upload(k.form,s.url,s.data,k);return null}if(k.autoAbort===true||o.autoAbort){o.abort()}m=this.getXhrInstance();t=k.async!==false?(k.async||o.async):false;if(p){m.open(s.method,s.url,t,p,n)}else{m.open(s.method,s.url,t)}u=o.setupHeaders(m,k,s.data,s.params);r={id:++Ext.data.Connection.requestId,xhr:m,headers:u,options:k,async:t,timeout:setTimeout(function(){r.timedout=true;o.abort(r)},k.timeout||o.timeout)};o.requests[r.id]=r;if(t){m.onreadystatechange=Ext.Function.bind(o.onStateChange,o,[r])}m.send(s.data);if(!t){return this.onComplete(r)}return r}else{Ext.callback(k.callback,k.scope,[k,undefined,undefined]);return null}},upload:function(r,t,m,k){r=Ext.getDom(r);k=k||{};var s=Ext.id(),o=document.createElement("iframe"),l=[],n="multipart/form-data",p={target:r.target,method:r.method,encoding:r.encoding,enctype:r.enctype,action:r.action},u;Ext.fly(o).set({id:s,name:s,cls:Ext.baseCSSPrefix+"hide-display",src:Ext.SSL_SECURE_URL});document.body.appendChild(o);if(document.frames){document.frames[s].name=s}Ext.fly(r).set({target:s,method:"POST",enctype:n,encoding:n,action:t||p.action});if(m){Ext.iterate(Ext.Object.fromQueryString(m),function(b,a){u=document.createElement("input");Ext.fly(u).set({type:"hidden",value:a,name:b});r.appendChild(u);l.push(u)})}Ext.fly(o).on("load",Ext.Function.bind(this.onUploadComplete,this,[o,k]),null,{single:true});r.submit();Ext.fly(r).set(p);Ext.each(l,function(a){Ext.removeNode(a)})},onUploadComplete:function(j,e){var n=this,i={responseText:"",responseXML:null},k,l;try{k=j.contentWindow.document||j.contentDocument||window.frames[id].document;if(k){if(k.body){if(/textarea/i.test((l=k.body.firstChild||{}).tagName)){i.responseText=l.value}else{i.responseText=k.body.innerHTML}}i.responseXML=k.XMLDocument||k}}catch(m){}n.fireEvent("requestcomplete",n,i,e);Ext.callback(e.success,e.scope,[i,e]);Ext.callback(e.callback,e.scope,[e,true,i]);setTimeout(function(){Ext.removeNode(j)},100)},isFormUpload:function(d){var c=this.getForm(d);if(c){return(d.isUpload||(/multipart\/form-data/i).test(c.getAttribute("enctype")))}return false},getForm:function(b){return Ext.getDom(b.form)||null},setOptions:function(l,m){var o=this,s=l.params||{},p=o.extraParams,t=l.urlParams,u=l.url||o.url,n=l.jsonData,v,w,r;if(Ext.isFunction(s)){s=s.call(m,l)}if(Ext.isFunction(u)){u=u.call(m,l)}u=this.setupUrl(l,u);if(!u){Ext.Error.raise({options:l,msg:"No URL specified"})}r=l.rawData||l.xmlData||n||null;if(n&&!Ext.isPrimitive(n)){r=Ext.encode(r)}if(Ext.isObject(s)){s=Ext.Object.toQueryString(s)}if(Ext.isObject(p)){p=Ext.Object.toQueryString(p)}s=s+((p)?((s)?"&":"")+p:"");t=Ext.isObject(t)?Ext.Object.toQueryString(t):t;s=this.setupParams(l,s);v=(l.method||o.method||((s||r)?"POST":"GET")).toUpperCase();this.setupMethod(l,v);w=l.disableCaching!==false?(l.disableCaching||o.disableCaching):false;if(v==="GET"&&w){u=Ext.urlAppend(u,(l.disableCachingParam||o.disableCachingParam)+"="+(new Date().getTime()))}if((v=="GET"||r)&&s){u=Ext.urlAppend(u,s);s=null}if(t){u=Ext.urlAppend(u,t)}return{url:u,method:v,data:r||s||null}},setupUrl:function(d,e){var f=this.getForm(d);if(f){e=e||f.action}return e},setupParams:function(f,g){var h=this.getForm(f),e;if(h&&!this.isFormUpload(f)){e=Ext.core.Element.serializeForm(h);g=g?(g+"&"+e):e}return g},setupMethod:function(d,c){if(this.isFormUpload(d)){return"POST"}return c},setupHeaders:function(n,e,v,w){var s=this,x=Ext.apply({},e.headers||{},s.defaultHeaders||{}),o=s.defaultPostHeader,r=e.jsonData,y=e.xmlData,p,u;if(!x["Content-Type"]&&(v||w)){if(v){if(e.rawData){o="text/plain"}else{if(y&&Ext.isDefined(y)){o="text/xml"}else{if(r&&Ext.isDefined(r)){o="application/json"}}}}x["Content-Type"]=o}if(s.useDefaultXhrHeader&&!x["X-Requested-With"]){x["X-Requested-With"]=s.defaultXhrHeader}try{for(p in x){if(x.hasOwnProperty(p)){u=x[p];n.setRequestHeader(p,u)}}}catch(t){s.fireEvent("exception",p,u)}return x},getXhrInstance:(function(){var e=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("MSXML2.XMLHTTP.3.0")},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],j=0,g=e.length,h;for(;j<g;++j){try{h=e[j];h();break}catch(i){}}return h})(),isLoading:function(d){if(!(d&&d.xhr)){return false}var c=d.xhr.readyState;return !(c===0||c==4)},abort:function(e){var f=this,g=f.requests,h;if(e&&f.isLoading(e)){e.xhr.onreadystatechange=null;e.xhr.abort();f.clearTimeout(e);if(!e.timedout){e.aborted=true}f.onComplete(e);f.cleanup(e)}else{if(!e){for(h in g){if(g.hasOwnProperty(h)){f.abort(g[h])}}}}},onStateChange:function(b){if(b.xhr.readyState==4){this.clearTimeout(b);this.onComplete(b);this.cleanup(b)}},clearTimeout:function(b){clearTimeout(b.timeout);delete b.timeout},cleanup:function(b){b.xhr=null;delete b.xhr},onComplete:function(l){var m=this,n=l.options,i,j,e;try{i=m.parseStatus(l.xhr.status)}catch(k){i={success:false,isException:false}}j=i.success;if(j){e=m.createResponse(l);m.fireEvent("requestcomplete",m,e,n);Ext.callback(n.success,n.scope,[e,n])}else{if(i.isException||l.aborted||l.timedout){e=m.createException(l)}else{e=m.createResponse(l)}m.fireEvent("requestexception",m,e,n);Ext.callback(n.failure,n.scope,[e,n])}Ext.callback(n.callback,n.scope,[n,j,e]);delete m.requests[l.id];return e},parseStatus:function(e){e=e==1223?204:e;var f=(e>=200&&e<300)||e==304,d=false;if(!f){switch(e){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:d=true;break}}return{success:f,isException:d}},createResponse:function(s){var m=s.xhr,u={},l=m.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),r=l.length,k,p,n,o,t;while(r--){k=l[r];p=k.indexOf(":");if(p>=0){n=k.substr(0,p).toLowerCase();if(k.charAt(p+1)==" "){++p}u[n]=k.substr(p+1)}}s.xhr=null;delete s.xhr;t={request:s,requestId:s.id,status:m.status,statusText:m.statusText,getResponseHeader:function(a){return u[a.toLowerCase()]},getAllResponseHeaders:function(){return u},responseText:m.responseText,responseXML:m.responseXML};m=null;return t},createException:function(b){return{request:b,requestId:b.id,status:b.aborted?-1:0,statusText:b.aborted?"transaction aborted":"communication failure",aborted:b.aborted,timedout:b.timedout}}});Ext.define("Ext.layout.container.boxOverflow.None",{alternateClassName:"Ext.layout.boxOverflow.None",constructor:function(c,d){this.layout=c;Ext.apply(this,d||{})},handleOverflow:Ext.emptyFn,clearOverflow:Ext.emptyFn,onRemove:Ext.emptyFn,getItem:function(b){return this.layout.owner.getComponent(b)},onRemove:Ext.emptyFn});Ext.define("Ext.util.Offset",{statics:{fromObject:function(b){return new this(b.x,b.y)}},constructor:function(d,c){this.x=(d!=null&&!isNaN(d))?d:0;this.y=(c!=null&&!isNaN(c))?c:0;return this},copy:function(){return new Ext.util.Offset(this.x,this.y)},copyFrom:function(b){this.x=b.x;this.y=b.y},toString:function(){return"Offset["+this.x+","+this.y+"]"},equals:function(b){if(!(b instanceof this.statics())){Ext.Error.raise("Offset must be an instance of Ext.util.Offset")}return(this.x==b.x&&this.y==b.y)},round:function(c){if(!isNaN(c)){var d=Math.pow(10,c);this.x=Math.round(this.x*d)/d;this.y=Math.round(this.y*d)/d}else{this.x=Math.round(this.x);this.y=Math.round(this.y)}},isZero:function(){return this.x==0&&this.y==0}});Ext.define("Ext.data.writer.Writer",{alias:"writer.base",alternateClassName:["Ext.data.DataWriter","Ext.data.Writer"],writeAllFields:true,nameProperty:"name",constructor:function(b){Ext.apply(this,b)},write:function(j){var l=j.operation,g=l.records||[],h=g.length,k=0,i=[];for(;k<h;k++){i.push(this.getRecordData(g[k]))}return this.writeRecords(j,i)},getRecordData:function(p){var l=p.phantom===true,t=this.writeAllFields||l,s=this.nameProperty,o=p.fields,r={},m,u,n,k;if(t){o.each(function(a){if(a.persist){u=a[s]||a.name;r[u]=p.get(a.name)}})}else{m=p.getChanges();for(k in m){if(m.hasOwnProperty(k)){n=o.get(k);u=n[s]||n.name;r[u]=m[k]}}if(!l){r[p.idProperty]=p.getId()}}return r}});Ext.define("Ext.data.ResultSet",{loaded:true,count:0,total:0,success:false,constructor:function(b){Ext.apply(this,b);this.totalRecords=this.total;if(b.count===undefined){this.count=this.records.length}}});Ext.define("Ext.grid.plugin.DragDrop",{extend:"Ext.AbstractPlugin",alias:"plugin.gridviewdragdrop",uses:["Ext.view.DragZone","Ext.grid.ViewDropZone"],dragText:"{0} selected row{1}",ddGroup:"GridDD",enableDrop:true,enableDrag:true,init:function(b){b.on("render",this.onViewRender,this,{single:true})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onViewRender:function(d){var c=this;if(c.enableDrag){c.dragZone=Ext.create("Ext.view.DragZone",{view:d,ddGroup:c.dragGroup||c.ddGroup,dragText:c.dragText})}if(c.enableDrop){c.dropZone=Ext.create("Ext.grid.ViewDropZone",{view:d,ddGroup:c.dropGroup||c.ddGroup})}}});Ext.define("Ext.util.ClickRepeater",{extend:"Ext.util.Observable",constructor:function(c,d){this.el=Ext.get(c);this.el.unselectable();Ext.apply(this,d);this.addEvents("mousedown","click","mouseup");if(!this.disabled){this.disabled=true;this.enable()}if(this.handler){this.on("click",this.handler,this.scope||this)}this.callParent()},interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,enable:function(){if(this.disabled){this.el.on("mousedown",this.handleMouseDown,this);if(Ext.isIE){this.el.on("dblclick",this.handleDblClick,this)}if(this.preventDefault||this.stopDefault){this.el.on("click",this.eventOptions,this)}}this.disabled=false},disable:function(b){if(b||!this.disabled){clearTimeout(this.timer);if(this.pressedCls){this.el.removeCls(this.pressedCls)}Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeAllListeners()}this.disabled=true},setDisabled:function(b){this[b?"disable":"enable"]()},eventOptions:function(b){if(this.preventDefault){b.preventDefault()}if(this.stopDefault){b.stopEvent()}},destroy:function(){this.disable(true);Ext.destroy(this.el);this.clearListeners()},handleDblClick:function(b){clearTimeout(this.timer);this.el.blur();this.fireEvent("mousedown",this,b);this.fireEvent("click",this,b)},handleMouseDown:function(b){clearTimeout(this.timer);this.el.blur();if(this.pressedCls){this.el.addCls(this.pressedCls)}this.mousedownTime=new Date();Ext.getDoc().on("mouseup",this.handleMouseUp,this);this.el.on("mouseout",this.handleMouseOut,this);this.fireEvent("mousedown",this,b);this.fireEvent("click",this,b);if(this.accelerate){this.delay=400}b=new Ext.EventObjectImpl(b);this.timer=Ext.defer(this.click,this.delay||this.interval,this,[b])},click:function(b){this.fireEvent("click",this,b);this.timer=Ext.defer(this.click,this.accelerate?this.easeOutExpo(Ext.Date.getElapsed(this.mousedownTime),400,-390,12000):this.interval,this,[b])},easeOutExpo:function(h,b,c,d){return(h==d)?b+c:c*(-Math.pow(2,-10*h/d)+1)+b},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressedCls){this.el.removeCls(this.pressedCls)}this.el.on("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);if(this.pressedCls){this.el.addCls(this.pressedCls)}this.click()},handleMouseUp:function(b){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);if(this.pressedCls){this.el.removeCls(this.pressedCls)}this.fireEvent("mouseup",this,b)}});Ext.define("Ext.data.Tree",{alias:"data.tree",mixins:{observable:"Ext.util.Observable"},root:null,constructor:function(d){var c=this;c.nodeHash={};c.mixins.observable.constructor.call(c);if(d){c.setRootNode(d)}},getRootNode:function(){return this.root},setRootNode:function(c){var d=this;d.root=c;Ext.data.NodeInterface.decorate(c);if(d.fireEvent("beforeappend",null,c)!==false){c.set("root",true);c.updateInfo();d.relayEvents(c,["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","rootchange"]);c.on({scope:d,insert:d.onNodeInsert,append:d.onNodeAppend,remove:d.onNodeRemove});d.registerNode(c);d.fireEvent("append",null,c);d.fireEvent("rootchange",c)}return c},flatten:function(){var e=[],f=this.nodeHash,d;for(d in f){if(f.hasOwnProperty(d)){e.push(f[d])}}return e},onNodeInsert:function(d,c){this.registerNode(c)},onNodeAppend:function(d,c){this.registerNode(c)},onNodeRemove:function(d,c){this.unregisterNode(c)},getNodeById:function(b){return this.nodeHash[b]},registerNode:function(b){this.nodeHash[b.getId()||b.internalId]=b},unregisterNode:function(b){delete this.nodeHash[b.getId()||b.internalId]},sort:function(c,d){this.getRootNode().sort(c,d)},filter:function(c,d){this.getRootNode().filter(c,d)}});Ext.define("Docs.Settings",{extend:"Docs.LocalStore",storeName:"Settings",singleton:true,set:function(d,f){var e=this.store.findExact("key",d);if(e>-1){this.store.removeAt(e)}this.store.add({key:d,value:f});this.syncStore()},get:function(c){var d=this.store.findExact("key",c);return d>-1?this.store.getAt(d).get("value"):undefined}});Ext.define("Ext.XTemplate",{extend:"Ext.Template",statics:{from:function(c,d){c=Ext.getDom(c);return new this(c.value||c.innerHTML,d||{})}},argsRe:/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/,nameRe:/^<tpl\b[^>]*?for="(.*?)"/,ifRe:/^<tpl\b[^>]*?if="(.*?)"/,execRe:/^<tpl\b[^>]*?exec="(.*?)"/,constructor:function(){this.callParent(arguments);var m=this,M=m.html,B=m.argsRe,R=m.nameRe,D=m.ifRe,z=m.execRe,H=0,L=[],I="values",A="parent",K="xindex",J="xcount",Q="return ",S="with(values){ ",G,O,C,T,P,N,F,i,E;M=["<tpl>",M,"</tpl>"].join("");while((G=M.match(B))){P=null;N=null;F=null;O=G[0].match(R);C=G[0].match(D);T=G[0].match(z);P=C?C[1]:null;if(P){N=Ext.functionFactory(I,A,K,J,S+"try{"+Q+Ext.String.htmlDecode(P)+";}catch(e){return;}}")}P=T?T[1]:null;if(P){F=Ext.functionFactory(I,A,K,J,S+Ext.String.htmlDecode(P)+";}")}i=O?O[1]:null;if(i){if(i==="."){i=I}else{if(i===".."){i=A}}i=Ext.functionFactory(I,A,"try{"+S+Q+i+";}}catch(e){return;}")}L.push({id:H,target:i,exec:F,test:N,body:G[1]||""});M=M.replace(G[0],"{xtpl"+H+"}");H=H+1}for(E=L.length-1;E>=0;--E){m.compileTpl(L[E])}m.master=L[L.length-1];m.tpls=L},applySubTemplate:function(j,i,n,l,k){var m=this,h=m.tpls[j];return h.compiled.call(m,i,n,l,k)},codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?\}/g,compileTpl:function(tpl){var fm=Ext.util.Format,me=this,useFormat=me.disableFormats!==true,body,bodyReturn,evaluatedFn;function fn(m,name,format,args,math){var v;if(name.substr(0,4)=="xtpl"){return"',this.applySubTemplate("+name.substr(4)+", values, parent, xindex, xcount),'"}if(name=="."){v='Ext.Array.indexOf(["string", "number", "boolean"], typeof values) > -1 || Ext.isDate(values) ? values : ""'}else{if(name=="#"){v="xindex"}else{if(name.substr(0,7)=="parent."){v=name}else{if(name.indexOf(".")!=-1){v="values."+name}else{v="values['"+name+"']"}}}}if(math){v="("+v+math+")"}if(format&&useFormat){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format="this."+format.substr(5)+"("}}else{args="";format="("+v+" === undefined ? '' : "}return"',"+format+v+args+"),'"}function codeFn(m,code){return"',("+code.replace(me.compileARe,"'")+"),'"}bodyReturn=tpl.body.replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn).replace(me.codeRe,codeFn);body="evaluatedFn = function(values, parent, xindex, xcount){return ['"+bodyReturn+"'].join('');};";eval(body);tpl.compiled=function(values,parent,xindex,xcount){var vs,length,buffer,i;if(tpl.test&&!tpl.test.call(me,values,parent,xindex,xcount)){return""}vs=tpl.target?tpl.target.call(me,values,parent):values;if(!vs){return""}parent=tpl.target?values:parent;if(tpl.target&&Ext.isArray(vs)){buffer=[];length=vs.length;if(tpl.exec){for(i=0;i<length;i++){buffer[buffer.length]=evaluatedFn.call(me,vs[i],parent,i+1,length);tpl.exec.call(me,vs[i],parent,i+1,length)}}else{for(i=0;i<length;i++){buffer[buffer.length]=evaluatedFn.call(me,vs[i],parent,i+1,length)}}return buffer.join("")}if(tpl.exec){tpl.exec.call(me,vs,parent,xindex,xcount)}return evaluatedFn.call(me,vs,parent,xindex,xcount)};return this},applyTemplate:function(b){return this.master.compiled.call(this,b,{},1,1)},compile:function(){return this}},function(){this.createAlias("apply","applyTemplate")});Ext.define("Ext.layout.container.AbstractContainer",{extend:"Ext.layout.Layout",type:"container",bindToOwnerCtComponent:false,bindToOwnerCtContainer:false,setItemSize:function(f,d,e){if(Ext.isObject(d)){e=d.height;d=d.width}f.setCalculatedSize(d,e,this.owner)},getLayoutItems:function(){return this.owner&&this.owner.items&&this.owner.items.items||[]},afterLayout:function(){this.owner.afterLayout(this)},getTarget:function(){return this.owner.getTargetEl()},getRenderTarget:function(){return this.owner.getTargetEl()}});Ext.define("Ext.layout.container.Container",{extend:"Ext.layout.container.AbstractContainer",alternateClassName:"Ext.layout.ContainerLayout",layoutItem:function(c,d){if(d){c.doComponentLayout(d.width,d.height)}else{c.doComponentLayout()}},getLayoutTargetSize:function(){var c=this.getTarget(),d;if(c){d=c.getViewSize();if(Ext.isIE&&d.width==0){d=c.getStyleSize()}d.width-=c.getPadding("lr");d.height-=c.getPadding("tb")}return d},beforeLayout:function(){if(this.owner.beforeLayout(arguments)!==false){return this.callParent(arguments)}else{return false}},getRenderedItems:function(){var l=this,j=l.getTarget(),i=l.getLayoutItems(),m=i.length,k=[],h,n;for(h=0;h<m;h++){n=i[h];if(n.rendered&&l.isValidParent(n,j,h)){k.push(n)}}return k},getVisibleItems:function(){var i=this.getTarget(),g=this.getLayoutItems(),j=g.length,h=[],l,k;for(l=0;l<j;l++){k=g[l];if(k.rendered&&this.isValidParent(k,i,l)&&k.hidden!==true){h.push(k)}}return h}});Ext.ns("Ext.fx");Ext.require("Ext.fx.CubicBezier",function(){var l=Math,j=l.PI,m=l.pow,h=l.sin,k=l.sqrt,i=l.abs,n=1.70158;Ext.fx.Easing={};Ext.apply(Ext.fx.Easing,{linear:function(a){return a},ease:function(f){var t=0.07813-f/2,e=-0.25,d=k(0.0066+t*t),b=d-t,g=m(i(b),1/3)*(b<0?-1:1),c=-d-t,s=m(i(c),1/3)*(c<0?-1:1),a=g+s+0.25;return m(1-a,2)*3*a*0.1+(1-a)*3*a*a+a*a*a},easeIn:function(a){return m(a,1.7)},easeOut:function(a){return m(a,0.48)},easeInOut:function(g){var c=0.48-g/1.04,d=k(0.1734+c*c),f=d-c,r=m(i(f),1/3)*(f<0?-1:1),a=-d-c,b=m(i(a),1/3)*(a<0?-1:1),e=r+b+0.5;return(1-e)*3*e*e+e*e*e},backIn:function(a){return a*a*((n+1)*a-n)},backOut:function(a){a=a-1;return a*a*((n+1)*a+n)+1},elasticIn:function(a){if(a===0||a===1){return a}var b=0.3,c=b/4;return m(2,-10*a)*h((a-c)*(2*j)/b)+1},elasticOut:function(a){return 1-Ext.fx.Easing.elasticIn(1-a)},bounceIn:function(a){return 1-Ext.fx.Easing.bounceOut(1-a)},bounceOut:function(a){var c=7.5625,b=2.75,d;if(a<(1/b)){d=c*a*a}else{if(a<(2/b)){a-=(1.5/b);d=c*a*a+0.75}else{if(a<(2.5/b)){a-=(2.25/b);d=c*a*a+0.9375}else{a-=(2.625/b);d=c*a*a+0.984375}}}return d}});Ext.apply(Ext.fx.Easing,{"back-in":Ext.fx.Easing.backIn,"back-out":Ext.fx.Easing.backOut,"ease-in":Ext.fx.Easing.easeIn,"ease-out":Ext.fx.Easing.easeOut,"elastic-in":Ext.fx.Easing.elasticIn,"elastic-out":Ext.fx.Easing.elasticIn,"bounce-in":Ext.fx.Easing.bounceIn,"bounce-out":Ext.fx.Easing.bounceOut,"ease-in-out":Ext.fx.Easing.easeInOut})});Ext.define("Ext.util.Sortable",{isSortable:true,defaultSortDirection:"ASC",requires:["Ext.util.Sorter"],initSortable:function(){var d=this,c=d.sorters;d.sorters=Ext.create("Ext.util.AbstractMixedCollection",false,function(a){return a.id||a.property});if(c){d.sorters.addAll(d.decodeSorters(c))}},sort:function(l,m,p,n){var o=this,k,i,j;if(Ext.isArray(l)){n=p;p=m;j=l}else{if(Ext.isObject(l)){n=p;p=m;j=[l]}else{if(Ext.isString(l)){k=o.sorters.get(l);if(!k){k={property:l,direction:m};j=[k]}else{if(m===undefined){k.toggle()}else{k.setDirection(m)}}}}}if(j&&j.length){j=o.decodeSorters(j);if(Ext.isString(p)){if(p==="prepend"){l=o.sorters.clone().items;o.sorters.clear();o.sorters.addAll(j);o.sorters.addAll(l)}else{o.sorters.addAll(j)}}else{o.sorters.clear();o.sorters.addAll(j)}if(n!==false){o.onBeforeSort(j)}}if(n!==false){l=o.sorters.items;if(l.length){i=function(b,c){var d=l[0].sort(b,c),e=l.length,a;for(a=1;a<e;a++){d=d||l[a].sort.call(this,b,c)}return d};o.doSort(i)}}return l},onBeforeSort:Ext.emptyFn,decodeSorters:function(k){if(!Ext.isArray(k)){if(k===undefined){k=[]}else{k=[k]}}var m=k.length,j=Ext.util.Sorter,i=this.model?this.model.prototype.fields:null,l,h,n;for(n=0;n<m;n++){h=k[n];if(!(h instanceof j)){if(Ext.isString(h)){h={property:h}}Ext.applyIf(h,{root:this.sortRoot,direction:"ASC"});if(h.fn){h.sorterFn=h.fn}if(typeof h=="function"){h={sorterFn:h}}if(i&&!h.transform){l=i.get(h.property);h.transform=l?l.sortType:undefined}k[n]=Ext.create("Ext.util.Sorter",h)}}return k},getSorters:function(){return this.sorters.items}});Ext.define("Ext.util.MixedCollection",{extend:"Ext.util.AbstractMixedCollection",mixins:{sortable:"Ext.util.Sortable"},constructor:function(){var b=this;b.callParent(arguments);b.addEvents("sort");b.mixins.sortable.initSortable.call(b)},doSort:function(b){this.sortBy(b)},_sort:function(i,u,m){var n=this,s,r,t=String(u).toUpperCase()=="DESC"?-1:1,o=[],c=n.keys,p=n.items;m=m||function(a,b){return a-b};for(s=0,r=p.length;s<r;s++){o[o.length]={key:c[s],value:p[s],index:s}}Ext.Array.sort(o,function(b,d){var a=m(b[i],d[i])*t;if(a===0){a=(b.index<d.index?-1:1)}return a});for(s=0,r=o.length;s<r;s++){p[s]=o[s].value;c[s]=o[s].key}n.fireEvent("sort",n)},sortBy:function(n){var j=this,h=j.items,k=j.keys,l=h.length,i=[],m;for(m=0;m<l;m++){i[m]={key:k[m],value:h[m],index:m}}Ext.Array.sort(i,function(b,c){var a=n(b.value,c.value);if(a===0){a=(b.index<c.index?-1:1)}return a});for(m=0;m<l;m++){h[m]=i[m].value;k[m]=i[m].key}j.fireEvent("sort",j,h,k)},reorder:function(o){var l=this,i=l.items,p=0,m=i.length,j=[],n=[],k;l.suspendEvents();for(k in o){j[o[k]]=i[k]}for(p=0;p<m;p++){if(o[p]==undefined){n.push(i[p])}}for(p=0;p<m;p++){if(j[p]==undefined){j[p]=n.shift()}}l.clear();l.addAll(j);l.resumeEvents();l.fireEvent("sort",l)},sortByKey:function(d,c){this._sort("key",d,c||function(g,h){var a=String(g).toUpperCase(),b=String(h).toUpperCase();return a>b?1:(a<b?-1:0)})}});Ext.define("Ext.data.AbstractStore",{requires:["Ext.util.MixedCollection","Ext.data.Operation","Ext.util.Filter"],mixins:{observable:"Ext.util.Observable",sortable:"Ext.util.Sortable"},statics:{create:function(b){if(!b.isStore){if(!b.type){b.type="store"}b=Ext.createByAlias("store."+b.type,b)}return b}},remoteSort:false,remoteFilter:false,autoLoad:false,autoSync:false,batchUpdateMode:"operation",filterOnLoad:true,sortOnLoad:true,implicitModel:false,defaultProxyType:"memory",isDestroyed:false,isStore:true,sortRoot:"data",constructor:function(e){var f=this,d;f.addEvents("add","remove","update","datachanged","beforeload","load","beforesync","clear");Ext.apply(f,e);f.removed=[];f.mixins.observable.constructor.apply(f,arguments);f.model=Ext.ModelManager.getModel(f.model);Ext.applyIf(f,{modelDefaults:{}});if(!f.model&&f.fields){f.model=Ext.define("Ext.data.Store.ImplicitModel-"+(f.storeId||Ext.id()),{extend:"Ext.data.Model",fields:f.fields,proxy:f.proxy||f.defaultProxyType});delete f.fields;f.implicitModel=true}f.setProxy(f.proxy||f.model.getProxy());if(f.id&&!f.storeId){f.storeId=f.id;delete f.id}if(f.storeId){Ext.data.StoreManager.register(f)}f.mixins.sortable.initSortable.call(f);d=f.decodeFilters(f.filters);f.filters=Ext.create("Ext.util.MixedCollection");f.filters.addAll(d)},setProxy:function(d){var c=this;if(d instanceof Ext.data.proxy.Proxy){d.setModel(c.model)}else{if(Ext.isString(d)){d={type:d}}Ext.applyIf(d,{model:c.model});d=Ext.createByAlias("proxy."+d.type,d)}c.proxy=d;return c.proxy},getProxy:function(){return this.proxy},create:function(h,j){var i=this,g=Ext.ModelManager.create(Ext.applyIf(h,i.modelDefaults),i.model.modelName),f;j=j||{};Ext.applyIf(j,{action:"create",records:[g]});f=Ext.create("Ext.data.Operation",j);i.proxy.create(f,i.onProxyWrite,i);return g},read:function(){return this.load.apply(this,arguments)},onProxyRead:Ext.emptyFn,update:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"update",records:f.getUpdatedRecords()});e=Ext.create("Ext.data.Operation",d);return f.proxy.update(e,f.onProxyWrite,f)},onProxyWrite:function(e){var h=this,g=e.wasSuccessful(),f=e.getRecords();switch(e.action){case"create":h.onCreateRecords(f,e,g);break;case"update":h.onUpdateRecords(f,e,g);break;case"destroy":h.onDestroyRecords(f,e,g);break}if(g){h.fireEvent("write",h,e);h.fireEvent("datachanged",h)}Ext.callback(e.callback,e.scope||h,[f,e,g])},destroy:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"destroy",records:f.getRemovedRecords()});e=Ext.create("Ext.data.Operation",d);return f.proxy.destroy(e,f.onProxyWrite,f)},onBatchOperationComplete:function(c,d){return this.onProxyWrite(d)},onBatchComplete:function(l,h){var i=this,g=l.operations,j=g.length,k;i.suspendEvents();for(k=0;k<j;k++){i.onProxyWrite(g[k])}i.resumeEvents();i.fireEvent("datachanged",i)},onBatchException:function(c,d){},filterNew:function(b){return b.phantom===true&&b.isValid()},getNewRecords:function(){return[]},getUpdatedRecords:function(){return[]},filterUpdated:function(b){return b.dirty===true&&b.phantom!==true&&b.isValid()},getRemovedRecords:function(){return this.removed},filter:function(d,c){},decodeFilters:function(h){if(!Ext.isArray(h)){if(h===undefined){h=[]}else{h=[h]}}var i=h.length,g=Ext.util.Filter,f,j;for(j=0;j<i;j++){f=h[j];if(!(f instanceof g)){Ext.apply(f,{root:"data"});if(f.fn){f.filterFn=f.fn}if(typeof f=="function"){f={filterFn:f}}h[j]=new g(f)}}return h},clearFilter:function(b){},isFiltered:function(){},filterBy:function(c,d){},sync:function(){var k=this,g={},j=k.getNewRecords(),l=k.getUpdatedRecords(),h=k.getRemovedRecords(),i=false;if(j.length>0){g.create=j;i=true}if(l.length>0){g.update=l;i=true}if(h.length>0){g.destroy=h;i=true}if(i&&k.fireEvent("beforesync",g)!==false){k.proxy.batch(g,k.getBatchListeners())}},getBatchListeners:function(){var c=this,d={scope:c,exception:c.onBatchException};if(c.batchUpdateMode=="operation"){d.operationcomplete=c.onBatchOperationComplete}else{d.complete=c.onBatchComplete}return d},save:function(){return this.sync.apply(this,arguments)},load:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"read",filters:f.filters.items,sorters:f.getSorters()});e=Ext.create("Ext.data.Operation",d);if(f.fireEvent("beforeload",f,e)!==false){f.loading=true;f.proxy.read(e,f.onProxyLoad,f)}return f},afterEdit:function(d){var c=this;if(c.autoSync){c.sync()}c.fireEvent("update",c,d,Ext.data.Model.EDIT)},afterReject:function(b){this.fireEvent("update",this,b,Ext.data.Model.REJECT)},afterCommit:function(b){this.fireEvent("update",this,b,Ext.data.Model.COMMIT)},clearData:Ext.emptyFn,destroyStore:function(){var b=this;if(!b.isDestroyed){if(b.storeId){Ext.data.StoreManager.unregister(b)}b.clearData();b.data=null;b.tree=null;b.reader=b.writer=null;b.clearListeners();b.isDestroyed=true;if(b.implicitModel){Ext.destroy(b.model)}}},doSort:function(d){var c=this;if(c.remoteSort){c.load()}else{c.data.sortBy(d);c.fireEvent("datachanged",c)}},getCount:Ext.emptyFn,getById:Ext.emptyFn,removeAll:Ext.emptyFn,isLoading:function(){return this.loading}});Ext.define("Ext.ModelManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ModelMgr",requires:["Ext.data.Association"],singleton:true,typeName:"mtype",associationStack:[],registerType:function(h,e){var g=e.prototype,f;if(g&&g.isModel){f=e}else{if(!e.extend){e.extend="Ext.data.Model"}f=Ext.define(h,e)}this.types[h]=f;return f},onModelDefined:function(n){var i=this.associationStack,k=i.length,l=[],h,m,j;for(m=0;m<k;m++){h=i[m];if(h.associatedModel==n.modelName){l.push(h)}}for(m=0,k=l.length;m<k;m++){j=l[m];this.types[j.ownerModel].prototype.associations.add(Ext.data.Association.create(j));Ext.Array.remove(i,j)}},registerDeferredAssociation:function(b){this.associationStack.push(b)},getModel:function(c){var d=c;if(typeof d=="string"){d=this.types[d]}return d},create:function(h,e,g){var f=typeof e=="function"?e:this.types[e||h.name];return new f(h,g)}},function(){Ext.regModel=function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn('Ext.regModel has been deprecated. Models can now be created by extending Ext.data.Model: Ext.define("MyModel", {extend: "Ext.data.Model", fields: []});.')}return this.ModelManager.registerType.apply(this.ModelManager,arguments)}});Ext.define("Ext.data.StoreManager",{extend:"Ext.util.MixedCollection",alternateClassName:["Ext.StoreMgr","Ext.data.StoreMgr","Ext.StoreManager"],singleton:true,uses:["Ext.data.ArrayStore"],register:function(){for(var d=0,c;(c=arguments[d]);d++){this.add(c)}},unregister:function(){for(var d=0,c;(c=arguments[d]);d++){this.remove(this.lookup(c))}},lookup:function(l){if(Ext.isArray(l)){var g=["field1"],j=!Ext.isArray(l[0]),i=l,k,h;if(j){i=[];for(k=0,h=l.length;k<h;++k){i.push([l[k]])}}else{for(k=2,h=l[0].length;k<=h;++k){g.push("field"+k)}}return Ext.create("Ext.data.ArrayStore",{data:i,fields:g,autoDestroy:true,autoCreated:true,expanded:j})}if(Ext.isString(l)){return this.get(l)}else{return Ext.data.AbstractStore.create(l)}},getKey:function(b){return b.storeId}},function(){Ext.regStore=function(f,d){var e;if(Ext.isObject(f)){d=f}else{d.storeId=f}if(d instanceof Ext.data.Store){e=d}else{e=Ext.create("Ext.data.Store",d)}return Ext.data.StoreManager.register(e)};Ext.getStore=function(b){return Ext.data.StoreManager.lookup(b)}});Ext.define("Ext.ComponentManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ComponentMgr",singleton:true,typeName:"xtype",create:function(e,g){if(e instanceof Ext.AbstractComponent){return e}else{if(Ext.isString(e)){return Ext.createByAlias("widget."+e)}else{var h=e.xtype||g,f=e;return Ext.createByAlias("widget."+h,f)}}},registerType:function(c,d){this.types[c]=d;d[this.typeName]=c;d.prototype[this.typeName]=c}});Ext.define("Ext.FocusManager",{singleton:true,alternateClassName:"Ext.FocusMgr",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ComponentManager","Ext.ComponentQuery","Ext.util.HashMap","Ext.util.KeyNav"],enabled:false,focusElementCls:Ext.baseCSSPrefix+"focus-element",focusFrameCls:Ext.baseCSSPrefix+"focus-frame",whitelist:["textfield"],tabIndexWhitelist:["a","button","embed","frame","iframe","img","input","object","select","textarea"],constructor:function(){var d=this,c=Ext.ComponentQuery;d.addEvents("beforecomponentfocus","componentfocus","disable","enable");d.keyNav=Ext.create("Ext.util.KeyNav",Ext.getDoc(),{disabled:true,scope:d,backspace:d.focusLast,enter:d.navigateIn,esc:d.navigateOut,tab:d.navigateSiblings});d.focusData={};d.subscribers=Ext.create("Ext.util.HashMap");d.focusChain={};Ext.apply(c.pseudos,{focusable:function(k){var m=k.length,b=[],i=0,a,l=function(e){return e&&e.focusable!==false&&c.is(e,"[rendered]:not([destroying]):not([isDestroyed]):not([disabled]){isVisible(true)}{el && c.el.dom && c.el.isVisible()}")};for(;i<m;i++){a=k[i];if(l(a)){b.push(a)}}return b},nextFocus:function(k,l,b){b=b||1;l=parseInt(l,10);var m=k.length,i=l+b,a;for(;i!=l;i+=b){if(i>=m){i=0}else{if(i<0){i=m-1}}a=k[i];if(c.is(a,":focusable")){return[a]}else{if(a.placeholder&&c.is(a.placeholder,":focusable")){return[a.placeholder]}}}return[]},prevFocus:function(a,b){return this.nextFocus(a,b,-1)},root:function(j){var k=j.length,b=[],i=0,a;for(;i<k;i++){a=j[i];if(!a.ownerCt){b.push(a)}}return b}})},addXTypeToWhitelist:function(c){var d=this;if(Ext.isArray(c)){Ext.Array.forEach(c,d.addXTypeToWhitelist,d);return}if(!Ext.Array.contains(d.whitelist,c)){d.whitelist.push(c)}},clearComponent:function(b){clearTimeout(this.cmpFocusDelay);if(!b.isDestroyed){b.blur()}},disable:function(){var b=this;if(!b.enabled){return}delete b.options;b.enabled=false;Ext.ComponentManager.all.un("add",b.onComponentCreated,b);b.removeDOM();b.keyNav.disable();b.setFocusAll(false);b.fireEvent("disable",b)},enable:function(d){var c=this;if(d===true){d={focusFrame:true}}c.options=d=d||{};if(c.enabled){return}Ext.ComponentManager.all.on("add",c.onComponentCreated,c);c.initDOM(d);c.keyNav.enable();c.setFocusAll(true,d);c.focusEl.focus();delete c.focusedCmp;c.enabled=true;c.fireEvent("enable",c)},focusLast:function(c){var d=this;if(d.isWhitelisted(d.focusedCmp)){return true}if(d.previousFocusedCmp){d.previousFocusedCmp.focus()}},getRootComponents:function(){var f=this,h=Ext.ComponentQuery,e=h.query(":focusable:root:not([floating])"),g=h.query(":focusable:root[floating]");g.sort(function(a,b){return a.el.getZIndex()>b.el.getZIndex()});return g.concat(e)},initDOM:function(e){var h=this,g="&#160",f=h.focusFrameCls;if(!Ext.isReady){Ext.onReady(h.initDOM,h);return}if(!h.focusEl){h.focusEl=Ext.getBody().createChild({tabIndex:"-1",cls:h.focusElementCls,html:g})}if(!h.focusFrame&&e.focusFrame){h.focusFrame=Ext.getBody().createChild({cls:f,children:[{cls:f+"-top"},{cls:f+"-bottom"},{cls:f+"-left"},{cls:f+"-right"}],style:"top: -100px; left: -100px;"});h.focusFrame.setVisibilityMode(Ext.core.Element.DISPLAY);h.focusFrameWidth=h.focusFrame.child("."+f+"-top").getHeight();h.focusFrame.hide().setLeftTop(0,0)}},isWhitelisted:function(b){return b&&Ext.Array.some(this.whitelist,function(a){return b.isXType(a)})},navigateIn:function(i){var e=this,g=e.focusedCmp,h,j;if(!g){h=e.getRootComponents();if(h.length){h[0].focus()}}else{j=Ext.ComponentQuery.query(">:focusable",g)[0];if(j){j.focus()}else{if(Ext.isFunction(g.onClick)){i.button=0;g.onClick(i);g.focus()}}}},navigateOut:function(f){var d=this,e;if(!d.focusedCmp||!(e=d.focusedCmp.up(":focusable"))){d.focusEl.focus()}else{e.focus()}return true},navigateSiblings:function(u,z,o){var t=this,A=z||t,e=u.getKey(),w=Ext.EventObject,s=u.shiftKey||e==w.LEFT||e==w.UP,y=e==w.LEFT||e==w.RIGHT||e==w.UP||e==w.DOWN,v=s?"prev":"next",p,x,r;r=(A.focusedCmp&&A.focusedCmp.comp)||A.focusedCmp;if(!r&&!o){return}if(y&&t.isWhitelisted(r)){return true}o=o||r.up();if(o){p=r?Ext.Array.indexOf(o.getRefItems(),r):-1;x=Ext.ComponentQuery.query(">:"+v+"Focus("+p+")",o)[0];if(x&&r!==x){x.focus();return x}}},onComponentBlur:function(d,f){var e=this;if(e.focusedCmp===d){e.previousFocusedCmp=d;delete e.focusedCmp}if(e.focusFrame){e.focusFrame.hide()}},onComponentCreated:function(d,f,e){this.setFocus(e,true,this.options)},onComponentDestroy:function(b){this.setFocus(b,false)},onComponentFocus:function(v,y){var x=this,H=x.focusChain;if(!Ext.ComponentQuery.is(v,":focusable")){x.clearComponent(v);if(H[v.id]){return}var t=v.up();if(t){H[v.id]=true;t.focus()}return}x.focusChain={};clearTimeout(x.cmpFocusDelay);if(arguments.length!==2){x.cmpFocusDelay=Ext.defer(x.onComponentFocus,90,x,[v,y]);return}if(x.fireEvent("beforecomponentfocus",x,v,x.previousFocusedCmp)===false){x.clearComponent(v);return}x.focusedCmp=v;if(x.shouldShowFocusFrame(v)){var e="."+x.focusFrameCls+"-",G=x.focusFrame,D=x.focusFrameWidth,A=v.el.getPageBox(),s=A.top,F=A.left,w=A.width,C=A.height,B=G.child(e+"top"),E=G.child(e+"bottom"),u=G.child(e+"left"),z=G.child(e+"right");B.setWidth(w-2).setLeftTop(F+1,s);E.setWidth(w-2).setLeftTop(F+1,s+C-D);u.setHeight(C-2).setLeftTop(F,s+1);z.setHeight(C-2).setLeftTop(F+w-D,s+1);G.show()}x.fireEvent("componentfocus",x,v,x.previousFocusedCmp)},onComponentHide:function(j){var k=this,i=Ext.ComponentQuery,g=false,h,l;if(k.focusedCmp){h=i.query("[id="+k.focusedCmp.id+"]",j)[0];g=k.focusedCmp.id===j.id||h;if(h){k.clearComponent(h)}}k.clearComponent(j);if(g){l=i.query("^:focusable",j)[0];if(l){l.focus()}}},removeDOM:function(){var b=this;if(b.enabled||b.subscribers.length){return}Ext.destroy(b.focusEl,b.focusFrame);delete b.focusEl;delete b.focusFrame;delete b.focusFrameWidth},removeXTypeFromWhitelist:function(c){var d=this;if(Ext.isArray(c)){Ext.Array.forEach(c,d.removeXTypeFromWhitelist,d);return}Ext.Array.remove(d.whitelist,c)},setFocus:function(n,k,i){var o=this,p,l,m,j=function(a){return !Ext.Array.contains(o.tabIndexWhitelist,a.tagName.toLowerCase())&&a.tabIndex<=0};i=i||{};if(!n.rendered){n.on("afterrender",Ext.pass(o.setFocus,arguments,o),o,{single:true});return}p=n.getFocusEl();l=p.dom;if((k&&!o.focusData[n.id])||(!k&&o.focusData[n.id])){if(k){m={focusFrame:i.focusFrame};if(j(l)){m.tabIndex=l.tabIndex;l.tabIndex=-1}p.on({focus:m.focusFn=Ext.bind(o.onComponentFocus,o,[n],0),blur:m.blurFn=Ext.bind(o.onComponentBlur,o,[n],0),scope:o});n.on({hide:o.onComponentHide,close:o.onComponentHide,beforedestroy:o.onComponentDestroy,scope:o});o.focusData[n.id]=m}else{m=o.focusData[n.id];if("tabIndex" in m){l.tabIndex=m.tabIndex}p.un("focus",m.focusFn,o);p.un("blur",m.blurFn,o);n.un("hide",o.onComponentHide,o);n.un("close",o.onComponentHide,o);n.un("beforedestroy",o.onComponentDestroy,o);delete o.focusData[n.id]}}},setFocusAll:function(j,n){var k=this,h=Ext.ComponentManager.all.getArray(),i=h.length,l,m=0;for(;m<i;m++){k.setFocus(h[m],j,n)}},setupSubscriberKeys:function(i,k){var l=this,m=i.getFocusEl(),n=k.scope,h={backspace:l.focusLast,enter:l.navigateIn,esc:l.navigateOut,scope:l},j=function(a){if(l.focusedCmp===i){return l.navigateSiblings(a,l,i)}else{return l.navigateSiblings(a)}};Ext.iterate(k,function(a,b){h[a]=function(c){var d=j(c);if(Ext.isFunction(b)&&b.call(n||i,c,d)===true){return true}return d}},l);return Ext.create("Ext.util.KeyNav",m,h)},shouldShowFocusFrame:function(f){var d=this,e=d.options||{};if(!d.focusFrame||!f){return false}if(e.focusFrame){return true}if(d.focusData[f.id].focusFrame){return true}return false},subscribe:function(i,n){var k=this,l=Ext.Array,j={},m=k.subscribers,h=function(a){if(a.isContainer&&!m.containsKey(a.id)){l.forEach(a.query(">"),h);k.setFocus(a,true,n);a.on("add",j.onAdd,k)}else{if(!a.isContainer){k.setFocus(a,true,n)}}};if(!i||!i.isContainer){return}if(!i.rendered){i.on("afterrender",Ext.pass(k.subscribe,arguments,k),k,{single:true});return}k.initDOM(n);j.keyNav=k.setupSubscriberKeys(i,n.keys);j.onAdd=function(b,a,c){h(a)};i.on("beforedestroy",k.unsubscribe,k);h(i);m.add(i.id,j)},unsubscribe:function(h){var j=this,k=Ext.Array,l=j.subscribers,i,g=function(a){if(a.isContainer&&!l.containsKey(a.id)){k.forEach(a.query(">"),g);j.setFocus(a,false);a.un("add",i.onAdd,j)}else{if(!a.isContainer){j.setFocus(a,false)}}};if(!h||!l.containsKey(h.id)){return}i=l.get(h.id);i.keyNav.destroy();h.un("beforedestroy",j.unsubscribe,j);l.removeAtKey(h.id);g(h);j.removeDOM()}});Ext.define("Docs.view.cls.PackageLogic",{extend:"Docs.view.cls.Logic",create:function(){this.root={children:[],text:"Root"};this.packages={"":this.root};Ext.Array.forEach(this.classes,this.addClass,this);this.sortTree(this.root);return this.root},sortTree:function(b){b.children.sort(this.compare);Ext.Array.forEach(b.children,this.sortTree,this)},compare:function(g,h){if(g.leaf===h.leaf){var b=g.text.toLowerCase();var a=h.text.toLowerCase();return b>a?1:(b<a?-1:0)}else{return g.leaf?1:-1}},addClass:function(g){if(g["private"]&&!this.showPrivateClasses){return}if(this.packages[g.name]){var f=this.packages[g.name];var i=this.classNode(g);f.iconCls=i.iconCls;f.url=i.url}else{var h=this.packageName(g.name);var j=this.packages[h]||this.addPackage(h);if(j.leaf){j.leaf=false}var i=this.classNode(g);j.children.push(i);this.packages[g.name]=i}},addPackage:function(e){var g=this.packageName(e);var h=this.packages[g]||this.addPackage(g);var f=this.packageNode(e);h.children.push(f);this.packages[e]=f;return f},classNode:function(b){return{text:this.shortName(b.name),url:"#!/api/"+b.name,iconCls:b.icon,cls:b["private"]?"private":"",leaf:true,children:[]}},packageNode:function(b){return{text:this.shortName(b),iconCls:"icon-pkg",children:[]}},packageName:function(b){return b.slice(0,-this.shortName(b).length-1)||""},shortName:function(d){var f=d.split(/\./);var e=f.pop();while(f.length>1&&/^[A-Z]/.test(f[f.length-1])){e=f.pop()+"."+e}return e}});Ext.define("Docs.view.cls.InheritanceLogic",{extend:"Docs.view.cls.Logic",create:function(){this.root={children:[],text:"Root"};this.subclasses=this.buildLookupTable(this.classes);Ext.Array.forEach(this.classes,this.addClass,this);this.sortTree(this.root);return this.root},sortTree:function(b){b.children.sort(this.compare,this);Ext.Array.forEach(b.children,this.sortTree,this)},compare:function(g,h){var b=g.text.toLowerCase();var a=h.text.toLowerCase();return b>a?1:(b<a?-1:0)},buildLookupTable:function(d){var c={};Ext.Array.forEach(d,function(b){if(b["private"]&&!this.showPrivateClasses){return}var a=b["extends"];if(a&&a!=="Object"){if(!c[a]){c[a]=[]}c[a].push(b)}},this);return c},classNode:function(b){return{text:b.name,url:"#!/api/"+b.name,iconCls:b.icon,cls:b["private"]?"private":""}},addClass:function(e){if(e["private"]&&!this.showPrivateClasses){return}var d=e["extends"];if(!d||d==="Object"){var f=this.classNode(e);this.root.children.push(f);f.children=this.getSubclasses(e.name);f.leaf=f.children.length===0}},getSubclasses:function(b){if(!this.subclasses[b]){return[]}return Ext.Array.map(this.subclasses[b],function(a){var d=this.classNode(a);d.children=this.getSubclasses(a.name);d.leaf=d.children.length===0;return d},this)}});Ext.define("Ext.form.Labelable",{requires:["Ext.XTemplate"],labelableRenderTpl:['<tpl if="!hideLabel && !(!fieldLabel && hideEmptyLabel)">','<label<tpl if="inputId"> for="{inputId}"</tpl> class="{labelCls}"<tpl if="labelStyle"> style="{labelStyle}"</tpl>>','<tpl if="fieldLabel">{fieldLabel}{labelSeparator}</tpl>',"</label>","</tpl>",'<div class="{baseBodyCls} {fieldBodyCls}"<tpl if="inputId"> id="{baseBodyCls}-{inputId}"</tpl> role="presentation">{subTplMarkup}</div>','<div class="{errorMsgCls}" style="display:none"></div>','<div class="{clearCls}" role="presentation"><!-- --></div>',{compiled:true,disableFormats:true}],activeErrorsTpl:['<tpl if="errors && errors.length">','<ul><tpl for="errors"><li<tpl if="xindex == xcount"> class="last"</tpl>>{.}</li></tpl></ul>',"</tpl>"],isFieldLabelable:true,formItemCls:Ext.baseCSSPrefix+"form-item",labelCls:Ext.baseCSSPrefix+"form-item-label",errorMsgCls:Ext.baseCSSPrefix+"form-error-msg",baseBodyCls:Ext.baseCSSPrefix+"form-item-body",fieldBodyCls:"",clearCls:Ext.baseCSSPrefix+"clear",invalidCls:Ext.baseCSSPrefix+"form-invalid",fieldLabel:undefined,labelAlign:"left",labelWidth:100,labelPad:5,labelSeparator:":",hideLabel:false,hideEmptyLabel:true,preventMark:false,autoFitErrors:true,msgTarget:"qtip",initLabelable:function(){this.addCls(this.formItemCls);this.addEvents("errorchange")},getFieldLabel:function(){return this.fieldLabel||""},getLabelableRenderData:function(){var g=this,e=g.labelAlign,h=g.labelPad,f;if(e==="top"){f="margin-bottom:"+h+"px;"}else{f="margin-right:"+h+"px;";if(Ext.isBorderBox){f+="width:"+g.labelWidth+"px;"}}return Ext.copyTo({inputId:g.getInputId(),fieldLabel:g.getFieldLabel(),labelStyle:f+(g.labelStyle||""),subTplMarkup:g.getSubTplMarkup()},g,"hideLabel,hideEmptyLabel,labelCls,fieldBodyCls,baseBodyCls,errorMsgCls,clearCls,labelSeparator",true)},getLabelableSelectors:function(){return{labelEl:"label."+this.labelCls,bodyEl:"."+this.baseBodyCls,errorEl:"."+this.errorMsgCls}},getSubTplMarkup:function(){return""},getInputId:function(){return""},getActiveError:function(){return this.activeError||""},hasActiveError:function(){return !!this.getActiveError()},setActiveError:function(b){this.activeError=b;this.activeErrors=[b];this.renderActiveError()},getActiveErrors:function(){return this.activeErrors||[]},setActiveErrors:function(b){this.activeErrors=b;this.activeError=this.getTpl("activeErrorsTpl").apply({errors:b});this.renderActiveError()},unsetActiveError:function(){delete this.activeError;delete this.activeErrors;this.renderActiveError()},renderActiveError:function(){var f=this,d=f.getActiveError(),e=!!d;if(d!==f.lastActiveError){f.fireEvent("errorchange",f,d);f.lastActiveError=d}if(f.rendered&&!f.isDestroyed&&!f.preventMark){f.el[e?"addCls":"removeCls"](f.invalidCls);f.getActionEl().dom.setAttribute("aria-invalid",e);f.errorEl.dom.innerHTML=d}},setFieldDefaults:function(c){var d=this;Ext.iterate(c,function(b,a){if(!d.hasOwnProperty(b)){d[b]=a}})},getBodyNaturalWidth:function(){return this.bodyEl.getWidth()}});Ext.define("Ext.layout.component.Component",{extend:"Ext.layout.Layout",type:"component",monitorChildren:true,initLayout:function(){var f=this,e=f.owner,d=e.el;if(!f.initialized){if(e.frameSize){f.frameSize=e.frameSize}else{e.frameSize=f.frameSize={top:0,left:0,bottom:0,right:0}}}f.callParent(arguments)},beforeLayout:function(v,m,l,o){this.callParent(arguments);var p=this,u=p.owner,t=u.ownerCt,r=u.layout,s=u.isVisible(true),w=u.el.child,n;p.previousComponentSize=p.lastComponentSize;if(!l&&((!Ext.isNumber(v)&&u.isFixedWidth())||(!Ext.isNumber(m)&&u.isFixedHeight()))&&o!==t){p.doContainerLayout();return false}if(!s&&(u.hiddenAncestor||u.floating)){if(u.hiddenAncestor){n=u.hiddenAncestor.layoutOnShow;n.remove(u);n.add(u)}u.needsLayout={width:v,height:m,isSetSize:false}}if(s&&this.needsLayout(v,m)){return u.beforeComponentLayout(v,m,l,o)}else{return false}},needsLayout:function(i,g){var h=this,j,f;h.lastComponentSize=h.lastComponentSize||{width:-Infinity,height:-Infinity};j=!Ext.isDefined(i)||h.lastComponentSize.width!==i;f=!Ext.isDefined(g)||h.lastComponentSize.height!==g;return !h.isSizing&&(h.childrenChanged||j||f)},setElementSize:function(f,d,e){if(d!==undefined&&e!==undefined){f.setSize(d,e)}else{if(e!==undefined){f.setHeight(e)}else{if(d!==undefined){f.setWidth(d)}}}},getTarget:function(){return this.owner.el},getRenderTarget:function(){return this.owner.el},setTargetSize:function(m,i){var l=this;l.setElementSize(l.owner.el,m,i);if(l.owner.frameBody){var j=l.getTargetInfo(),k=j.padding,n=j.border,h=l.frameSize;l.setElementSize(l.owner.frameBody,Ext.isNumber(m)?(m-h.left-h.right-k.left-k.right-n.left-n.right):m,Ext.isNumber(i)?(i-h.top-h.bottom-k.top-k.bottom-n.top-n.bottom):i)}l.autoSized={width:!Ext.isNumber(m),height:!Ext.isNumber(i)};l.lastComponentSize={width:m,height:i}},getTargetInfo:function(){if(!this.targetInfo){var c=this.getTarget(),d=this.owner.getTargetEl();this.targetInfo={padding:{top:c.getPadding("t"),right:c.getPadding("r"),bottom:c.getPadding("b"),left:c.getPadding("l")},border:{top:c.getBorderWidth("t"),right:c.getBorderWidth("r"),bottom:c.getBorderWidth("b"),left:c.getBorderWidth("l")},bodyMargin:{top:d.getMargin("t"),right:d.getMargin("r"),bottom:d.getMargin("b"),left:d.getMargin("l")}}}return this.targetInfo},doOwnerCtLayouts:function(){var i=this.owner,n=i.ownerCt,p,k,o=this.lastComponentSize,l=this.previousComponentSize,j=(l&&o&&o.width)?o.width!==l.width:true,m=(l&&o&&o.height)?o.height!==l.height:true;if(!n||(!j&&!m)){return}p=n.componentLayout;k=n.layout;if(!i.floating&&p&&p.monitorChildren&&!p.layoutBusy){if(!n.suspendLayout&&k&&!k.layoutBusy){if(((j&&!n.isFixedWidth())||(m&&!n.isFixedHeight()))){this.isSizing=true;n.doComponentLayout();this.isSizing=false}else{if(k.bindToOwnerCtContainer===true){k.layout()}}}}},doContainerLayout:function(){var h=this,g=h.owner,j=g.ownerCt,i=g.layout,f;if(!g.suspendLayout&&i&&i.isLayout&&!i.layoutBusy&&!i.isAutoDock){i.layout()}if(j&&j.componentLayout){f=j.componentLayout;if(!g.floating&&f.monitorChildren&&!f.layoutBusy){f.childrenChanged=true}}},afterLayout:function(h,f,e,g){this.doContainerLayout();this.owner.afterComponentLayout(h,f,e,g)}});Ext.define("Ext.layout.component.field.Field",{alias:["layout.field"],extend:"Ext.layout.component.Component",uses:["Ext.tip.QuickTip","Ext.util.TextMetrics"],type:"field",beforeLayout:function(d,e){var f=this;return f.callParent(arguments)||(!f.owner.preventMark&&f.activeError!==f.owner.getActiveError())},onLayout:function(A,o){var v=this,z=v.owner,w=v.getLabelStrategy(),p=v.getErrorStrategy(),s=Ext.isDefined,n=Ext.isNumber,t,u,r,y,x;t=v.lastComponentSize||{};if(!s(A)){A=t.width;if(A<0){A=x}}if(!s(o)){o=t.height;if(o<0){o=x}}u=!n(A);r=!n(o);y={autoWidth:u,autoHeight:r,width:u?z.getBodyNaturalWidth():A,height:o,setOuterWidth:false,insets:{top:0,right:0,bottom:0,left:0}};w.prepare(z,y);p.prepare(z,y);w.adjustHorizInsets(z,y);p.adjustHorizInsets(z,y);w.layoutHoriz(z,y);p.layoutHoriz(z,y);w.adjustVertInsets(z,y);p.adjustVertInsets(z,y);w.layoutVert(z,y);p.layoutVert(z,y);if(u&&r){v.setElementSize(z.el,(y.setOuterWidth?y.width:x),y.height)}else{v.setTargetSize((!u||y.setOuterWidth?y.width:x),y.height)}v.sizeBody(y);v.activeError=z.getActiveError()},sizeBody:function(k){var l=this,p=l.owner,o=k.insets,i=k.width,n=k.height,m=Ext.isNumber(i)?i-o.left-o.right:i,j=Ext.isNumber(n)?n-o.top-o.bottom:n;l.setElementSize(p.bodyEl,m,j);l.sizeBodyContents(m,j)},sizeBodyContents:Ext.emptyFn,getLabelStrategy:function(){var d=this,f=d.labelStrategies,e=d.owner.labelAlign;return f[e]||f.base},getErrorStrategy:function(){var h=this,f=h.owner,g=h.errorStrategies,e=f.msgTarget;return !f.preventMark&&Ext.isString(e)?(g[e]||g.elementId):g.none},labelStrategies:(function(){var e=Ext.applyIf,f=Ext.emptyFn,h={prepare:function(d,a){var c=d.labelCls+"-"+d.labelAlign,b=d.labelEl;if(b&&!b.hasCls(c)){b.addCls(c)}},adjustHorizInsets:f,adjustVertInsets:f,layoutHoriz:f,layoutVert:f},g=e({prepare:function(b,a){h.prepare(b,a);if(a.autoWidth){a.width+=(!b.labelEl?0:b.labelWidth+b.labelPad)}a.setOuterWidth=true},adjustHorizInsets:function(b,a){if(b.labelEl){a.insets.left+=b.labelWidth+b.labelPad}},layoutHoriz:function(c,a){var b=c.labelEl;if(b&&!c.isLabelSized&&!Ext.isBorderBox){b.setWidth(c.labelWidth);c.isLabelSized=true}}},h);return{base:h,top:e({adjustVertInsets:function(c,a){var b=c.labelEl;if(b){a.insets.top+=Ext.util.TextMetrics.measure(b,c.fieldLabel,a.width).height+b.getFrameWidth("tb")+c.labelPad}}},h),left:g,right:g}})(),errorStrategies:(function(){function j(b,c){var a=b.getStyle("display")!=="none";if(c!==a){b.setDisplayed(c)}}function h(b,c,a){if(b.getStyle(c)!==a){b.setStyle(c,a)}}var f=Ext.applyIf,g=Ext.emptyFn,i={prepare:function(a){j(a.errorEl,false)},adjustHorizInsets:g,adjustVertInsets:g,layoutHoriz:g,layoutVert:g};return{none:i,side:f({prepare:function(b){var a=b.errorEl;a.addCls(Ext.baseCSSPrefix+"form-invalid-icon");Ext.layout.component.field.Field.initTip();a.dom.setAttribute("data-errorqtip",b.getActiveError()||"");j(a,b.hasActiveError())},adjustHorizInsets:function(b,a){if(b.autoFitErrors&&b.hasActiveError()){a.insets.right+=b.errorEl.getWidth()}},layoutHoriz:function(b,a){if(b.hasActiveError()){h(b.errorEl,"left",a.width-a.insets.right+"px")}},layoutVert:function(b,a){if(b.hasActiveError()){h(b.errorEl,"top",a.insets.top+"px")}}},i),under:f({prepare:function(c){var a=c.errorEl,b=Ext.baseCSSPrefix+"form-invalid-under";if(!a.hasCls(b)){a.addCls(b)}j(a,c.hasActiveError())},adjustVertInsets:function(b,a){if(b.autoFitErrors){a.insets.bottom+=b.errorEl.getHeight()}},layoutHoriz:function(d,b){var a=d.errorEl,c=b.insets;h(a,"width",b.width-c.right-c.left+"px");h(a,"marginLeft",c.left+"px")}},i),qtip:f({prepare:function(a){j(a.errorEl,false);Ext.layout.component.field.Field.initTip();a.getActionEl().dom.setAttribute("data-errorqtip",a.getActiveError()||"")}},i),title:f({prepare:function(a){j(a.errorEl,false);a.el.dom.title=a.getActiveError()||""}},i),elementId:f({prepare:function(b){j(b.errorEl,false);var a=Ext.fly(b.msgTarget);if(a){a.dom.innerHTML=b.getActiveError()||"";a.setDisplayed(b.hasActiveError())}}},i)}})(),statics:{initTip:function(){var b=this.tip;if(!b){b=this.tip=Ext.create("Ext.tip.QuickTip",{baseCls:Ext.baseCSSPrefix+"form-invalid-tip",renderTo:Ext.getBody()});b.tagConfig=Ext.apply({},{attribute:"errorqtip"},b.tagConfig)}},destroyTip:function(){var b=this.tip;if(b){b.destroy();delete this.tip}}}});Ext.define("Ext.layout.component.field.Trigger",{alias:["layout.triggerfield"],extend:"Ext.layout.component.field.Field",type:"triggerfield",sizeBodyContents:function(m,h){var l=this,i=l.owner,j=i.inputEl,n=i.triggerWrap,k=i.getTriggerWidth();if(i.hideTrigger||i.readOnly||k>0){l.setElementSize(j,Ext.isNumber(m)?m-k:m);n.setWidth(k)}}});Ext.define("Ext.layout.component.field.Text",{extend:"Ext.layout.component.field.Field",alias:"layout.textfield",requires:["Ext.util.TextMetrics"],type:"textfield",beforeLayout:function(k,g){var j=this,h=j.owner,l=this.lastValue,i=h.getRawValue();this.lastValue=i;return j.callParent(arguments)||(h.grow&&i!==l)},sizeBodyContents:function(f,e){var d=this.adjustForGrow(f,e);this.setElementSize(this.owner.inputEl,d[0],d[1])},adjustForGrow:function(n,p){var m=this,i=m.owner,k,l,o,j=[n,p];if(i.grow){k=i.inputEl;l=(k.dom.value||(i.hasFocus?"":i.emptyText)||"")+i.growAppend;o=k.getTextWidth(l)+k.getBorderWidth("lr")+k.getPadding("lr");j[0]=Ext.Number.constrain(o,i.growMin,Math.max(i.growMin,Math.min(i.growMax,Ext.isNumber(n)?n:Infinity)))}return j}});Ext.define("Ext.layout.component.AbstractDock",{extend:"Ext.layout.component.Component",type:"dock",autoSizing:true,beforeLayout:function(){var b=this.callParent(arguments);if(b!==false&&(!this.initializedBorders||this.childrenChanged)&&(!this.owner.border||this.owner.manageBodyBorders)){this.handleItemBorders();this.initializedBorders=true}return b},handleItemBorders:function(){var w=this.owner,s=w.body,i=this.getLayoutItems(),p={top:[],right:[],bottom:[],left:[]},v=this.borders,t={top:"bottom",right:"left",bottom:"top",left:"right"},u,o,m,n,r;for(u=0,o=i.length;u<o;u++){m=i[u];n=m.dock;if(m.ignoreBorderManagement){continue}if(!p[n].satisfied){p[n].push(m);p[n].satisfied=true}if(!p.top.satisfied&&t[n]!=="top"){p.top.push(m)}if(!p.right.satisfied&&t[n]!=="right"){p.right.push(m)}if(!p.bottom.satisfied&&t[n]!=="bottom"){p.bottom.push(m)}if(!p.left.satisfied&&t[n]!=="left"){p.left.push(m)}}if(v){for(r in v){if(v.hasOwnProperty(r)){o=v[r].length;if(!w.manageBodyBorders){for(u=0;u<o;u++){v[r][u].removeCls(Ext.baseCSSPrefix+"docked-noborder-"+r)}if(!v[r].satisfied&&!w.bodyBorder){s.removeCls(Ext.baseCSSPrefix+"docked-noborder-"+r)}}else{if(v[r].satisfied){s.setStyle("border-"+r+"-width","")}}}}}for(r in p){if(p.hasOwnProperty(r)){o=p[r].length;if(!w.manageBodyBorders){for(u=0;u<o;u++){p[r][u].addCls(Ext.baseCSSPrefix+"docked-noborder-"+r)}if((!p[r].satisfied&&!w.bodyBorder)||w.bodyBorder===false){s.addCls(Ext.baseCSSPrefix+"docked-noborder-"+r)}}else{if(p[r].satisfied){s.setStyle("border-"+r+"-width","1px")}}}}this.borders=p},onLayout:function(A,n){var s=this,z=s.owner,u=z.body,v=z.layout,t=s.getTarget(),p=false,o=false,r,w,x;var y=s.info={boxes:[],size:{width:A,height:n},bodyBox:{}};delete v.isAutoDock;Ext.applyIf(y,s.getTargetInfo());if(z&&z.ownerCt&&z.ownerCt.layout&&z.ownerCt.layout.isLayout){if(!Ext.isNumber(z.height)||!Ext.isNumber(z.width)){z.ownerCt.layout.bindToOwnerCtComponent=true}else{z.ownerCt.layout.bindToOwnerCtComponent=false}}if(n===undefined||n===null||A===undefined||A===null){r=y.padding;w=y.border;x=s.frameSize;if((n===undefined||n===null)&&(A===undefined||A===null)){o=true;p=true;s.setTargetSize(null);s.setBodyBox({width:null,height:null})}else{if(n===undefined||n===null){o=true;s.setTargetSize(A);s.setBodyBox({width:A-r.left-w.left-r.right-w.right-x.left-x.right,height:null})}else{p=true;s.setTargetSize(null,n);s.setBodyBox({width:null,height:n-r.top-r.bottom-w.top-w.bottom-x.top-x.bottom})}}if(v&&v.isLayout){v.bindToOwnerCtComponent=true;v.isAutoDock=v.autoSize!==true;v.layout();y.autoSizedCtLayout=v.autoSize===true}s.dockItems(p,o);s.setTargetSize(y.size.width,y.size.height)}else{s.setTargetSize(A,n);s.dockItems()}s.callParent(arguments)},dockItems:function(j,i){this.calculateDockBoxes(j,i);var k=this.info,n=k.boxes,l=n.length,m,h;for(h=0;h<l;h++){m=n[h];m.item.setPosition(m.x,m.y);if((j||i)&&m.layout&&m.layout.isLayout){m.layout.bindToOwnerCtComponent=true}}if(!k.autoSizedCtLayout){if(j){k.bodyBox.width=null}if(i){k.bodyBox.height=null}}this.setBodyBox(k.bodyBox)},calculateDockBoxes:function(v,u){var y=this,B=y.getTarget(),z=y.getLayoutItems(),H=y.owner,s=H.body,G=y.info,i=G.size,A=z.length,w=G.padding,E=G.border,F=y.frameSize,t,D,C,x;if(u){i.height=s.getHeight()+w.top+E.top+w.bottom+E.bottom+F.top+F.bottom}else{i.height=B.getHeight()}if(v){i.width=s.getWidth()+w.left+E.left+w.right+E.right+F.left+F.right}else{i.width=B.getWidth()}G.bodyBox={x:w.left+F.left,y:w.top+F.top,width:i.width-w.left-E.left-w.right-E.right-F.left-F.right,height:i.height-E.top-w.top-E.bottom-w.bottom-F.top-F.bottom};for(D=0;D<A;D++){t=z[D];C=y.initBox(t);if(u===true){C=y.adjustAutoBox(C,D)}else{C=y.adjustSizedBox(C,D)}G.boxes.push(C)}},adjustSizedBox:function(n,o){var j=this.info.bodyBox,i=this.frameSize,l=this.info,m=l.padding,k=n.type,p=l.border;switch(k){case"top":n.y=j.y;break;case"left":n.x=j.x;break;case"bottom":n.y=(j.y+j.height)-n.height;break;case"right":n.x=(j.x+j.width)-n.width;break}if(n.ignoreFrame){if(k=="bottom"){n.y+=(i.bottom+m.bottom+p.bottom)}else{n.y-=(i.top+m.top+p.top)}if(k=="right"){n.x+=(i.right+m.right+p.right)}else{n.x-=(i.left+m.left+p.left)}}if(!n.overlay){switch(k){case"top":j.y+=n.height;j.height-=n.height;break;case"left":j.x+=n.width;j.width-=n.width;break;case"bottom":j.height-=n.height;break;case"right":j.width-=n.width;break}}return n},adjustAutoBox:function(y,v){var E=this.info,F=this.owner,u=E.bodyBox,i=E.size,x=E.boxes,A=x.length,s=y.type,B=this.frameSize,r=E.padding,C=E.border,D=E.autoSizedCtLayout,t=(A<v)?A:v,z,w;if(s=="top"||s=="bottom"){for(z=0;z<t;z++){w=x[z];if(w.stretched&&w.type=="left"||w.type=="right"){w.height+=y.height}else{if(w.type=="bottom"){w.y+=y.height}}}}switch(s){case"top":y.y=u.y;if(!y.overlay){u.y+=y.height;if(F.isFixedHeight()){u.height-=y.height}else{i.height+=y.height}}break;case"bottom":if(!y.overlay){if(F.isFixedHeight()){u.height-=y.height}else{i.height+=y.height}}y.y=(u.y+u.height);break;case"left":y.x=u.x;if(!y.overlay){u.x+=y.width;if(F.isFixedWidth()){u.width-=y.width}else{i.width+=y.width}}break;case"right":if(!y.overlay){if(F.isFixedWidth()){u.width-=y.width}else{i.width+=y.width}}y.x=(u.x+u.width);break}if(y.ignoreFrame){if(s=="bottom"){y.y+=(B.bottom+r.bottom+C.bottom)}else{y.y-=(B.top+r.top+C.top)}if(s=="right"){y.x+=(B.right+r.right+C.right)}else{y.x-=(B.left+r.left+C.left)}}return y},initBox:function(k){var m=this,n=m.info.bodyBox,u=(k.dock=="top"||k.dock=="bottom"),t=m.owner,p=m.frameSize,s=m.info,l=s.padding,r=s.border,o={item:k,overlay:k.overlay,type:k.dock,offsets:Ext.core.Element.parseBox(k.offsets||{}),ignoreFrame:k.ignoreParentFrame};if(k.stretch!==false){o.stretched=true;if(u){o.x=n.x+o.offsets.left;o.width=n.width-(o.offsets.left+o.offsets.right);if(o.ignoreFrame){o.width+=(p.left+p.right+r.left+r.right+l.left+l.right)}k.setCalculatedSize(o.width-k.el.getMargin("lr"),undefined,t)}else{o.y=n.y+o.offsets.top;o.height=n.height-(o.offsets.bottom+o.offsets.top);if(o.ignoreFrame){o.height+=(p.top+p.bottom+r.top+r.bottom+l.top+l.bottom)}k.setCalculatedSize(undefined,o.height-k.el.getMargin("tb"),t);if(!Ext.supports.ComputedStyle){k.el.repaint()}}}else{k.doComponentLayout();o.width=k.getWidth()-(o.offsets.left+o.offsets.right);o.height=k.getHeight()-(o.offsets.bottom+o.offsets.top);o.y+=o.offsets.top;if(u){o.x=(k.align=="right")?n.width-o.width:n.x;o.x+=o.offsets.left}}if(o.width==undefined){o.width=k.getWidth()+k.el.getMargin("lr")}if(o.height==undefined){o.height=k.getHeight()+k.el.getMargin("tb")}return o},getLayoutItems:function(){var h=this.owner.getDockedItems(),g=h.length,e=0,f=[];for(;e<g;e++){if(h[e].isVisible(true)){f.push(h[e])}}return f},renderItems:function(n,p){var u=p.dom.childNodes,r=u.length,o=n.length,j=0,s,t,m,i;for(s=0;s<r;s++){m=Ext.get(u[s]);for(t=0;t<o;t++){i=n[t];if(i.rendered&&(m.id==i.el.id||m.down("#"+i.el.id))){break}}if(t===o){j++}}for(s=0,t=0;s<o;s++,t++){i=n[s];if(s===t&&(i.dock==="right"||i.dock==="bottom")){t+=j}if(i&&!i.rendered){this.renderItem(i,p,t)}else{if(!this.isValidParent(i,p,t)){this.moveItem(i,p,t)}}}},setBodyBox:function(m){var k=this,s=k.owner,l=s.body,r=k.info,n=r.bodyMargin,j=r.padding,o=r.border,p=k.frameSize;if(s.collapsed){return}if(Ext.isNumber(m.width)){m.width-=n.left+n.right}if(Ext.isNumber(m.height)){m.height-=n.top+n.bottom}k.setElementSize(l,m.width,m.height);if(Ext.isNumber(m.x)){l.setLeft(m.x-j.left-p.left)}if(Ext.isNumber(m.y)){l.setTop(m.y-j.top-p.top)}},configureItem:function(d,c){this.callParent(arguments);if(d.dock=="top"||d.dock=="bottom"){d.layoutManagedWidth=1;d.layoutManagedHeight=2}else{d.layoutManagedWidth=2;d.layoutManagedHeight=1}d.addCls(Ext.baseCSSPrefix+"docked");d.addClsWithUI("docked-"+d.dock)},afterRemove:function(d){this.callParent(arguments);if(this.itemCls){d.el.removeCls(this.itemCls+"-"+d.dock)}var c=d.el.dom;if(!d.destroying&&c){c.parentNode.removeChild(c)}this.childrenChanged=true}});Ext.define("Ext.layout.component.Dock",{alias:["layout.dock"],extend:"Ext.layout.component.AbstractDock"});Ext.define("Ext.layout.container.Auto",{alias:["layout.auto","layout.autocontainer"],extend:"Ext.layout.container.Container",type:"autocontainer",bindToOwnerCtComponent:true,onLayout:function(h,i){var j=this,g=j.getLayoutItems(),k=g.length,l;if(k){if(!j.clearEl){j.clearEl=j.getRenderTarget().createChild({cls:Ext.baseCSSPrefix+"clear",role:"presentation"})}for(l=0;l<k;l++){j.setItemSize(g[l])}}},configureItem:function(b){this.callParent(arguments);b.layoutManagedHeight=2;b.layoutManagedWidth=2}});Ext.define("Ext.fx.target.Element",{extend:"Ext.fx.target.Target",type:"element",getElVal:function(d,e,f){if(f==undefined){if(e==="x"){f=d.getX()}else{if(e==="y"){f=d.getY()}else{if(e==="scrollTop"){f=d.getScroll().top}else{if(e==="scrollLeft"){f=d.getScroll().left}else{if(e==="height"){f=d.getHeight()}else{if(e==="width"){f=d.getWidth()}else{f=d.getStyle(e)}}}}}}}return f},getAttr:function(e,f){var d=this.target;return[[d,this.getElVal(d,e,f)]]},setAttr:function(n){var r=this.target,o=n.length,i,p,v,s,u,w,t,j;for(s=0;s<o;s++){i=n[s].attrs;for(p in i){if(i.hasOwnProperty(p)){w=i[p].length;for(u=0;u<w;u++){v=i[p][u];t=v[0];j=v[1];if(p==="x"){t.setX(j)}else{if(p==="y"){t.setY(j)}else{if(p==="scrollTop"){t.scrollTo("top",j)}else{if(p==="scrollLeft"){t.scrollTo("left",j)}else{t.setStyle(p,j)}}}}}}}}}});Ext.define("Ext.fx.target.CompositeElement",{extend:"Ext.fx.target.Element",isComposite:true,constructor:function(b){b.id=b.id||Ext.id(null,"ext-composite-");this.callParent([b])},getAttr:function(f,g){var e=[],h=this.target;h.each(function(a){e.push([a,this.getElVal(a,f,g)])},this);return e}});Ext.define("Ext.fx.target.Sprite",{extend:"Ext.fx.target.Target",type:"draw",getFromPrim:function(d,e){var f;if(e=="translate"){f={x:d.attr.translation.x||0,y:d.attr.translation.y||0}}else{if(e=="rotate"){f={degrees:d.attr.rotation.degrees||0,x:d.attr.rotation.x,y:d.attr.rotation.y}}else{f=d.attr[e]}}return f},getAttr:function(d,c){return[[this.target,c!=undefined?c:this.getFromPrim(this.target,d)]]},setAttr:function(t){var x=t.length,v=[],i,y,j,z,C,r,s,A,B,u,w,D;for(A=0;A<x;A++){i=t[A].attrs;for(y in i){j=i[y];D=j.length;for(B=0;B<D;B++){C=j[B][0];z=j[B][1];if(y==="translate"){s={x:z.x,y:z.y}}else{if(y==="rotate"){u=z.x;if(isNaN(u)){u=null}w=z.y;if(isNaN(w)){w=null}s={degrees:z.degrees,x:u,y:w}}else{if(y==="width"||y==="height"||y==="x"||y==="y"){s=parseFloat(z)}else{s=z}}}r=Ext.Array.indexOf(v,C);if(r==-1){v.push([C,{}]);r=v.length-1}v[r][1][y]=s}}}x=v.length;for(A=0;A<x;A++){C=v[A];C[0].setAttributes(C[1])}this.target.redraw()}});Ext.define("Ext.fx.target.CompositeSprite",{extend:"Ext.fx.target.Sprite",getAttr:function(f,g){var e=[],h=this.target;h.each(function(a){e.push([a,g!=undefined?g:this.getFromPrim(a,f)])},this);return e}});Ext.define("Ext.fx.target.Component",{extend:"Ext.fx.target.Target",type:"component",getPropMethod:{top:function(){return this.getPosition(true)[1]},left:function(){return this.getPosition(true)[0]},x:function(){return this.getPosition()[0]},y:function(){return this.getPosition()[1]},height:function(){return this.getHeight()},width:function(){return this.getWidth()},opacity:function(){return this.el.getStyle("opacity")}},compMethod:{top:"setPosition",left:"setPosition",x:"setPagePosition",y:"setPagePosition",height:"setSize",width:"setSize",opacity:"setOpacity"},getAttr:function(d,c){return[[this.target,c!==undefined?c:this.getPropMethod[d].call(this.target)]]},setAttr:function(H,A,D){var i=this,w=i.target,j=H.length,F,v,E,z,B,o,x,C,h,G,y;for(z=0;z<j;z++){F=H[z].attrs;for(v in F){x=F[v].length;o={setPosition:{},setPagePosition:{},setSize:{},setOpacity:{}};for(B=0;B<x;B++){E=F[v][B];o[i.compMethod[v]].target=E[0];o[i.compMethod[v]][v]=E[1]}if(o.setPosition.target){E=o.setPosition;C=(E.left===undefined)?undefined:parseInt(E.left,10);h=(E.top===undefined)?undefined:parseInt(E.top,10);E.target.setPosition(C,h)}if(o.setPagePosition.target){E=o.setPagePosition;E.target.setPagePosition(E.x,E.y)}if(o.setSize.target){E=o.setSize;G=(E.width===undefined)?E.target.getWidth():parseInt(E.width,10);y=(E.height===undefined)?E.target.getHeight():parseInt(E.height,10);if(D||i.dynamic){E.target.componentLayout.childrenChanged=true;if(i.layoutAnimation){E.target.setCalculatedSize(G,y)}else{E.target.setSize(G,y)}}else{E.target.el.setSize(G,y)}}if(o.setOpacity.target){E=o.setOpacity;E.target.el.setStyle("opacity",E.opacity)}}}}});Ext.define("Ext.fx.Manager",{singleton:true,requires:["Ext.util.MixedCollection","Ext.fx.target.Element","Ext.fx.target.CompositeElement","Ext.fx.target.Sprite","Ext.fx.target.CompositeSprite","Ext.fx.target.Component"],mixins:{queue:"Ext.fx.Queue"},constructor:function(){this.items=Ext.create("Ext.util.MixedCollection");this.mixins.queue.constructor.call(this)},interval:16,forceJS:true,createTarget:function(g){var e=this,h=!e.forceJS&&Ext.supports.Transitions,f;e.useCSS3=h;if(Ext.isString(g)){g=Ext.get(g)}if(g&&g.tagName){g=Ext.get(g);f=Ext.create("Ext.fx.target.Element"+(h?"CSS":""),g);e.targets.add(f);return f}if(Ext.isObject(g)){if(g.dom){f=Ext.create("Ext.fx.target.Element"+(h?"CSS":""),g)}else{if(g.isComposite){f=Ext.create("Ext.fx.target.CompositeElement"+(h?"CSS":""),g)}else{if(g.isSprite){f=Ext.create("Ext.fx.target.Sprite",g)}else{if(g.isCompositeSprite){f=Ext.create("Ext.fx.target.CompositeSprite",g)}else{if(g.isComponent){f=Ext.create("Ext.fx.target.Component",g)}else{if(g.isAnimTarget){return g}else{return null}}}}}}e.targets.add(f);return f}else{return null}},addAnim:function(f){var d=this.items,e=this.task;d.add(f);if(!e&&d.length){e=this.task={run:this.runner,interval:this.interval,scope:this};Ext.TaskManager.start(e)}},removeAnim:function(f){var d=this.items,e=this.task;d.remove(f);if(e&&!d.length){Ext.TaskManager.stop(e);delete this.task}},startingFilter:function(b){return b.paused===false&&b.running===false&&b.iterations>0},runningFilter:function(b){return b.paused===false&&b.running===true&&b.isAnimator!==true},runner:function(){var c=this,d=c.items;c.targetData={};c.targetArr={};c.timestamp=new Date();d.filterBy(c.startingFilter).each(c.startAnim,c);d.filterBy(c.runningFilter).each(c.runAnim,c);c.applyPendingAttrs()},startAnim:function(b){b.start(this.timestamp)},runAnim:function(m){if(!m){return}var n=this,h=m.target.getId(),k=n.useCSS3&&m.target.type=="element",i=n.timestamp-m.startTime,l,j;this.collectTargetData(m,i,k);if(k){m.target.setAttr(n.targetData[h],true);n.targetData[h]=[];n.collectTargetData(m,m.duration,k);m.paused=true;l=m.target.target;if(m.target.isComposite){l=m.target.target.last()}j={};j[Ext.supports.CSS3TransitionEnd]=m.lastFrame;j.scope=m;j.single=true;l.on(j)}else{if(i>=m.duration){n.applyPendingAttrs(true);delete n.targetData[h];delete n.targetArr[h];m.lastFrame()}}},collectTargetData:function(k,h,j){var g=k.target.getId(),i=this.targetData[g],l;if(!i){i=this.targetData[g]=[];this.targetArr[g]=k.target}l={duration:k.duration,easing:(j&&k.reverse)?k.easingFn.reverse().toCSS3():k.easing,attrs:{}};Ext.apply(l.attrs,k.runAnim(h));i.push(l)},applyPendingAttrs:function(g){var h=this.targetData,e=this.targetArr,f;for(f in h){if(h.hasOwnProperty(f)){e[f].setAttr(h[f],false,g)}}}});Ext.define("Ext.fx.Animator",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager"],isAnimator:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",running:false,paused:false,damper:1,iterations:1,currentIteration:0,keyframeStep:0,animKeyFramesRE:/^(from|to|\d+%?)$/,constructor:function(d){var c=this;d=Ext.apply(c,d||{});c.config=d;c.id=Ext.id(null,"ext-animator-");c.addEvents("beforeanimate","keyframe","afteranimate");c.mixins.observable.constructor.call(c,d);c.timeline=[];c.createTimeline(c.keyframes);if(c.target){c.applyAnimator(c.target);Ext.fx.Manager.addAnim(c)}},sorter:function(a,b){return a.pct-b.pct},createTimeline:function(v){var s=this,o=[],r=s.to||{},y=s.duration,i,A,w,t,p,z,x,u;for(p in v){if(v.hasOwnProperty(p)&&s.animKeyFramesRE.test(p)){u={attrs:Ext.apply(v[p],r)};if(p=="from"){p=0}else{if(p=="to"){p=100}}u.pct=parseInt(p,10);o.push(u)}}Ext.Array.sort(o,s.sorter);t=o.length;for(w=0;w<t;w++){i=(o[w-1])?y*(o[w-1].pct/100):0;A=y*(o[w].pct/100);s.timeline.push({duration:A-i,attrs:o[w].attrs})}},applyAnimator:function(w){var s=this,r=[],i=s.timeline,v=s.reverse,t=i.length,z,u,A,x,o,p,y;if(s.fireEvent("beforeanimate",s)!==false){for(y=0;y<t;y++){z=i[y];o=z.attrs;u=o.easing||s.easing;A=o.damper||s.damper;delete o.easing;delete o.damper;z=Ext.create("Ext.fx.Anim",{target:w,easing:u,damper:A,duration:z.duration,paused:true,to:o});r.push(z)}s.animations=r;s.target=z.target;for(y=0;y<t-1;y++){z=r[y];z.nextAnim=r[y+1];z.on("afteranimate",function(){this.nextAnim.paused=false});z.on("afteranimate",function(){this.fireEvent("keyframe",this,++this.keyframeStep)},s)}r[t-1].on("afteranimate",function(){this.lastFrame()},s)}},start:function(i){var h=this,j=h.delay,f=h.delayStart,g;if(j){if(!f){h.delayStart=i;return}else{g=i-f;if(g<j){return}else{i=new Date(f.getTime()+j)}}}if(h.fireEvent("beforeanimate",h)!==false){h.startTime=i;h.running=true;h.animations[h.keyframeStep].paused=false}},lastFrame:function(){var f=this,e=f.iterations,d=f.currentIteration;d++;if(d<e){f.startTime=new Date();f.currentIteration=d;f.keyframeStep=0;f.applyAnimator(f.target);f.animations[f.keyframeStep].paused=false}else{f.currentIteration=0;f.end()}},end:function(){var b=this;b.fireEvent("afteranimate",b,b.startTime,new Date()-b.startTime)}});Ext.define("Ext.draw.Draw",{singleton:true,requires:["Ext.draw.Color"],pathToStringRE:/,?([achlmqrstvxz]),?/gi,pathCommandRE:/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,pathValuesRE:/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,stopsRE:/^(\d+%?)$/,radian:Math.PI/180,availableAnimAttrs:{along:"along",blur:null,"clip-rect":"csv",cx:null,cy:null,fill:"color","fill-opacity":null,"font-size":null,height:null,opacity:null,path:"path",r:null,rotation:"csv",rx:null,ry:null,scale:"csv",stroke:"color","stroke-opacity":null,"stroke-width":null,translation:"csv",width:null,x:null,y:null},is:function(c,d){d=String(d).toLowerCase();return(d=="object"&&c===Object(c))||(d=="undefined"&&typeof c==d)||(d=="null"&&c===null)||(d=="array"&&Array.isArray&&Array.isArray(c))||(Object.prototype.toString.call(c).toLowerCase().slice(8,-1))==d},ellipsePath:function(c){var d=c.attr;return Ext.String.format("M{0},{1}A{2},{3},0,1,1,{0},{4}A{2},{3},0,1,1,{0},{1}z",d.x,d.y-d.ry,d.rx,d.ry,d.y+d.ry)},rectPath:function(c){var d=c.attr;if(d.radius){return Ext.String.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z",d.x+d.radius,d.y,d.width-d.radius*2,d.radius,-d.radius,d.height-d.radius*2,d.radius*2-d.width,d.radius*2-d.height)}else{return Ext.String.format("M{0},{1}l{2},0,0,{3},{4},0z",d.x,d.y,d.width,d.height,-d.width)}},path2string:function(){return this.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},pathToString:function(b){return b.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},parsePathString:function(f){if(!f){return null}var g={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},h=[],e=this;if(e.is(f,"array")&&e.is(f[0],"array")){h=e.pathClone(f)}if(!h.length){String(f).replace(e.pathCommandRE,function(d,j,a){var b=[],c=j.toLowerCase();a.replace(e.pathValuesRE,function(i,l){l&&b.push(+l)});if(c=="m"&&b.length>2){h.push([j].concat(Ext.Array.splice(b,0,2)));c="l";j=(j=="m")?"l":"L"}while(b.length>=g[c]){h.push([j].concat(Ext.Array.splice(b,0,g[c])));if(!g[c]){break}}})}h.toString=e.path2string;return h},mapPath:function(i,m){if(!m){return i}var l,n,p,j,s,o,r;i=this.path2curve(i);for(p=0,j=i.length;p<j;p++){r=i[p];for(s=1,o=r.length;s<o-1;s+=2){l=m.x(r[s],r[s+1]);n=m.y(r[s],r[s+1]);r[s]=l;r[s+1]=n}}return i},pathClone:function(i){var l=[],h,j,g,k;if(!this.is(i,"array")||!this.is(i&&i[0],"array")){i=this.parsePathString(i)}for(g=0,k=i.length;g<k;g++){l[g]=[];for(h=0,j=i[g].length;h<j;h++){l[g][h]=i[g][h]}}l.toString=this.path2string;return l},pathToAbsolute:function(w){if(!this.is(w,"array")||!this.is(w&&w[0],"array")){w=this.parsePathString(w)}var r=[],o=0,p=0,i=0,j=0,t=0,s=w.length,x,v,u,y;if(s&&w[0][0]=="M"){o=+w[0][1];p=+w[0][2];i=o;j=p;t++;r[0]=["M",o,p]}for(;t<s;t++){x=r[t]=[];v=w[t];if(v[0]!=v[0].toUpperCase()){x[0]=v[0].toUpperCase();switch(x[0]){case"A":x[1]=v[1];x[2]=v[2];x[3]=v[3];x[4]=v[4];x[5]=v[5];x[6]=+(v[6]+o);x[7]=+(v[7]+p);break;case"V":x[1]=+v[1]+p;break;case"H":x[1]=+v[1]+o;break;case"M":i=+v[1]+o;j=+v[2]+p;default:u=1;y=v.length;for(;u<y;u++){x[u]=+v[u]+((u%2)?o:p)}}}else{u=0;y=v.length;for(;u<y;u++){r[t][u]=v[u]}}switch(x[0]){case"Z":o=i;p=j;break;case"H":o=x[1];break;case"V":p=x[1];break;case"M":v=r[t];y=v.length;i=v[y-2];j=v[y-1];default:v=r[t];y=v.length;o=v[y-2];p=v[y-1]}}r.toString=this.path2string;return r},pathToRelative:function(A){if(!this.is(A,"array")||!this.is(A&&A[0],"array")){A=this.parsePathString(A)}var u=[],k=0,r=0,F=0,i=0,B=0;if(A[0][0]=="M"){k=A[0][1];r=A[0][2];F=k;i=r;B++;u.push(["M",k,r])}for(var x=B,E=A.length;x<E;x++){var D=u[x]=[],j=A[x];if(j[0]!=j[0].toLowerCase()){D[0]=j[0].toLowerCase();switch(D[0]){case"a":D[1]=j[1];D[2]=j[2];D[3]=j[3];D[4]=j[4];D[5]=j[5];D[6]=+(j[6]-k).toFixed(3);D[7]=+(j[7]-r).toFixed(3);break;case"v":D[1]=+(j[1]-r).toFixed(3);break;case"m":F=j[1];i=j[2];default:for(var y=1,w=j.length;y<w;y++){D[y]=+(j[y]-((y%2)?k:r)).toFixed(3)}}}else{D=u[x]=[];if(j[0]=="m"){F=j[1]+k;i=j[2]+r}for(var z=0,C=j.length;z<C;z++){u[x][z]=j[z]}}var v=u[x].length;switch(u[x][0]){case"z":k=F;r=i;break;case"h":k+=+u[x][v-1];break;case"v":r+=+u[x][v-1];break;default:k+=+u[x][v-2];r+=+u[x][v-1]}}u.toString=this.path2string;return u},path2curve:function(i){var o=this,l=o.pathToAbsolute(i),p=l.length,k={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},r,s,m,n;for(r=0;r<p;r++){l[r]=o.command2curve(l[r],k);if(l[r].length>7){l[r].shift();n=l[r];while(n.length){Ext.Array.splice(l,r++,0,["C"].concat(Ext.Array.splice(n,0,6)))}Ext.Array.erase(l,r,1);p=l.length}s=l[r];m=s.length;k.x=s[m-2];k.y=s[m-1];k.bx=parseFloat(s[m-4])||k.x;k.by=parseFloat(s[m-3])||k.y}return l},interpolatePaths:function(i,u){var w=this,A=w.pathToAbsolute(i),t=w.pathToAbsolute(u),s={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},D={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},C=function(c,b){if(c[b].length>7){c[b].shift();var a=c[b];while(a.length){Ext.Array.splice(c,b++,0,["C"].concat(Ext.Array.splice(a,0,6)))}Ext.Array.erase(c,b,1);r=Math.max(A.length,t.length||0)}},B=function(a,b,d,e,c){if(a&&b&&a[c][0]=="M"&&b[c][0]!="M"){Ext.Array.splice(b,c,0,["M",e.x,e.y]);d.bx=0;d.by=0;d.x=a[c][1];d.y=a[c][2];r=Math.max(A.length,t.length||0)}};for(var x=0,r=Math.max(A.length,t.length||0);x<r;x++){A[x]=w.command2curve(A[x],s);C(A,x);(t[x]=w.command2curve(t[x],D));C(t,x);B(A,t,s,D,x);B(t,A,D,s,x);var y=A[x],p=t[x],z=y.length,v=p.length;s.x=y[z-2];s.y=y[z-1];s.bx=parseFloat(y[z-4])||s.x;s.by=parseFloat(y[z-3])||s.y;D.bx=(parseFloat(p[v-4])||D.x);D.by=(parseFloat(p[v-3])||D.y);D.x=p[v-2];D.y=p[v-1]}return[A,t]},command2curve:function(f,d){var e=this;if(!f){return["C",d.x,d.y,d.x,d.y,d.x,d.y]}if(f[0]!="T"&&f[0]!="Q"){d.qx=d.qy=null}switch(f[0]){case"M":d.X=f[1];d.Y=f[2];break;case"A":f=["C"].concat(e.arc2curve.apply(e,[d.x,d.y].concat(f.slice(1))));break;case"S":f=["C",d.x+(d.x-(d.bx||d.x)),d.y+(d.y-(d.by||d.y))].concat(f.slice(1));break;case"T":d.qx=d.x+(d.x-(d.qx||d.x));d.qy=d.y+(d.y-(d.qy||d.y));f=["C"].concat(e.quadratic2curve(d.x,d.y,d.qx,d.qy,f[1],f[2]));break;case"Q":d.qx=f[1];d.qy=f[2];f=["C"].concat(e.quadratic2curve(d.x,d.y,f[1],f[2],f[3],f[4]));break;case"L":f=["C"].concat(d.x,d.y,f[1],f[2],f[1],f[2]);break;case"H":f=["C"].concat(d.x,d.y,f[1],d.y,f[1],d.y);break;case"V":f=["C"].concat(d.x,d.y,d.x,f[1],d.x,f[1]);break;case"Z":f=["C"].concat(d.x,d.y,d.X,d.Y,d.X,d.Y);break}return f},quadratic2curve:function(i,o,l,n,j,p){var m=1/3,k=2/3;return[m*i+k*l,m*o+k*n,m*j+k*l,m*p+k*n,j,p]},rotate:function(h,j,i){var m=Math.cos(i),n=Math.sin(i),k=h*m-j*n,l=h*n+j*m;return{x:k,y:l}},arc2curve:function(aM,aw,at,av,aH,aS,aW,aN,az,aF){var aK=this,aY=Math.PI,aJ=aK.radian,ax=aY*120/180,a1=aJ*(+aH||0),an=[],aq=Math,y=aq.cos,a2=aq.sin,t=aq.sqrt,aL=aq.abs,aR=aq.asin,ar,a0,aP,al,am,aG,aZ,ai,x,aB,aD,aT,aU,aO,aV,aA,aX,aC,ak,ah,aj,aE,aI,h,k,ao,i,ap,ay,au,aQ;if(!aF){ar=aK.rotate(aM,aw,-a1);aM=ar.x;aw=ar.y;ar=aK.rotate(aN,az,-a1);aN=ar.x;az=ar.y;a0=y(aJ*aH);aP=a2(aJ*aH);al=(aM-aN)/2;am=(aw-az)/2;aG=(al*al)/(at*at)+(am*am)/(av*av);if(aG>1){aG=t(aG);at=aG*at;av=aG*av}aZ=at*at;ai=av*av;x=(aS==aW?-1:1)*t(aL((aZ*ai-aZ*am*am-ai*al*al)/(aZ*am*am+ai*al*al)));aB=x*at*am/av+(aM+aN)/2;aD=x*-av*al/at+(aw+az)/2;aT=aR(((aw-aD)/av).toFixed(7));aU=aR(((az-aD)/av).toFixed(7));aT=aM<aB?aY-aT:aT;aU=aN<aB?aY-aU:aU;if(aT<0){aT=aY*2+aT}if(aU<0){aU=aY*2+aU}if(aW&&aT>aU){aT=aT-aY*2}if(!aW&&aU>aT){aU=aU-aY*2}}else{aT=aF[0];aU=aF[1];aB=aF[2];aD=aF[3]}aO=aU-aT;if(aL(aO)>ax){ay=aU;au=aN;aQ=az;aU=aT+ax*(aW&&aU>aT?1:-1);aN=aB+at*y(aU);az=aD+av*a2(aU);an=aK.arc2curve(aN,az,at,av,aH,0,aW,au,aQ,[aU,ay,aB,aD])}aO=aU-aT;aV=y(aT);aA=a2(aT);aX=y(aU);aC=a2(aU);ak=aq.tan(aO/4);ah=4/3*at*ak;aj=4/3*av*ak;aE=[aM,aw];aI=[aM+ah*aA,aw-aj*aV];h=[aN+ah*aC,az-aj*aX];k=[aN,az];aI[0]=2*aE[0]-aI[0];aI[1]=2*aE[1]-aI[1];if(aF){return[aI,h,k].concat(an)}else{an=[aI,h,k].concat(an).join().split(",");ao=[];ap=an.length;for(i=0;i<ap;i++){ao[i]=i%2?aK.rotate(an[i-1],an[i],a1).y:aK.rotate(an[i],an[i+1],a1).x}return ao}},rotateAndTranslatePath:function(r){var w=r.rotation.degrees,v=r.rotation.x,x=r.rotation.y,i=r.translation.x,p=r.translation.y,j,t,y,o,u,s=[];if(!w&&!i&&!p){return this.pathToAbsolute(r.attr.path)}i=i||0;p=p||0;j=this.pathToAbsolute(r.attr.path);for(t=j.length;t--;){y=s[t]=j[t].slice();if(y[0]=="A"){o=this.rotatePoint(y[6],y[7],w,v,x);y[6]=o.x+i;y[7]=o.y+p}else{u=1;while(y[u+1]!=null){o=this.rotatePoint(y[u],y[u+1],w,v,x);y[u]=o.x+i;y[u+1]=o.y+p;u+=2}}}return s},rotatePoint:function(h,j,l,i,k){if(!l){return{x:h,y:j}}i=i||0;k=k||0;h=h-i;j=j-k;l=l*this.radian;var m=Math.cos(l),n=Math.sin(l);return{x:h*m-j*n+i,y:h*n+j*m+k}},pathDimensions:function(i){if(!i||!(i+"")){return{x:0,y:0,width:0,height:0}}i=this.path2curve(i);var n=0,o=0,t=[],v=[],s=0,p=i.length,u,w,m,r;for(;s<p;s++){u=i[s];if(u[0]=="M"){n=u[1];o=u[2];t.push(n);v.push(o)}else{r=this.curveDim(n,o,u[1],u[2],u[3],u[4],u[5],u[6]);t=t.concat(r.min.x,r.max.x);v=v.concat(r.min.y,r.max.y);n=u[5];o=u[6]}}w=Math.min.apply(0,t);m=Math.min.apply(0,v);return{x:w,y:m,path:i,width:Math.max.apply(0,t)-w,height:Math.max.apply(0,v)-m}},intersectInside:function(d,f,e){return(e[0]-f[0])*(d[1]-f[1])>(e[1]-f[1])*(d[0]-f[0])},intersectIntersection:function(e,n,u,v){var w=[],x=u[0]-v[0],y=u[1]-v[1],p=e[0]-n[0],s=e[1]-n[1],o=u[0]*v[1]-u[1]*v[0],r=e[0]*n[1]-e[1]*n[0],t=1/(x*s-y*p);w[0]=(o*p-r*x)*t;w[1]=(o*s-r*y)*t;return w},intersect:function(r,z){var s=this,v=0,t=z.length,w=z[t-1],i=r,x,e,u,j,B,A,y;for(;v<t;++v){x=z[v];A=i;i=[];e=A[A.length-1];y=0;B=A.length;for(;y<B;y++){u=A[y];if(s.intersectInside(u,w,x)){if(!s.intersectInside(e,w,x)){i.push(s.intersectIntersection(e,u,w,x))}i.push(u)}else{if(s.intersectInside(e,w,x)){i.push(s.intersectIntersection(e,u,w,x))}}e=u}w=x}return i},curveDim:function(C,E,A,B,F,a,t,w){var b=(F-2*A+C)-(t-2*F+A),u=2*(A-C)-2*(F-A),x=C-A,y=(-u+Math.sqrt(u*u-4*b*x))/2/b,z=(-u-Math.sqrt(u*u-4*b*x))/2/b,v=[E,w],c=[C,t],D;if(Math.abs(y)>1000000000000){y=0.5}if(Math.abs(z)>1000000000000){z=0.5}if(y>0&&y<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,y);c.push(D.x);v.push(D.y)}if(z>0&&z<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,z);c.push(D.x);v.push(D.y)}b=(a-2*B+E)-(w-2*a+B);u=2*(B-E)-2*(a-B);x=E-B;y=(-u+Math.sqrt(u*u-4*b*x))/2/b;z=(-u-Math.sqrt(u*u-4*b*x))/2/b;if(Math.abs(y)>1000000000000){y=0.5}if(Math.abs(z)>1000000000000){z=0.5}if(y>0&&y<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,y);c.push(D.x);v.push(D.y)}if(z>0&&z<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,z);c.push(D.x);v.push(D.y)}return{min:{x:Math.min.apply(0,c),y:Math.min.apply(0,v)},max:{x:Math.max.apply(0,c),y:Math.max.apply(0,v)}}},getAnchors:function(P,Q,K,L,z,A,E){E=E||4;var M=Math,F=M.PI,D=F/2,I=M.abs,T=M.sin,S=M.cos,O=M.atan,B,C,N,J,G,H,x,y,R;B=(K-P)/E;C=(z-K)/E;if((L>=Q&&L>=A)||(L<=Q&&L<=A)){N=J=D}else{N=O((K-P)/I(L-Q));if(Q<L){N=F-N}J=O((z-K)/I(L-A));if(A<L){J=F-J}}R=D-((N+J)%(F*2))/2;if(R>D){R-=F}N+=R;J+=R;G=K-B*T(N);H=L+B*S(N);x=K+C*T(J);y=L+C*S(J);if((L>Q&&H<Q)||(L<Q&&H>Q)){G+=I(Q-H)*(G-K)/(H-L);H=Q}if((L>A&&y<A)||(L<A&&y>A)){x-=I(A-y)*(x-K)/(y-L);y=A}return{x1:G,y1:H,x2:x,y2:y}},smooth:function(R,D){var E=this.path2curve(R),N=[E[0]],K=E[0][1],L=E[0][2],C,A,y=1,J=E.length,M=1,H=K,I=L,P=0,Q=0;for(;y<J;y++){var i=E[y],j=i.length,x=E[y-1],G=x.length,B=E[y+1],F=B&&B.length;if(i[0]=="M"){H=i[1];I=i[2];C=y+1;while(E[C][0]!="C"){C++}P=E[C][5];Q=E[C][6];N.push(["M",H,I]);M=N.length;K=H;L=I;continue}if(i[j-2]==H&&i[j-1]==I&&(!B||B[0]=="M")){var O=N[M].length;A=this.getAnchors(x[G-2],x[G-1],H,I,N[M][O-2],N[M][O-1],D);N[M][1]=A.x2;N[M][2]=A.y2}else{if(!B||B[0]=="M"){A={x1:i[j-2],y1:i[j-1]}}else{A=this.getAnchors(x[G-2],x[G-1],i[j-2],i[j-1],B[F-2],B[F-1],D)}}N.push(["C",K,L,A.x1,A.y1,i[j-2],i[j-1]]);K=A.x2;L=A.y2}return N},findDotAtSegment:function(t,u,r,s,l,m,n,o,k){var p=1-k;return{x:Math.pow(p,3)*t+Math.pow(p,2)*3*k*r+p*3*k*k*l+Math.pow(k,3)*n,y:Math.pow(p,3)*u+Math.pow(p,2)*3*k*s+p*3*k*k*m+Math.pow(k,3)*o}},snapEnds:function(s,m,C){var D=(m-s)/C,F=Math.floor(Math.log(D)/Math.LN10)+1,B=Math.pow(10,F),i,u=Math.round((D%B)*Math.pow(10,2-F)),E=[[0,15],[20,4],[30,2],[40,4],[50,9],[60,4],[70,2],[80,4],[100,15]],z=0,t,x,y,A,w=1000000000,v=E.length;i=s=Math.floor(s/B)*B;for(y=0;y<v;y++){t=E[y][0];x=(t-u)<0?1000000:(t-u)/E[y][1];if(x<w){A=t;w=x}}D=Math.floor(D*Math.pow(10,-F))*Math.pow(10,F)+A*Math.pow(10,F-2);while(i<m){i+=D;z++}m=+i.toFixed(10);return{from:s,to:m,power:F,step:D,steps:z}},sorter:function(a,b){return a.offset-b.offset},rad:function(b){return b%360*Math.PI/180},degrees:function(b){return b*180/Math.PI%360},withinBox:function(e,f,d){d=d||{};return(e>=d.x&&e<=(d.x+d.width)&&f>=d.y&&f<=(d.y+d.height))},parseGradient:function(m){var s=this,r=m.type||"linear",u=m.angle||0,o=s.radian,l=m.stops,w=[],n,v,p,t;if(r=="linear"){v=[0,0,Math.cos(u*o),Math.sin(u*o)];p=1/(Math.max(Math.abs(v[2]),Math.abs(v[3]))||1);v[2]*=p;v[3]*=p;if(v[2]<0){v[0]=-v[2];v[2]=0}if(v[3]<0){v[1]=-v[3];v[3]=0}}for(n in l){if(l.hasOwnProperty(n)&&s.stopsRE.test(n)){t={offset:parseInt(n,10),color:Ext.draw.Color.toHex(l[n].color)||"#ffffff",opacity:l[n].opacity||1};w.push(t)}}Ext.Array.sort(w,s.sorter);if(r=="linear"){return{id:m.id,type:r,vector:v,stops:w}}else{return{id:m.id,type:r,centerX:m.centerX,centerY:m.centerY,focalX:m.focalX,focalY:m.focalY,radius:m.radius,vector:v,stops:w}}}});Ext.define("Ext.fx.PropertyHandler",{requires:["Ext.draw.Draw"],statics:{defaultHandler:{pixelDefaultsRE:/width|height|top$|bottom$|left$|right$/i,unitRE:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/,scrollRE:/^scroll/i,computeDelta:function(j,p,s,m,k){s=(typeof s=="number")?s:1;var l=this.unitRE,o=l.exec(j),r,n;if(o){j=o[1];n=o[2];if(!this.scrollRE.test(k)&&!n&&this.pixelDefaultsRE.test(k)){n="px"}}j=+j||0;o=l.exec(p);if(o){p=o[1];n=o[2]||n}p=+p||0;r=(m!=null)?m:j;return{from:j,delta:(p-r)*s,units:n}},get:function(i,x,y,j,r){var o=i.length,v=[],u,s,p,w,t;for(u=0;u<o;u++){if(j){s=j[u][1].from}if(Ext.isArray(i[u][1])&&Ext.isArray(x)){p=[];w=0;t=i[u][1].length;for(;w<t;w++){p.push(this.computeDelta(i[u][1][w],x[w],y,s,r))}v.push([i[u][0],p])}else{v.push([i[u][0],this.computeDelta(i[u][1],x,y,s,r)])}}return v},set:function(i,m){var l=i.length,p=[],o,s,j,n,r;for(o=0;o<l;o++){s=i[o][1];if(Ext.isArray(s)){j=[];r=0;n=s.length;for(;r<n;r++){j.push(s[r].from+(s[r].delta*m)+(s[r].units||0))}p.push([i[o][0],j])}else{p.push([i[o][0],s.from+(s.delta*m)+(s.units||0)])}}return p}},color:{rgbRE:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,hexRE:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,hex3RE:/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i,parseColor:function(g,i){i=(typeof i=="number")?i:1;var h,j=false,f;Ext.each([this.hexRE,this.rgbRE,this.hex3RE],function(a,b){h=(b%2==0)?16:10;f=a.exec(g);if(f&&f.length==4){if(b==2){f[1]+=f[1];f[2]+=f[2];f[3]+=f[3]}j={red:parseInt(f[1],h),green:parseInt(f[2],h),blue:parseInt(f[3],h)};return false}});return j||g},computeDelta:function(j,i,l,n){j=this.parseColor(j);i=this.parseColor(i,l);var k=n?n:j,h=typeof k,m=typeof i;if(h=="string"||h=="undefined"||m=="string"||m=="undefined"){return i||k}return{from:j,delta:{red:Math.round((i.red-k.red)*l),green:Math.round((i.green-k.green)*l),blue:Math.round((i.blue-k.blue)*l)}}},get:function(k,j,m,o){var l=k.length,p=[],n,i;for(n=0;n<l;n++){if(o){i=o[n][1].from}p.push([k[n][0],this.computeDelta(k[n][1],j,m,i)])}return p},set:function(i,n){var m=i.length,p=[],o,r,s,l,k;for(o=0;o<m;o++){r=i[o][1];if(r){l=r.from;k=r.delta;r=(typeof r=="object"&&"red" in r)?"rgb("+r.red+", "+r.green+", "+r.blue+")":r;r=(typeof r=="object"&&r.length)?r[0]:r;if(typeof r=="undefined"){return[]}s=typeof r=="string"?r:"rgb("+[(l.red+Math.round(k.red*n))%256,(l.green+Math.round(k.green*n))%256,(l.blue+Math.round(k.blue*n))%256].join(",")+")";p.push([i[o][0],s])}}return p}},object:{interpolate:function(g,e){e=(typeof e=="number")?e:1;var f={},h;for(h in g){f[h]=parseInt(g[h],10)*e}return f},computeDelta:function(j,i,n,h){j=this.interpolate(j);i=this.interpolate(i,n);var k=h?h:j,l={},m;for(m in i){l[m]=i[m]-k[m]}return{from:j,delta:l}},get:function(k,j,m,o){var l=k.length,p=[],n,i;for(n=0;n<l;n++){if(o){i=o[n][1].from}p.push([k[n][0],this.computeDelta(k[n][1],j,m,i)])}return p},set:function(i,o){var n=i.length,s=[],p={},r,m,l,t,u;for(r=0;r<n;r++){t=i[r][1];m=t.from;l=t.delta;for(u in m){p[u]=Math.round(m[u]+l[u]*o)}s.push([i[r][0],p])}return s}},path:{computeDelta:function(h,g,j,f){j=(typeof j=="number")?j:1;var i;h=+h||0;g=+g||0;i=(f!=null)?f:h;return{from:h,delta:(g-i)*j}},forcePath:function(b){if(!Ext.isArray(b)&&!Ext.isArray(b[0])){b=Ext.draw.Draw.parsePathString(b)}return b},get:function(D,x,E,k){var C=this.forcePath(x),v=[],i=D.length,B,y,u,z,t,w,A,F,j;for(u=0;u<i;u++){j=this.forcePath(D[u][1]);z=Ext.draw.Draw.interpolatePaths(j,C);j=z[0];C=z[1];B=j.length;F=[];for(w=0;w<B;w++){z=[j[w][0]];y=j[w].length;for(A=1;A<y;A++){t=k&&k[0][1][w][A].from;z.push(this.computeDelta(j[w][A],C[w][A],E,t))}F.push(z)}v.push([D[u][0],F])}return v},set:function(i,k){var j=i.length,u=[],s,t,v,r,p,w,y,x;for(s=0;s<j;s++){w=i[s][1];r=[];y=w.length;for(t=0;t<y;t++){p=[w[t][0]];x=w[t].length;for(v=1;v<x;v++){p.push(w[t][v].from+w[t][v].delta*k)}r.push(p.join(","))}u.push([i[s][0],r.join(",")])}return u}}}},function(){Ext.each(["outlineColor","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","fill","stroke"],function(b){this[b]=this.color},this)});Ext.define("Ext.fx.Anim",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager","Ext.fx.Animator","Ext.fx.Easing","Ext.fx.CubicBezier","Ext.fx.PropertyHandler"],isAnimation:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",damper:1,bezierRE:/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,reverse:false,running:false,paused:false,iterations:1,alternate:false,currentIteration:0,startTime:0,constructor:function(e){var d=this;e=e||{};if(e.keyframes){return Ext.create("Ext.fx.Animator",e)}e=Ext.apply(d,e);if(d.from===undefined){d.from={}}d.propHandlers={};d.config=e;d.target=Ext.fx.Manager.createTarget(d.target);d.easingFn=Ext.fx.Easing[d.easing];d.target.dynamic=d.dynamic;if(!d.easingFn){d.easingFn=String(d.easing).match(d.bezierRE);if(d.easingFn&&d.easingFn.length==5){var f=d.easingFn;d.easingFn=Ext.fx.cubicBezier(+f[1],+f[2],+f[3],+f[4])}}d.id=Ext.id(null,"ext-anim-");Ext.fx.Manager.addAnim(d);d.addEvents("beforeanimate","afteranimate","lastframe");d.mixins.observable.constructor.call(d,e);if(e.callback){d.on("afteranimate",e.callback,e.scope)}return d},setAttr:function(d,c){return Ext.fx.Manager.items.get(this.id).setAttr(this.target,d,c)},initAttrs:function(){var n=this,l=n.from,k=n.to,m=n.initialFrom||{},p={},s,r,j,o;for(o in k){if(k.hasOwnProperty(o)){s=n.target.getAttr(o,l[o]);r=k[o];if(!Ext.fx.PropertyHandler[o]){if(Ext.isObject(r)){j=n.propHandlers[o]=Ext.fx.PropertyHandler.object}else{j=n.propHandlers[o]=Ext.fx.PropertyHandler.defaultHandler}}else{j=n.propHandlers[o]=Ext.fx.PropertyHandler[o]}p[o]=j.get(s,r,n.damper,m[o],o)}}n.currentAttrs=p},start:function(i){var h=this,j=h.delay,f=h.delayStart,g;if(j){if(!f){h.delayStart=i;return}else{g=i-f;if(g<j){return}else{i=new Date(f.getTime()+j)}}}if(h.fireEvent("beforeanimate",h)!==false){h.startTime=i;if(!h.paused&&!h.currentAttrs){h.initAttrs()}h.running=true}},runAnim:function(l){var o=this,m=o.currentAttrs,t=o.duration,u=o.easingFn,v=o.propHandlers,r={},p,n,s,w;if(l>=t){l=t;w=true}if(o.reverse){l=t-l}for(s in m){if(m.hasOwnProperty(s)){n=m[s];p=w?1:u(l/t);r[s]=v[s].set(n,p)}}return r},lastFrame:function(){var f=this,e=f.iterations,d=f.currentIteration;d++;if(d<e){if(f.alternate){f.reverse=!f.reverse}f.startTime=new Date();f.currentIteration=d;f.paused=false}else{f.currentIteration=0;f.end();f.fireEvent("lastframe",f,f.startTime)}},end:function(){var b=this;b.startTime=0;b.paused=false;b.running=false;Ext.fx.Manager.removeAnim(b);b.fireEvent("afteranimate",b,b.startTime)}});Ext.enableFx=true;Ext.define("Ext.data.Types",{singleton:true,requires:["Ext.data.SortTypes"]},function(){var b=Ext.data.SortTypes;Ext.apply(Ext.data.Types,{stripRe:/[\$,%]/g,AUTO:{convert:function(a){return a},sortType:b.none,type:"auto"},STRING:{convert:function(d){var a=this.useNull?null:"";return(d===undefined||d===null)?a:String(d)},sortType:b.asUCString,type:"string"},INT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseInt(String(a).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:b.none,type:"int"},FLOAT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseFloat(String(a).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:b.none,type:"float"},BOOL:{convert:function(a){if(this.useNull&&a===undefined||a===null||a===""){return null}return a===true||a==="true"||a==1},sortType:b.none,type:"bool"},DATE:{convert:function(f){var e=this.dateFormat;if(!f){return null}if(Ext.isDate(f)){return f}if(e){if(e=="timestamp"){return new Date(f*1000)}if(e=="time"){return new Date(parseInt(f,10))}return Ext.Date.parse(f,e)}var a=Date.parse(f);return a?new Date(a):null},sortType:b.asDate,type:"date"}});Ext.apply(Ext.data.Types,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})});Ext.define("Ext.data.Field",{requires:["Ext.data.Types","Ext.data.SortTypes"],alias:"data.field",constructor:function(e){if(Ext.isString(e)){e={name:e}}Ext.apply(this,e);var g=Ext.data.Types,f=this.sortType,h;if(this.type){if(Ext.isString(this.type)){this.type=g[this.type.toUpperCase()]||g.AUTO}}else{this.type=g.AUTO}if(Ext.isString(f)){this.sortType=Ext.data.SortTypes[f]}else{if(Ext.isEmpty(f)){this.sortType=this.type.sortType}}if(!this.convert){this.convert=this.type.convert}},dateFormat:null,useNull:false,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC",allowBlank:true,persist:true});Ext.define("Ext.data.NodeInterface",{requires:["Ext.data.Field"],statics:{decorate:function(p){if(!p.isNode){var k=Ext.ModelManager,n=p.modelName,l=k.getModel(n),i=l.prototype.idProperty,m=[],r,s,o;l.override(this.getPrototypeBody());m=this.applyFields(l,[{name:i,type:"string",defaultValue:null},{name:"parentId",type:"string",defaultValue:null},{name:"index",type:"int",defaultValue:null},{name:"depth",type:"int",defaultValue:0},{name:"expanded",type:"bool",defaultValue:false,persist:false},{name:"expandable",type:"bool",defaultValue:true,persist:false},{name:"checked",type:"auto",defaultValue:null},{name:"leaf",type:"bool",defaultValue:false,persist:false},{name:"cls",type:"string",defaultValue:null,persist:false},{name:"iconCls",type:"string",defaultValue:null,persist:false},{name:"root",type:"boolean",defaultValue:false,persist:false},{name:"isLast",type:"boolean",defaultValue:false,persist:false},{name:"isFirst",type:"boolean",defaultValue:false,persist:false},{name:"allowDrop",type:"boolean",defaultValue:true,persist:false},{name:"allowDrag",type:"boolean",defaultValue:true,persist:false},{name:"loaded",type:"boolean",defaultValue:false,persist:false},{name:"loading",type:"boolean",defaultValue:false,persist:false},{name:"href",type:"string",defaultValue:null,persist:false},{name:"hrefTarget",type:"string",defaultValue:null,persist:false},{name:"qtip",type:"string",defaultValue:null,persist:false},{name:"qtitle",type:"string",defaultValue:null,persist:false}]);o=m.length;for(r=0;r<o;++r){s=m[r];if(p.get(s.name)===undefined){p.data[s.name]=s.defaultValue}}}Ext.applyIf(p,{firstChild:null,lastChild:null,parentNode:null,previousSibling:null,nextSibling:null,childNodes:[]});p.commit(true);p.enableBubble(["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","sort"]);return p},applyFields:function(m,l){var s=m.prototype,p=s.fields,i=p.keys,n=l.length,t,r,u,o=[];for(r=0;r<n;r++){t=l[r];if(!Ext.Array.contains(i,t.name)){t=Ext.create("data.field",t);o.push(t);p.add(t)}}return o},getPrototypeBody:function(){return{isNode:true,createNode:function(b){if(Ext.isObject(b)&&!b.isModel){b=Ext.ModelManager.create(b,this.modelName)}return Ext.data.NodeInterface.decorate(b)},isLeaf:function(){return this.get("leaf")===true},setFirstChild:function(b){this.firstChild=b},setLastChild:function(b){this.lastChild=b},updateInfo:function(n){var m=this,v=m.isRoot(),p=m.parentNode,u=(!p?true:p.firstChild==m),r=(!p?true:p.lastChild==m),s=0,i=m,w=m.childNodes,o=w.length,t=0;while(i.parentNode){++s;i=i.parentNode}m.beginEdit();m.set({isFirst:u,isLast:r,depth:s,index:p?p.indexOf(m):0,parentId:p?p.getId():null});m.endEdit(n);if(n){m.commit()}for(t=0;t<o;t++){w[t].updateInfo(n)}},isLast:function(){return this.get("isLast")},isFirst:function(){return this.get("isFirst")},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){var b=this;if(b.get("expandable")){return !(b.isLeaf()||(b.isLoaded()&&!b.hasChildNodes()))}return false},appendChild:function(r,i,k){var m=this,p,n,o,l,s;if(Ext.isArray(r)){for(p=0,n=r.length;p<n;p++){m.appendChild(r[p])}}else{r=m.createNode(r);if(i!==true&&m.fireEvent("beforeappend",m,r)===false){return false}o=m.childNodes.length;l=r.parentNode;if(l){if(i!==true&&r.fireEvent("beforemove",r,l,m,o)===false){return false}l.removeChild(r,null,false,true)}o=m.childNodes.length;if(o===0){m.setFirstChild(r)}m.childNodes.push(r);r.parentNode=m;r.nextSibling=null;m.setLastChild(r);s=m.childNodes[o-1];if(s){r.previousSibling=s;s.nextSibling=r;s.updateInfo(k)}else{r.previousSibling=null}r.updateInfo(k);if(!m.isLoaded()){m.set("loaded",true)}else{if(m.childNodes.length===1){m.set("loaded",m.isLoaded())}}if(i!==true){m.fireEvent("append",m,r,o);if(l){r.fireEvent("move",r,l,m,o)}}return r}},getBubbleTarget:function(){return this.parentNode},removeChild:function(j,g,l,i){var k=this,h=k.indexOf(j);if(h==-1||(l!==true&&k.fireEvent("beforeremove",k,j)===false)){return false}Ext.Array.erase(k.childNodes,h,1);if(k.firstChild==j){k.setFirstChild(j.nextSibling)}if(k.lastChild==j){k.setLastChild(j.previousSibling)}if(j.previousSibling){j.previousSibling.nextSibling=j.nextSibling;j.previousSibling.updateInfo(i)}if(j.nextSibling){j.nextSibling.previousSibling=j.previousSibling;j.nextSibling.updateInfo(i)}if(l!==true){k.fireEvent("remove",k,j)}if(!k.childNodes.length){k.set("loaded",k.isLoaded())}if(g){j.destroy(true)}else{j.clear()}return j},copy:function(k,l){var i=this,g=i.callOverridden(arguments),h=i.childNodes?i.childNodes.length:0,j;if(l){for(j=0;j<h;j++){g.appendChild(i.childNodes[j].copy(true))}}return g},clear:function(d){var c=this;c.parentNode=c.previousSibling=c.nextSibling=null;if(d){c.firstChild=c.lastChild=null}},destroy:function(e){var f=this,d=f.destroyOptions;if(e===true){f.clear(true);Ext.each(f.childNodes,function(a){a.destroy(true)});f.childNodes=null;delete f.destroyOptions;f.callOverridden([d])}else{f.destroyOptions=e;f.remove(true)}},insertBefore:function(m,j,o){var n=this,i=n.indexOf(j),p=m.parentNode,l=i,k;if(!j){return n.appendChild(m)}if(m==j){return false}m=n.createNode(m);if(o!==true&&n.fireEvent("beforeinsert",n,m,j)===false){return false}if(p==n&&n.indexOf(m)<i){l--}if(p){if(o!==true&&m.fireEvent("beforemove",m,p,n,i,j)===false){return false}p.removeChild(m)}if(l===0){n.setFirstChild(m)}Ext.Array.splice(n.childNodes,l,0,m);m.parentNode=n;m.nextSibling=j;j.previousSibling=m;k=n.childNodes[l-1];if(k){m.previousSibling=k;k.nextSibling=m;k.updateInfo()}else{m.previousSibling=null}m.updateInfo();if(!n.isLoaded()){n.set("loaded",true)}else{if(n.childNodes.length===1){n.set("loaded",n.isLoaded())}}if(o!==true){n.fireEvent("insert",n,m,j);if(p){m.fireEvent("move",m,p,n,l,j)}}return m},insertChild:function(e,f){var d=this.childNodes[e];if(d){return this.insertBefore(f,d)}else{return this.appendChild(f)}},remove:function(d,f){var e=this.parentNode;if(e){e.removeChild(this,d,f,true)}return this},removeAll:function(f,e){var g=this.childNodes,h;while((h=g[0])){this.removeChild(h,f,e)}return this},getChildAt:function(b){return this.childNodes[b]},replaceChild:function(f,g,h){var e=g?g.nextSibling:null;this.removeChild(g,h);this.insertBefore(f,e,h);return g},indexOf:function(b){return Ext.Array.indexOf(this.childNodes,b)},getDepth:function(){return this.get("depth")},bubble:function(h,e,f){var g=this;while(g){if(h.apply(e||g,f||[g])===false){break}g=g.parentNode}},cascade:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Node: cascade has been deprecated. Please use cascadeBy instead.")}return this.cascadeBy.apply(this,arguments)},cascadeBy:function(k,l,h){if(k.apply(l||this,h||[this])!==false){var i=this.childNodes,j=i.length,g;for(g=0;g<j;g++){i[g].cascadeBy(k,l,h)}}},eachChild:function(k,l,h){var i=this.childNodes,j=i.length,g;for(g=0;g<j;g++){if(k.apply(l||this,h||[i[g]])===false){break}}},findChild:function(d,f,e){return this.findChildBy(function(){return this.get(d)==f},null,e)},findChildBy:function(l,m,i){var n=this.childNodes,j=n.length,o=0,k,p;for(;o<j;o++){k=n[o];if(l.call(m||k,k)===true){return k}else{if(i){p=k.findChildBy(l,m,i);if(p!==null){return p}}}}return null},contains:function(b){return b.isAncestor(this)},isAncestor:function(d){var c=this.parentNode;while(c){if(c==d){return true}c=c.parentNode}return false},sort:function(k,h,i){var m=this.childNodes,l=m.length,n,j;if(l>0){Ext.Array.sort(m,k);for(n=0;n<l;n++){j=m[n];j.previousSibling=m[n-1];j.nextSibling=m[n+1];if(n===0){this.setFirstChild(j);j.updateInfo()}if(n==l-1){this.setLastChild(j);j.updateInfo()}if(h&&!j.isLeaf()){j.sort(k,true,true)}}if(i!==true){this.fireEvent("sort",this,m)}}},isExpanded:function(){return this.get("expanded")},isLoaded:function(){return this.get("loaded")},isLoading:function(){return this.get("loading")},isRoot:function(){return !this.parentNode},isVisible:function(){var b=this.parentNode;while(b){if(!b.isExpanded()){return false}b=b.parentNode}return true},expand:function(f,g,e){var h=this;if(!h.isLeaf()){if(!h.isLoading()&&!h.isExpanded()){h.fireEvent("beforeexpand",h,function(){h.set("expanded",true);h.fireEvent("expand",h,h.childNodes,false);if(f){h.expandChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}},h)}else{if(f){h.expandChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}}}else{Ext.callback(g,e||h)}},expandChildren:function(o,k,i){var l=this,n=0,s=l.childNodes,m=s.length,p,r=0;for(;n<m;++n){p=s[n];if(!p.isLeaf()&&!p.isExpanded()){r++;s[n].expand(o,function(){r--;if(k&&!r){Ext.callback(k,i||l,[l.childNodes])}})}}if(!r&&k){Ext.callback(k,i||l,[l.childNodes])}},collapse:function(f,g,e){var h=this;if(!h.isLeaf()){if(!h.collapsing&&h.isExpanded()){h.fireEvent("beforecollapse",h,function(){h.set("expanded",false);h.fireEvent("collapse",h,h.childNodes,false);if(f){h.collapseChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}},h)}else{if(f){h.collapseChildren(true,g,e)}}}else{Ext.callback(g,e||h,[h.childNodes])}},collapseChildren:function(o,k,i){var l=this,n=0,r=l.childNodes,m=r.length,p,s=0;for(;n<m;++n){p=r[n];if(!p.isLeaf()&&p.isExpanded()){s++;r[n].collapse(o,function(){s--;if(k&&!s){Ext.callback(k,i||l,[l.childNodes])}})}}if(!s&&k){Ext.callback(k,i||l,[l.childNodes])}}}}}});Ext.define("Ext.PluginManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.PluginMgr",singleton:true,typeName:"ptype",create:function(d,c){if(d.init){return d}else{return Ext.createByAlias("plugin."+(d.ptype||c),d)}},findByType:function(l,i){var j=[],g=this.types;for(var h in g){if(!g.hasOwnProperty(h)){continue}var k=g[h];if(k.type==l&&(!i||(i===true&&k.isDefault))){j.push(k)}}return j}},function(){Ext.preg=function(){return Ext.PluginManager.registerType.apply(Ext.PluginManager,arguments)}});Ext.define("Ext.LoadMask",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.data.StoreManager"],msg:"Loading...",msgCls:Ext.baseCSSPrefix+"mask-loading",useMsg:true,disabled:false,constructor:function(d,e){var f=this;if(d.isComponent){f.bindComponent(d)}else{f.el=Ext.get(d)}Ext.apply(f,e);f.addEvents("beforeshow","show","hide");if(f.store){f.bindStore(f.store,true)}f.mixins.observable.constructor.call(f,e)},bindComponent:function(e){var f=this,d={resize:f.onComponentResize,scope:f};if(e.el){f.onComponentRender(e)}else{d.render={fn:f.onComponentRender,scope:f,single:true}}f.mon(e,d)},onComponentRender:function(b){this.el=b.getContentTarget()},onComponentResize:function(d,e,f){this.el.isMasked()},bindStore:function(e,d){var f=this;if(!d&&f.store){f.mun(f.store,{scope:f,beforeload:f.onBeforeLoad,load:f.onLoad,exception:f.onLoad});if(!e){f.store=null}}if(e){e=Ext.data.StoreManager.lookup(e);f.mon(e,{scope:f,beforeload:f.onBeforeLoad,load:f.onLoad,exception:f.onLoad})}f.store=e;if(e&&e.isLoading()){f.onBeforeLoad()}},disable:function(){var b=this;b.disabled=true;if(b.loading){b.onLoad()}},enable:function(){this.disabled=false},isDisabled:function(){return this.disabled},onLoad:function(){var b=this;b.loading=false;b.el.unmask();b.fireEvent("hide",b,b.el,b.store)},onBeforeLoad:function(){var b=this;if(!b.disabled&&!b.loading&&b.fireEvent("beforeshow",b,b.el,b.store)!==false){if(b.useMsg){b.el.mask(b.msg,b.msgCls,false)}else{b.el.mask()}b.fireEvent("show",b,b.el,b.store);b.loading=true}},show:function(){this.onBeforeLoad()},hide:function(){this.onLoad()},destroy:function(){this.hide();this.clearListeners()}});Ext.define("Ext.ComponentLoader",{extend:"Ext.ElementLoader",statics:{Renderer:{Data:function(g,e,i){var h=true;try{g.getTarget().update(Ext.decode(e.responseText))}catch(j){h=false}return h},Component:function(i,n,k){var j=true,l=i.getTarget(),e=[];if(!l.isContainer){Ext.Error.raise({target:l,msg:"Components can only be loaded into a container"})}try{e=Ext.decode(n.responseText)}catch(m){j=false}if(j){if(k.removeAll){l.removeAll()}l.add(e)}return j}}},target:null,loadMask:false,renderer:"html",setTarget:function(c){var d=this;if(Ext.isString(c)){c=Ext.getCmp(c)}if(d.target&&d.target!=c){d.abort()}d.target=c},removeMask:function(){this.target.setLoading(false)},addMask:function(b){this.target.setLoading(b)},setOptions:function(c,d){c.removeAll=Ext.isDefined(d.removeAll)?d.removeAll:this.removeAll},getRenderer:function(c){if(Ext.isFunction(c)){return c}var d=this.statics().Renderer;switch(c){case"component":return d.Component;case"data":return d.Data;default:return Ext.ElementLoader.Renderer.Html}}});Ext.define("Ext.layout.component.Auto",{alias:"layout.autocomponent",extend:"Ext.layout.component.Component",type:"autocomponent",onLayout:function(c,d){this.setTargetSize(c,d)}});Ext.define("Ext.data.Errors",{extend:"Ext.util.MixedCollection",isValid:function(){return this.length===0},getByField:function(h){var i=[],g,j,f;for(f=0;f<this.length;f++){g=this.items[f];if(g.field==h){i.push(g)}}return i}});Ext.define("Ext.layout.container.AbstractFit",{extend:"Ext.layout.container.Container",itemCls:Ext.baseCSSPrefix+"fit-item",targetCls:Ext.baseCSSPrefix+"layout-fit",type:"fit"});Ext.define("Ext.layout.container.Fit",{extend:"Ext.layout.container.AbstractFit",alias:"layout.fit",alternateClassName:"Ext.layout.FitLayout",onLayout:function(){var b=this;b.callParent();if(b.owner.items.length){b.setItemBox(b.owner.items.get(0),b.getLayoutTargetSize())}},getTargetBox:function(){return this.getLayoutTargetSize()},setItemBox:function(f,d){var e=this;if(f&&d.height>0){if(!e.owner.isFixedWidth()){d.width=undefined}if(!e.owner.isFixedHeight()){d.height=undefined}e.setItemSize(f,d.width,d.height)}},configureItem:function(b){b.layoutManagedHeight=0;b.layoutManagedWidth=0;this.callParent(arguments)}});Ext.define("Ext.layout.container.AbstractCard",{extend:"Ext.layout.container.Fit",type:"card",sizeAllCards:false,hideInactive:true,deferredRender:false,beforeLayout:function(){var b=this;b.getActiveItem();if(b.activeItem&&b.deferredRender){b.renderItems([b.activeItem],b.getRenderTarget());return true}else{return this.callParent(arguments)}},renderChildren:function(){this.getActiveItem();this.callParent()},onLayout:function(){var k=this,j=k.activeItem,h=k.getVisibleItems(),l=h.length,i=k.getTargetBox(),n,m;for(n=0;n<l;n++){m=h[n];k.setItemBox(m,i)}if(!k.firstActivated&&j){if(j.fireEvent("beforeactivate",j)!==false){j.fireEvent("activate",j)}k.firstActivated=true}},isValidParent:function(h,g,f){var e=h.el?h.el.dom:Ext.getDom(h);return(e&&e.parentNode===(g.dom||g))||false},getActiveItem:function(){var b=this;if(!b.activeItem&&b.owner){b.activeItem=b.parseActiveItem(b.owner.activeItem)}if(b.activeItem&&b.owner.items.indexOf(b.activeItem)!=-1){return b.activeItem}return null},parseActiveItem:function(b){if(b&&b.isComponent){return b}else{if(typeof b=="number"||b===undefined){return this.getLayoutItems()[b||0]}else{return this.owner.getComponent(b)}}},configureItem:function(c,d){this.callParent([c,d]);if(this.hideInactive&&this.activeItem!==c){c.hide()}else{c.show()}},onRemove:function(b){if(b===this.activeItem){this.activeItem=null;if(this.owner.items.getCount()===0){this.firstActivated=false}}},getAnimation:function(d,e){var f=(d||{}).cardSwitchAnimation;if(f===false){return false}return f||e.cardSwitchAnimation},getNext:function(){var f=arguments[0];var e=this.getLayoutItems(),d=Ext.Array.indexOf(e,this.activeItem);return e[d+1]||(f?e[0]:false)},next:function(){var c=arguments[0],d=arguments[1];return this.setActiveItem(this.getNext(d),c)},getPrev:function(){var f=arguments[0];var e=this.getLayoutItems(),d=Ext.Array.indexOf(e,this.activeItem);return e[d-1]||(f?e[e.length-1]:false)},prev:function(){var c=arguments[0],d=arguments[1];return this.setActiveItem(this.getPrev(d),c)}});Ext.define("Ext.layout.container.Card",{alias:["layout.card"],alternateClassName:"Ext.layout.CardLayout",extend:"Ext.layout.container.AbstractCard",setActiveItem:function(f){var h=this,g=h.owner,i=h.activeItem,j;f=h.parseActiveItem(f);j=g.items.indexOf(f);if(j==-1){j=g.items.items.length;g.add(f)}if(f&&i!=f){if(!f.rendered){h.renderItem(f,h.getRenderTarget(),g.items.length);h.configureItem(f,0)}h.activeItem=f;if(f.fireEvent("beforeactivate",f,i)===false){return false}if(i&&i.fireEvent("beforedeactivate",i,f)===false){return false}if(h.sizeAllCards){h.onLayout()}else{h.setItemBox(f,h.getTargetBox())}h.owner.suspendLayout=true;if(i){if(h.hideInactive){i.hide()}i.fireEvent("deactivate",i,f)}h.owner.suspendLayout=false;if(f.hidden){f.show()}else{h.onLayout()}f.fireEvent("activate",f,i);return f}return false},configureItem:function(b){b.layoutManagedHeight=0;b.layoutManagedWidth=0;this.callParent(arguments)}});Ext.define("Ext.menu.Manager",{singleton:true,requires:["Ext.util.MixedCollection","Ext.util.KeyMap"],alternateClassName:"Ext.menu.MenuMgr",uses:["Ext.menu.Menu"],menus:{},groups:{},attached:false,lastShow:new Date(),init:function(){var b=this;b.active=Ext.create("Ext.util.MixedCollection");Ext.getDoc().addKeyListener(27,function(){if(b.active.length>0){b.hideAll()}},b)},hideAll:function(){var d=this.active,c;if(d&&d.length>0){c=d.clone();c.each(function(a){a.hide()});return true}return false},onHide:function(e){var d=this,f=d.active;f.remove(e);if(f.length<1){Ext.getDoc().un("mousedown",d.onMouseDown,d);d.attached=false}},onShow:function(i){var l=this,k=l.active,m=k.last(),n=l.attached,h=i.getEl(),j;l.lastShow=new Date();k.add(i);if(!n){Ext.getDoc().on("mousedown",l.onMouseDown,l);l.attached=true}i.toFront()},onBeforeHide:function(b){if(b.activeChild){b.activeChild.hide()}if(b.autoHideTimer){clearTimeout(b.autoHideTimer);delete b.autoHideTimer}},onBeforeShow:function(e){var f=this.active,d=e.parentMenu;f.remove(e);if(!d&&!e.allowOtherMenus){this.hideAll()}else{if(d&&d.activeChild&&e!=d.activeChild){d.activeChild.hide()}}},onMouseDown:function(g){var e=this,h=e.active,f=e.lastShow;if(Ext.Date.getElapsed(f)>50&&h.length>0&&!g.getTarget("."+Ext.baseCSSPrefix+"menu")){e.hideAll()}},register:function(c){var d=this;if(!d.active){d.init()}if(c.floating){d.menus[c.id]=c;c.on({beforehide:d.onBeforeHide,hide:d.onHide,beforeshow:d.onBeforeShow,show:d.onShow,scope:d})}},get:function(c){var d=this.menus;if(typeof c=="string"){if(!d){return null}return d[c]}else{if(c.isMenu){return c}else{if(Ext.isArray(c)){return Ext.create("Ext.menu.Menu",{items:c})}else{return Ext.ComponentManager.create(c,"menu")}}}},unregister:function(g){var f=this,e=f.menus,h=f.active;delete e[g.id];h.remove(g);g.un({beforehide:f.onBeforeHide,hide:f.onHide,beforeshow:f.onBeforeShow,show:f.onShow,scope:f})},registerCheckable:function(f){var e=this.groups,d=f.group;if(d){if(!e[d]){e[d]=[]}e[d].push(f)}},unregisterCheckable:function(f){var e=this.groups,d=f.group;if(d){Ext.Array.remove(e[d],f)}},onCheckChange:function(o,m){var j=this.groups,p=o.group,i=0,k,n,l;if(p&&m){k=j[p];n=k.length;for(;i<n;i++){l=k[i];if(l!=o){l.setChecked(false)}}}}});Ext.define("Ext.layout.component.Button",{alias:["layout.button"],extend:"Ext.layout.component.Component",type:"button",cellClsRE:/-btn-(tl|br)\b/,htmlRE:/<.*>/,beforeLayout:function(){return this.callParent(arguments)||this.lastText!==this.owner.text},onLayout:function(C,r){var u=this,y=Ext.isNumber,B=u.owner,s=B.el,x=B.btnEl,A=B.btnInnerEl,z=B.btnIconEl,w=(B.icon||B.iconCls)&&(B.iconAlign=="top"||B.iconAlign=="bottom"),D=B.minWidth,t=B.maxWidth,E,p,v;u.getTargetInfo();u.callParent(arguments);A.unclip();u.setTargetSize(C,r);if(!y(C)){if(B.text&&Ext.isIE7&&Ext.isStrict&&x&&x.getWidth()>20){p=u.btnFrameWidth;v=Ext.util.TextMetrics.measure(A,B.text);s.setWidth(v.width+p+u.adjWidth);x.setWidth(v.width+p);A.setWidth(v.width+p);if(w){z.setWidth(v.width+p)}}else{s.setWidth(null);x.setWidth(null);A.setWidth(null);z.setWidth(null)}if(D||t){E=s.getWidth();if(D&&(E<D)){u.setTargetSize(D,r)}else{if(t&&(E>t)){A.clip();u.setTargetSize(t,r)}}}}this.lastText=B.text},setTargetSize:function(w,l){var p=this,v=p.owner,s=Ext.isNumber,t=v.btnInnerEl,n=(s(w)?w-p.adjWidth:w),r=(s(l)?l-p.adjHeight:l),u=p.btnFrameHeight,m=v.getText(),o;p.callParent(arguments);p.setElementSize(v.btnEl,n,r);p.setElementSize(t,n,r);if(s(r)){t.setStyle("line-height",r-u+"px")}if(m&&this.htmlRE.test(m)){t.setStyle("line-height","normal");o=Ext.util.TextMetrics.measure(t,m).height;t.setStyle("padding-top",p.btnFrameTop+Math.max(t.getHeight()-u-o,0)/2+"px");p.setElementSize(t,n,r)}},getTargetInfo:function(){var l=this,i=l.owner,m=i.el,n=l.frameSize,j=i.frameBody,h=i.btnWrap,k=i.btnInnerEl;if(!("adjWidth" in l)){Ext.apply(l,{adjWidth:n.left+n.right+m.getBorderWidth("lr")+m.getPadding("lr")+h.getPadding("lr")+(j?j.getFrameWidth("lr"):0),adjHeight:n.top+n.bottom+m.getBorderWidth("tb")+m.getPadding("tb")+h.getPadding("tb")+(j?j.getFrameWidth("tb"):0),btnFrameWidth:k.getFrameWidth("lr"),btnFrameHeight:k.getFrameWidth("tb"),btnFrameTop:k.getFrameWidth("t")})}return l.callParent()}});Ext.define("Ext.layout.component.Tab",{alias:["layout.tab"],extend:"Ext.layout.component.Button",beforeLayout:function(){var c=this,d=c.lastClosable!==c.owner.closable;if(d){delete c.adjWidth}return this.callParent(arguments)||d},onLayout:function(){var b=this;b.callParent(arguments);b.lastClosable=b.owner.closable}});Ext.define("Ext.state.Manager",{singleton:true,requires:["Ext.state.Provider"],constructor:function(){this.provider=Ext.create("Ext.state.Provider")},setProvider:function(b){this.provider=b},get:function(c,d){return this.provider.get(c,d)},set:function(d,c){this.provider.set(d,c)},clear:function(b){this.provider.clear(b)},getProvider:function(){return this.provider}});Ext.define("Ext.state.Stateful",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.state.Manager"],stateful:true,saveDelay:100,autoGenIdRe:/^((\w+-)|(ext-comp-))\d{4,}$/i,constructor:function(d){var c=this;d=d||{};if(Ext.isDefined(d.stateful)){c.stateful=d.stateful}if(Ext.isDefined(d.saveDelay)){c.saveDelay=d.saveDelay}c.stateId=c.stateId||d.stateId;if(!c.stateEvents){c.stateEvents=[]}if(d.stateEvents){c.stateEvents.concat(d.stateEvents)}this.addEvents("beforestaterestore","staterestore","beforestatesave","statesave");c.mixins.observable.constructor.call(c);if(c.stateful!==false){c.initStateEvents();c.initState()}},initStateEvents:function(){this.addStateEvents(this.stateEvents)},addStateEvents:function(h){if(!Ext.isArray(h)){h=[h]}var g=this,e=0,f=h.length;for(;e<f;++e){g.on(h[e],g.onStateChange,g)}},onStateChange:function(){var c=this,d=c.saveDelay;if(d>0){if(!c.stateTask){c.stateTask=Ext.create("Ext.util.DelayedTask",c.saveState,c)}c.stateTask.delay(c.saveDelay)}else{c.saveState()}},saveState:function(){var e=this,f,d;if(e.stateful!==false){f=e.getStateId();if(f){d=e.getState();if(e.fireEvent("beforestatesave",e,d)!==false){Ext.state.Manager.set(f,d);e.fireEvent("statesave",e,d)}}}},getState:function(){return null},applyState:function(b){if(b){Ext.apply(this,b)}},getStateId:function(){var d=this,c=d.stateId;if(!c){c=d.autoGenIdRe.test(String(d.id))?null:d.id}return c},initState:function(){var e=this,f=e.getStateId(),d;if(e.stateful!==false){if(f){d=Ext.state.Manager.get(f);if(d){d=Ext.apply({},d);if(e.fireEvent("beforestaterestore",e,d)!==false){e.applyState(d);e.fireEvent("staterestore",e,d)}}}}},destroy:function(){var b=this.stateTask;if(b){b.cancel()}this.clearListeners()}});Ext.define("Ext.AbstractComponent",{mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate",state:"Ext.state.Stateful"},requires:["Ext.PluginManager","Ext.ComponentManager","Ext.core.Element","Ext.core.DomHelper","Ext.XTemplate","Ext.ComponentQuery","Ext.LoadMask","Ext.ComponentLoader","Ext.EventManager","Ext.layout.Layout","Ext.layout.component.Auto"],uses:["Ext.ZIndexManager"],statics:{AUTO_ID:1000},isComponent:true,getAutoId:function(){return ++Ext.AbstractComponent.AUTO_ID},renderTpl:null,tplWriteMode:"overwrite",baseCls:Ext.baseCSSPrefix+"component",disabledCls:Ext.baseCSSPrefix+"item-disabled",ui:"default",uiCls:[],hidden:false,disabled:false,draggable:false,floating:false,hideMode:"display",styleHtmlContent:false,styleHtmlCls:Ext.baseCSSPrefix+"html",allowDomMove:true,autoShow:false,autoRender:false,needsLayout:false,rendered:false,componentLayoutCounter:0,weight:0,trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,maskOnDisable:true,constructor:function(e){var g=this,h,f;e=e||{};g.initialConfig=e;Ext.apply(g,e);g.addEvents("beforeactivate","activate","beforedeactivate","deactivate","added","disable","enable","beforeshow","show","beforehide","hide","removed","beforerender","render","afterrender","beforedestroy","destroy","resize","move");g.getId();g.mons=[];g.additionalCls=[];g.renderData=g.renderData||{};g.renderSelectors=g.renderSelectors||{};if(g.plugins){g.plugins=[].concat(g.plugins);for(h=0,f=g.plugins.length;h<f;h++){g.plugins[h]=g.constructPlugin(g.plugins[h])}}g.initComponent();Ext.ComponentManager.register(g);g.mixins.observable.constructor.call(g);g.mixins.state.constructor.call(g,e);this.addStateEvents("resize");if(g.plugins){g.plugins=[].concat(g.plugins);for(h=0,f=g.plugins.length;h<f;h++){g.plugins[h]=g.initPlugin(g.plugins[h])}}g.loader=g.getLoader();if(g.renderTo){g.render(g.renderTo)}if(g.autoShow){g.show()}if(Ext.isDefined(g.disabledClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: disabledClass has been deprecated. Please use disabledCls.")}g.disabledCls=g.disabledClass;delete g.disabledClass}},initComponent:Ext.emptyFn,getState:function(){var k=this,l=k.ownerCt?(k.shadowOwnerCt||k.ownerCt).getLayout():null,j={collapsed:k.collapsed},n=k.width,h=k.height,i=k.collapseMemento,m;if(k.collapsed&&i){if(Ext.isDefined(i.data.width)){n=i.width}if(Ext.isDefined(i.data.height)){h=i.height}}if(l&&k.flex){j.flex=k.flex;if(l.perpendicularPrefix){j[l.perpendicularPrefix]=k["get"+l.perpendicularPrefixCap]()}else{if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: Specified a flex value on a component not inside a Box layout")}}}else{if(l&&k.anchor){j.anchor=k.anchor;m=k.anchor.split(" ").concat(null);if(!m[0]){if(k.width){j.width=n}}if(!m[1]){if(k.height){j.height=h}}}else{if(k.width){j.width=n}if(k.height){j.height=h}}}if(j.width==k.initialConfig.width){delete j.width}if(j.height==k.initialConfig.height){delete j.height}if(l&&l.align&&(l.align.indexOf("stretch")!==-1)){delete j[l.perpendicularPrefix]}return j},show:Ext.emptyFn,animate:function(t){var o=this,l;t=t||{};l=t.to||{};if(Ext.fx.Manager.hasFxBlock(o.id)){return o}if(!t.dynamic&&(l.height||l.width)){var p=o.getWidth(),h=p,r=o.getHeight(),s=r,u=false;if(l.height&&l.height>r){s=l.height;u=true}if(l.width&&l.width>p){h=l.width;u=true}if(u){var m=!Ext.isNumber(o.width),n=!Ext.isNumber(o.height);o.componentLayout.childrenChanged=true;o.setSize(h,s,o.ownerCt);o.el.setSize(p,r);if(m){delete o.width}if(n){delete o.height}}}return o.mixins.animate.animate.apply(o,arguments)},findLayoutController:function(){return this.findParentBy(function(b){return !b.ownerCt||(b.layout.layoutBusy&&!b.ownerCt.layout.layoutBusy)})},onShow:function(){var b=this.needsLayout;if(Ext.isObject(b)){this.doComponentLayout(b.width,b.height,b.isSetSize,b.ownerCt)}},constructPlugin:function(b){if(b.ptype&&typeof b.init!="function"){b.cmp=this;b=Ext.PluginManager.create(b)}else{if(typeof b=="string"){b=Ext.PluginManager.create({ptype:b,cmp:this})}}return b},initPlugin:function(b){b.init(this);return b},doAutoRender:function(){var b=this;if(b.floating){b.render(document.body)}else{b.render(Ext.isBoolean(b.autoRender)?Ext.getBody():b.autoRender)}},render:function(d,e){var f=this;if(!f.rendered&&f.fireEvent("beforerender",f)!==false){if(f.el){f.el=Ext.get(f.el)}if(f.floating){f.onFloatRender()}d=f.initContainer(d);f.onRender(d,e);f.el.setVisibilityMode(Ext.core.Element[f.hideMode.toUpperCase()]);if(f.overCls){f.el.hover(f.addOverCls,f.removeOverCls,f)}f.fireEvent("render",f);f.initContent();f.afterRender(d);f.fireEvent("afterrender",f);f.initEvents();if(f.hidden){f.el.hide()}if(f.disabled){f.disable(true)}}return f},onRender:function(i,j){var m=this,o=m.el,n=m.initStyles(),k,l,p;j=m.getInsertPosition(j);if(!o){if(j){o=Ext.core.DomHelper.insertBefore(j,m.getElConfig(),true)}else{o=Ext.core.DomHelper.append(i,m.getElConfig(),true)}}else{if(m.allowDomMove!==false){if(j){i.dom.insertBefore(o.dom,j)}else{i.dom.appendChild(o.dom)}}}if(Ext.scopeResetCSS&&!m.ownerCt){if(o.dom==Ext.getBody().dom){o.parent().addCls(Ext.baseCSSPrefix+"reset")}else{m.resetEl=o.wrap({cls:Ext.baseCSSPrefix+"reset"})}}m.setUI(m.ui);o.addCls(m.initCls());o.setStyle(n);m.el=o;m.initFrame();k=m.initRenderTpl();if(k){l=m.initRenderData();k.append(m.getTargetEl(),l)}m.applyRenderSelectors();m.rendered=true},afterRender:function(){var e=this,f,d;e.getComponentLayout();if(!e.ownerCt||(e.height||e.width)){e.setSize(e.width,e.height)}else{e.renderChildren()}if(e.floating&&(e.x===undefined||e.y===undefined)){if(e.floatParent){d=e.el.getAlignToXY(e.floatParent.getTargetEl(),"c-c");f=e.floatParent.getTargetEl().translatePoints(d[0],d[1])}else{d=e.el.getAlignToXY(e.container,"c-c");f=e.container.translatePoints(d[0],d[1])}e.x=e.x===undefined?f.left:e.x;e.y=e.y===undefined?f.top:e.y}if(Ext.isDefined(e.x)||Ext.isDefined(e.y)){e.setPosition(e.x,e.y)}if(e.styleHtmlContent){e.getTargetEl().addCls(e.styleHtmlCls)}},renderChildren:function(){var c=this,d=c.getComponentLayout();c.suspendLayout=true;d.renderChildren();delete c.suspendLayout},frameCls:Ext.baseCSSPrefix+"frame",frameElementCls:{tl:[],tc:[],tr:[],ml:[],mc:[],mr:[],bl:[],bc:[],br:[]},frameTpl:['<tpl if="top">','<tpl if="left"><div class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl</tpl></tpl>" style="background-position: {tl}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr</tpl></tpl>" style="background-position: {tr}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc</tpl></tpl>" style="background-position: {tc}; height: {frameWidth}px" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>',"</tpl>",'<tpl if="left"><div class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml</tpl></tpl>" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr</tpl></tpl>" style="background-position: {mr}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc</tpl></tpl>" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>','<tpl if="bottom">','<tpl if="left"><div class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl</tpl></tpl>" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br</tpl></tpl>" style="background-position: {br}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc</tpl></tpl>" style="background-position: {bc}; height: {frameWidth}px" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>',"</tpl>"],frameTableTpl:["<table><tbody>",'<tpl if="top">',"<tr>",'<tpl if="left"><td class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl</tpl></tpl>" style="background-position: {tl}; padding-left:{frameWidth}px" role="presentation"></td></tpl>','<td class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc</tpl></tpl>" style="background-position: {tc}; height: {frameWidth}px" role="presentation"></td>','<tpl if="right"><td class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr</tpl></tpl>" style="background-position: {tr}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>","</tpl>","<tr>",'<tpl if="left"><td class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml</tpl></tpl>" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"></td></tpl>','<td class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc</tpl></tpl>" style="background-position: 0 0;" role="presentation"></td>','<tpl if="right"><td class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr</tpl></tpl>" style="background-position: {mr}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>",'<tpl if="bottom">',"<tr>",'<tpl if="left"><td class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl</tpl></tpl>" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"></td></tpl>','<td class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc</tpl></tpl>" style="background-position: {bc}; height: {frameWidth}px" role="presentation"></td>','<tpl if="right"><td class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br</tpl></tpl>" style="background-position: {br}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>","</tpl>","</tbody></table>"],initFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var g=this,h=g.getFrameInfo(),e=h.width,f=g.getFrameTpl(h.table);if(g.frame){f.insertFirst(g.el,Ext.apply({},{ui:g.ui,uiCls:g.uiCls,frameCls:g.frameCls,baseCls:g.baseCls,frameWidth:e,top:!!h.top,left:!!h.left,right:!!h.right,bottom:!!h.bottom},g.getFramePositions(h)));g.frameBody=g.el.down("."+g.frameCls+"-mc");Ext.apply(g.renderSelectors,{frameTL:"."+g.baseCls+"-tl",frameTC:"."+g.baseCls+"-tc",frameTR:"."+g.baseCls+"-tr",frameML:"."+g.baseCls+"-ml",frameMC:"."+g.baseCls+"-mc",frameMR:"."+g.baseCls+"-mr",frameBL:"."+g.baseCls+"-bl",frameBC:"."+g.baseCls+"-bc",frameBR:"."+g.baseCls+"-br"})}},updateFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var l=this,j=this.frameSize&&this.frameSize.table,k=this.frameTL,m=this.frameBL,n=this.frameML,i=this.frameMC,h;this.initFrame();if(i){if(l.frame){delete l.frameTL;delete l.frameTC;delete l.frameTR;delete l.frameML;delete l.frameMC;delete l.frameMR;delete l.frameBL;delete l.frameBC;delete l.frameBR;this.applyRenderSelectors();h=this.frameMC.dom.className;i.insertAfter(this.frameMC);this.frameMC.remove();this.frameBody=this.frameMC=i;i.dom.className=h;if(j){l.el.query("> table")[1].remove()}else{if(k){k.remove()}if(m){m.remove()}n.remove()}}else{}}else{if(l.frame){this.applyRenderSelectors()}}},getFrameInfo:function(){if(Ext.supports.CSS3BorderRadius){return false}var l=this,i=l.el.getStyle("background-position-x"),j=l.el.getStyle("background-position-y"),k,g=false,h;if(!i&&!j){k=l.el.getStyle("background-position").split(" ");i=k[0];j=k[1]}if(parseInt(i,10)>=1000000&&parseInt(j,10)>=1000000){h=Math.max;g={table:i.substr(0,3)=="110",vertical:j.substr(0,3)=="110",top:h(i.substr(3,2),i.substr(5,2)),right:h(i.substr(5,2),j.substr(3,2)),bottom:h(j.substr(3,2),j.substr(5,2)),left:h(j.substr(5,2),i.substr(3,2))};g.width=h(g.top,g.right,g.bottom,g.left);l.el.setStyle("background-image","none")}if(l.frame===true&&!g){Ext.Error.raise("You have set frame: true explicity on this component while it doesn't have any framing defined in the CSS template. In this case IE can't figure out what sizes to use and thus framing on this component will be disabled.")}l.frame=l.frame||!!g;l.frameSize=g||false;return g},getFramePositions:function(n){var l=this,k=n.width,j=l.dock,o,r,m,p,s;if(n.vertical){r="0 -"+(k*0)+"px";m="0 -"+(k*1)+"px";if(j&&j=="right"){r="right -"+(k*0)+"px";m="right -"+(k*1)+"px"}o={tl:"0 -"+(k*0)+"px",tr:"0 -"+(k*1)+"px",bl:"0 -"+(k*2)+"px",br:"0 -"+(k*3)+"px",ml:"-"+(k*1)+"px 0",mr:"right 0",tc:r,bc:m}}else{p="-"+(k*0)+"px 0";s="right 0";if(j&&j=="bottom"){p="left bottom";s="right bottom"}o={tl:"0 -"+(k*2)+"px",tr:"right -"+(k*3)+"px",bl:"0 -"+(k*4)+"px",br:"right -"+(k*5)+"px",ml:p,mr:s,tc:"0 -"+(k*0)+"px",bc:"0 -"+(k*1)+"px"}}return o},getFrameTpl:function(b){return b?this.getTpl("frameTableTpl"):this.getTpl("frameTpl")},initCls:function(){var c=this,d=[];d.push(c.baseCls);if(Ext.isDefined(c.cmpCls)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: cmpCls has been deprecated. Please use componentCls.")}c.componentCls=c.cmpCls;delete c.cmpCls}if(c.componentCls){d.push(c.componentCls)}else{c.componentCls=c.baseCls}if(c.cls){d.push(c.cls);delete c.cls}return d.concat(c.additionalCls)},setUI:function(k){var l=this,h=Ext.Array.clone(l.uiCls),j=[],m=[],i,n;for(n=0;n<h.length;n++){i=h[n];m=m.concat(l.removeClsWithUI(i,true));j.push(i)}if(m.length){l.removeCls(m)}l.removeUIFromElement();l.ui=k;l.addUIToElement();m=[];for(n=0;n<j.length;n++){i=j[n];m=m.concat(l.addClsWithUI(i,true))}if(m.length){l.addCls(m)}},addClsWithUI:function(g,h){var i=this,j=[],f;if(!Ext.isArray(g)){g=[g]}for(f=0;f<g.length;f++){if(g[f]&&!i.hasUICls(g[f])){i.uiCls=Ext.Array.clone(i.uiCls);i.uiCls.push(g[f]);j=j.concat(i.addUIClsToElement(g[f]))}}if(h!==true){i.addCls(j)}return j},removeClsWithUI:function(g,h){var i=this,j=[],f;if(!Ext.isArray(g)){g=[g]}for(f=0;f<g.length;f++){if(g[f]&&i.hasUICls(g[f])){i.uiCls=Ext.Array.remove(i.uiCls,g[f]);j=j.concat(i.removeUIClsFromElement(g[f]))}}if(h!==true){i.removeCls(j)}return j},hasUICls:function(e){var d=this,f=d.uiCls||[];return Ext.Array.contains(f,e)},addUIClsToElement:function(j,u){var n=this,i=[],m=n.frameElementCls;i.push(Ext.baseCSSPrefix+j);i.push(n.baseCls+"-"+j);i.push(n.baseCls+"-"+n.ui+"-"+j);if(!u&&n.frame&&!Ext.supports.CSS3BorderRadius){var p=["tl","tc","tr","ml","mc","mr","bl","bc","br"],s,o,r,t;for(o=0;o<p.length;o++){t=n["frame"+p[o].toUpperCase()];s=[n.baseCls+"-"+n.ui+"-"+p[o],n.baseCls+"-"+n.ui+"-"+j+"-"+p[o]];if(t&&t.dom){t.addCls(s)}else{for(r=0;r<s.length;r++){if(Ext.Array.indexOf(m[p[o]],s[r])==-1){m[p[o]].push(s[r])}}}}}n.frameElementCls=m;return i},removeUIClsFromElement:function(i,k){var l=this,j=[],m=l.frameElementCls;j.push(Ext.baseCSSPrefix+i);j.push(l.baseCls+"-"+i);j.push(l.baseCls+"-"+l.ui+"-"+i);if(!k&&l.frame&&!Ext.supports.CSS3BorderRadius){var o=["tl","tc","tr","ml","mc","mr","bl","bc","br"],p,n;i=l.baseCls+"-"+l.ui+"-"+i+"-"+o[p];for(p=0;p<o.length;p++){n=l["frame"+o[p].toUpperCase()];if(n&&n.dom){n.removeCls(i)}else{Ext.Array.remove(m[o[p]],i)}}}l.frameElementCls=m;return j},addUIToElement:function(j){var k=this,l=k.frameElementCls;k.addCls(k.baseCls+"-"+k.ui);if(k.frame&&!Ext.supports.CSS3BorderRadius){var n=["tl","tc","tr","ml","mc","mr","bl","bc","br"],h,m,i;for(h=0;h<n.length;h++){m=k["frame"+n[h].toUpperCase()];i=k.baseCls+"-"+k.ui+"-"+n[h];if(m){m.addCls(i)}else{if(!Ext.Array.contains(l[n[h]],i)){l[n[h]].push(i)}}}}},removeUIFromElement:function(){var j=this,k=j.frameElementCls;j.removeCls(j.baseCls+"-"+j.ui);if(j.frame&&!Ext.supports.CSS3BorderRadius){var m=["tl","tc","tr","ml","mc","mr","bl","bc","br"],n,h,l,i;for(n=0;n<m.length;n++){l=j["frame"+m[n].toUpperCase()];i=j.baseCls+"-"+j.ui+"-"+m[n];if(l){l.removeCls(i)}else{Ext.Array.remove(k[m[n]],i)}}}},getElConfig:function(){var b=this.autoEl||{tag:"div"};b.id=this.id;return b},getInsertPosition:function(b){if(b!==undefined){if(Ext.isNumber(b)){b=this.container.dom.childNodes[b]}else{b=Ext.getDom(b)}}return b},initContainer:function(d){var c=this;if(!d&&c.el){d=c.el.dom.parentNode;c.allowDomMove=false}c.container=Ext.get(d);if(c.ctCls){c.container.addCls(c.ctCls)}return c.container},initRenderData:function(){var b=this;return Ext.applyIf(b.renderData,{ui:b.ui,uiCls:b.uiCls,baseCls:b.baseCls,componentCls:b.componentCls,frame:b.frame})},getTpl:function(j){var h=this,f=h.self.prototype,i,g;if(h.hasOwnProperty(j)){g=h[j];if(g&&!(g instanceof Ext.XTemplate)){h[j]=Ext.ClassManager.dynInstantiate("Ext.XTemplate",g)}return h[j]}if(!(f[j] instanceof Ext.XTemplate)){i=f;do{if(i.hasOwnProperty(j)){g=i[j];if(g&&!(g instanceof Ext.XTemplate)){i[j]=Ext.ClassManager.dynInstantiate("Ext.XTemplate",g);break}}i=i.superclass}while(i)}return f[j]},initRenderTpl:function(){return this.getTpl("renderTpl")},initStyles:function(){var d={},f=this,e=Ext.core.Element;if(Ext.isString(f.style)){d=e.parseStyles(f.style)}else{d=Ext.apply({},f.style)}if(f.padding!==undefined){d.padding=e.unitizeBox((f.padding===true)?5:f.padding)}if(f.margin!==undefined){d.margin=e.unitizeBox((f.margin===true)?5:f.margin)}delete f.style;return d},initContent:function(){var e=this,g=e.getTargetEl(),f,h;if(e.html){g.update(Ext.core.DomHelper.markup(e.html));delete e.html}if(e.contentEl){f=Ext.get(e.contentEl);h=Ext.baseCSSPrefix;f.removeCls([h+"hidden",h+"hide-display",h+"hide-offsets",h+"hide-nosize"]);g.appendChild(f.dom)}if(e.tpl){if(!e.tpl.isTemplate){e.tpl=Ext.create("Ext.XTemplate",e.tpl)}if(e.data){e.tpl[e.tplWriteMode](g,e.data);delete e.data}}},initEvents:function(){var j=this,h=j.afterRenderEvents,f,i,g=function(a){j.mon(f,a)};if(h){for(i in h){if(h.hasOwnProperty(i)){f=j[i];if(f&&f.on){Ext.each(h[i],g)}}}}},applyRenderSelectors:function(){var d=this.renderSelectors||{},f=this.el.dom,e;for(e in d){if(d.hasOwnProperty(e)&&d[e]){this[e]=Ext.get(Ext.DomQuery.selectNode(d[e],f))}}},is:function(b){return Ext.ComponentQuery.is(this,b)},up:function(c){var d=this.ownerCt;if(c){for(;d;d=d.ownerCt){if(Ext.ComponentQuery.is(d,c)){return d}}}return d},nextSibling:function(c){var j=this.ownerCt,l,k,h,i;if(j){l=j.items;h=l.indexOf(this)+1;if(h){if(c){for(k=l.getCount();h<k;h++){if((i=l.getAt(h)).is(c)){return i}}}else{if(h<l.getCount()){return l.getAt(h)}}}}return null},previousSibling:function(c){var i=this.ownerCt,j,g,h;if(i){j=i.items;g=j.indexOf(this);if(g!=-1){if(c){for(--g;g>=0;g--){if((h=j.getAt(g)).is(c)){return h}}}else{if(g){return j.getAt(--g)}}}}return null},previousNode:function(n,m){var j=this,h,k,i,l;if(m&&j.is(n)){return j}h=this.prev(n);if(h){return h}if(j.ownerCt){for(k=j.ownerCt.items.items,l=Ext.Array.indexOf(k,j)-1;l>-1;l--){if(k[l].query){h=k[l].query(n);h=h[h.length-1];if(h){return h}}}return j.ownerCt.previousNode(n,true)}},nextNode:function(n,m){var j=this,h,k,i,l;if(m&&j.is(n)){return j}h=this.next(n);if(h){return h}if(j.ownerCt){for(k=j.ownerCt.items,l=k.indexOf(j)+1,k=k.items,i=k.length;l<i;l++){if(k[l].down){h=k[l].down(n);if(h){return h}}}return j.ownerCt.nextNode(n)}},getId:function(){return this.id||(this.id="ext-comp-"+(this.getAutoId()))},getItemId:function(){return this.itemId||this.id},getEl:function(){return this.el},getTargetEl:function(){return this.frameBody||this.el},isXType:function(c,d){if(Ext.isFunction(c)){c=c.xtype}else{if(Ext.isObject(c)){c=c.statics().xtype}}return !d?("/"+this.getXTypes()+"/").indexOf("/"+c+"/")!=-1:this.self.xtype==c},getXTypes:function(){var e=this.self,h=[],f=this,g;if(!e.xtypes){while(f&&Ext.getClass(f)){g=Ext.getClass(f).xtype;if(g!==undefined){h.unshift(g)}f=f.superclass}e.xtypeChain=h;e.xtypes=h.join("/")}return e.xtypes},update:function(e,h,f){var g=this;if(g.tpl&&!Ext.isString(e)){g.data=e;if(g.rendered){g.tpl[g.tplWriteMode](g.getTargetEl(),e||{})}}else{g.html=Ext.isObject(e)?Ext.core.DomHelper.markup(e):e;if(g.rendered){g.getTargetEl().update(g.html,h,f)}}if(g.rendered){g.doComponentLayout()}},setVisible:function(b){return this[b?"show":"hide"]()},isVisible:function(g){var j=this,h=j,i=!j.hidden,f=j.ownerCt;j.hiddenAncestor=false;if(j.destroyed){return false}if(g&&i&&j.rendered&&f){while(f){if(f.hidden||(f.collapsed&&!(f.getDockedItems&&Ext.Array.contains(f.getDockedItems(),h)))){j.hiddenAncestor=f;i=false;break}h=f;f=f.ownerCt}}return i},enable:function(d){var c=this;if(c.rendered){c.el.removeCls(c.disabledCls);c.el.dom.disabled=false;c.onEnable()}c.disabled=false;if(d!==true){c.fireEvent("enable",c)}return c},disable:function(d){var c=this;if(c.rendered){c.el.addCls(c.disabledCls);c.el.dom.disabled=true;c.onDisable()}c.disabled=true;if(d!==true){c.fireEvent("disable",c)}return c},onEnable:function(){if(this.maskOnDisable){this.el.unmask()}},onDisable:function(){if(this.maskOnDisable){this.el.mask()}},isDisabled:function(){return this.disabled},setDisabled:function(b){return this[b?"disable":"enable"]()},isHidden:function(){return this.hidden},addCls:function(d){var c=this;if(!d){return c}if(!Ext.isArray(d)){d=d.replace(c.trimRe,"").split(c.spacesRe)}if(c.rendered){c.el.addCls(d)}else{c.additionalCls=Ext.Array.unique(c.additionalCls.concat(d))}return c},addClass:function(){return this.addCls.apply(this,arguments)},removeCls:function(d){var c=this;if(!d){return c}if(!Ext.isArray(d)){d=d.replace(c.trimRe,"").split(c.spacesRe)}if(c.rendered){c.el.removeCls(d)}else{if(c.additionalCls.length){Ext.each(d,function(a){Ext.Array.remove(c.additionalCls,a)})}}return c},removeClass:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: removeClass has been deprecated. Please use removeCls.")}return this.removeCls.apply(this,arguments)},addOverCls:function(){var b=this;if(!b.disabled){b.el.addCls(b.overCls)}},removeOverCls:function(){this.el.removeCls(this.overCls)},addListener:function(h,k,l,i){var j=this,m,n;if(Ext.isString(h)&&(Ext.isObject(k)||i&&i.element)){if(i.element){m=k;k={};k[h]=m;h=i.element;if(l){k.scope=l}for(n in i){if(i.hasOwnProperty(n)){if(j.eventOptionsRe.test(n)){k[n]=i[n]}}}}if(j[h]&&j[h].on){j.mon(j[h],k)}else{j.afterRenderEvents=j.afterRenderEvents||{};if(!j.afterRenderEvents[h]){j.afterRenderEvents[h]=[]}j.afterRenderEvents[h].push(k)}}return j.mixins.observable.addListener.apply(j,arguments)},removeManagedListenerItem:function(i,j,k,o,m,n){var l=this,p=j.options?j.options.element:null;if(p){p=l[p];if(p&&p.un){if(i||(j.item===k&&j.ename===o&&(!m||j.fn===m)&&(!n||j.scope===n))){p.un(j.ename,j.fn,j.scope);if(!i){Ext.Array.remove(l.managedListeners,j)}}}}else{return l.mixins.observable.removeManagedListenerItem.apply(l,arguments)}},getBubbleTarget:function(){return this.ownerCt},isFloating:function(){return this.floating},isDraggable:function(){return !!this.draggable},isDroppable:function(){return !!this.droppable},onAdded:function(d,c){this.ownerCt=d;this.fireEvent("added",this,d,c)},onRemoved:function(){var b=this;b.fireEvent("removed",b,b.ownerCt);delete b.ownerCt},beforeDestroy:Ext.emptyFn,onResize:Ext.emptyFn,setSize:function(e,f){var h=this,g;if(Ext.isObject(e)){f=e.height;e=e.width}if(Ext.isNumber(e)){e=Ext.Number.constrain(e,h.minWidth,h.maxWidth)}if(Ext.isNumber(f)){f=Ext.Number.constrain(f,h.minHeight,h.maxHeight)}if(!h.rendered||!h.isVisible()){if(h.hiddenAncestor){g=h.hiddenAncestor.layoutOnShow;g.remove(h);g.add(h)}h.needsLayout={width:e,height:f,isSetSize:true};if(!h.rendered){h.width=(e!==undefined)?e:h.width;h.height=(f!==undefined)?f:h.height}return h}h.doComponentLayout(e,f,true);return h},isFixedWidth:function(){var c=this,d=c.layoutManagedWidth;if(Ext.isDefined(c.width)||d==1){return true}if(d==2){return false}return(c.ownerCt&&c.ownerCt.isFixedWidth())},isFixedHeight:function(){var d=this,c=d.layoutManagedHeight;if(Ext.isDefined(d.height)||c==1){return true}if(c==2){return false}return(d.ownerCt&&d.ownerCt.isFixedHeight())},setCalculatedSize:function(f,g,h){var j=this,i;if(Ext.isObject(f)){h=f.ownerCt;g=f.height;f=f.width}if(Ext.isNumber(f)){f=Ext.Number.constrain(f,j.minWidth,j.maxWidth)}if(Ext.isNumber(g)){g=Ext.Number.constrain(g,j.minHeight,j.maxHeight)}if(!j.rendered||!j.isVisible()){if(j.hiddenAncestor){i=j.hiddenAncestor.layoutOnShow;i.remove(j);i.add(j)}j.needsLayout={width:f,height:g,isSetSize:false,ownerCt:h};return j}j.doComponentLayout(f,g,false,h);return j},doComponentLayout:function(l,h,n,j){var k=this,m=k.getComponentLayout(),i=m.lastComponentSize||{width:undefined,height:undefined};if(k.rendered&&m){if(!Ext.isDefined(l)){if(k.isFixedWidth()){l=Ext.isDefined(k.width)?k.width:i.width}}if(!Ext.isDefined(h)){if(k.isFixedHeight()){h=Ext.isDefined(k.height)?k.height:i.height}}if(n){k.width=l;k.height=h}m.layout(l,h,n,j)}return k},forceComponentLayout:function(){this.doComponentLayout()},setComponentLayout:function(c){var d=this.componentLayout;if(d&&d.isLayout&&d!=c){d.setOwner(null)}this.componentLayout=c;c.setOwner(this)},getComponentLayout:function(){var b=this;if(!b.componentLayout||!b.componentLayout.isLayout){b.setComponentLayout(Ext.layout.Layout.create(b.componentLayout,"autocomponent"))}return b.componentLayout},afterComponentLayout:function(h,f,e,g){++this.componentLayoutCounter;this.fireEvent("resize",this,h,f)},beforeComponentLayout:function(h,f,e,g){return true},setPosition:function(e,f){var d=this;if(Ext.isObject(e)){f=e.y;e=e.x}if(!d.rendered){return d}if(e!==undefined||f!==undefined){d.el.setBox(e,f);d.onPosition(e,f);d.fireEvent("move",d,e,f)}return d},onPosition:Ext.emptyFn,setWidth:function(b){return this.setSize(b)},setHeight:function(b){return this.setSize(undefined,b)},getSize:function(){return this.el.getSize()},getWidth:function(){return this.el.getWidth()},getHeight:function(){return this.el.getHeight()},getLoader:function(){var f=this,d=f.autoLoad?(Ext.isObject(f.autoLoad)?f.autoLoad:{url:f.autoLoad}):null,e=f.loader||d;if(e){if(!e.isLoader){f.loader=Ext.create("Ext.ComponentLoader",Ext.apply({target:f,autoLoad:d},e))}else{e.setTarget(f)}return f.loader}return null},setLoading:function(h,g){var e=this,f;if(e.rendered){if(h!==false&&!e.collapsed){if(Ext.isObject(h)){f=h}else{if(Ext.isString(h)){f={msg:h}}else{f={}}}e.loadMask=e.loadMask||Ext.create("Ext.LoadMask",g?e.getTargetEl():e.el,f);e.loadMask.show()}else{if(e.loadMask){Ext.destroy(e.loadMask);e.loadMask=null}}}return e.loadMask},setDocked:function(d,f){var e=this;e.dock=d;if(f&&e.ownerCt&&e.rendered){e.ownerCt.doComponentLayout()}return e},onDestroy:function(){var b=this;if(b.monitorResize&&Ext.EventManager.resizeEvent){Ext.EventManager.resizeEvent.removeListener(b.setSize,b)}Ext.destroy(b.componentLayout,b.loadMask)},destroy:function(){var b=this;if(!b.isDestroyed){if(b.fireEvent("beforedestroy",b)!==false){b.destroying=true;b.beforeDestroy();if(b.floating){delete b.floatParent;if(b.zIndexManager){b.zIndexManager.unregister(b)}}else{if(b.ownerCt&&b.ownerCt.remove){b.ownerCt.remove(b,false)}}b.onDestroy();Ext.destroy(b.plugins);if(b.rendered){b.el.remove()}Ext.ComponentManager.unregister(b);b.fireEvent("destroy",b);b.mixins.state.destroy.call(b);b.clearListeners();b.destroying=false;b.isDestroyed=true}}},getPlugin:function(e){var h=0,f=this.plugins,g=f.length;for(;h<g;h++){if(f[h].pluginId===e){return f[h]}}},isDescendantOf:function(b){return !!this.findParentBy(function(a){return a===b})}},function(){this.createAlias({on:"addListener",prev:"previousSibling",next:"nextSibling"})});Ext.define("Ext.Component",{alias:["widget.component","widget.box"],extend:"Ext.AbstractComponent",requires:["Ext.util.DelayedTask"],uses:["Ext.Layer","Ext.resizer.Resizer","Ext.util.ComponentDragger"],mixins:{floating:"Ext.util.Floating"},statics:{DIRECTION_TOP:"top",DIRECTION_RIGHT:"right",DIRECTION_BOTTOM:"bottom",DIRECTION_LEFT:"left",VERTICAL_DIRECTION:/^(?:top|bottom)$/},resizeHandles:"all",floating:false,toFrontOnShow:true,hideMode:"display",hideParent:false,ariaRole:"presentation",bubbleEvents:[],actionMode:"el",monPropRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,constructor:function(b){b=b||{};if(b.initialConfig){if(b.isAction){this.baseAction=b}b=b.initialConfig}else{if(b.tagName||b.dom||Ext.isString(b)){b={applyTo:b,id:b.id||b}}}this.callParent([b]);if(this.baseAction){this.baseAction.addComponent(this)}},initComponent:function(){var b=this;if(b.listeners){b.on(b.listeners);delete b.listeners}b.enableBubble(b.bubbleEvents);b.mons=[]},afterRender:function(){var c=this,d=c.resizable;if(c.floating){c.makeFloating(c.floating)}else{c.el.setVisibilityMode(Ext.core.Element[c.hideMode.toUpperCase()])}if(Ext.isDefined(c.autoScroll)){c.setAutoScroll(c.autoScroll)}c.callParent();if(!(c.x&&c.y)&&(c.pageX||c.pageY)){c.setPagePosition(c.pageX,c.pageY)}if(d){c.initResizable(d)}if(c.draggable){c.initDraggable()}c.initAria()},initAria:function(){var d=this.getActionEl(),c=this.ariaRole;if(c){d.dom.setAttribute("role",c)}},setAutoScroll:function(e){var d=this,f;e=!!e;if(d.rendered){f=d.getTargetEl();f.setStyle("overflow",e?"auto":"");if(e&&(Ext.isIE6||Ext.isIE7)){f.position()}}d.autoScroll=e;return d},makeFloating:function(b){this.mixins.floating.constructor.call(this,b)},initResizable:function(b){b=Ext.apply({target:this,dynamic:false,constrainTo:this.constrainTo,handles:this.resizeHandles},b);b.target=this;this.resizer=Ext.create("Ext.resizer.Resizer",b)},getDragEl:function(){return this.el},initDraggable:function(){var c=this,d=Ext.applyIf({el:this.getDragEl(),constrainTo:c.constrainTo||(c.floatParent?c.floatParent.getTargetEl():c.el.dom.parentNode)},this.draggable);if(c.constrain||c.constrainDelegate){d.constrain=c.constrain;d.constrainDelegate=c.constrainDelegate}this.dd=Ext.create("Ext.util.ComponentDragger",this,d)},setPosition:function(m,o,w){var r=this,v=r.el,l={},p,n,s,t,u;if(Ext.isArray(m)){w=o;o=m[1];m=m[0]}r.x=m;r.y=o;if(!r.rendered){return r}p=r.adjustPosition(m,o);n=p.x;s=p.y;t=Ext.isNumber(n);u=Ext.isNumber(s);if(t||u){if(w){if(t){l.left=n}if(u){l.top=s}r.stopAnimation();r.animate(Ext.apply({duration:1000,listeners:{afteranimate:Ext.Function.bind(r.afterSetPosition,r,[n,s])},to:l},w))}else{if(!t){v.setTop(s)}else{if(!u){v.setLeft(n)}else{v.setLeftTop(n,s)}}r.afterSetPosition(n,s)}}return r},afterSetPosition:function(c,d){this.onPosition(c,d);this.fireEvent("move",this,c,d)},showAt:function(e,f,d){if(this.floating){this.setPosition(e,f,d)}else{this.setPagePosition(e,f,d)}this.show()},setPagePosition:function(g,h,f){var j=this,i;if(Ext.isArray(g)){h=g[1];g=g[0]}j.pageX=g;j.pageY=h;if(j.floating&&j.floatParent){i=j.floatParent.getTargetEl().getViewRegion();if(Ext.isNumber(g)&&Ext.isNumber(i.left)){g-=i.left}if(Ext.isNumber(h)&&Ext.isNumber(i.top)){h-=i.top}j.setPosition(g,h,f)}else{i=j.el.translatePoints(g,h);j.setPosition(i.left,i.top,f)}return j},getBox:function(e){var f=this.getPosition(e);var d=this.getSize();d.x=f[0];d.y=f[1];return d},updateBox:function(b){this.setSize(b.width,b.height);this.setPagePosition(b.x,b.y);return this},getOuterSize:function(){var b=this.el;return{width:b.getWidth()+b.getMargin("lr"),height:b.getHeight()+b.getMargin("tb")}},adjustSize:function(d,c){if(this.autoWidth){d="auto"}if(this.autoHeight){c="auto"}return{width:d,height:c}},adjustPosition:function(e,f){if(this.floating&&this.floatParent){var d=this.floatParent.getTargetEl().getViewRegion();e+=d.left;f+=d.top}return{x:e,y:f}},getPosition:function(f){var e=this.el,h;if(f===true){return[e.getLeft(true),e.getTop(true)]}h=this.xy||e.getXY();if(this.floating&&this.floatParent){var g=this.floatParent.getTargetEl().getViewRegion();h[0]-=g.left;h[1]-=g.top}return h},getId:function(){return this.id||(this.id=(this.getXType()||"ext-comp")+"-"+this.getAutoId())},onEnable:function(){var b=this.getActionEl();b.dom.removeAttribute("aria-disabled");b.dom.disabled=false;this.callParent()},onDisable:function(){var b=this.getActionEl();b.dom.setAttribute("aria-disabled",true);b.dom.disabled=true;this.callParent()},show:function(f,e,d){if(this.rendered&&this.isVisible()){if(this.toFrontOnShow&&this.floating){this.toFront()}}else{if(this.fireEvent("beforeshow",this)!==false){this.hidden=false;if(!this.rendered&&(this.autoRender||this.floating)){this.doAutoRender()}if(this.rendered){this.beforeShow();this.onShow.apply(this,arguments);if(this.ownerCt&&!this.floating&&!(this.ownerCt.suspendLayout||this.ownerCt.layout.layoutBusy)){this.ownerCt.doLayout()}this.afterShow.apply(this,arguments)}}}return this},beforeShow:Ext.emptyFn,onShow:function(){var b=this;b.el.show();if(this.floating&&this.constrain){this.doConstrain()}b.callParent(arguments)},afterShow:function(j,h,l){var k=this,i,n,m;j=j||k.animateTarget;if(!k.ghost){j=null}if(j){j=j.el?j.el:Ext.get(j);n=k.el.getBox();i=j.getBox();i.width+="px";i.height+="px";n.width+="px";n.height+="px";k.el.addCls(Ext.baseCSSPrefix+"hide-offsets");m=k.ghost();m.el.stopAnimation();m.el.animate({from:i,to:n,listeners:{afteranimate:function(){delete m.componentLayout.lastComponentSize;k.unghost();k.el.removeCls(Ext.baseCSSPrefix+"hide-offsets");if(k.floating){k.toFront()}Ext.callback(h,l||k)}}})}else{if(k.floating){k.toFront()}Ext.callback(h,l||k)}k.fireEvent("show",k)},hide:function(){this.showOnParentShow=false;if(!(this.rendered&&!this.isVisible())&&this.fireEvent("beforehide",this)!==false){this.hidden=true;if(this.rendered){this.onHide.apply(this,arguments);if(this.ownerCt&&!this.floating&&!(this.ownerCt.suspendLayout||this.ownerCt.layout.layoutBusy)){this.ownerCt.doLayout()}}}return this},onHide:function(i,h,k){var j=this,l,g;i=i||j.animateTarget;if(!j.ghost){i=null}if(i){i=i.el?i.el:Ext.get(i);l=j.ghost();l.el.stopAnimation();g=i.getBox();g.width+="px";g.height+="px";l.el.animate({to:g,listeners:{afteranimate:function(){delete l.componentLayout.lastComponentSize;l.el.hide();j.afterHide(h,k)}}})}j.el.hide();if(!i){j.afterHide(h,k)}},afterHide:function(d,c){Ext.callback(d,c||this);this.fireEvent("hide",this)},onDestroy:function(){var b=this;if(b.rendered){Ext.destroy(b.proxy,b.resizer);if(b.actionMode=="container"||b.removeMode=="container"){b.container.remove()}}delete b.focusTask;b.callParent()},deleteMembers:function(){var d=arguments,e=d.length,f=0;for(;f<e;++f){delete this[d[f]]}},focus:function(g,e){var h=this,f;if(e){if(!h.focusTask){h.focusTask=Ext.create("Ext.util.DelayedTask",h.focus)}h.focusTask.delay(Ext.isNumber(e)?e:10,null,h,[g,false]);return h}if(h.rendered&&!h.isDestroyed){f=h.getFocusEl();f.focus();if(f.dom&&g===true){f.dom.select()}if(h.floating){h.toFront(true)}}return h},getFocusEl:function(){return this.el},blur:function(){if(this.rendered){this.getFocusEl().blur()}return this},getEl:function(){return this.el},getResizeEl:function(){return this.el},getPositionEl:function(){return this.el},getActionEl:function(){return this.el},getVisibilityEl:function(){return this.el},onResize:Ext.emptyFn,getBubbleTarget:function(){return this.ownerCt},getContentTarget:function(){return this.el},cloneConfig:function(h){h=h||{};var g=h.id||Ext.id();var f=Ext.applyIf(h,this.initialConfig);f.id=g;var e=Ext.getClass(this);return new e(f)},getXType:function(){return this.self.xtype},findParentBy:function(d){var c;for(c=this.ownerCt;c&&!d(c,this);c=c.ownerCt){}return c||null},findParentByType:function(b){return Ext.isFunction(b)?this.findParentBy(function(a){return a.constructor===b}):this.up(b)},bubble:function(h,e,f){var g=this;while(g){if(h.apply(e||g,f||[g])===false){break}g=g.ownerCt}return this},getProxy:function(){if(!this.proxy){this.proxy=this.el.createProxy(Ext.baseCSSPrefix+"proxy-el",Ext.getBody(),true)}return this.proxy}});Ext.define("Ext.toolbar.Spacer",{extend:"Ext.Component",alias:"widget.tbspacer",alternateClassName:"Ext.Toolbar.Spacer",baseCls:Ext.baseCSSPrefix+"toolbar-spacer",focusable:false});Ext.define("Ext.resizer.Splitter",{extend:"Ext.Component",requires:["Ext.XTemplate"],uses:["Ext.resizer.SplitterTracker"],alias:"widget.splitter",renderTpl:['<tpl if="collapsible===true"><div class="'+Ext.baseCSSPrefix+"collapse-el "+Ext.baseCSSPrefix+'layout-split-{collapseDir}">&nbsp;</div></tpl>'],baseCls:Ext.baseCSSPrefix+"splitter",collapsedClsInternal:Ext.baseCSSPrefix+"splitter-collapsed",collapsible:false,collapseOnDblClick:true,defaultSplitMin:40,defaultSplitMax:1000,width:5,height:5,collapseTarget:"next",onRender:function(){var e=this,d=e.getCollapseTarget(),f=e.getCollapseDirection();Ext.applyIf(e.renderData,{collapseDir:f,collapsible:e.collapsible||d.collapsible});Ext.applyIf(e.renderSelectors,{collapseEl:"."+Ext.baseCSSPrefix+"collapse-el"});this.callParent(arguments);if(e.performCollapse!==false){if(e.renderData.collapsible){e.mon(e.collapseEl,"click",e.toggleTargetCmp,e)}if(e.collapseOnDblClick){e.mon(e.el,"dblclick",e.toggleTargetCmp,e)}}e.mon(d,"collapse",e.onTargetCollapse,e);e.mon(d,"expand",e.onTargetExpand,e);e.el.addCls(e.baseCls+"-"+e.orientation);e.el.unselectable();e.tracker=Ext.create("Ext.resizer.SplitterTracker",{el:e.el});e.relayEvents(e.tracker,["beforedragstart","dragstart","dragend"])},getCollapseDirection:function(){var f=this,e,d=f.ownerCt.layout.type;if(f.collapseTarget.isComponent){e=Number(f.ownerCt.items.indexOf(f.collapseTarget)==f.ownerCt.items.indexOf(f)-1)<<1|Number(d=="hbox")}else{e=Number(f.collapseTarget=="prev")<<1|Number(d=="hbox")}f.orientation=["horizontal","vertical"][e&1];return["bottom","right","top","left"][e]},getCollapseTarget:function(){var b=this;return b.collapseTarget.isComponent?b.collapseTarget:b.collapseTarget=="prev"?b.previousSibling():b.nextSibling()},onTargetCollapse:function(b){this.el.addCls([this.collapsedClsInternal,this.collapsedCls])},onTargetExpand:function(b){this.el.removeCls([this.collapsedClsInternal,this.collapsedCls])},toggleTargetCmp:function(f,e){var d=this.getCollapseTarget();if(d.isVisible()){if(d.collapsed){d.expand(d.animCollapse)}else{d.collapse(this.renderData.collapseDir,d.animCollapse)}}},setSize:function(){var b=this;b.callParent(arguments);if(Ext.isIE){b.el.repaint()}}});Ext.define("Ext.form.field.Base",{extend:"Ext.Component",mixins:{labelable:"Ext.form.Labelable",field:"Ext.form.field.Field"},alias:"widget.field",alternateClassName:["Ext.form.Field","Ext.form.BaseField"],requires:["Ext.util.DelayedTask","Ext.XTemplate","Ext.layout.component.field.Field"],fieldSubTpl:['<input id="{id}" type="{type}" ','<tpl if="name">name="{name}" </tpl>','<tpl if="size">size="{size}" </tpl>','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" />',{compiled:true,disableFormats:true}],inputType:"text",invalidText:"The value in this field is invalid",fieldCls:Ext.baseCSSPrefix+"form-field",focusCls:Ext.baseCSSPrefix+"form-focus",dirtyCls:Ext.baseCSSPrefix+"form-dirty",checkChangeEvents:Ext.isIE&&(!document.documentMode||document.documentMode<9)?["change","propertychange"]:["change","input","textInput","keyup","dragdrop"],checkChangeBuffer:50,componentLayout:"field",readOnly:false,readOnlyCls:Ext.baseCSSPrefix+"form-readonly",validateOnBlur:true,hasFocus:false,baseCls:Ext.baseCSSPrefix+"field",maskOnDisable:false,initComponent:function(){var b=this;b.callParent();b.subTplData=b.subTplData||{};b.addEvents("focus","blur","specialkey");b.initLabelable();b.initField();if(!b.name){b.name=b.getInputId()}},getInputId:function(){return this.inputId||(this.inputId=Ext.id())},getSubTplData:function(){var f=this,d=f.inputType,e=f.getInputId();return Ext.applyIf(f.subTplData,{id:e,name:f.name||e,type:d,size:f.size||20,cls:f.cls,fieldCls:f.fieldCls,tabIdx:f.tabIndex,typeCls:Ext.baseCSSPrefix+"form-"+(d==="password"?"text":d)})},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initRenderTpl:function(){var b=this;if(!b.hasOwnProperty("renderTpl")){b.renderTpl=b.getTpl("labelableRenderTpl")}return b.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},setFieldStyle:function(e){var d=this,f=d.inputEl;if(f){f.applyStyles(e)}d.fieldStyle=e},onRender:function(){var f=this,d=f.fieldStyle,e=f.renderSelectors;Ext.applyIf(e,f.getLabelableSelectors());Ext.applyIf(e,{inputEl:"."+f.fieldCls});f.callParent(arguments);f.setRawValue(f.rawValue);if(f.readOnly){f.setReadOnly(true)}if(f.disabled){f.disable()}if(d){f.setFieldStyle(d)}f.renderActiveError()},initAria:function(){var b=this;b.callParent();b.getActionEl().dom.setAttribute("aria-describedby",Ext.id(b.errorEl))},getFocusEl:function(){return this.inputEl},isFileUpload:function(){return this.inputType==="file"},extractFileInput:function(){var d=this,e=d.isFileUpload()?d.inputEl.dom:null,f;if(e){f=e.cloneNode(true);e.parentNode.replaceChild(f,e);d.inputEl=Ext.get(f)}return e},getSubmitData:function(){var e=this,d=null,f;if(!e.disabled&&e.submitValue&&!e.isFileUpload()){f=e.getSubmitValue();if(f!==null){d={};d[e.getName()]=f}}return d},getSubmitValue:function(){return this.processRawValue(this.getRawValue())},getRawValue:function(){var c=this,d=(c.inputEl?c.inputEl.getValue():Ext.value(c.rawValue,""));c.rawValue=d;return d},setRawValue:function(c){var d=this;c=Ext.value(c,"");d.rawValue=c;if(d.inputEl){d.inputEl.dom.value=c}return c},valueToRaw:function(b){return""+Ext.value(b,"")},rawToValue:function(b){return b},processRawValue:function(b){return b},getValue:function(){var d=this,c=d.rawToValue(d.processRawValue(d.getRawValue()));d.value=c;return c},setValue:function(c){var d=this;d.setRawValue(d.valueToRaw(c));return d.mixins.field.setValue.call(d,c)},onDisable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=true}},onEnable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=false}},setReadOnly:function(f){var e=this,d=e.inputEl;if(d){d.dom.readOnly=f;d.dom.setAttribute("aria-readonly",f)}e[f?"addCls":"removeCls"](e.readOnlyCls);e.readOnly=f},fireKey:function(b){if(b.isSpecialKey()){this.fireEvent("specialkey",this,Ext.create("Ext.EventObjectImpl",b))}},initEvents:function(){var e=this,h=e.inputEl,f,g;if(h){e.mon(h,Ext.EventManager.getKeyEvent(),e.fireKey,e);e.mon(h,"focus",e.onFocus,e);e.mon(h,"blur",e.onBlur,e,e.inEditor?{buffer:10}:null);f=Ext.create("Ext.util.DelayedTask",e.checkChange,e);e.onChangeEvent=g=function(){f.delay(e.checkChangeBuffer)};Ext.each(e.checkChangeEvents,function(a){if(a==="propertychange"){e.usesPropertychange=true}e.mon(h,a,g)},e)}e.callParent()},doComponentLayout:function(){var j=this,i=j.inputEl,g=j.usesPropertychange,f="propertychange",h=j.onChangeEvent;if(g){j.mun(i,f,h)}j.callParent(arguments);if(g){j.mon(i,f,h)}},preFocus:Ext.emptyFn,onFocus:function(){var d=this,e=d.focusCls,f=d.inputEl;d.preFocus();if(e&&f){f.addCls(e)}if(!d.hasFocus){d.hasFocus=true;d.fireEvent("focus",d)}},beforeBlur:Ext.emptyFn,onBlur:function(){var d=this,e=d.focusCls,f=d.inputEl;d.beforeBlur();if(e&&f){f.removeCls(e)}if(d.validateOnBlur){d.validate()}d.hasFocus=false;d.fireEvent("blur",d);d.postBlur()},postBlur:Ext.emptyFn,onDirtyChange:function(b){this[b?"addCls":"removeCls"](this.dirtyCls)},isValid:function(){var b=this;return b.disabled||b.validateValue(b.processRawValue(b.getRawValue()))},validateValue:function(e){var f=this,g=f.getErrors(e),h=Ext.isEmpty(g);if(!f.preventMark){if(h){f.clearInvalid()}else{f.markInvalid(g)}}return h},markInvalid:function(f){var d=this,e=d.getActiveError();d.setActiveErrors(Ext.Array.from(f));if(e!==d.getActiveError()){d.doComponentLayout()}},clearInvalid:function(){var c=this,d=c.hasActiveError();c.unsetActiveError();if(d){c.doComponentLayout()}},renderActiveError:function(){var c=this,d=c.hasActiveError();if(c.inputEl){c.inputEl[d?"addCls":"removeCls"](c.invalidCls+"-field")}c.mixins.labelable.renderActiveError.call(c)},getActionEl:function(){return this.inputEl||this.el}});Ext.define("Ext.form.field.Text",{extend:"Ext.form.field.Base",alias:"widget.textfield",requires:["Ext.form.field.VTypes","Ext.layout.component.field.Text"],alternateClassName:["Ext.form.TextField","Ext.form.Text"],size:20,growMin:30,growMax:800,growAppend:"W",allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",blankText:"This field is required",regexText:"",emptyCls:Ext.baseCSSPrefix+"form-empty-field",ariaRole:"textbox",componentLayout:"textfield",initComponent:function(){this.callParent();this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){var c=this,d=c.inputEl;c.callParent();if(c.selectOnFocus||c.emptyText){c.mon(d,"mousedown",c.onMouseDown,c)}if(c.maskRe||(c.vtype&&c.disableKeyFilter!==true&&(c.maskRe=Ext.form.field.VTypes[c.vtype+"Mask"]))){c.mon(d,"keypress",c.filterKeys,c)}if(c.enableKeyEvents){c.mon(d,{scope:c,keyup:c.onKeyUp,keydown:c.onKeyDown,keypress:c.onKeyPress})}},isEqual:function(c,d){return String(Ext.value(c,""))===String(Ext.value(d,""))},onChange:function(){this.callParent();this.autoSize()},afterRender:function(){var b=this;if(b.enforceMaxLength){b.inputEl.dom.maxLength=b.maxLength}b.applyEmptyText();b.autoSize();b.callParent()},onMouseDown:function(c){var d=this;if(!d.hasFocus){d.mon(d.inputEl,"mouseup",Ext.emptyFn,d,{single:true,preventDefault:true})}},processRawValue:function(e){var f=this,g=f.stripCharsRe,h;if(g){h=e.replace(g,"");if(h!==e){f.setRawValue(h);e=h}}return e},onDisable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable="on"}},onEnable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable=""}},onKeyDown:function(b){this.fireEvent("keydown",this,b)},onKeyUp:function(b){this.fireEvent("keyup",this,b)},onKeyPress:function(b){this.fireEvent("keypress",this,b)},reset:function(){this.callParent();this.applyEmptyText()},applyEmptyText:function(){var d=this,e=d.emptyText,f;if(d.rendered&&e){f=d.getRawValue().length<1&&!d.hasFocus;if(Ext.supports.Placeholder){d.inputEl.dom.placeholder=e}else{if(f){d.setRawValue(e)}}if(f){d.inputEl.addCls(d.emptyCls)}d.autoSize()}},preFocus:function(){var e=this,h=e.inputEl,f=e.emptyText,g;if(f&&!Ext.supports.Placeholder&&h.dom.value===f){e.setRawValue("");g=true;h.removeCls(e.emptyCls)}else{if(Ext.supports.Placeholder){e.inputEl.removeCls(e.emptyCls)}}if(e.selectOnFocus||g){h.dom.select()}},onFocus:function(){var b=this;b.callParent(arguments);if(b.emptyText){b.autoSize()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(f){if(f.ctrlKey){return}var d=f.getKey(),e=String.fromCharCode(f.getCharCode());if(Ext.isGecko&&(f.isNavKeyPress()||d===f.BACKSPACE||(d===f.DELETE&&f.button===-1))){return}if(!Ext.isGecko&&f.isSpecialKey()&&!e){return}if(!this.maskRe.test(e)){f.stopEvent()}},getRawValue:function(){var c=this,d=c.callParent();if(d===c.emptyText){d=""}return d},setValue:function(d){var e=this,f=e.inputEl;if(f&&e.emptyText&&!Ext.isEmpty(d)){f.removeCls(e.emptyCls)}e.callParent(arguments);e.applyEmptyText();return e},getErrors:function(l){var r=this,m=r.callParent(arguments),w=r.validator,t=r.emptyText,u=r.allowBlank,s=r.vtype,p=Ext.form.field.VTypes,o=r.regex,n=Ext.String.format,v;l=l||r.processRawValue(r.getRawValue());if(Ext.isFunction(w)){v=w.call(r,l);if(v!==true){m.push(v)}}if(l.length<1||l===t){if(!u){m.push(r.blankText)}return m}if(l.length<r.minLength){m.push(n(r.minLengthText,r.minLength))}if(l.length>r.maxLength){m.push(n(r.maxLengthText,r.maxLength))}if(s){if(!p[s](l,r)){m.push(r.vtypeText||p[s+"Text"])}}if(o&&!o.test(l)){m.push(r.regexText||r.invalidText)}return m},selectText:function(k,j){var l=this,p=l.getRawValue(),o=true,m=l.inputEl.dom,n,i;if(p.length>0){k=k===n?0:k;j=j===n?p.length:j;if(m.setSelectionRange){m.setSelectionRange(k,j)}else{if(m.createTextRange){i=m.createTextRange();i.moveStart("character",k);i.moveEnd("character",j-p.length);i.select()}}o=Ext.isGecko||Ext.isOpera}if(o){l.focus()}},autoSize:function(){var c=this,d;if(c.grow&&c.rendered){c.doComponentLayout();d=c.inputEl.getWidth();if(d!==c.lastInputWidth){c.fireEvent("autosize",d);c.lastInputWidth=d}}},initAria:function(){this.callParent();this.getActionEl().dom.setAttribute("aria-required",this.allowBlank===false)},getBodyNaturalWidth:function(){return Math.round(this.size*6.5)+20}});Ext.define("Ext.form.field.Trigger",{extend:"Ext.form.field.Text",alias:["widget.triggerfield","widget.trigger"],requires:["Ext.core.DomHelper","Ext.util.ClickRepeater","Ext.layout.component.field.Trigger"],alternateClassName:["Ext.form.TriggerField","Ext.form.TwinTriggerField","Ext.form.Trigger"],fieldSubTpl:['<input id="{id}" type="{type}" ','<tpl if="name">name="{name}" </tpl>','<tpl if="size">size="{size}" </tpl>','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" />','<div class="{triggerWrapCls}" role="presentation">',"{triggerEl}",'<div class="{clearCls}" role="presentation"></div>',"</div>",{compiled:true,disableFormats:true}],triggerBaseCls:Ext.baseCSSPrefix+"form-trigger",triggerWrapCls:Ext.baseCSSPrefix+"form-trigger-wrap",hideTrigger:false,editable:true,readOnly:false,repeatTriggerClick:false,autoSize:Ext.emptyFn,monitorTab:true,mimicing:false,triggerIndexRe:/trigger-index-(\d+)/,componentLayout:"triggerfield",initComponent:function(){this.wrapFocusCls=this.triggerWrapCls+"-focus";this.callParent(arguments)},onRender:function(o,j){var n=this,k,m=n.triggerBaseCls,l=n.triggerWrapCls,i=[],p;if(!n.trigger1Cls){n.trigger1Cls=n.triggerCls}for(p=0;(k=n["trigger"+(p+1)+"Cls"])||p<1;p++){i.push({cls:[Ext.baseCSSPrefix+"trigger-index-"+p,m,k].join(" "),role:"button"})}i[p-1].cls+=" "+m+"-last";Ext.applyIf(n.renderSelectors,{triggerWrap:"."+l});Ext.applyIf(n.subTplData,{triggerWrapCls:l,triggerEl:Ext.core.DomHelper.markup(i),clearCls:n.clearCls});n.callParent(arguments);n.triggerEl=Ext.select("."+m,true,n.triggerWrap.dom);n.doc=Ext.isIE?Ext.getBody():Ext.getDoc();n.initTrigger()},onEnable:function(){this.callParent();this.triggerWrap.unmask()},onDisable:function(){this.callParent();this.triggerWrap.mask()},afterRender:function(){this.callParent();this.updateEditState()},updateEditState:function(){var l=this,j=l.inputEl,h=l.triggerWrap,k=Ext.baseCSSPrefix+"trigger-noedit",g,i;if(l.rendered){if(l.readOnly){j.addCls(k);i=true;g=false}else{if(l.editable){j.removeCls(k);i=false}else{j.addCls(k);i=true}g=!l.hideTrigger}h.setDisplayed(g);j.dom.readOnly=i;l.doComponentLayout()}},getTriggerWidth:function(){var f=this,d=f.triggerWrap,e=0;if(d&&!f.hideTrigger&&!f.readOnly){f.triggerEl.each(function(a){e+=a.getWidth()});e+=f.triggerWrap.getFrameWidth("lr")}return e},setHideTrigger:function(b){if(b!=this.hideTrigger){this.hideTrigger=b;this.updateEditState()}},setEditable:function(b){if(b!=this.editable){this.editable=b;this.updateEditState()}},setReadOnly:function(b){if(b!=this.readOnly){this.readOnly=b;this.updateEditState()}},initTrigger:function(){var f=this,e=f.triggerWrap,d=f.triggerEl;if(f.repeatTriggerClick){f.triggerRepeater=Ext.create("Ext.util.ClickRepeater",e,{preventDefault:true,handler:function(b,a){f.onTriggerWrapClick(a)}})}else{f.mon(f.triggerWrap,"click",f.onTriggerWrapClick,f)}d.addClsOnOver(f.triggerBaseCls+"-over");d.each(function(b,a,c){b.addClsOnOver(f["trigger"+(c+1)+"Cls"]+"-over")});d.addClsOnClick(f.triggerBaseCls+"-click");d.each(function(b,a,c){b.addClsOnClick(f["trigger"+(c+1)+"Cls"]+"-click")})},onDestroy:function(){var b=this;Ext.destroyMembers(b,"triggerRepeater","triggerWrap","triggerEl");delete b.doc;b.callParent()},onFocus:function(){var b=this;this.callParent();if(!b.mimicing){b.bodyEl.addCls(b.wrapFocusCls);b.mimicing=true;b.mon(b.doc,"mousedown",b.mimicBlur,b,{delay:10});if(b.monitorTab){b.on("specialkey",b.checkTab,b)}}},checkTab:function(d,c){if(!this.ignoreMonitorTab&&c.getKey()==c.TAB){this.triggerBlur()}},onBlur:Ext.emptyFn,mimicBlur:function(b){if(!this.isDestroyed&&!this.bodyEl.contains(b.target)&&this.validateBlur(b)){this.triggerBlur()}},triggerBlur:function(){var b=this;b.mimicing=false;b.mun(b.doc,"mousedown",b.mimicBlur,b);if(b.monitorTab&&b.inputEl){b.un("specialkey",b.checkTab,b)}Ext.form.field.Trigger.superclass.onBlur.call(b);if(b.bodyEl){b.bodyEl.removeCls(b.wrapFocusCls)}},beforeBlur:Ext.emptyFn,validateBlur:function(b){return true},onTriggerWrapClick:function(i){var j=this,k=i&&i.getTarget("."+Ext.baseCSSPrefix+"form-trigger",null),l=k&&k.className.match(j.triggerIndexRe),h,e;if(l&&!j.readOnly){h=parseInt(l[1],10);e=j["onTrigger"+(h+1)+"Click"]||j.onTriggerClick;if(e){e.call(j,i)}}},onTriggerClick:Ext.emptyFn});Ext.define("Ext.container.AbstractContainer",{extend:"Ext.Component",requires:["Ext.util.MixedCollection","Ext.layout.container.Auto","Ext.ZIndexManager"],suspendLayout:false,autoDestroy:true,defaultType:"panel",isContainer:true,layoutCounter:0,baseCls:Ext.baseCSSPrefix+"container",bubbleEvents:["add","remove"],initComponent:function(){var b=this;b.addEvents("afterlayout","beforeadd","beforeremove","add","remove","beforecardswitch","cardswitch");b.layoutOnShow=Ext.create("Ext.util.MixedCollection");b.callParent();b.initItems()},initItems:function(){var c=this,d=c.items;c.items=Ext.create("Ext.util.MixedCollection",false,c.getComponentId);if(d){if(!Ext.isArray(d)){d=[d]}c.add(d)}},afterRender:function(){this.getLayout();this.callParent()},renderChildren:function(){var c=this,d=c.getLayout();c.callParent();if(d){c.suspendLayout=true;d.renderChildren();delete c.suspendLayout}},setLayout:function(c){var d=this.layout;if(d&&d.isLayout&&d!=c){d.setOwner(null)}this.layout=c;c.setOwner(this)},getLayout:function(){var b=this;if(!b.layout||!b.layout.isLayout){b.setLayout(Ext.layout.Layout.create(b.layout,"autocontainer"))}return b.layout},doLayout:function(){var c=this,d=c.getLayout();if(c.rendered&&d&&!c.suspendLayout){if(!c.isFixedWidth()||!c.isFixedHeight()){if(c.componentLayout.layoutBusy!==true){c.doComponentLayout();if(c.componentLayout.layoutCancelled===true){d.layout()}}}else{if(d.layoutBusy!==true){d.layout()}}}return c},afterLayout:function(b){++this.layoutCounter;this.fireEvent("afterlayout",this,b)},prepareItems:function(f,i){if(!Ext.isArray(f)){f=[f]}var j=0,g=f.length,h;for(;j<g;j++){h=f[j];if(i){h=this.applyDefaults(h)}f[j]=this.lookupComponent(h)}return f},applyDefaults:function(d){var c=this.defaults;if(c){if(Ext.isFunction(c)){c=c.call(this,d)}if(Ext.isString(d)){d=Ext.ComponentManager.get(d);Ext.applyIf(d,c)}else{if(!d.isComponent){Ext.applyIf(d,c)}else{Ext.applyIf(d,c)}}}return d},lookupComponent:function(b){return Ext.isString(b)?Ext.ComponentManager.get(b):this.createComponent(b)},createComponent:function(d,c){return Ext.ComponentManager.create(d,c||this.defaultType)},getComponentId:function(b){return b.getItemId()},add:function(){var m=this,o=Array.prototype.slice.call(arguments),u,n,t=[],s,p,i,r=-1,l;if(typeof o[0]=="number"){r=o.shift()}u=o.length>1;if(u||Ext.isArray(o[0])){n=u?o:o[0];m.suspendLayout=true;for(s=0,p=n.length;s<p;s++){i=n[s];if(!i){Ext.Error.raise("Trying to add a null item as a child of Container with itemId/id: "+m.getItemId())}if(r!=-1){i=m.add(r+s,i)}else{i=m.add(i)}t.push(i)}m.suspendLayout=false;m.doLayout();return t}l=m.prepareItems(o[0],true)[0];if(l.floating){l.onAdded(m,r)}else{r=(r!==-1)?r:m.items.length;if(m.fireEvent("beforeadd",m,l,r)!==false&&m.onBeforeAdd(l)!==false){m.items.insert(r,l);l.onAdded(m,r);m.onAdd(l,r);m.fireEvent("add",m,l,r)}m.doLayout()}return l},registerFloatingItem:function(c){var d=this;if(!d.floatingItems){d.floatingItems=Ext.create("Ext.ZIndexManager",d)}d.floatingItems.register(c)},onAdd:Ext.emptyFn,onRemove:Ext.emptyFn,insert:function(c,d){return this.add(c,d)},move:function(e,g){var f=this.items,h;h=f.removeAt(e);if(h===false){return false}f.insert(g,h);this.doLayout();return h},onBeforeAdd:function(c){var d=this;if(c.ownerCt){c.ownerCt.remove(c,false)}if(d.border===false||d.border===0){c.border=(c.border===true)}},remove:function(f,c){var h=this,g=h.getComponent(f);if(Ext.isDefined(Ext.global.console)&&!g){console.warn("Attempted to remove a component that does not exist. Ext.container.Container: remove takes an argument of the component to remove. cmp.remove() is incorrect usage.")}if(g&&h.fireEvent("beforeremove",h,g)!==false){h.doRemove(g,c);h.fireEvent("remove",h,g)}return g},doRemove:function(j,f){var h=this,i=h.layout,g=i&&h.rendered;h.items.remove(j);j.onRemoved();if(g){i.onRemove(j)}h.onRemove(j,f);if(f===true||(f!==false&&h.autoDestroy)){j.destroy()}if(g&&!f){i.afterRemove(j)}if(!h.destroying){h.doLayout()}},removeAll:function(n){var j=this,l=j.items.items.slice(),h=[],m=0,i=l.length,k;j.suspendLayout=true;for(;m<i;m++){k=l[m];j.remove(k,n);if(k.ownerCt!==j){h.push(k)}}j.suspendLayout=false;if(i){j.doLayout()}return h},getRefItems:function(n){var j=this,m=j.items.items,h=m.length,l=0,k,i=[];for(;l<h;l++){k=m[l];i.push(k);if(n&&k.getRefItems){i.push.apply(i,k.getRefItems(true))}}if(j.floatingItems&&j.floatingItems.accessList){i.push.apply(i,j.floatingItems.accessList)}return i},cascade:function(i,c,u){var m=this,r=m.items?m.items.items:[],p=r.length,s=0,n,o=u?u.concat(m):[m],t=o.length-1;if(i.apply(c||m,o)!==false){for(;s<p;s++){n=r[s];if(n.cascade){n.cascade(i,c,u)}else{o[t]=n;i.apply(c||r,o)}}}return this},getComponent:function(b){if(Ext.isObject(b)){b=b.getItemId()}return this.items.get(b)},query:function(b){return Ext.ComponentQuery.query(b,this)},child:function(b){return this.query("> "+b)[0]||null},down:function(b){return this.query(b)[0]||null},show:function(){this.callParent(arguments);this.performDeferredLayouts();return this},performDeferredLayouts:function(){var h=this.layoutOnShow,i=h.getCount(),f=0,g,j;for(;f<i;f++){j=h.get(f);g=j.needsLayout;if(Ext.isObject(g)){j.doComponentLayout(g.width,g.height,g.isSetSize,g.ownerCt)}}h.clear()},onEnable:function(){Ext.Array.each(this.query("[isFormField]"),function(b){if(b.resetDisable){b.enable();delete b.resetDisable}});this.callParent()},onDisable:function(){Ext.Array.each(this.query("[isFormField]"),function(b){if(b.resetDisable!==false&&!b.disabled){b.disable();b.resetDisable=true}});this.callParent()},beforeLayout:function(){return true},beforeDestroy:function(){var c=this,e=c.items,f;if(e){while((f=e.first())){c.doRemove(f,true)}}Ext.destroy(c.layout,c.floatingItems);c.callParent()}});Ext.define("Ext.container.Container",{extend:"Ext.container.AbstractContainer",alias:"widget.container",alternateClassName:"Ext.Container",getChildByElement:function(k){var i,g,h=0,l=this.items.items,j=l.length;k=Ext.getDom(k);for(;h<j;h++){i=l[h];g=i.getEl();if((g.dom===k)||g.contains(k)){return i}}return null}});Ext.define("Ext.layout.container.Border",{alias:["layout.border"],extend:"Ext.layout.container.Container",requires:["Ext.resizer.Splitter","Ext.container.Container","Ext.fx.Anim"],alternateClassName:"Ext.layout.BorderLayout",targetCls:Ext.baseCSSPrefix+"border-layout-ct",itemCls:Ext.baseCSSPrefix+"border-item",bindToOwnerCtContainer:true,percentageRe:/(\d+)%/,slideDirection:{north:"t",south:"b",west:"l",east:"r"},constructor:function(b){this.initialConfig=b;this.callParent(arguments)},onLayout:function(){var b=this;if(!b.borderLayoutInitialized){b.initializeBorderLayout()}b.fixHeightConstraints();b.shadowLayout.onLayout();if(b.embeddedContainer){b.embeddedContainer.layout.onLayout()}if(!b.initialCollapsedComplete){Ext.iterate(b.regions,function(a,d){if(d.borderCollapse){b.onBeforeRegionCollapse(d,d.collapseDirection,false,0)}});b.initialCollapsedComplete=true}},isValidParent:function(d,f,e){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}return this.shadowLayout.isValidParent(d,f,e)},beforeLayout:function(){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}this.shadowLayout.beforeLayout()},renderItems:function(d,c){Ext.Error.raise("This should not be called")},renderItem:function(b){Ext.Error.raise("This should not be called")},renderChildren:function(){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}this.shadowLayout.renderChildren()},getVisibleItems:function(){return Ext.ComponentQuery.query(":not([slideOutAnim])",this.callParent(arguments))},initializeBorderLayout:function(){var n=this,u=0,o=n.getLayoutItems(),p=o.length,v=(n.regions={}),s=[],r=[],w=0,i=0,t,m;n.splitters={};for(;u<p;u++){t=o[u];v[t.region]=t;if(t.region!="center"&&t.collapsible&&t.collapseMode!="header"){t.borderCollapse=t.collapsed;delete t.collapsed;t.on({beforecollapse:n.onBeforeRegionCollapse,beforeexpand:n.onBeforeRegionExpand,destroy:n.onRegionDestroy,scope:n});n.setupState(t)}}if(!v.center){Ext.Error.raise("You must specify a center region when defining a BorderLayout.")}t=v.center;if(!t.flex){t.flex=1}delete t.width;t.maintainFlex=true;t=v.west;if(t){t.collapseDirection=Ext.Component.DIRECTION_LEFT;r.push(t);if(t.split){r.push(n.splitters.west=n.createSplitter(t))}m=Ext.isString(t.width)&&t.width.match(n.percentageRe);if(m){w+=(t.flex=parseInt(m[1],10)/100);delete t.width}}t=v.north;if(t){t.collapseDirection=Ext.Component.DIRECTION_TOP;s.push(t);if(t.split){s.push(n.splitters.north=n.createSplitter(t))}m=Ext.isString(t.height)&&t.height.match(n.percentageRe);if(m){i+=(t.flex=parseInt(m[1],10)/100);delete t.height}}if(v.north||v.south){if(v.east||v.west){s.push(n.embeddedContainer=Ext.create("Ext.container.Container",{xtype:"container",region:"center",id:n.owner.id+"-embedded-center",cls:Ext.baseCSSPrefix+"border-item",flex:v.center.flex,maintainFlex:true,layout:{type:"hbox",align:"stretch",getVisibleItems:n.getVisibleItems}}));r.push(v.center)}else{s.push(v.center)}}else{r.push(v.center)}t=v.south;if(t){t.collapseDirection=Ext.Component.DIRECTION_BOTTOM;if(t.split){s.push(n.splitters.south=n.createSplitter(t))}m=Ext.isString(t.height)&&t.height.match(n.percentageRe);if(m){i+=(t.flex=parseInt(m[1],10)/100);delete t.height}s.push(t)}t=v.east;if(t){t.collapseDirection=Ext.Component.DIRECTION_RIGHT;if(t.split){r.push(n.splitters.east=n.createSplitter(t))}m=Ext.isString(t.width)&&t.width.match(n.percentageRe);if(m){w+=(t.flex=parseInt(m[1],10)/100);delete t.width}r.push(t)}if(v.north||v.south){n.shadowContainer=Ext.create("Ext.container.Container",{ownerCt:n.owner,el:n.getTarget(),layout:Ext.applyIf({type:"vbox",align:"stretch",getVisibleItems:n.getVisibleItems},n.initialConfig)});n.createItems(n.shadowContainer,s);if(n.splitters.north){n.splitters.north.ownerCt=n.shadowContainer}if(n.splitters.south){n.splitters.south.ownerCt=n.shadowContainer}if(n.embeddedContainer){n.embeddedContainer.ownerCt=n.shadowContainer;n.createItems(n.embeddedContainer,r);if(n.splitters.east){n.splitters.east.ownerCt=n.embeddedContainer}if(n.splitters.west){n.splitters.west.ownerCt=n.embeddedContainer}Ext.each([n.splitters.north,n.splitters.south],function(a){if(a){a.on("beforedragstart",n.fixHeightConstraints,n)}});if(w){v.center.flex-=w}if(i){n.embeddedContainer.flex-=i}}else{if(i){v.center.flex-=i}}}else{n.shadowContainer=Ext.create("Ext.container.Container",{ownerCt:n.owner,el:n.getTarget(),layout:Ext.applyIf({type:(r.length==1)?"fit":"hbox",align:"stretch"},n.initialConfig)});n.createItems(n.shadowContainer,r);if(n.splitters.east){n.splitters.east.ownerCt=n.shadowContainer}if(n.splitters.west){n.splitters.west.ownerCt=n.shadowContainer}if(w){v.center.flex-=i}}for(u=0,o=n.shadowContainer.items.items,p=o.length;u<p;u++){o[u].shadowOwnerCt=n.shadowContainer}if(n.embeddedContainer){for(u=0,o=n.embeddedContainer.items.items,p=o.length;u<p;u++){o[u].shadowOwnerCt=n.embeddedContainer}}n.shadowLayout=n.shadowContainer.getLayout();n.borderLayoutInitialized=true},setupState:function(c){var d=c.getState;c.getState=function(){var b=d.call(c)||{},a=c.region;b.collapsed=!!c.collapsed;if(a=="west"||a=="east"){b.width=c.getWidth()}else{b.height=c.getHeight()}return b};c.addStateEvents(["collapse","expand","resize"])},createItems:function(d,c){delete d.items;d.initItems();d.items.addAll(c)},createSplitter:function(f){var e=this,h=(f.collapseMode!="header"),g;g=Ext.create("Ext.resizer.Splitter",{hidden:!!f.hidden,collapseTarget:f,performCollapse:!h,listeners:h?{click:{fn:Ext.Function.bind(e.onSplitterCollapseClick,e,[f]),element:"collapseEl"}}:null});if(f.collapseMode=="mini"){f.placeholder=g;g.collapsedCls=f.collapsedCls}f.on({hide:e.onRegionVisibilityChange,show:e.onRegionVisibilityChange,scope:e});return g},fixHeightConstraints:function(){var h=this,f=h.embeddedContainer,e=1e+99,g=-1;if(!f){return}f.items.each(function(a){if(Ext.isNumber(a.maxHeight)){e=Math.max(e,a.maxHeight)}if(Ext.isNumber(a.minHeight)){g=Math.max(g,a.minHeight)}});f.maxHeight=e;f.minHeight=g},onRegionVisibilityChange:function(b){this.splitters[b.region][b.hidden?"hide":"show"]();this.layout()},onSplitterCollapseClick:function(b){if(b.collapsed){this.onPlaceHolderToolClick(null,null,null,{client:b})}else{b.collapse()}},getPlaceholder:function(n){var m=this,k=n.placeholder,h=n.shadowOwnerCt,l=h.layout,i=Ext.panel.Panel.prototype.getOppositeDirection(n.collapseDirection),j=(n.region=="north"||n.region=="south");if(n.collapseMode=="header"){return}if(!k){if(n.collapseMode=="mini"){k=Ext.create("Ext.resizer.Splitter",{id:"collapse-placeholder-"+n.id,collapseTarget:n,performCollapse:false,listeners:{click:{fn:Ext.Function.bind(m.onSplitterCollapseClick,m,[n]),element:"collapseEl"}}});k.addCls(k.collapsedCls)}else{k={id:"collapse-placeholder-"+n.id,margins:n.initialConfig.margins||Ext.getClass(n).prototype.margins,xtype:"header",orientation:j?"horizontal":"vertical",title:n.title,textCls:n.headerTextCls,iconCls:n.iconCls,baseCls:n.baseCls+"-header",ui:n.ui,indicateDrag:n.draggable,cls:Ext.baseCSSPrefix+"region-collapsed-placeholder "+Ext.baseCSSPrefix+"region-collapsed-"+n.collapseDirection+"-placeholder "+n.collapsedCls,listeners:n.floatable?{click:{fn:function(a){m.floatCollapsedPanel(a,n)},element:"el"}}:null};if((Ext.isIE6||Ext.isIE7||(Ext.isIEQuirks))&&!j){k.width=25}if(!n.hideCollapseTool){k[j?"tools":"items"]=[{xtype:"tool",client:n,type:"expand-"+i,handler:m.onPlaceHolderToolClick,scope:m}]}}k=m.owner.createComponent(k);if(n.isXType("panel")){n.on({titlechange:m.onRegionTitleChange,iconchange:m.onRegionIconChange,scope:m})}}n.placeholder=k;k.comp=n;return k},onRegionTitleChange:function(d,c){d.placeholder.setTitle(c)},onRegionIconChange:function(c,d){c.placeholder.setIconCls(d)},calculateChildBox:function(d){var c=this;if(c.shadowContainer.items.contains(d)){return c.shadowContainer.layout.calculateChildBox(d)}else{if(c.embeddedContainer&&c.embeddedContainer.items.contains(d)){return c.embeddedContainer.layout.calculateChildBox(d)}}},onBeforeRegionCollapse:function(w,t,z){var u=this,o=w.el,A,B=w.collapseMode=="mini",v=w.shadowOwnerCt,C=v.layout,r=w.placeholder,x=u.owner.suspendLayout,s=v.suspendLayout,p=(w.region=="north"||w.region=="west");u.owner.suspendLayout=true;v.suspendLayout=true;C.layoutBusy=true;if(v.componentLayout){v.componentLayout.layoutBusy=true}u.shadowContainer.layout.layoutBusy=true;u.layoutBusy=true;u.owner.componentLayout.layoutBusy=true;if(!r){r=u.getPlaceholder(w)}if(r.shadowOwnerCt===v){r.show()}else{v.insert(v.items.indexOf(w)+(p?0:1),r);r.shadowOwnerCt=v;r.ownerCt=u.owner}w.hidden=true;if(!r.rendered){C.renderItem(r,C.innerCt);if(w.region=="north"||w.region=="south"){r.setCalculatedSize(w.getWidth())}else{r.setCalculatedSize(undefined,w.getHeight())}}function y(){u.owner.suspendLayout=x;v.suspendLayout=s;delete C.layoutBusy;if(v.componentLayout){delete v.componentLayout.layoutBusy}delete u.shadowContainer.layout.layoutBusy;delete u.layoutBusy;delete u.owner.componentLayout.layoutBusy;w.collapsed=true;w.fireEvent("collapse",w)}if(w.animCollapse&&u.initialCollapsedComplete){C.layout();o.dom.style.zIndex=100;if(!B){r.el.hide()}o.slideOut(u.slideDirection[w.region],{duration:Ext.Number.from(w.animCollapse,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){o.show().setLeftTop(-10000,-10000);o.dom.style.zIndex="";if(!B){r.el.slideIn(u.slideDirection[w.region],{easing:"linear",duration:100})}y()}}})}else{o.setLeftTop(-10000,-10000);C.layout();y()}return false},onBeforeRegionExpand:function(c,d){this.onPlaceHolderToolClick(null,null,null,{client:c});return false},onPlaceHolderToolClick:function(y,e,J,H){var t=this,w=H.client,D=(w.collapseMode!="mini")||!w.split,u=w.el,B,G=w.placeholder,A=G.el,v=w.shadowOwnerCt,I=v.layout,C,x=t.owner.suspendLayout,z=v.suspendLayout,E;if(w.getActiveAnimation()){w.stopAnimation()}if(w.slideOutAnim){u.un(w.panelMouseMon);A.un(w.placeholderMouseMon);delete w.slideOutAnim;delete w.panelMouseMon;delete w.placeholderMouseMon;E=true}t.owner.suspendLayout=true;v.suspendLayout=true;I.layoutBusy=true;if(v.componentLayout){v.componentLayout.layoutBusy=true}t.shadowContainer.layout.layoutBusy=true;t.layoutBusy=true;t.owner.componentLayout.layoutBusy=true;w.hidden=false;w.collapsed=false;if(D){G.hidden=true}B=I.calculateChildBox(w);if(w.collapseTool){w.collapseTool.show()}if(w.animCollapse&&!E){u.setStyle("visibility","hidden")}u.setLeftTop(B.left,B.top);C=w.getSize();if(C.height!=B.height||C.width!=B.width){t.setItemSize(w,B.width,B.height)}function F(){t.owner.suspendLayout=x;v.suspendLayout=z;delete I.layoutBusy;if(v.componentLayout){delete v.componentLayout.layoutBusy}delete t.shadowContainer.layout.layoutBusy;delete t.layoutBusy;delete t.owner.componentLayout.layoutBusy;w.removeCls(Ext.baseCSSPrefix+"border-region-slide-in");w.fireEvent("expand",w)}if(D){G.el.hide()}if(w.animCollapse&&!E){u.dom.style.zIndex=100;u.slideIn(t.slideDirection[w.region],{duration:Ext.Number.from(w.animCollapse,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){u.dom.style.zIndex="";w.hidden=false;I.onLayout();F()}}})}else{I.onLayout();F()}},floatCollapsedPanel:function(v,x){if(x.floatable===false){return}var u=this,e=x.el,r=x.placeholder,p=r.el,w=x.shadowOwnerCt,B=w.layout,y=B.getChildBox(r),s=w.suspendLayout,C,z,t;if(v.getTarget("."+Ext.baseCSSPrefix+"tool")){return}if(e.getActiveAnimation()){return}if(x.slideOutAnim){u.slideOutFloatedComponent(x);return}function A(a){var b=e.getRegion().union(p.getRegion()).adjust(1,-1,-1,1);if(!b.contains(a.getPoint())){u.slideOutFloatedComponent(x)}}x.placeholderMouseMon=p.monitorMouseLeave(500,A);w.suspendLayout=true;u.layoutBusy=true;u.owner.componentLayout.layoutBusy=true;if(x.collapseTool){x.collapseTool.hide()}x.hidden=false;x.collapsed=false;r.hidden=true;z=B.calculateChildBox(x);r.hidden=false;if(x.region=="north"||x.region=="west"){z[B.parallelBefore]+=y[B.parallelPrefix]-1}else{z[B.parallelBefore]-=(y[B.parallelPrefix]-1)}e.setStyle("visibility","hidden");e.setLeftTop(z.left,z.top);C=x.getSize();if(C.height!=z.height||C.width!=z.width){u.setItemSize(x,z.width,z.height)}t={listeners:{afteranimate:function(){w.suspendLayout=s;delete u.layoutBusy;delete u.owner.componentLayout.layoutBusy;t.listeners={afterAnimate:function(){e.show().removeCls(Ext.baseCSSPrefix+"border-region-slide-in").setLeftTop(-10000,-10000);x.hidden=true;x.collapsed=true;delete x.slideOutAnim;delete x.panelMouseMon;delete x.placeholderMouseMon}};x.slideOutAnim=t}},duration:500};e.addCls(Ext.baseCSSPrefix+"border-region-slide-in");e.slideIn(u.slideDirection[x.region],t);x.panelMouseMon=e.monitorMouseLeave(500,A)},slideOutFloatedComponent:function(e){var f=e.el,d;f.un(e.panelMouseMon);e.placeholder.el.un(e.placeholderMouseMon);f.slideOut(this.slideDirection[e.region],e.slideOutAnim);delete e.slideOutAnim;delete e.panelMouseMon;delete e.placeholderMouseMon},onRegionDestroy:function(d){var c=d.placeholder;if(c){delete c.ownerCt;c.destroy()}},onDestroy:function(){var d=this,e=d.shadowContainer,f=d.embeddedContainer;if(e){delete e.ownerCt;Ext.destroy(e)}if(f){delete f.ownerCt;Ext.destroy(f)}delete d.regions;delete d.splitters;delete d.shadowContainer;delete d.embeddedContainer;d.callParent(arguments)}});Ext.define("Ext.container.Viewport",{extend:"Ext.container.Container",alias:"widget.viewport",requires:["Ext.EventManager"],alternateClassName:"Ext.Viewport",isViewport:true,ariaRole:"application",initComponent:function(){var f=this,e=Ext.fly(document.body.parentNode),d;f.callParent(arguments);e.addCls(Ext.baseCSSPrefix+"viewport");if(f.autoScroll){e.setStyle("overflow","auto")}f.el=d=Ext.getBody();d.setHeight=Ext.emptyFn;d.setWidth=Ext.emptyFn;d.setSize=Ext.emptyFn;d.dom.scroll="no";f.allowDomMove=false;Ext.EventManager.onWindowResize(f.fireResize,f);f.renderTo=f.el;f.width=Ext.core.Element.getViewportWidth();f.height=Ext.core.Element.getViewportHeight()},fireResize:function(d,c){this.setSize(d,c)}});Ext.define("Docs.view.search.Container",{extend:"Ext.container.Container",alias:"widget.searchcontainer",cls:"search",items:[{xtype:"triggerfield",triggerCls:"reset",emptyText:"Search",width:170,id:"search-field",enableKeyEvents:true,hideTrigger:true,onTriggerClick:function(){this.reset();this.focus();this.setHideTrigger(true);Ext.getCmp("search-dropdown").hide()}},{xtype:"searchdropdown"}]});Ext.define("Docs.view.Tabs",{extend:"Ext.container.Container",alias:"widget.doctabs",id:"doctabs",componentCls:"doctabs",minTabWidth:80,maxTabWidth:160,animDuration:150,tabs:[],tabsInBar:[],tabCache:{},staticTabs:[],initComponent:function(){this.tpl=Ext.create("Ext.XTemplate",'<tpl for=".">','<div class="doctab overview {cls}{active}">','<div class="l"></div>','<div class="m"><a class="tabUrl" href="{href}">&nbsp;</a></div>','<div class="r"></div>',"</div>","</tpl>",'<div style="float: left; width: 8px">&nbsp;</div>','<div id="tabOverflow" style="visibility: hidden"></div>');this.html=this.tpl.applyTemplate(this.staticTabs);this.tabTpl=Ext.create("Ext.XTemplate",'<div class="doctab','{[values.active ? (" active") : ""]}','" style="','{[values.width ? ("width: " + values.width + "px;") : ""]}','{[values.visible ? "" : "visibility: hidden;"]}">','<div class="l"></div>','<div class="m">','<span class="icn {iconCls}">&nbsp;</span>','<a class="tabUrl" href="{href}">{text}</a>',"</div>",'<div class="r"><a class="close" href="#">&nbsp;</a></div>',"</div>");this.callParent()},listeners:{afterrender:function(){this.createOverflow()}},setStaticTabs:function(b){this.staticTabs=b;this.refresh()},addTab:function(d,c){this.tabCache[d.href]=d;if(!this.hasTab(d.href)){this.tabs.push(d.href);if(this.roomForNewTab()){this.addTabToBar(d,c)}this.addTabToOverflow(d,c)}if(c.activate){this.activateTab(d.href)}if(this.tabs.length>this.maxTabsInBar()){Ext.get("tabOverflow").show()}this.saveTabs()},removeTab:function(c){if(!this.hasTab(c)){return}var d=Ext.Array.indexOf(this.tabs,c);if(d!==false){Ext.Array.erase(this.tabs,d,1)}var d=Ext.Array.indexOf(this.tabsInBar,c);if(d!==false){Ext.Array.erase(this.tabsInBar,d,1)}if(this.tabs[this.tabsInBar.length]){this.tabsInBar.push(this.tabs[this.tabsInBar.length])}if(this.activeTab===c){if(this.tabs.length===0){Docs.App.getController(this.getControllerName(c)).loadIndex()}else{if(d===this.tabs.length){d-=1}this.activateTab(this.tabs[d]);Docs.History.push(this.tabs[d],{navigate:true})}}if(this.tabs.length>=this.maxTabsInBar()){this.refresh()}else{this.removeTabFromBar(c)}this.saveTabs()},activateTab:function(d){this.activeTab=d;if(!this.inTabs(d)){this.swapLastTabWith(d)}Ext.Array.each(Ext.query(".doctab a[class=tabUrl]"),function(a){Ext.get(a).up(".doctab").removeCls(["active","highlight"])});var e=Ext.query('.doctab a[href="'+d+'"]')[0];if(e){var f=Ext.get(e).up(".doctab");f.addCls("active")}this.highlightOverviewTab(d)},refresh:function(){var i=this.tpl.applyTemplate(this.staticTabs);var f=this.maxTabsInBar()<this.tabs.length?this.maxTabsInBar():this.tabs.length;this.tabsInBar=this.tabs.slice(0,f);for(var j=0;j<f;j++){var h=this.tabCache[this.tabs[j]];var g=Ext.apply(h,{visible:true,active:this.activeTab===h.href,width:this.tabWidth()});i+=this.tabTpl.applyTemplate(g)}this.el.dom.innerHTML=i;if(this.activeTab!==this.tabs[f-1]){this.activateTab(this.activeTab);Docs.History.push(this.activeTab)}this.highlightOverviewTab(this.activeTab);this.createOverflow();this.addToolTips()},closeAllTabs:function(){this.tabs=this.tabsInBar=[this.activeTab];this.refresh();this.saveTabs()},tabData:function(){return Ext.Array.map(this.tabs,function(b){return this.tabCache[b]},this)},roomForNewTab:function(){return this.tabsInBar.length<this.maxTabsInBar()},hasTab:function(b){return Ext.Array.contains(this.tabs,b)},addTabToBar:function(e,d){this.tabsInBar.push(e.href);var f=Ext.get(this.tabTpl.append(this.el.dom,e));if(d.animate&&!Ext.isIE){f.setStyle("width","10px");f.setStyle({visibility:"visible"});f.animate({to:{width:this.tabWidth()}})}else{f.setStyle({visibility:"visible"})}this.resizeTabs(d)},inTabBar:function(b){return Ext.Array.contains(this.tabsInBar,b)},inTabs:function(d){var c=Ext.Array.pluck(this.staticTabs,"href").concat(this.tabsInBar);return Ext.Array.contains(c,d)},removeTabFromBar:function(d){var c=this.getTabEl(d);c.dom.removed=true;if(Ext.isIE){c.remove()}else{c.animate({to:{top:30},duration:this.animDuration}).animate({to:{width:10},duration:this.animDuration,listeners:{afteranimate:function(){c.remove();this.shouldResize=true},scope:this}})}},addTabToOverflow:function(j,i){var k=this.inTabBar(j.href);var h=Ext.Array.indexOf(this.tabs,j.href);if(this.tabs.length>this.tabsInBar.length&&h===this.maxTabsInBar()){var g=Ext.ComponentQuery.query("#tabOverflowMenu menuitem[href="+this.tabs[h-1]+"]");Ext.Array.each(g,function(a){a.addCls("overflow")})}var l=Ext.getCmp("tabOverflowMenu").items.length-1;Ext.getCmp("tabOverflowMenu").insert(l,{text:j.text,iconCls:j.iconCls,origIcon:j.iconCls,href:j.href,cls:(k?"":" overflow")})},swapLastTabWith:function(d){var e=this.getTabEl(this.tabsInBar[this.tabsInBar.length-1]);if(e){var f=this.tabTpl.append(document.body,this.tabCache[d]);e.dom.parentNode.replaceChild(f,e.dom);this.tabsInBar[this.tabsInBar.length-1]=d;Ext.get(f).setStyle({visibility:"visible",width:String(this.tabWidth())+"px"})}},highlightOverviewTab:function(d){var c=Ext.query(".doctab."+this.getControllerName(d).toLowerCase());if(c&&c[0]){Ext.get(c[0]).addCls("highlight")}},maxTabsInBar:function(){return Math.floor(this.tabBarWidth()/this.minTabWidth)},tabWidth:function(){var b=Math.floor(this.tabBarWidth()/this.tabsInBar.length)+6;if(b>this.maxTabWidth){return this.maxTabWidth}else{if(b<this.minTabWidth){return this.minTabWidth}else{return b}}},tabBarWidth:function(){return this.getWidth()-(this.staticTabs.length*50)-15},resizeTabs:function(b){this.shouldResize=false;Ext.Array.each(Ext.query(".doctab"),function(a){var d=Ext.get(a);if(!d.dom.removed&&!d.hasCls("overview")){if(b&&b.animate&&!Ext.isIE){d.animate({to:{width:this.tabWidth()}})}else{d.setWidth(this.tabWidth())}}},this)},getTabEl:function(c){var d=Ext.query('.doctab a[href="'+c+'"]');if(d&&d[0]){return Ext.get(d[0]).up(".doctab")}},createOverflow:function(){if(this.overflowButton){this.overflowButton.destroy()}this.overflowButton=Ext.create("Ext.button.Button",{baseCls:"",renderTo:"tabOverflow",menu:{id:"tabOverflowMenu",plain:true,items:[{text:"Close all tabs",iconCls:"close",cls:"overflow close-all",handler:function(){this.closeAllTabs()},scope:this}]}});Ext.Array.each(this.tabs,function(b){this.addTabToOverflow(this.tabCache[b])},this);if(this.tabs.length>this.maxTabsInBar()){Ext.get("tabOverflow").show()}},addToolTips:function(){Ext.Array.each(this.staticTabs,function(c){var d=Ext.get(Ext.query(".doctab."+c.cls)[0]);if(d){Ext.create("Ext.tip.ToolTip",{target:d,html:c.tooltip})}})},saveTabs:function(){Docs.Settings.set("tabs",this.tabs)},getControllerName:function(b){if(/#!?\/api/.test(b)){return"Classes"}else{if(/#!?\/guide/.test(b)){return"Guides"}else{if(/#!?\/video/.test(b)){return"Videos"}else{if(/#!?\/example/.test(b)){return"Examples"}else{return"Index"}}}}}});Ext.define("Docs.view.welcome.Index",{extend:"Ext.container.Container",alias:"widget.welcomeindex",requires:["Docs.ContentGrabber"],cls:"welcome iScroll",initComponent:function(){this.html=Docs.ContentGrabber.get("welcome-content");this.hasContent=!!this.html;this.callParent(arguments)},getTab:function(){return this.hasContent?{cls:"index",href:"#",tooltip:"Home"}:false}});Ext.define("Docs.view.cls.Index",{extend:"Ext.container.Container",alias:"widget.classindex",requires:["Docs.ContentGrabber"],cls:"class-list iScroll",margin:"15 10",autoScroll:true,initComponent:function(){this.tpl=new Ext.XTemplate('<h1 class="top" style="padding-bottom: 10px">API Documentation</h1>','<tpl if="notice">','<div class="notice">{notice}</div>',"</tpl>","{categories}");this.data={notice:Docs.ContentGrabber.get("notice-text"),categories:Docs.ContentGrabber.get("categories-content")};this.callParent(arguments)},getTab:function(){return{cls:"classes",href:"#!/api",tooltip:"API Documentation"}}});Ext.define("Docs.view.guides.Container",{extend:"Ext.container.Container",alias:"widget.guidecontainer",componentCls:"guide-container",initComponent:function(){this.addEvents("afterload");this.callParent(arguments)},load:function(b){this.tpl=this.tpl||new Ext.XTemplate('<a class="print guide" href="?print=/guide/{name}" target="_blank">Print</a>',"{content}");this.update(this.tpl.apply(b));Docs.Syntax.highlight(this.getEl());this.fireEvent("afterload")}});Ext.define("Docs.view.videos.Container",{extend:"Ext.container.Container",alias:"widget.videocontainer",load:function(b){this.tpl=this.tpl||new Ext.XTemplate('<object width="640" height="360" id="video_player">','<param name="allowfullscreen" value="true" />','<param name="allowscriptaccess" value="always" />','<param name="flashvars" value="api=1" />','<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id={id}&amp;server=vimeo.com&amp;color=4CC208&amp;fullscreen=1" />','<embed src="http://vimeo.com/moogaloop.swf?clip_id={id}&amp;server=vimeo.com&amp;color=4CC208&amp;fullscreen=1" ','type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="360"></embed>',"</object>","<h1>{title}</h1>","<p>{[this.linkify(values.description)]}</p>",{linkify:function(a){return a.replace(/(\bhttps?:\/\/\S+)/ig,"<a href='$1'>$1</a>")}});this.update(this.tpl.apply(b))},listeners:{hide:function(){var b=document.getElementById("video_player");if(b&&b.api_pause){b.api_pause()}}}});Ext.define("Docs.view.examples.Container",{extend:"Ext.container.Container",alias:"widget.examplecontainer",layout:"fit",load:function(b){this.tpl=this.tpl||new Ext.XTemplate('<iframe style="width: 100%; height: 100%; border: 0;" src="extjs/examples/{url}"></iframe>');this.update(this.tpl.apply(b))},clear:function(){this.update("")}});Ext.define("Docs.view.cls.Header",{extend:"Ext.container.Container",padding:"10 0 17 0",height:55,alias:"widget.classheader",cls:"classheader",initComponent:function(){this.tpl=Ext.create("Ext.XTemplate",'<h1 class="{[this.getClass(values)]}">','<tpl if="private">','<span class="private">Private</span>',"</tpl>",'<a href="source/{href}" target="_blank">{name}</a>','<tpl if="xtypes.length &gt; 0">','<span>xtype: {[values.xtypes.join(", ")]}</span>',"</tpl>","</h1>",'<a class="print" href="?print=/api/{name}" target="_blank">Print</a>',{getClass:function(b){if(b.component){return"component"}else{if(b.singleton){return"singleton"}else{return"class"}}}});this.callParent()},load:function(b){this.update(this.tpl.apply(b))}});Ext.define("Ext.panel.Header",{extend:"Ext.container.Container",uses:["Ext.panel.Tool","Ext.draw.Component","Ext.util.CSS"],alias:"widget.header",isHeader:true,defaultType:"tool",indicateDrag:false,weight:-1,renderTpl:['<div class="{baseCls}-body<tpl if="bodyCls"> {bodyCls}</tpl><tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl></tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>></div>'],initComponent:function(){var j=this,h,f,g,i;j.indicateDragCls=j.baseCls+"-draggable";j.title=j.title||"&#160;";j.tools=j.tools||[];j.items=j.items||[];j.orientation=j.orientation||"horizontal";j.dock=(j.dock)?j.dock:(j.orientation=="horizontal")?"top":"left";j.addClsWithUI(j.orientation);j.addClsWithUI(j.dock);Ext.applyIf(j.renderSelectors,{body:"."+j.baseCls+"-body"});if(!Ext.isEmpty(j.iconCls)){j.initIconCmp();j.items.push(j.iconCmp)}if(j.orientation=="vertical"){if(Ext.isIE6||Ext.isIE7){j.width=this.width||24}else{if(Ext.isIEQuirks){j.width=this.width||25}}j.layout={type:"vbox",align:"center",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};j.textConfig={cls:j.baseCls+"-text",type:"text",text:j.title,rotate:{degrees:90}};i=j.ui;if(Ext.isArray(i)){i=i[0]}h=Ext.util.CSS.getRule("."+j.baseCls+"-text-"+i);if(h){f=h.style}if(f){Ext.apply(j.textConfig,{"font-family":f.fontFamily,"font-weight":f.fontWeight,"font-size":f.fontSize,fill:f.color})}j.titleCmp=Ext.create("Ext.draw.Component",{ariaRole:"heading",focusable:false,viewBox:false,flex:1,autoSize:true,margins:"5 0 0 0",items:[j.textConfig],renderSelectors:{textEl:"."+j.baseCls+"-text"}})}else{j.layout={type:"hbox",align:"middle",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};j.titleCmp=Ext.create("Ext.Component",{xtype:"component",ariaRole:"heading",focusable:false,flex:1,renderTpl:['<span class="{cls}-text {cls}-text-{ui}">{title}</span>'],renderData:{title:j.title,cls:j.baseCls,ui:j.ui},renderSelectors:{textEl:"."+j.baseCls+"-text"}})}j.items.push(j.titleCmp);j.items=j.items.concat(j.tools);this.callParent()},initIconCmp:function(){this.iconCmp=Ext.create("Ext.Component",{focusable:false,renderTpl:['<img alt="" src="{blank}" class="{cls}-icon {iconCls}"/>'],renderData:{blank:Ext.BLANK_IMAGE_URL,cls:this.baseCls,iconCls:this.iconCls,orientation:this.orientation},renderSelectors:{iconEl:"."+this.baseCls+"-icon"},iconCls:this.iconCls})},afterRender:function(){var b=this;b.el.unselectable();if(b.indicateDrag){b.el.addCls(b.indicateDragCls)}b.mon(b.el,{click:b.onClick,scope:b});b.callParent()},afterLayout:function(){var b=this;b.callParent(arguments);if(Ext.isIE7){b.el.repaint()}},addUIClsToElement:function(h,k){var l=this,i=l.callParent(arguments),m=[l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.addCls(l.bodyCls)}else{l.body.addCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){if(!Ext.Array.contains(j,m[n])){j.push(m[n])}}l.bodyCls=j.join(" ")}else{l.bodyCls=m.join(" ")}}return i},removeUIClsFromElement:function(h,k){var l=this,i=l.callParent(arguments),m=[l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.removeCls(l.bodyCls)}else{l.body.removeCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){Ext.Array.remove(j,m[n])}l.bodyCls=j.join(" ")}}return i},addUIToElement:function(h){var e=this,g,f;e.callParent(arguments);f=e.baseCls+"-body-"+e.ui;if(!h&&e.rendered){if(e.bodyCls){e.body.addCls(e.bodyCls)}else{e.body.addCls(f)}}else{if(e.bodyCls){g=e.bodyCls.split(" ");if(!Ext.Array.contains(g,f)){g.push(f)}e.bodyCls=g.join(" ")}else{e.bodyCls=f}}if(!h&&e.titleCmp&&e.titleCmp.rendered&&e.titleCmp.textEl){e.titleCmp.textEl.addCls(e.baseCls+"-text-"+e.ui)}},removeUIFromElement:function(){var d=this,f,e;d.callParent(arguments);e=d.baseCls+"-body-"+d.ui;if(d.rendered){if(d.bodyCls){d.body.removeCls(d.bodyCls)}else{d.body.removeCls(e)}}else{if(d.bodyCls){f=d.bodyCls.split(" ");Ext.Array.remove(f,e);d.bodyCls=f.join(" ")}else{d.bodyCls=e}}if(d.titleCmp&&d.titleCmp.rendered&&d.titleCmp.textEl){d.titleCmp.textEl.removeCls(d.baseCls+"-text-"+d.ui)}},onClick:function(b){if(!b.getTarget(Ext.baseCSSPrefix+"tool")){this.fireEvent("click",b)}},getTargetEl:function(){return this.body||this.frameBody||this.el},setTitle:function(g){var h=this;if(h.rendered){if(h.titleCmp.rendered){if(h.titleCmp.surface){h.title=g||"";var e=h.titleCmp.surface.items.items[0],f=h.titleCmp.surface;f.remove(e);h.textConfig.type="text";h.textConfig.text=g;e=f.add(h.textConfig);e.setAttributes({rotate:{degrees:90}},true);h.titleCmp.autoSizeSurface()}else{h.title=g||"&#160;";h.titleCmp.textEl.update(h.title)}}else{h.titleCmp.on({render:function(){h.setTitle(g)},single:true})}}else{h.on({render:function(){h.layout.layout();h.setTitle(g)},single:true})}},setIconCls:function(e){this.iconCls=e;if(!this.iconCmp){this.initIconCmp();this.insert(0,this.iconCmp)}else{if(!e||!e.length){this.iconCmp.destroy()}else{var f=this.iconCmp,d=f.iconEl;d.removeCls(f.iconCls);d.addCls(e);f.iconCls=e}}},addTool:function(b){this.tools.push(this.add(b))},onAdd:function(c,d){this.callParent([arguments]);if(c instanceof Ext.panel.Tool){c.bindTo(this.ownerCt);this.tools[c.type]=c}}});Ext.define("Ext.grid.header.Container",{extend:"Ext.container.Container",uses:["Ext.grid.ColumnLayout","Ext.grid.column.Column","Ext.menu.Menu","Ext.menu.CheckItem","Ext.menu.Separator","Ext.grid.plugin.HeaderResizer","Ext.grid.plugin.HeaderReorderer"],border:true,alias:"widget.headercontainer",baseCls:Ext.baseCSSPrefix+"grid-header-ct",dock:"top",weight:100,defaultType:"gridcolumn",defaultWidth:100,sortAscText:"Sort Ascending",sortDescText:"Sort Descending",sortClearText:"Clear Sort",columnsText:"Columns",lastHeaderCls:Ext.baseCSSPrefix+"column-header-last",firstHeaderCls:Ext.baseCSSPrefix+"column-header-first",headerOpenCls:Ext.baseCSSPrefix+"column-header-open",triStateSort:false,ddLock:false,dragging:false,sortable:true,initComponent:function(){var b=this;b.headerCounter=0;b.plugins=b.plugins||[];if(!b.isHeader){b.resizer=Ext.create("Ext.grid.plugin.HeaderResizer");b.reorderer=Ext.create("Ext.grid.plugin.HeaderReorderer");if(!b.enableColumnResize){b.resizer.disable()}if(!b.enableColumnMove){b.reorderer.disable()}b.plugins.push(b.reorderer,b.resizer)}if(b.isHeader&&!b.items){b.layout="auto"}else{b.layout={type:"gridcolumn",availableSpaceOffset:b.availableSpaceOffset,align:"stretchmax",resetStretch:true}}b.defaults=b.defaults||{};Ext.applyIf(b.defaults,{width:b.defaultWidth,triStateSort:b.triStateSort,sortable:b.sortable});b.callParent();b.addEvents("columnresize","headerclick","headertriggerclick","columnmove","columnhide","columnshow","sortchange","menucreate")},onDestroy:function(){Ext.destroy(this.resizer,this.reorderer);this.callParent()},onAdd:function(c){var d=this;if(!c.headerId){c.headerId="h"+(++d.headerCounter)}d.callParent(arguments);d.purgeCache()},onRemove:function(c){var d=this;d.callParent(arguments);d.purgeCache()},afterRender:function(){this.callParent();var f=this.up("[store]").store,h=f.sorters,g=h.first(),e;if(g){e=this.down("gridcolumn[dataIndex="+g.property+"]");if(e){e.setSortState(g.direction,false,true)}}},afterLayout:function(){if(!this.isHeader){var h=this,i=h.query(">gridcolumn:not([hidden])"),j,f,g;h.callParent(arguments);if(i.length){f=i[0].el;if(f!==h.pastFirstHeaderEl){if(h.pastFirstHeaderEl){h.pastFirstHeaderEl.removeCls(h.firstHeaderCls)}f.addCls(h.firstHeaderCls);h.pastFirstHeaderEl=f}g=i[i.length-1].el;if(g!==h.pastLastHeaderEl){if(h.pastLastHeaderEl){h.pastLastHeaderEl.removeCls(h.lastHeaderCls)}g.addCls(h.lastHeaderCls);h.pastLastHeaderEl=g}}}},onHeaderShow:function(o){var l=this,i=l.ownerCt,s=l.getMenu(),r,t,n,u,m,p;if(s){n=s.down("menucheckitem[headerId="+o.id+"]");if(n){n.setChecked(true,true)}r=s.query("#columnItem>menucheckitem[checked]");t=r.length;if((l.getVisibleGridColumns().length>1)&&l.disabledMenuItems&&l.disabledMenuItems.length){if(t==1){Ext.Array.remove(l.disabledMenuItems,r[0])}for(p=0,m=l.disabledMenuItems.length;p<m;p++){u=l.disabledMenuItems[p];if(!u.isDestroyed){u[u.menu?"enableCheckChange":"enable"]()}}if(t==1){l.disabledMenuItems=r}else{l.disabledMenuItems=[]}}}if(!o.isGroupHeader){if(l.view){l.view.onHeaderShow(l,o,true)}if(i){i.onHeaderShow(l,o)}}l.fireEvent("columnshow",l,o);l.doLayout()},onHeaderHide:function(i,l){var g=this,h=g.ownerCt,j=g.getMenu(),k;if(j){k=j.down("menucheckitem[headerId="+i.id+"]");if(k){k.setChecked(false,true)}g.setDisabledItems()}if(!i.isGroupHeader){if(g.view){g.view.onHeaderHide(g,i,true)}if(h){h.onHeaderHide(g,i)}if(!l){g.doLayout()}}g.fireEvent("columnhide",g,i)},setDisabledItems:function(){var k=this,i=k.getMenu(),g=0,h,j,l;j=i.query("#columnItem>menucheckitem[checked]");if((j.length===1)){if(!k.disabledMenuItems){k.disabledMenuItems=[]}if((k.getVisibleGridColumns().length===1)&&j[0].menu){j=j.concat(j[0].menu.query("menucheckitem[checked]"))}h=j.length;for(g=0;g<h;g++){l=j[g];if(!Ext.Array.contains(k.disabledMenuItems,l)){l.disabled=false;l[l.menu?"disableCheckChange":"disable"]();k.disabledMenuItems.push(l)}}}},tempLock:function(){this.ddLock=true;Ext.Function.defer(function(){this.ddLock=false},200,this)},onHeaderResize:function(f,e,d){this.tempLock();if(this.view&&this.view.rendered){this.view.onHeaderResize(f,e,d)}this.fireEvent("columnresize",this,f,e)},onHeaderClick:function(f,d,e){this.fireEvent("headerclick",this,f,d,e)},onHeaderTriggerClick:function(f,d,e){if(this.fireEvent("headertriggerclick",this,f,d,e)!==false){this.showMenuBy(e,f)}},showMenuBy:function(g,i){var k=this.getMenu(),j=k.down("#ascItem"),l=k.down("#descItem"),h;k.activeHeader=k.ownerCt=i;k.setFloatParent(i);i.titleContainer.addCls(this.headerOpenCls);h=i.sortable?"enable":"disable";if(j){j[h]()}if(l){l[h]()}k.showBy(g)},onMenuDeactivate:function(){var b=this.getMenu();b.activeHeader.titleContainer.removeCls(this.headerOpenCls)},moveHeader:function(d,c){this.tempLock();this.onHeaderMoved(this.move(d,c),d,c)},purgeCache:function(){var b=this;delete b.gridDataColumns;if(b.menu){b.menu.destroy();delete b.menu}},onHeaderMoved:function(h,f,i){var j=this,g=j.ownerCt;if(g){g.onHeaderMove(j,h,f,i)}j.fireEvent("columnmove",j,h,f,i)},getMenu:function(){var b=this;if(!b.menu){b.menu=Ext.create("Ext.menu.Menu",{hideOnParentHide:false,items:b.getMenuItems(),listeners:{deactivate:b.onMenuDeactivate,scope:b}});b.setDisabledItems();b.fireEvent("menucreate",b,b.menu)}return b.menu},getMenuItems:function(){var f=this,d=[],e=f.enableColumnHide?f.getColumnMenu(f):null;if(f.sortable){d=[{itemId:"ascItem",text:f.sortAscText,cls:"xg-hmenu-sort-asc",handler:f.onSortAscClick,scope:f},{itemId:"descItem",text:f.sortDescText,cls:"xg-hmenu-sort-desc",handler:f.onSortDescClick,scope:f}]}if(e&&e.length){d.push("-",{itemId:"columnItem",text:f.columnsText,cls:Ext.baseCSSPrefix+"cols-icon",menu:e})}return d},onSortAscClick:function(){var c=this.getMenu(),d=c.activeHeader;d.setSortState("ASC")},onSortDescClick:function(){var c=this.getMenu(),d=c.activeHeader;d.setSortState("DESC")},getColumnMenu:function(k){var n=[],h=0,l,i=k.query(">gridcolumn[hideable]"),j=i.length,m;for(;h<j;h++){l=i[h];m=Ext.create("Ext.menu.CheckItem",{text:l.text,checked:!l.hidden,hideOnClick:false,headerId:l.id,menu:l.isGroupHeader?this.getColumnMenu(l):undefined,checkHandler:this.onColumnCheckChange,scope:this});if(j===1){m.disabled=true}n.push(m);l.on({destroy:Ext.Function.bind(m.destroy,m)})}return n},onColumnCheckChange:function(e,d){var f=Ext.getCmp(e.headerId);f[d?"show":"hide"]()},getColumnsForTpl:function(l){var n=[],m=this.getGridColumns(l),j=m.length,i=0,k,h;for(;i<j;i++){k=m[i];if(k.hidden){h=0}else{h=k.getDesiredWidth();if((i==0)&&(Ext.isIE6||Ext.isIE7)){h+=1}}n.push({dataIndex:k.dataIndex,align:k.align,width:h,id:k.id,cls:k.tdCls,columnId:k.getItemId()})}return n},getColumnCount:function(){return this.getGridColumns().length},getFullWidth:function(i){var j=0,f=this.getVisibleGridColumns(i),h=f.length,g=0;for(;g<h;g++){if(!isNaN(f[g].width)){if(f[g].getDesiredWidth){j+=f[g].getDesiredWidth()}else{j+=f[g].getWidth()}}}return j},clearOtherSortStates:function(g){var j=this.getGridColumns(),h=j.length,f=0,i;for(;f<h;f++){if(j[f]!==g){i=j[f].sortState;j[f].setSortState(null,true)}}},getVisibleGridColumns:function(b){return Ext.ComponentQuery.query(":not([hidden])",this.getGridColumns(b))},getGridColumns:function(d){var f=this,e=d?null:f.gridDataColumns;if(!e){f.gridDataColumns=e=[];f.cascade(function(a){if((a!==f)&&!a.isGroupHeader){e.push(a)}})}return e},getHeaderIndex:function(c){var d=this.getGridColumns();return Ext.Array.indexOf(d,c)},getHeaderAtIndex:function(d){var c=this.getGridColumns();return c[d]},prepareData:function(x,C,v,t,E){var y={},B=this.gridDataColumns||this.getGridColumns(),A=B.length,z=0,w,p,u,r,D,s=E.store;for(;z<A;z++){D={tdCls:"",style:""};w=B[z];p=w.id;u=w.renderer;r=x[w.dataIndex];if(typeof u==="string"){w.renderer=u=Ext.util.Format[u]}if(typeof u==="function"){r=u.call(w.scope||this.ownerCt,r,D,v,C,z,s,t)}if(D.css){y.cssWarning=true;D.tdCls=D.css;delete D.css}y[p+"-modified"]=v.isModified(w.dataIndex)?Ext.baseCSSPrefix+"grid-dirty-cell":"";y[p+"-tdCls"]=D.tdCls;y[p+"-tdAttr"]=D.tdAttr;y[p+"-style"]=D.style;if(r===undefined||r===null||r===""){r="&#160;"}y[p]=r}return y},expandToFit:function(b){if(this.view){this.view.expandToFit(b)}}});Ext.define("Ext.grid.column.Column",{extend:"Ext.grid.header.Container",alias:"widget.gridcolumn",requires:["Ext.util.KeyNav"],alternateClassName:"Ext.grid.Column",baseCls:Ext.baseCSSPrefix+"column-header "+Ext.baseCSSPrefix+"unselectable",hoverCls:Ext.baseCSSPrefix+"column-header-over",handleWidth:5,sortState:null,possibleSortStates:["ASC","DESC"],renderTpl:'<div class="'+Ext.baseCSSPrefix+'column-header-inner"><span class="'+Ext.baseCSSPrefix+'column-header-text">{text}</span><tpl if="!values.menuDisabled"><div class="'+Ext.baseCSSPrefix+'column-header-trigger"></div></tpl></div>',dataIndex:null,text:"&#160",sortable:true,hideable:true,menuDisabled:false,renderer:false,align:"left",draggable:true,initDraggable:Ext.emptyFn,isHeader:true,initComponent:function(){var f=this,d,e;if(Ext.isDefined(f.header)){f.text=f.header;delete f.header}if(f.flex){f.minWidth=f.minWidth||Ext.grid.plugin.HeaderResizer.prototype.minColWidth}else{f.minWidth=f.width}if(!f.triStateSort){f.possibleSortStates.length=2}if(Ext.isDefined(f.columns)){f.isGroupHeader=true;if(f.dataIndex){Ext.Error.raise("Ext.grid.column.Column: Group header may not accept a dataIndex")}if((f.width&&f.width!==Ext.grid.header.Container.prototype.defaultWidth)||f.flex){Ext.Error.raise("Ext.grid.column.Column: Group header does not support setting explicit widths or flexs. The group header width is calculated by the sum of its children.")}f.items=f.columns;delete f.columns;delete f.flex;f.width=0;for(d=0,e=f.items.length;d<e;d++){f.width+=f.items[d].width||Ext.grid.header.Container.prototype.defaultWidth;if(f.items[d].flex){Ext.Error.raise("Ext.grid.column.Column: items of a grouped header do not support flexed values. Each item must explicitly define its width.")}}f.minWidth=f.width;f.cls=(f.cls||"")+" "+Ext.baseCSSPrefix+"group-header";f.sortable=false;f.fixed=true;f.align="center"}Ext.applyIf(f.renderSelectors,{titleContainer:"."+Ext.baseCSSPrefix+"column-header-inner",triggerEl:"."+Ext.baseCSSPrefix+"column-header-trigger",textEl:"."+Ext.baseCSSPrefix+"column-header-text"});f.callParent(arguments)},onAdd:function(b){b.isSubHeader=true;b.addCls(Ext.baseCSSPrefix+"group-sub-header")},onRemove:function(b){b.isSubHeader=false;b.removeCls(Ext.baseCSSPrefix+"group-sub-header")},initRenderData:function(){var b=this;Ext.applyIf(b.renderData,{text:b.text,menuDisabled:b.menuDisabled});return b.callParent(arguments)},setText:function(b){this.text=b;if(this.rendered){this.textEl.update(b)}},getOwnerHeaderCt:function(){return this.up(":not([isHeader])")},getIndex:function(){return this.isGroupColumn?false:this.getOwnerHeaderCt().getHeaderIndex(this)},afterRender:function(){var c=this,d=c.el;c.callParent(arguments);d.addCls(Ext.baseCSSPrefix+"column-header-align-"+c.align).addClsOnOver(c.overCls);c.mon(d,{click:c.onElClick,dblclick:c.onElDblClick,scope:c});if(!Ext.isIE8||!Ext.isStrict){c.mon(c.getFocusEl(),{focus:c.onTitleMouseOver,blur:c.onTitleMouseOut,scope:c})}c.mon(c.titleContainer,{mouseenter:c.onTitleMouseOver,mouseleave:c.onTitleMouseOut,scope:c});c.keyNav=Ext.create("Ext.util.KeyNav",d,{enter:c.onEnterKey,down:c.onDownKey,scope:c})},setSize:function(A,o){var s=this,z=s.ownerCt,u=s.getOwnerHeaderCt(),r,t,w,y=s.getWidth(),x=0,i=true,v,p;if(A!==y){if(z.isGroupHeader){r=z.items.items;t=r.length;for(w=0;w<t;w++){p=r[w];v=p.hidden;if(!p.rendered&&!v){i=false;break}if(!v){x+=(p===s)?A:p.getWidth()}}if(i){z.minWidth=x;z.setWidth(x)}}s.callParent(arguments)}},afterComponentLayout:function(h,f){var g=this,e=this.getOwnerHeaderCt();g.callParent(arguments);if(h&&!g.isGroupHeader&&e){e.onHeaderResize(g,h,true)}},setPadding:function(){var f=this,e,d=parseInt(f.textEl.getStyle("line-height"),10);if(!f.isGroupHeader){e=f.el.getViewSize().height;if(f.titleContainer.getHeight()<e){f.titleContainer.dom.style.height=e+"px"}}e=f.titleContainer.getViewSize().height;if(d){f.titleContainer.setStyle({paddingTop:Math.max(((e-d)/2),0)+"px"})}if(Ext.isIE&&f.triggerEl){f.triggerEl.setHeight(e)}},onDestroy:function(){var b=this;Ext.destroy(b.keyNav);delete b.keyNav;b.callParent(arguments)},onTitleMouseOver:function(){this.titleContainer.addCls(this.hoverCls)},onTitleMouseOut:function(){this.titleContainer.removeCls(this.hoverCls)},onDownKey:function(b){if(this.triggerEl){this.onElClick(b,this.triggerEl.dom||this.el.dom)}},onEnterKey:function(b){this.onElClick(b,this.el.dom)},onElDblClick:function(g,f){var h=this,e=h.ownerCt;if(e&&Ext.Array.indexOf(e.items,h)!==0&&h.isOnLeftEdge(g)){e.expandToFit(h.previousSibling("gridcolumn"))}},onElClick:function(g,e){var h=this,f=h.getOwnerHeaderCt();if(f&&!f.ddLock){if(h.triggerEl&&(g.target===h.triggerEl.dom||e===h.triggerEl.dom||g.within(h.triggerEl))){f.onHeaderTriggerClick(h,g,e)}else{if(g.getKey()||(!h.isOnLeftEdge(g)&&!h.isOnRightEdge(g))){h.toggleSortState();f.onHeaderClick(h,g,e)}}}},processEvent:function(j,e,h,l,k,i){return this.fireEvent.apply(this,arguments)},toggleSortState:function(){var d=this,e,f;if(d.sortable){e=Ext.Array.indexOf(d.possibleSortStates,d.sortState);f=(e+1)%d.possibleSortStates.length;d.setSortState(d.possibleSortStates[f])}},doSort:function(c){var d=this.up("tablepanel").store;d.sort({property:this.getSortParam(),direction:c})},getSortParam:function(){return this.dataIndex},setSortState:function(u,k,o){var n=this,m=Ext.baseCSSPrefix+"column-header-sort-",l=m+"ASC",s=m+"DESC",t=m+"null",p=n.getOwnerHeaderCt(),r=n.sortState;if(r!==u&&n.getSortParam()){n.addCls(m+u);if(u&&!o){n.doSort(u)}switch(u){case"DESC":n.removeCls([l,t]);break;case"ASC":n.removeCls([s,t]);break;case null:n.removeCls([l,s]);break}if(p&&!n.triStateSort&&!k){p.clearOtherSortStates(n)}n.sortState=u;p.fireEvent("sortchange",p,n,u)}},hide:function(){var k=this,n,i,m,j,l=0,h=k.getOwnerHeaderCt();k.oldWidth=k.getWidth();if(k.isGroupHeader){n=k.items.items;k.callParent(arguments);h.onHeaderHide(k);for(m=0,i=n.length;m<i;m++){n[m].hidden=true;h.onHeaderHide(n[m],true)}return}j=k.ownerCt.componentLayout.layoutBusy;k.ownerCt.componentLayout.layoutBusy=true;k.callParent(arguments);k.ownerCt.componentLayout.layoutBusy=j;h.onHeaderHide(k);if(k.ownerCt.isGroupHeader){n=k.ownerCt.query(">:not([hidden])");if(!n.length){k.ownerCt.hide()}else{for(m=0,i=n.length;m<i;m++){l+=n[m].getWidth()}k.ownerCt.minWidth=l;k.ownerCt.setWidth(l)}}},show:function(){var k=this,m=k.getOwnerHeaderCt(),j,h,i,n,l=0;j=k.ownerCt.componentLayout.layoutBusy;k.ownerCt.componentLayout.layoutBusy=true;k.callParent(arguments);k.ownerCt.componentLayout.layoutBusy=j;if(k.isSubHeader){if(!k.ownerCt.isVisible()){k.ownerCt.show()}}if(k.isGroupHeader&&!k.query(":not([hidden])").length){h=k.query(">*");for(n=0,i=h.length;n<i;n++){h[n].show()}}if(k.ownerCt.isGroupHeader){h=k.ownerCt.query(">:not([hidden])");for(n=0,i=h.length;n<i;n++){l+=h[n].getWidth()}k.ownerCt.minWidth=l;k.ownerCt.setWidth(l)}if(m){m.onHeaderShow(k)}},getDesiredWidth:function(){var b=this;if(b.rendered&&b.componentLayout&&b.componentLayout.lastComponentSize){return b.componentLayout.lastComponentSize.width}else{if(b.flex){return b.width}else{return b.width}}},getCellSelector:function(){return"."+Ext.baseCSSPrefix+"grid-cell-"+this.getItemId()},getCellInnerSelector:function(){return this.getCellSelector()+" ."+Ext.baseCSSPrefix+"grid-cell-inner"},isOnLeftEdge:function(b){return(b.getXY()[0]-this.el.getLeft()<=this.handleWidth)},isOnRightEdge:function(b){return(this.el.getRight()-b.getXY()[0]<=this.handleWidth)}});Ext.define("Ext.grid.column.Action",{extend:"Ext.grid.column.Column",alias:["widget.actioncolumn"],alternateClassName:"Ext.grid.ActionColumn",header:"&#160;",actionIdRe:/x-action-col-(\d+)/,altText:"",sortable:false,constructor:function(m){var j=this,h=Ext.apply({},m),n=h.items||[j],i=n.length,l,k;delete h.items;j.callParent([h]);j.items=n;j.renderer=function(b,a){b=Ext.isFunction(h.renderer)?h.renderer.apply(this,arguments)||"":"";a.tdCls+=" "+Ext.baseCSSPrefix+"action-col-cell";for(l=0;l<i;l++){k=n[l];b+='<img alt="'+(k.altText||j.altText)+'" src="'+(k.icon||Ext.BLANK_IMAGE_URL)+'" class="'+Ext.baseCSSPrefix+"action-col-icon "+Ext.baseCSSPrefix+"action-col-"+String(l)+" "+(k.iconCls||"")+" "+(Ext.isFunction(k.getClass)?k.getClass.apply(k.scope||j.scope||j,arguments):(j.iconCls||""))+'"'+((k.tooltip)?' data-qtip="'+k.tooltip+'"':"")+" />"}return b}},destroy:function(){delete this.items;delete this.renderer;return this.callParent(arguments)},processEvent:function(p,m,l,u,o,s){var r=this,t=s.getTarget().className.match(r.actionIdRe),e,n;if(t){e=r.items[parseInt(t[1],10)];if(e){if(p=="click"){n=e.handler||r.handler;if(n){n.call(e.scope||r.scope||r,m,u,o,e,s)}}else{if(p=="mousedown"&&e.stopSelection!==false){return false}}}}return r.callParent(arguments)},cascade:function(c,d){c.call(d||this,this)},getRefItems:function(){return[]}});Ext.define("Ext.button.Button",{alias:"widget.button",extend:"Ext.Component",requires:["Ext.menu.Manager","Ext.util.ClickRepeater","Ext.layout.component.Button","Ext.util.TextMetrics","Ext.util.KeyMap"],alternateClassName:"Ext.Button",isButton:true,componentLayout:"button",hidden:false,disabled:false,pressed:false,enableToggle:false,menuAlign:"tl-bl?",type:"button",clickEvent:"click",preventDefault:true,handleMouseEvents:true,tooltipType:"qtip",baseCls:Ext.baseCSSPrefix+"btn",pressedCls:"pressed",overCls:"over",focusCls:"focus",menuActiveCls:"menu-active",ariaRole:"button",renderTpl:'<em class="{splitCls}"><tpl if="href"><a href="{href}" target="{target}"<tpl if="tabIndex"> tabIndex="{tabIndex}"</tpl> role="link"><span class="{baseCls}-inner">{text}</span><span class="{baseCls}-icon"></span></a></tpl><tpl if="!href"><button type="{type}" hidefocus="true"<tpl if="tabIndex"> tabIndex="{tabIndex}"</tpl> role="button" autocomplete="off"><span class="{baseCls}-inner" style="{innerSpanStyle}">{text}</span><span class="{baseCls}-icon"></span></button></tpl></em>',scale:"small",allowedScales:["small","medium","large"],iconAlign:"left",arrowAlign:"right",arrowCls:"arrow",maskOnDisable:false,initComponent:function(){var b=this;b.callParent(arguments);b.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");if(b.menu){b.split=true;b.menu=Ext.menu.Manager.get(b.menu);b.menu.ownerCt=b}if(b.url){b.href=b.url}if(b.href&&!b.hasOwnProperty("preventDefault")){b.preventDefault=false}if(Ext.isString(b.toggleGroup)){b.enableToggle=true}},initAria:function(){this.callParent();var b=this.getActionEl();if(this.menu){b.dom.setAttribute("aria-haspopup",true)}},getActionEl:function(){return this.btnEl},getFocusEl:function(){return this.btnEl},setButtonCls:function(){var f=this,d=f.el,e=[];if(f.useSetClass){if(!Ext.isEmpty(f.oldCls)){f.removeClsWithUI(f.oldCls);f.removeClsWithUI(f.pressedCls)}if(f.iconCls||f.icon){if(f.text){e.push("icon-text-"+f.iconAlign)}else{e.push("icon")}}else{if(f.text){e.push("noicon")}}f.oldCls=e;f.addClsWithUI(e);f.addClsWithUI(f.pressed?f.pressedCls:null)}},onRender:function(i,g){var h=this,j,f;Ext.applyIf(h.renderData,h.getTemplateArgs());Ext.applyIf(h.renderSelectors,{btnEl:h.href?"a":"button",btnWrap:"em",btnInnerEl:"."+h.baseCls+"-inner",btnIconEl:"."+h.baseCls+"-icon"});if(h.scale){h.ui=h.ui+"-"+h.scale}h.callParent(arguments);if(h.split&&h.arrowTooltip){h.arrowEl.dom[h.tooltipType]=h.arrowTooltip}h.mon(h.btnEl,{scope:h,focus:h.onFocus,blur:h.onBlur});f=h.el;if(h.icon){h.setIcon(h.icon)}if(h.iconCls){h.setIconCls(h.iconCls)}if(h.tooltip){h.setTooltip(h.tooltip,true)}if(h.handleMouseEvents){h.mon(f,{scope:h,mouseover:h.onMouseOver,mouseout:h.onMouseOut,mousedown:h.onMouseDown});if(h.split){h.mon(f,{mousemove:h.onMouseMove,scope:h})}}if(h.menu){h.mon(h.menu,{scope:h,show:h.onMenuShow,hide:h.onMenuHide});h.keyMap=Ext.create("Ext.util.KeyMap",h.el,{key:Ext.EventObject.DOWN,handler:h.onDownKey,scope:h})}if(h.repeat){j=Ext.create("Ext.util.ClickRepeater",f,Ext.isObject(h.repeat)?h.repeat:{});h.mon(j,"click",h.onRepeatClick,h)}else{h.mon(f,h.clickEvent,h.onClick,h)}Ext.ButtonToggleManager.register(h)},getTemplateArgs:function(){var f=this,d=f.getPersistentBtnPadding(),e="";if(Math.max.apply(Math,d)>0){e="margin:"+Ext.Array.map(d,function(a){return -a+"px"}).join(" ")}return{href:f.getHref(),target:f.target||"_blank",type:f.type,splitCls:f.getSplitCls(),cls:f.cls,text:f.text||"&#160;",tabIndex:f.tabIndex,innerSpanStyle:e}},getHref:function(){var d=this,c=Ext.apply({},d.baseParams);c=Ext.apply(c,d.params);return d.href?Ext.urlAppend(d.href,Ext.Object.toQueryString(c)):false},setParams:function(b){this.params=b;this.btnEl.dom.href=this.getHref()},getSplitCls:function(){var b=this;return b.split?(b.baseCls+"-"+b.arrowCls)+" "+(b.baseCls+"-"+b.arrowCls+"-"+b.arrowAlign):""},afterRender:function(){var b=this;b.useSetClass=true;b.setButtonCls();b.doc=Ext.getDoc();this.callParent(arguments)},setIconCls:function(d){var f=this,e=f.btnIconEl;if(e){e.removeCls(f.iconCls);e.addCls(d||"");f.setButtonCls()}f.iconCls=d;return f},setTooltip:function(f,e){var d=this;if(d.rendered){if(!e){d.clearTip()}if(Ext.isObject(f)){Ext.tip.QuickTipManager.register(Ext.apply({target:d.btnEl.id},f));d.tooltip=f}else{d.btnEl.dom.setAttribute("data-"+this.tooltipType,f)}}else{d.tooltip=f}return d},getRefItems:function(e){var f=this.menu,d;if(f){d=f.getRefItems(e);d.unshift(f)}return d||[]},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.btnEl)}},beforeDestroy:function(){var b=this;if(b.rendered){b.clearTip()}if(b.menu&&b.destroyMenu!==false){Ext.destroy(b.btnEl,b.btnInnerEl,b.menu)}Ext.destroy(b.repeater)},onDestroy:function(){var b=this;if(b.rendered){b.doc.un("mouseover",b.monitorMouseOver,b);b.doc.un("mouseup",b.onMouseUp,b);delete b.doc;delete b.btnEl;delete b.btnInnerEl;Ext.ButtonToggleManager.unregister(b);Ext.destroy(b.keyMap);delete b.keyMap}b.callParent()},setHandler:function(c,d){this.handler=c;this.scope=d;return this},setText:function(c){var d=this;d.text=c;if(d.el){d.btnInnerEl.update(c||"&#160;");d.setButtonCls()}d.doComponentLayout();return d},setIcon:function(e){var d=this,f=d.btnInnerEl;d.icon=e;if(f){f.setStyle("background-image",e?"url("+e+")":"");d.setButtonCls()}return d},getText:function(){return this.text},toggle:function(f,e){var d=this;f=f===undefined?!d.pressed:!!f;if(f!==d.pressed){if(d.rendered){d[f?"addClsWithUI":"removeClsWithUI"](d.pressedCls)}d.btnEl.dom.setAttribute("aria-pressed",f);d.pressed=f;if(!e){d.fireEvent("toggle",d,f);Ext.callback(d.toggleHandler,d.scope||d,[d,f])}}return d},showMenu:function(){var b=this;if(b.rendered&&b.menu){if(b.tooltip){Ext.tip.QuickTipManager.getQuickTip().cancelShow(b.btnEl)}if(b.menu.isVisible()){b.menu.hide()}b.menu.showBy(b.el,b.menuAlign)}return b},hideMenu:function(){if(this.hasVisibleMenu()){this.menu.hide()}return this},hasVisibleMenu:function(){var b=this.menu;return b&&b.rendered&&b.isVisible()},onRepeatClick:function(d,c){this.onClick(c)},onClick:function(c){var d=this;if(d.preventDefault||(d.disabled&&d.getHref())&&c){c.preventDefault()}if(c.button!==0){return}if(!d.disabled){if(d.enableToggle&&(d.allowDepress!==false||!d.pressed)){d.toggle()}if(d.menu&&!d.hasVisibleMenu()&&!d.ignoreNextClick){d.showMenu()}d.fireEvent("click",d,c);if(d.handler){d.handler.call(d.scope||d,d,c)}d.onBlur()}},onMouseOver:function(c){var d=this;if(!d.disabled&&!c.within(d.el,true,true)){d.onMouseEnter(c)}},onMouseOut:function(c){var d=this;if(!c.within(d.el,true,true)){if(d.overMenuTrigger){d.onMenuTriggerOut(c)}d.onMouseLeave(c)}},onMouseMove:function(i){var k=this,l=k.el,j=k.overMenuTrigger,e,h;if(k.split){if(k.arrowAlign==="right"){e=i.getX()-l.getX();h=l.getWidth()}else{e=i.getY()-l.getY();h=l.getHeight()}if(e>(h-k.getTriggerSize())){if(!j){k.onMenuTriggerOver(i)}}else{if(j){k.onMenuTriggerOut(i)}}}},getTriggerSize:function(){var h=this,j=h.triggerSize,f,g,i;if(j===i){f=h.arrowAlign;g=f.charAt(0);j=h.triggerSize=h.el.getFrameWidth(g)+h.btnWrap.getFrameWidth(g)+(h.frameSize&&h.frameSize[f]||0)}return j},onMouseEnter:function(c){var d=this;d.addClsWithUI(d.overCls);d.fireEvent("mouseover",d,c)},onMouseLeave:function(c){var d=this;d.removeClsWithUI(d.overCls);d.fireEvent("mouseout",d,c)},onMenuTriggerOver:function(c){var d=this;d.overMenuTrigger=true;d.fireEvent("menutriggerover",d,d.menu,c)},onMenuTriggerOut:function(c){var d=this;delete d.overMenuTrigger;d.fireEvent("menutriggerout",d,d.menu,c)},enable:function(d){var c=this;c.callParent(arguments);c.removeClsWithUI("disabled");return c},disable:function(d){var c=this;c.callParent(arguments);c.addClsWithUI("disabled");return c},setScale:function(f){var e=this,d=e.ui.replace("-"+e.scale,"");if(!Ext.Array.contains(e.allowedScales,f)){throw ("#setScale: scale must be an allowed scale ("+e.allowedScales.join(", ")+")")}e.scale=f;e.setUI(d)},setUI:function(c){var d=this;if(d.scale&&!c.match(d.scale)){c=c+"-"+d.scale}d.callParent([c])},onFocus:function(c){var d=this;if(!d.disabled){d.addClsWithUI(d.focusCls)}},onBlur:function(c){var d=this;d.removeClsWithUI(d.focusCls)},onMouseDown:function(c){var d=this;if(!d.disabled&&c.button===0){d.addClsWithUI(d.pressedCls);d.doc.on("mouseup",d.onMouseUp,d)}},onMouseUp:function(c){var d=this;if(c.button===0){if(!d.pressed){d.removeClsWithUI(d.pressedCls)}d.doc.un("mouseup",d.onMouseUp,d)}},onMenuShow:function(c){var d=this;d.ignoreNextClick=0;d.addClsWithUI(d.menuActiveCls);d.fireEvent("menushow",d,d.menu)},onMenuHide:function(c){var d=this;d.removeClsWithUI(d.menuActiveCls);d.ignoreNextClick=Ext.defer(d.restoreClick,250,d);d.fireEvent("menuhide",d,d.menu)},restoreClick:function(){this.ignoreNextClick=0},onDownKey:function(){var b=this;if(!b.disabled){if(b.menu){b.showMenu()}}},getPersistentBtnPadding:function(){var h=Ext.button.Button,j=h.persistentPadding,l,g,k,i;if(!j){j=h.persistentPadding=[0,0,0,0];if(!Ext.isIE){l=Ext.create("Ext.button.Button",{renderTo:Ext.getBody(),text:"test",style:"position:absolute;top:-999px;"});k=l.btnEl;i=l.btnInnerEl;k.setSize(null,null);g=i.getOffsetsTo(k);j[0]=g[1];j[1]=k.getWidth()-i.getWidth()-g[0];j[2]=k.getHeight()-i.getHeight()-g[1];j[3]=g[0];l.destroy()}}return j}},function(){var g={},h,i,f;function j(b,a){if(a){h=g[b.toggleGroup];for(i=0,f=h.length;i<f;i++){if(h[i]!==b){h[i].toggle(false)}}}}Ext.ButtonToggleManager={register:function(b){if(!b.toggleGroup){return}var a=g[b.toggleGroup];if(!a){a=g[b.toggleGroup]=[]}a.push(b);b.on("toggle",j)},unregister:function(b){if(!b.toggleGroup){return}var a=g[b.toggleGroup];if(a){Ext.Array.remove(a,b);b.un("toggle",j)}},getPressed:function(a){var b=g[a],c=0,d;if(b){for(d=b.length;c<d;c++){if(b[c].pressed===true){return b[c]}}}return null}}});Ext.define("Ext.tab.Tab",{extend:"Ext.button.Button",alias:"widget.tab",requires:["Ext.layout.component.Tab","Ext.util.KeyNav"],componentLayout:"tab",isTab:true,baseCls:Ext.baseCSSPrefix+"tab",activeCls:"active",closableCls:"closable",closable:true,closeText:"Close Tab",active:false,scale:false,position:"top",initComponent:function(){var b=this;b.addEvents("activate","deactivate","beforeclose","close");b.callParent(arguments);if(b.card){b.setCard(b.card)}},onRender:function(){var b=this;b.addClsWithUI(b.position);b.syncClosableUI();b.callParent(arguments);if(b.active){b.activate(true)}b.syncClosableElements();b.keyNav=Ext.create("Ext.util.KeyNav",b.el,{enter:b.onEnterKey,del:b.onDeleteKey,scope:b})},enable:function(d){var c=this;c.callParent(arguments);c.removeClsWithUI(c.position+"-disabled");return c},disable:function(d){var c=this;c.callParent(arguments);c.addClsWithUI(c.position+"-disabled");return c},onDestroy:function(){var b=this;if(b.closeEl){b.closeEl.un("click",Ext.EventManager.preventDefault);b.closeEl=null}Ext.destroy(b.keyNav);delete b.keyNav;b.callParent(arguments)},setClosable:function(d){var c=this;d=(!arguments.length||!!d);if(c.closable!=d){c.closable=d;if(c.card){c.card.closable=d}c.syncClosableUI();if(c.rendered){c.syncClosableElements();c.doComponentLayout();if(c.ownerCt){c.ownerCt.doLayout()}}}},syncClosableElements:function(){var d=this;if(d.closable){if(!d.closeEl){d.closeEl=d.el.createChild({tag:"a",cls:d.baseCls+"-close-btn",href:"#",title:d.closeText}).on("click",Ext.EventManager.preventDefault)}}else{var c=d.closeEl;if(c){c.un("click",Ext.EventManager.preventDefault);c.remove();d.closeEl=null}}},syncClosableUI:function(){var c=this,d=[c.closableCls,c.closableCls+"-"+c.position];if(c.closable){c.addClsWithUI(d)}else{c.removeClsWithUI(d)}},setCard:function(d){var c=this;c.card=d;c.setText(c.title||d.title);c.setIconCls(c.iconCls||d.iconCls)},onCloseClick:function(){var b=this;if(b.fireEvent("beforeclose",b)!==false){if(b.tabBar){if(b.tabBar.closeTab(b)===false){return}}else{b.fireEvent("close",b)}}},fireClose:function(){this.fireEvent("close",this)},onEnterKey:function(c){var d=this;if(d.tabBar){d.tabBar.onClick(c,d.el)}},onDeleteKey:function(c){var d=this;if(d.closable){d.onCloseClick()}},activate:function(c){var d=this;d.active=true;d.addClsWithUI([d.activeCls,d.position+"-"+d.activeCls]);if(c!==true){d.fireEvent("activate",d)}},deactivate:function(c){var d=this;d.active=false;d.removeClsWithUI([d.activeCls,d.position+"-"+d.activeCls]);if(c!==true){d.fireEvent("deactivate",d)}}});Ext.define("Ext.tab.Bar",{extend:"Ext.panel.Header",alias:"widget.tabbar",baseCls:Ext.baseCSSPrefix+"tab-bar",requires:["Ext.tab.Tab","Ext.FocusManager"],defaultType:"tab",plain:false,renderTpl:['<div class="{baseCls}-body<tpl if="ui"> {baseCls}-body-{ui}<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl></tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>></div>','<div class="{baseCls}-strip<tpl if="ui"> {baseCls}-strip-{ui}<tpl for="uiCls"> {parent.baseCls}-strip-{parent.ui}-{.}</tpl></tpl>"></div>'],minTabWidth:30,maxTabWidth:undefined,initComponent:function(){var c=this,d;if(c.plain){c.setUI(c.ui+"-plain")}c.addClsWithUI(c.dock);c.addEvents("change");Ext.applyIf(c.renderSelectors,{body:"."+c.baseCls+"-body",strip:"."+c.baseCls+"-strip"});c.callParent(arguments);c.layout.align=(c.orientation=="vertical")?"left":"top";c.layout.overflowHandler=Ext.create("Ext.layout.container.boxOverflow.Scroller",c.layout);c.items.removeAt(c.items.getCount()-1);c.items.removeAt(c.items.getCount()-1);d=c.orientation=="vertical"?["up","down"]:["left","right"];Ext.FocusManager.subscribe(c,{keys:d})},onAdd:function(f){var e=this,g=e.tabPanel,h=!!g;e.callParent(arguments);f.position=e.dock;if(h){f.minWidth=g.minTabWidth}else{f.minWidth=e.minTabWidth+(f.iconCls?25:0)}f.maxWidth=e.maxTabWidth||(h?g.maxTabWidth:undefined)},afterRender:function(){var b=this;b.mon(b.el,{scope:b,click:b.onClick,delegate:"."+Ext.baseCSSPrefix+"tab"});b.callParent(arguments)},afterComponentLayout:function(){var b=this;b.callParent(arguments);b.strip.setWidth(b.el.getWidth())},onClick:function(i,j){var e=Ext.getCmp(j.id),h=this.tabPanel,g=true;j=i.getTarget();if(e&&e.isDisabled&&!e.isDisabled()){if(e.closable&&j===e.closeEl.dom){e.onCloseClick()}else{if(h){h.setActiveTab(e.card)}else{this.setActiveTab(e)}e.focus()}}},closeTab:function(j){var i=this,f=j.card,h=i.tabPanel,g;if(f&&f.fireEvent("beforeclose",f)===false){return false}if(j.active&&i.items.getCount()>1){g=j.next("tab")||i.items.items[0];i.setActiveTab(g);if(h){h.setActiveTab(g.card)}}j.fireClose();i.remove(j);if(h&&f){f.fireEvent("close",f);h.remove(f)}if(g){g.focus()}},setActiveTab:function(d){if(d.disabled){return}var c=this;if(c.activeTab){c.activeTab.deactivate()}d.activate();if(c.rendered){c.layout.layout();d.el.scrollIntoView(c.layout.getRenderTarget())}c.activeTab=d;c.fireEvent("change",c,d,d.card)}});Ext.define("Ext.toolbar.Fill",{extend:"Ext.Component",alias:"widget.tbfill",alternateClassName:"Ext.Toolbar.Fill",isFill:true,flex:1});Ext.define("Ext.Ajax",{extend:"Ext.data.Connection",singleton:true,autoAbort:false});Ext.define("Ext.tree.Column",{extend:"Ext.grid.column.Column",alias:"widget.treecolumn",initComponent:function(){var d=this.renderer||this.defaultRenderer,c=this.scope||window;this.renderer=function(C,A,J,K,D,H,E){var w=[],y=Ext.String.format,b=J.getDepth(),x=Ext.baseCSSPrefix+"tree-",I=x+"elbow-",B=x+"expander",F='<img src="{1}" class="{0}" />',a='<input type="button" role="checkbox" class="{0}" {1} />',G=d.apply(c,arguments),z=J.get("href"),v=J.get("hrefTarget"),L=J.get("cls");while(J){if(!J.isRoot()||(J.isRoot()&&E.rootVisible)){if(J.getDepth()===b){w.unshift(y(F,x+"icon "+x+"icon"+(J.get("icon")?"-inline ":(J.isLeaf()?"-leaf ":"-parent "))+(J.get("iconCls")||""),J.get("icon")||Ext.BLANK_IMAGE_URL));if(J.get("checked")!==null){w.unshift(y(a,(x+"checkbox")+(J.get("checked")?" "+x+"checkbox-checked":""),J.get("checked")?'aria-checked="true"':""));if(J.get("checked")){A.tdCls+=(" "+Ext.baseCSSPrefix+"tree-checked")}}if(J.isLast()){if(J.isExpandable()){w.unshift(y(F,(I+"end-plus "+B),Ext.BLANK_IMAGE_URL))}else{w.unshift(y(F,(I+"end"),Ext.BLANK_IMAGE_URL))}}else{if(J.isExpandable()){w.unshift(y(F,(I+"plus "+B),Ext.BLANK_IMAGE_URL))}else{w.unshift(y(F,(x+"elbow"),Ext.BLANK_IMAGE_URL))}}}else{if(J.isLast()||J.getDepth()===0){w.unshift(y(F,(I+"empty"),Ext.BLANK_IMAGE_URL))}else{if(J.getDepth()!==0){w.unshift(y(F,(I+"line"),Ext.BLANK_IMAGE_URL))}}}}J=J.parentNode}if(z){G=y('<a href="{0}" target="{1}">{2}</a>',z,v,G)}if(L){A.tdCls+=" "+L}return w.join("")+G};this.callParent(arguments)},defaultRenderer:function(b){return b}});Ext.define("Ext.form.CheckboxManager",{extend:"Ext.util.MixedCollection",singleton:true,getByName:function(b){return this.filterBy(function(a){return a.name==b})},getWithValue:function(d,c){return this.filterBy(function(a){return a.name==d&&a.inputValue==c})},getChecked:function(b){return this.filterBy(function(a){return a.name==b&&a.checked})}});Ext.define("Ext.form.field.Checkbox",{extend:"Ext.form.field.Base",alias:["widget.checkboxfield","widget.checkbox"],alternateClassName:"Ext.form.Checkbox",requires:["Ext.XTemplate","Ext.form.CheckboxManager"],fieldSubTpl:["<tpl if=\"boxLabel && boxLabelAlign == 'before'\">",'<label class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">{boxLabel}</label>',"</tpl>",'<input type="button" id="{id}" ','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" hidefocus="true" />',"<tpl if=\"boxLabel && boxLabelAlign == 'after'\">",'<label class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">{boxLabel}</label>',"</tpl>",{disableFormats:true,compiled:true}],isCheckbox:true,focusCls:Ext.baseCSSPrefix+"form-cb-focus",fieldBodyCls:Ext.baseCSSPrefix+"form-cb-wrap",checked:false,checkedCls:Ext.baseCSSPrefix+"form-cb-checked",boxLabelCls:Ext.baseCSSPrefix+"form-cb-label",boxLabelAlign:"after",inputValue:"on",checkChangeEvents:[],inputType:"checkbox",ariaRole:"checkbox",onRe:/^on$/i,initComponent:function(){this.callParent(arguments);this.getManager().add(this)},initValue:function(){var c=this,d=!!c.checked;c.originalValue=c.lastValue=d;c.setValue(d)},onRender:function(d,e){var f=this;Ext.applyIf(f.renderSelectors,{boxLabelEl:"label."+f.boxLabelCls});Ext.applyIf(f.subTplData,{boxLabel:f.boxLabel,boxLabelCls:f.boxLabelCls,boxLabelAlign:f.boxLabelAlign});f.callParent(arguments)},initEvents:function(){var b=this;b.callParent();b.mon(b.inputEl,"click",b.onBoxClick,b)},onBoxClick:function(c){var d=this;if(!d.disabled&&!d.readOnly){this.setValue(!this.checked)}},getRawValue:function(){return this.checked},getValue:function(){return this.checked},getSubmitValue:function(){var d=this.uncheckedValue,c=Ext.isDefined(d)?d:null;return this.checked?this.inputValue:c},setRawValue:function(i){var j=this,h=j.inputEl,g=j.inputValue,f=(i===true||i==="true"||i==="1"||((Ext.isString(i)&&g)?i==g:j.onRe.test(i)));if(h){h.dom.setAttribute("aria-checked",f);j[f?"addCls":"removeCls"](j.checkedCls)}j.checked=j.rawValue=f;return f},setValue:function(c){var d=this;if(Ext.isArray(c)){d.getManager().getByName(d.name).each(function(a){a.setValue(Ext.Array.contains(c,a.inputValue))})}else{d.callParent(arguments)}return d},valueToRaw:function(b){return b},onChange:function(e,f){var g=this,h=g.handler;if(h){h.call(g.scope||g,g,e)}g.callParent(arguments)},getManager:function(){return Ext.form.CheckboxManager},onEnable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=d.readOnly}},setReadOnly:function(f){var e=this,d=e.inputEl;if(d){d.dom.disabled=f||e.disabled}e.readOnly=f},getBodyNaturalWidth:function(){var g=this,e=g.bodyEl,f="white-space",h;e.setStyle(f,"nowrap");h=e.getWidth();e.setStyle(f,"");return h}});Ext.define("Ext.util.Region",{requires:["Ext.util.Offset"],statics:{getRegion:function(b){return Ext.fly(b).getPageBox(true)},from:function(b){return new this(b.top,b.right,b.bottom,b.left)}},constructor:function(i,g,b,j){var h=this;h.y=h.top=h[1]=i;h.right=g;h.bottom=b;h.x=h.left=h[0]=j},contains:function(c){var d=this;return(c.x>=d.x&&c.right<=d.right&&c.y>=d.y&&c.bottom<=d.bottom)},intersect:function(h){var i=this,k=Math.max(i.y,h.y),j=Math.min(i.right,h.right),b=Math.min(i.bottom,h.bottom),l=Math.max(i.x,h.x);if(b>k&&j>l){return new this.self(k,j,b,l)}else{return false}},union:function(h){var i=this,k=Math.min(i.y,h.y),j=Math.max(i.right,h.right),b=Math.max(i.bottom,h.bottom),l=Math.min(i.x,h.x);return new this.self(k,j,b,l)},constrainTo:function(d){var e=this,f=Ext.Number.constrain;e.top=e.y=f(e.top,d.y,d.bottom);e.bottom=f(e.bottom,d.y,d.bottom);e.left=e.x=f(e.left,d.x,d.right);e.right=f(e.right,d.x,d.right);return e},adjust:function(i,g,b,j){var h=this;h.top=h.y+=i;h.left=h.x+=j;h.right+=g;h.bottom+=b;return h},getOutOfBoundOffset:function(e,d){if(!Ext.isObject(e)){if(e=="x"){return this.getOutOfBoundOffsetX(d)}else{return this.getOutOfBoundOffsetY(d)}}else{d=e;var f=Ext.create("Ext.util.Offset");f.x=this.getOutOfBoundOffsetX(d.x);f.y=this.getOutOfBoundOffsetY(d.y);return f}},getOutOfBoundOffsetX:function(b){if(b<=this.x){return this.x-b}else{if(b>=this.right){return this.right-b}}return 0},getOutOfBoundOffsetY:function(b){if(b<=this.y){return this.y-b}else{if(b>=this.bottom){return this.bottom-b}}return 0},isOutOfBound:function(d,c){if(!Ext.isObject(d)){if(d=="x"){return this.isOutOfBoundX(c)}else{return this.isOutOfBoundY(c)}}else{c=d;return(this.isOutOfBoundX(c.x)||this.isOutOfBoundY(c.y))}},isOutOfBoundX:function(b){return(b<this.x||b>this.right)},isOutOfBoundY:function(b){return(b<this.y||b>this.bottom)},restrict:function(e,g,f){if(Ext.isObject(e)){var h;f=g;g=e;if(g.copy){h=g.copy()}else{h={x:g.x,y:g.y}}h.x=this.restrictX(g.x,f);h.y=this.restrictY(g.y,f);return h}else{if(e=="x"){return this.restrictX(g,f)}else{return this.restrictY(g,f)}}},restrictX:function(c,d){if(!d){d=1}if(c<=this.x){c-=(c-this.x)*d}else{if(c>=this.right){c-=(c-this.right)*d}}return c},restrictY:function(c,d){if(!d){d=1}if(c<=this.y){c-=(c-this.y)*d}else{if(c>=this.bottom){c-=(c-this.bottom)*d}}return c},getSize:function(){return{width:this.right-this.x,height:this.bottom-this.y}},copy:function(){return new this.self(this.y,this.right,this.bottom,this.x)},copyFrom:function(c){var d=this;d.top=d.y=d[1]=c.y;d.right=c.right;d.bottom=c.bottom;d.left=d.x=d[0]=c.x;return this},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(e,f){if(arguments.length==1){f=e.y;e=e.x}var d=this;d.top=d.y+=f;d.right+=e;d.bottom+=f;d.left=d.x+=e;return d},round:function(){var b=this;b.top=b.y=Math.round(b.y);b.right=Math.round(b.right);b.bottom=Math.round(b.bottom);b.left=b.x=Math.round(b.x);return b},equals:function(b){return(this.top==b.top&&this.right==b.right&&this.bottom==b.bottom&&this.left==b.left)}});Ext.define("Ext.dd.DragDropManager",{singleton:true,requires:["Ext.util.Region"],uses:["Ext.tip.QuickTipManager"],alternateClassName:["Ext.dd.DragDropMgr","Ext.dd.DDM"],ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,init:function(){this.initialized=true},POINT:0,INTERSECT:1,mode:0,_execOnAll:function(j,f){for(var i in this.ids){for(var g in this.ids[i]){var h=this.ids[i][g];if(!this.isTypeOfDD(h)){continue}h[j].apply(h,f)}}},_onLoad:function(){this.init();var b=Ext.EventManager;b.on(document,"mouseup",this.handleMouseUp,this,true);b.on(document,"mousemove",this.handleMouseMove,this,true);b.on(window,"unload",this._onUnload,this,true);b.on(window,"resize",this._onResize,this,true)},_onResize:function(b){this._execOnAll("resetConstraints",[])},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(c,d){if(!this.initialized){this.init()}if(!this.ids[d]){this.ids[d]={}}this.ids[d][c.id]=c},removeDDFromGroup:function(f,e){if(!this.ids[e]){this.ids[e]={}}var d=this.ids[e];if(d&&d[f.id]){delete d[f.id]}},_remove:function(c){for(var d in c.groups){if(d&&this.ids[d]&&this.ids[d][c.id]){delete this.ids[d][c.id]}}delete this.handleIds[c.id]},regHandle:function(c,d){if(!this.handleIds[c]){this.handleIds[c]={}}this.handleIds[c][d]=d},isDragDrop:function(b){return(this.getDDById(b))?true:false},getRelated:function(i,g){var j=[];for(var k in i.groups){for(var l in this.ids[k]){var h=this.ids[k][l];if(!this.isTypeOfDD(h)){continue}if(!g||h.isTarget){j[j.length]=h}}}return j},isLegalTarget:function(h,i){var f=this.getRelated(h,true);for(var j=0,g=f.length;j<g;++j){if(f[j].id==i.id){return true}}return false},isTypeOfDD:function(b){return(b&&b.__ygDragDrop)},isHandle:function(c,d){return(this.handleIds[c]&&this.handleIds[c][d])},getDDById:function(c){for(var d in this.ids){if(this.ids[d][c]){return this.ids[d][c]}}return null},handleMouseDown:function(f,d){if(Ext.tip.QuickTipManager){Ext.tip.QuickTipManager.ddDisable()}if(this.dragCurrent){this.handleMouseUp(f)}this.currentTarget=f.getTarget();this.dragCurrent=d;var e=d.getEl();this.startX=f.getPageX();this.startY=f.getPageY();this.deltaX=this.startX-e.offsetLeft;this.deltaY=this.startY-e.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var a=Ext.dd.DragDropManager;a.startDrag(a.startX,a.startY)},this.clickTimeThresh)},startDrag:function(d,c){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(d,c);this.dragCurrent.startDrag(d,c)}this.dragThreshMet=true},handleMouseUp:function(b){if(Ext.tip.QuickTipManager){Ext.tip.QuickTipManager.ddEnable()}if(!this.dragCurrent){return}clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(b,true)}else{}this.stopDrag(b);this.stopEvent(b)},stopEvent:function(b){if(this.stopPropagation){b.stopPropagation()}if(this.preventDefault){b.preventDefault()}},stopDrag:function(b){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(b);this.dragCurrent.endDrag(b)}this.dragCurrent.onMouseUp(b)}this.dragCurrent=null;this.dragOvers={}},handleMouseMove:function(f){if(!this.dragCurrent){return true}if(Ext.isIE&&(f.button!==0&&f.button!==1&&f.button!==2)){this.stopEvent(f);return this.handleMouseUp(f)}if(!this.dragThreshMet){var d=Math.abs(this.startX-f.getPageX());var e=Math.abs(this.startY-f.getPageY());if(d>this.clickPixelThresh||e>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(f);this.dragCurrent.onDrag(f);if(!this.dragCurrent.moveOnly){this.fireEvents(f,false)}}this.stopEvent(f);return true},fireEvents:function(t,s){var i=this.dragCurrent;if(!i||i.isLocked()){return}var e=t.getPoint();var C=[];var z=[];var v=[];var x=[];var A=[];for(var y in this.dragOvers){var B=this.dragOvers[y];if(!this.isTypeOfDD(B)){continue}if(!this.isOverTarget(e,B,this.mode)){z.push(B)}C[y]=true;delete this.dragOvers[y]}for(var r in i.groups){if("string"!=typeof r){continue}for(y in this.ids[r]){var w=this.ids[r][y];if(!this.isTypeOfDD(w)){continue}if(w.isTarget&&!w.isLocked()&&((w!=i)||(i.ignoreSelf===false))){if(this.isOverTarget(e,w,this.mode)){if(s){x.push(w)}else{if(!C[w.id]){A.push(w)}else{v.push(w)}this.dragOvers[w.id]=w}}}}}if(this.mode){if(z.length){i.b4DragOut(t,z);i.onDragOut(t,z)}if(A.length){i.onDragEnter(t,A)}if(v.length){i.b4DragOver(t,v);i.onDragOver(t,v)}if(x.length){i.b4DragDrop(t,x);i.onDragDrop(t,x)}}else{var u=0;for(y=0,u=z.length;y<u;++y){i.b4DragOut(t,z[y].id);i.onDragOut(t,z[y].id)}for(y=0,u=A.length;y<u;++y){i.onDragEnter(t,A[y].id)}for(y=0,u=v.length;y<u;++y){i.b4DragOver(t,v[y].id);i.onDragOver(t,v[y].id)}for(y=0,u=x.length;y<u;++y){i.b4DragDrop(t,x[y].id);i.onDragDrop(t,x[y].id)}}if(s&&!x.length){i.onInvalidDrop(t)}},getBestMatch:function(j){var h=null;var f=j.length;if(f==1){h=j[0]}else{for(var i=0;i<f;++i){var g=j[i];if(g.cursorIsOver){h=g;break}else{if(!h||h.overlap.getArea()<g.overlap.getArea()){h=g}}}}return h},refreshCache:function(f){for(var g in f){if("string"!=typeof g){continue}for(var j in this.ids[g]){var i=this.ids[g][j];if(this.isTypeOfDD(i)){var h=this.getLocation(i);if(h){this.locationCache[i.id]=h}else{delete this.locationCache[i.id]}}}}},verifyEl:function(d){if(d){var e;if(Ext.isIE){try{e=d.offsetParent}catch(f){}}else{e=d.offsetParent}if(e){return true}}return false},getLocation:function(t){if(!this.isTypeOfDD(t)){return null}if(t.getRegion){return t.getRegion()}var v=t.getEl(),p,w,x,e,l,b,y,r,u;try{p=Ext.core.Element.getXY(v)}catch(s){}if(!p){return null}w=p[0];x=w+v.offsetWidth;e=p[1];l=e+v.offsetHeight;b=e-t.padding[0];y=x+t.padding[1];r=l+t.padding[2];u=w-t.padding[3];return Ext.create("Ext.util.Region",b,y,r,u)},isOverTarget:function(j,s,p){var n=this.locationCache[s.id];if(!n||!this.useCache){n=this.getLocation(s);this.locationCache[s.id]=n}if(!n){return false}s.cursorIsOver=n.contains(j);var k=this.dragCurrent;if(!k||!k.getTargetCoord||(!p&&!k.constrainX&&!k.constrainY)){return s.cursorIsOver}s.overlap=null;var m=k.getTargetCoord(j.x,j.y);var r=k.getDragEl();var o=Ext.create("Ext.util.Region",m.y,m.x+r.offsetWidth,m.y+r.offsetHeight,m.x);var l=o.intersect(n);if(l){s.overlap=l;return(p)?true:s.cursorIsOver}else{return false}},_onUnload:function(c,d){Ext.dd.DragDropManager.unregAll()},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null}this._execOnAll("unreg",[]);for(var b in this.elementCache){delete this.elementCache[b]}this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(c){var d=this.elementCache[c];if(!d||!d.el){d=this.elementCache[c]=new this.ElementWrapper(Ext.getDom(c))}return d},getElement:function(b){return Ext.getDom(b)},getCss:function(c){var d=Ext.getDom(c);return(d)?d.style:null},ElementWrapper:function(b){this.el=b||null;this.id=this.el&&b.id;this.css=this.el&&b.style},getPosX:function(b){return Ext.core.Element.getX(b)},getPosY:function(b){return Ext.core.Element.getY(b)},swapNode:function(h,f){if(h.swapNode){h.swapNode(f)}else{var g=f.parentNode;var e=f.nextSibling;if(e==h){g.insertBefore(h,f)}else{if(f==h.nextSibling){g.insertBefore(f,h)}else{h.parentNode.replaceChild(f,h);g.insertBefore(h,e)}}}},getScroll:function(){var i=window.document,h=i.documentElement,g=i.body,j=0,f=0;if(Ext.isGecko4){j=window.scrollYOffset;f=window.scrollXOffset}else{if(h&&(h.scrollTop||h.scrollLeft)){j=h.scrollTop;f=h.scrollLeft}else{if(g){j=g.scrollTop;f=g.scrollLeft}}}return{top:j,left:f}},getStyle:function(c,d){return Ext.fly(c).getStyle(d)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(e,f){var d=Ext.core.Element.getXY(f);Ext.core.Element.setXY(e,d)},numericSort:function(a,b){return(a-b)},_timeoutCount:0,_addListeners:function(){if(document){this._onLoad()}else{if(this._timeoutCount>2000){}else{setTimeout(this._addListeners,10);if(document&&document.body){this._timeoutCount+=1}}}},handleWasClicked:function(e,f){if(this.isHandle(f,e.id)){return true}else{var d=e.parentNode;while(d){if(this.isHandle(f,d.id)){return true}else{d=d.parentNode}}}return false}},function(){this._addListeners()});Ext.define("Ext.toolbar.Item",{extend:"Ext.Component",alias:"widget.tbitem",alternateClassName:"Ext.Toolbar.Item",enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.define("Ext.toolbar.TextItem",{extend:"Ext.toolbar.Item",requires:["Ext.XTemplate"],alias:"widget.tbtext",alternateClassName:"Ext.Toolbar.TextItem",text:"",renderTpl:"{text}",baseCls:Ext.baseCSSPrefix+"toolbar-text",onRender:function(){Ext.apply(this.renderData,{text:this.text});this.callParent(arguments)},setText:function(b){if(this.rendered){this.el.update(b);this.ownerCt.doLayout()}else{this.text=b}}});Ext.define("Ext.selection.Model",{extend:"Ext.util.Observable",alternateClassName:"Ext.AbstractSelectionModel",requires:["Ext.data.StoreManager"],allowDeselect:false,selected:null,pruneRemoved:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.addEvents("selectionchange");c.modes={SINGLE:true,SIMPLE:true,MULTI:true};c.setSelectionMode(d.mode||c.mode);c.selected=Ext.create("Ext.util.MixedCollection");c.callParent(arguments)},bind:function(e,d){var f=this;if(!d&&f.store){if(e!==f.store&&f.store.autoDestroy){f.store.destroy()}else{f.store.un("add",f.onStoreAdd,f);f.store.un("clear",f.onStoreClear,f);f.store.un("remove",f.onStoreRemove,f);f.store.un("update",f.onStoreUpdate,f)}}if(e){e=Ext.data.StoreManager.lookup(e);e.on({add:f.onStoreAdd,clear:f.onStoreClear,remove:f.onStoreRemove,update:f.onStoreUpdate,scope:f})}f.store=e;if(e&&!d){f.refresh()}},selectAll:function(g){var j=this,k=j.store.getRange(),l=0,h=k.length,i=j.getSelection().length;j.bulkChange=true;for(;l<h;l++){j.doSelect(k[l],true,g)}delete j.bulkChange;j.maybeFireSelectionChange(j.getSelection().length!==i)},deselectAll:function(g){var j=this,k=j.getSelection(),l=0,h=k.length,i=j.getSelection().length;j.bulkChange=true;for(;l<h;l++){j.doDeselect(k[l],g)}delete j.bulkChange;j.maybeFireSelectionChange(j.getSelection().length!==i)},selectWithEvent:function(f,g,h){var e=this;switch(e.selectionMode){case"MULTI":if(g.ctrlKey&&e.isSelected(f)){e.doDeselect(f,false)}else{if(g.shiftKey&&e.lastFocused){e.selectRange(e.lastFocused,f,g.ctrlKey)}else{if(g.ctrlKey){e.doSelect(f,true,false)}else{if(e.isSelected(f)&&!g.shiftKey&&!g.ctrlKey&&e.selected.getCount()>1){e.doSelect(f,h,false)}else{e.doSelect(f,false)}}}}break;case"SIMPLE":if(e.isSelected(f)){e.doDeselect(f)}else{e.doSelect(f,true)}break;case"SINGLE":if(e.allowDeselect&&e.isSelected(f)){e.doDeselect(f)}else{e.doSelect(f,false)}break}},selectRange:function(m,s,i,u){var o=this,n=o.store,t=0,p,r,w,v=[];if(o.isLocked()){return}if(!i){o.deselectAll(true)}if(!Ext.isNumber(m)){m=n.indexOf(m)}if(!Ext.isNumber(s)){s=n.indexOf(s)}if(m>s){r=s;s=m;m=r}for(p=m;p<=s;p++){if(o.isSelected(n.getAt(p))){t++}}if(!u){w=-1}else{w=(u=="up")?m:s}for(p=m;p<=s;p++){if(t==(s-m+1)){if(p!=w){o.doDeselect(p,true)}}else{v.push(n.getAt(p))}}o.doMultiSelect(v,true)},select:function(d,f,e){this.doSelect(d,f,e)},deselect:function(c,d){this.doDeselect(c,d)},doSelect:function(j,h,f){var i=this,g;if(i.locked){return}if(typeof j==="number"){j=[i.store.getAt(j)]}if(i.selectionMode=="SINGLE"&&j){g=j.length?j[0]:j;i.doSingleSelect(g,f)}else{i.doMultiSelect(j,h,f)}},doMultiSelect:function(u,i,l){var n=this,t=n.selected,m=false,r=0,o,p;if(n.locked){return}u=!Ext.isArray(u)?[u]:u;o=u.length;if(!i&&t.getCount()>0){if(n.doDeselect(n.getSelection(),l)===false){return}}function s(){t.add(p);m=true}for(;r<o;r++){p=u[r];if(i&&n.isSelected(p)){continue}n.lastSelected=p;n.onSelectChange(p,true,l,s)}n.setLastFocused(p,l);n.maybeFireSelectionChange(m&&!l)},doDeselect:function(u,l){var m=this,t=m.selected,r=0,n,p,i=0,o=0;if(m.locked){return false}if(typeof u==="number"){u=[m.store.getAt(u)]}else{if(!Ext.isArray(u)){u=[u]}}function s(){++o;t.remove(p)}n=u.length;for(;r<n;r++){p=u[r];if(m.isSelected(p)){if(m.lastSelected==p){m.lastSelected=t.last()}++i;m.onSelectChange(p,false,l,s)}}m.maybeFireSelectionChange(o>0&&!l);return o===i},doSingleSelect:function(h,g){var k=this,i=false,l=k.selected;if(k.locked){return}if(k.isSelected(h)){return}function j(){k.bulkChange=true;if(l.getCount()>0&&k.doDeselect(k.lastSelected,g)===false){delete k.bulkChange;return false}delete k.bulkChange;l.add(h);k.lastSelected=h;i=true}k.onSelectChange(h,true,g,j);if(i){if(!g){k.setLastFocused(h)}k.maybeFireSelectionChange(!g)}},setLastFocused:function(h,e){var g=this,f=g.lastFocused;g.lastFocused=h;g.onLastFocusChanged(f,h,e)},isFocused:function(b){return b===this.getLastFocused()},maybeFireSelectionChange:function(d){var c=this;if(d&&!c.bulkChange){c.fireEvent("selectionchange",c,c.getSelection())}},getLastSelected:function(){return this.lastSelected},getLastFocused:function(){return this.lastFocused},getSelection:function(){return this.selected.getRange()},getSelectionMode:function(){return this.selectionMode},setSelectionMode:function(b){b=b?b.toUpperCase():"SINGLE";this.selectionMode=this.modes[b]?b:"SINGLE"},isLocked:function(){return this.locked},setLocked:function(b){this.locked=!!b},isSelected:function(b){b=Ext.isNumber(b)?this.store.getAt(b):b;return this.selected.indexOf(b)!==-1},hasSelection:function(){return this.selected.getCount()>0},refresh:function(){var l=this,i=[],m=l.getSelection(),j=m.length,n,k,o=0,p=this.getLastFocused();for(;o<j;o++){n=m[o];if(!this.pruneRemoved||l.store.indexOf(n)!==-1){i.push(n)}}if(l.selected.getCount()!=i.length){k=true}l.clearSelections();if(l.store.indexOf(p)!==-1){this.setLastFocused(p,true)}if(i.length){l.doSelect(i,false,true)}l.maybeFireSelectionChange(k)},clearSelections:function(){this.selected.clear();this.lastSelected=null;this.setLastFocused(null)},onStoreAdd:function(){},onStoreClear:function(){if(this.selected.getCount>0){this.clearSelections();this.maybeFireSelectionChange(true)}},onStoreRemove:function(e,f){var g=this,h=g.selected;if(g.locked||!g.pruneRemoved){return}if(h.remove(f)){if(g.lastSelected==f){g.lastSelected=null}if(g.getLastFocused()==f){g.setLastFocused(null)}g.maybeFireSelectionChange(true)}},getCount:function(){return this.selected.getCount()},destroy:function(){},onStoreUpdate:function(){},onSelectChange:function(e,f,d){},onLastFocusChanged:function(c,d){},onEditorKey:function(c,d){},bindComponent:function(b){}});Ext.define("Ext.selection.DataViewModel",{extend:"Ext.selection.Model",requires:["Ext.util.KeyNav"],deselectOnContainerClick:true,enableKeyNav:true,constructor:function(b){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(e){var d=this,f={refresh:d.refresh,scope:d};d.view=e;d.bind(e.getStore());e.on(e.triggerEvent,d.onItemClick,d);e.on(e.triggerCtEvent,d.onContainerClick,d);e.on(f);if(d.enableKeyNav){d.initKeyNav(e)}},onItemClick:function(e,g,i,j,h){this.selectWithEvent(g,h)},onContainerClick:function(){if(this.deselectOnContainerClick){this.deselectAll()}},initKeyNav:function(d){var c=this;if(!d.rendered){d.on("render",Ext.Function.bind(c.initKeyNav,c,[d],0),c,{single:true});return}d.el.set({tabIndex:-1});c.keyNav=Ext.create("Ext.util.KeyNav",d.el,{down:Ext.pass(c.onNavKey,[1],c),right:Ext.pass(c.onNavKey,[1],c),left:Ext.pass(c.onNavKey,[-1],c),up:Ext.pass(c.onNavKey,[-1],c),scope:c})},onNavKey:function(i){i=i||1;var j=this,g=j.view,k=j.getSelection()[0],l=j.view.store.getCount(),h;if(k){h=g.indexOf(g.getNode(k))+i}else{h=0}if(h<0){h=l-1}else{if(h>=l){h=0}}j.select(h)},onSelectChange:function(h,l,m,j){var k=this,i=k.view,n=l?"select":"deselect";if((m||k.fireEvent("before"+n,k,h))!==false&&j()!==false){if(l){i.onItemSelect(h)}else{i.onItemDeselect(h)}if(!m){k.fireEvent(n,k,h)}}}});Ext.define("Ext.view.AbstractView",{extend:"Ext.Component",alternateClassName:"Ext.view.AbstractView",requires:["Ext.LoadMask","Ext.data.StoreManager","Ext.CompositeElementLite","Ext.DomQuery","Ext.selection.DataViewModel"],inheritableStatics:{getRecord:function(b){return this.getBoundView(b).getRecord(b)},getBoundView:function(b){return Ext.getCmp(b.boundView)}},itemCls:Ext.baseCSSPrefix+"dataview-item",loadingText:"Loading...",loadMask:true,loadingUseMsg:true,selectedItemCls:Ext.baseCSSPrefix+"item-selected",emptyText:"",deferEmptyText:true,trackOver:false,blockRefresh:false,last:false,triggerEvent:"itemclick",triggerCtEvent:"containerclick",addCmpEvents:function(){},initComponent:function(){var h=this,f=Ext.isDefined,g=h.itemTpl,e={};if(g){if(Ext.isArray(g)){g=g.join("")}else{if(Ext.isObject(g)){e=Ext.apply(e,g.initialConfig);g=g.html}}if(!h.itemSelector){h.itemSelector="."+h.itemCls}g=Ext.String.format('<tpl for="."><div class="{0}">{1}</div></tpl>',h.itemCls,g);h.tpl=Ext.create("Ext.XTemplate",g,e)}if(!f(h.tpl)||!f(h.itemSelector)){Ext.Error.raise({sourceClass:"Ext.view.View",tpl:h.tpl,itemSelector:h.itemSelector,msg:"DataView requires both tpl and itemSelector configurations to be defined."})}h.callParent();if(Ext.isString(h.tpl)||Ext.isArray(h.tpl)){h.tpl=Ext.create("Ext.XTemplate",h.tpl)}if(f(h.overCls)||f(h.overClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.view.View: Using the deprecated overCls or overClass configuration. Use overItemCls instead.")}h.overItemCls=h.overCls||h.overClass;delete h.overCls;delete h.overClass}if(h.overItemCls){h.trackOver=true}if(f(h.selectedCls)||f(h.selectedClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.view.View: Using the deprecated selectedCls or selectedClass configuration. Use selectedItemCls instead.")}h.selectedItemCls=h.selectedCls||h.selectedClass;delete h.selectedCls;delete h.selectedClass}h.addEvents("beforerefresh","refresh","itemupdate","itemadd","itemremove");h.addCmpEvents();if(h.store){h.store=Ext.data.StoreManager.lookup(h.store)}h.all=new Ext.CompositeElementLite()},onRender:function(){var f=this,d=f.loadMask,e={msg:f.loadingText,msgCls:f.loadingCls,useMsg:f.loadingUseMsg};f.callParent(arguments);if(d){if(Ext.isObject(d)){e=Ext.apply(e,d)}f.loadMask=Ext.create("Ext.LoadMask",f.floating?f:f.ownerCt||f,e);f.loadMask.on({scope:f,beforeshow:f.onMaskBeforeShow,hide:f.onMaskHide})}},onMaskBeforeShow:function(){var b=this;b.getSelectionModel().deselectAll();b.all.clear();if(b.loadingHeight){b.setCalculatedSize(undefined,b.loadingHeight)}},onMaskHide:function(){if(!this.destroying&&this.loadingHeight){this.setHeight(this.height)}},afterRender:function(){this.callParent(arguments);this.getSelectionModel().bindComponent(this)},getSelectionModel:function(){var d=this,c="SINGLE";if(!d.selModel){d.selModel={}}if(d.simpleSelect){c="SIMPLE"}else{if(d.multiSelect){c="MULTI"}}Ext.applyIf(d.selModel,{allowDeselect:d.allowDeselect,mode:c});if(!d.selModel.events){d.selModel=Ext.create("Ext.selection.DataViewModel",d.selModel)}if(!d.selModel.hasRelaySetup){d.relayEvents(d.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);d.selModel.hasRelaySetup=true}if(d.disableSelection){d.selModel.locked=true}return d.selModel},refresh:function(){var f=this,d,e;if(!f.rendered){return}f.fireEvent("beforerefresh",f);d=f.getTargetEl();e=f.store.getRange();d.update("");if(e.length<1){if(!f.deferEmptyText||f.hasSkippedEmptyText){d.update(f.emptyText)}f.all.clear()}else{f.tpl.overwrite(d,f.collectData(e,0));f.all.fill(Ext.query(f.getItemSelector(),d.dom));f.updateIndexes(0)}f.selModel.refresh();f.hasSkippedEmptyText=true;f.fireEvent("refresh",f)},prepareData:function(f,d,e){if(e){Ext.apply(f,e.getAssociatedData())}return f},collectData:function(l,i){var j=[],k=0,h=l.length,g;for(;k<h;k++){g=l[k];j[j.length]=this.prepareData(g[g.persistenceProperty],i+k,g)}return j},bufferRender:function(e,d){var f=document.createElement("div");this.tpl.overwrite(f,this.collectData(e,d));return Ext.query(this.getItemSelector(),f)},onUpdate:function(h,g){var i=this,f=i.store.indexOf(g),j;if(f>-1){j=i.bufferRender([g],f)[0];i.all.replaceElement(f,j,true);i.updateIndexes(f,f);i.selModel.refresh();i.fireEvent("itemupdate",g,f,j)}},onAdd:function(h,f,j){var i=this,g;if(i.all.getCount()===0){i.refresh();return}g=i.bufferRender(f,j);i.doAdd(g,f,j);i.selModel.refresh();i.updateIndexes(j);i.fireEvent("itemadd",f,j,g)},doAdd:function(e,f,h){var g=this.all;if(h<g.getCount()){g.item(h).insertSibling(e,"before",true)}else{g.last().insertSibling(e,"after",true)}Ext.Array.insert(g.elements,h,e)},onRemove:function(g,f,e){var h=this;h.doRemove(f,e);h.updateIndexes(e);if(h.store.getCount()===0){h.refresh()}h.fireEvent("itemremove",f,e)},doRemove:function(d,c){this.all.removeElement(c,true)},refreshNode:function(b){this.onUpdate(this.store,this.store.getAt(b))},updateIndexes:function(h,i){var j=this.all.elements,g=this.store.getRange();h=h||0;i=i||((i===0)?0:(j.length-1));for(var f=h;f<=i;f++){j[f].viewIndex=f;j[f].viewRecordId=g[f].internalId;if(!j[f].boundView){j[f].boundView=this.id}}},getStore:function(){return this.store},bindStore:function(e,d){var f=this;if(!d&&f.store){if(e!==f.store&&f.store.autoDestroy){f.store.destroy()}else{f.mun(f.store,{scope:f,datachanged:f.onDataChanged,add:f.onAdd,remove:f.onRemove,update:f.onUpdate,clear:f.refresh})}if(!e){if(f.loadMask){f.loadMask.bindStore(null)}f.store=null}}if(e){e=Ext.data.StoreManager.lookup(e);f.mon(e,{scope:f,datachanged:f.onDataChanged,add:f.onAdd,remove:f.onRemove,update:f.onUpdate,clear:f.refresh});if(f.loadMask){f.loadMask.bindStore(e)}}f.store=e;f.getSelectionModel().bind(e);if(e&&(!d||e.getCount())){f.refresh(true)}},onDataChanged:function(){if(this.blockRefresh!==true){this.refresh.apply(this,arguments)}},findItemByChild:function(b){return Ext.fly(b).findParent(this.getItemSelector(),this.getTargetEl())},findTargetByEvent:function(b){return b.getTarget(this.getItemSelector(),this.getTargetEl())},getSelectedNodes:function(){var e=[],f=this.selModel.getSelection(),g=f.length,h=0;for(;h<g;h++){e.push(this.getNode(f[h]))}return e},getRecords:function(j){var f=[],i=0,g=j.length,h=this.store.data;for(;i<g;i++){f[f.length]=h.getByKey(j[i].viewRecordId)}return f},getRecord:function(b){return this.store.data.getByKey(Ext.getDom(b).viewRecordId)},isSelected:function(c){var d=this.getRecord(c);return this.selModel.isSelected(d)},select:function(d,f,e){this.selModel.select(d,f,e)},deselect:function(c,d){this.selModel.deselect(c,d)},getNode:function(b){if(Ext.isString(b)){return document.getElementById(b)}else{if(Ext.isNumber(b)){return this.all.elements[b]}else{if(b instanceof Ext.data.Model){return this.getNodeByRecord(b)}}}return b},getNodeByRecord:function(f){var h=this.all.elements,g=h.length,e=0;for(;e<g;e++){if(h[e].viewRecordId===f.internalId){return h[e]}}return null},getNodes:function(h,g){var i=this.all.elements,f=[],j;h=h||0;g=!Ext.isDefined(g)?Math.max(i.length-1,0):g;if(h<=g){for(j=h;j<=g&&i[j];j++){f.push(i[j])}}else{for(j=h;j>=g&&i[j];j--){f.push(i[j])}}return f},indexOf:function(b){b=this.getNode(b);if(Ext.isNumber(b.viewIndex)){return b.viewIndex}return this.all.indexOf(b)},onDestroy:function(){var b=this;b.all.clear();b.callParent();b.bindStore(null);b.selModel.destroy()},onItemSelect:function(d){var c=this.getNode(d);Ext.fly(c).addCls(this.selectedItemCls)},onItemDeselect:function(d){var c=this.getNode(d);Ext.fly(c).removeCls(this.selectedItemCls)},getItemSelector:function(){return this.itemSelector}},function(){Ext.deprecate("extjs","4.0",function(){Ext.view.AbstractView.override({getSelectionCount:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectionCount will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection().length},getSelectedRecords:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectedRecords will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection()},select:function(f,e,g){if(Ext.global.console){Ext.global.console.warn("DataView: select will be removed, please access select through a DataView's SelectionModel, ie: view.getSelectionModel().select()")}var h=this.getSelectionModel();return h.select.apply(h,arguments)},clearSelections:function(){if(Ext.global.console){Ext.global.console.warn("DataView: clearSelections will be removed, please access deselectAll through DataView's SelectionModel, ie: view.getSelectionModel().deselectAll()")}var b=this.getSelectionModel();return b.deselectAll()}})})});Ext.define("Ext.view.View",{extend:"Ext.view.AbstractView",alternateClassName:"Ext.DataView",alias:"widget.dataview",inheritableStatics:{EventMap:{mousedown:"MouseDown",mouseup:"MouseUp",click:"Click",dblclick:"DblClick",contextmenu:"ContextMenu",mouseover:"MouseOver",mouseout:"MouseOut",mouseenter:"MouseEnter",mouseleave:"MouseLeave",keydown:"KeyDown",focus:"Focus"}},addCmpEvents:function(){this.addEvents("beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","beforeitemkeydown","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","itemkeydown","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","beforecontainerkeydown","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","containerkeydown","selectionchange","beforeselect")},afterRender:function(){var c=this,d;c.callParent();d={scope:c,freezeEvent:true,click:c.handleEvent,mousedown:c.handleEvent,mouseup:c.handleEvent,dblclick:c.handleEvent,contextmenu:c.handleEvent,mouseover:c.handleEvent,mouseout:c.handleEvent,keydown:c.handleEvent};c.mon(c.getTargetEl(),d);if(c.store){c.bindStore(c.store,true)}},handleEvent:function(b){if(this.processUIEvent(b)!==false){this.processSpecialEvent(b)}},processItemEvent:Ext.emptyFn,processContainerEvent:Ext.emptyFn,processSpecialEvent:Ext.emptyFn,stillOverItem:function(d,e){var f;if(e&&typeof(e.offsetParent)==="object"){f=(d.type=="mouseout")?d.getRelatedTarget():d.getTarget();return Ext.fly(e).contains(f)}return false},processUIEvent:function(m){var l=this,e=m.getTarget(l.getItemSelector(),l.getTargetEl()),s=this.statics().EventMap,n,p,k=m.type,o=l.mouseOverItem,r;if(!e){if(k=="mouseover"&&l.stillOverItem(m,o)){e=o}if(k=="keydown"){p=l.getSelectionModel().getLastSelected();if(p){e=l.getNode(p)}}}if(e){n=l.indexOf(e);if(!p){p=l.getRecord(e)}if(l.processItemEvent(p,e,n,m)===false){return false}r=l.isNewItemEvent(e,m);if(r===false){return false}if((l["onBeforeItem"+s[r]](p,e,n,m)===false)||(l.fireEvent("beforeitem"+r,l,p,e,n,m)===false)||(l["onItem"+s[r]](p,e,n,m)===false)){return false}l.fireEvent("item"+r,l,p,e,n,m)}else{if((l.processContainerEvent(m)===false)||(l["onBeforeContainer"+s[k]](m)===false)||(l.fireEvent("beforecontainer"+k,l,m)===false)||(l["onContainer"+s[k]](m)===false)){return false}l.fireEvent("container"+k,l,m)}return true},isNewItemEvent:function(i,h){var j=this,g=j.mouseOverItem,e=h.type;switch(e){case"mouseover":if(i===g){return false}j.mouseOverItem=i;return"mouseenter";case"mouseout":if(j.stillOverItem(h,g)){return false}j.mouseOverItem=null;return"mouseleave"}return e},onItemMouseEnter:function(f,h,e,g){if(this.trackOver){this.highlightItem(h)}},onItemMouseLeave:function(f,h,e,g){if(this.trackOver){this.clearHighlight()}},onItemMouseDown:Ext.emptyFn,onItemMouseUp:Ext.emptyFn,onItemFocus:Ext.emptyFn,onItemClick:Ext.emptyFn,onItemDblClick:Ext.emptyFn,onItemContextMenu:Ext.emptyFn,onItemKeyDown:Ext.emptyFn,onBeforeItemMouseDown:Ext.emptyFn,onBeforeItemMouseUp:Ext.emptyFn,onBeforeItemFocus:Ext.emptyFn,onBeforeItemMouseEnter:Ext.emptyFn,onBeforeItemMouseLeave:Ext.emptyFn,onBeforeItemClick:Ext.emptyFn,onBeforeItemDblClick:Ext.emptyFn,onBeforeItemContextMenu:Ext.emptyFn,onBeforeItemKeyDown:Ext.emptyFn,onContainerMouseDown:Ext.emptyFn,onContainerMouseUp:Ext.emptyFn,onContainerMouseOver:Ext.emptyFn,onContainerMouseOut:Ext.emptyFn,onContainerClick:Ext.emptyFn,onContainerDblClick:Ext.emptyFn,onContainerContextMenu:Ext.emptyFn,onContainerKeyDown:Ext.emptyFn,onBeforeContainerMouseDown:Ext.emptyFn,onBeforeContainerMouseUp:Ext.emptyFn,onBeforeContainerMouseOver:Ext.emptyFn,onBeforeContainerMouseOut:Ext.emptyFn,onBeforeContainerClick:Ext.emptyFn,onBeforeContainerDblClick:Ext.emptyFn,onBeforeContainerContextMenu:Ext.emptyFn,onBeforeContainerKeyDown:Ext.emptyFn,highlightItem:function(c){var d=this;d.clearHighlight();d.highlightedItem=c;Ext.fly(c).addCls(d.overItemCls)},clearHighlight:function(){var c=this,d=c.highlightedItem;if(d){Ext.fly(d).removeCls(c.overItemCls);delete c.highlightedItem}},refresh:function(){var b=this;b.clearHighlight();b.callParent(arguments);if(!b.isFixedHeight()){b.doComponentLayout()}}});Ext.define("Docs.view.ThumbList",{extend:"Ext.view.View",alias:"widget.thumblist",cls:"demos",itemSelector:"dl",urlField:"url",itemTpl:[],initComponent:function(){this.addEvents("urlclick");Ext.Array.forEach(this.data,function(c,d){c.id="sample-"+d});this.store=Ext.create("Ext.data.JsonStore",{fields:["id","title","items"],data:this.data});this.tpl=new Ext.XTemplate(Ext.Array.flatten(['<div id="sample-ct">','<tpl for=".">','<div><a name="{id}"></a><h2><div>{title}</div></h2>',"<dl>",'<tpl for="items">',this.itemTpl,"</tpl>",'<div style="clear:left"></div></dl></div>',"</tpl>","</div>"]));this.itemTpl=undefined;this.on({afterrender:function(b){b.el.addListener("mouseover",function(a,d){Ext.get(d).addCls("over")},this,{delegate:"dd"});b.el.addListener("mouseout",function(a,d){Ext.get(d).removeCls("over")},this,{delegate:"dd"})}});this.callParent(arguments)},onContainerClick:function(c){var d=c.getTarget("h2",3,true);if(d){d.up("div").toggleCls("collapsed")}},onItemClick:function(h,j,l,i){var k=i.getTarget("dd",5,true);if(k&&!i.getTarget("a",2)){var e=k.getAttributeNS("ext",this.urlField);this.fireEvent("urlclick",e)}return this.callParent(arguments)}});Ext.define("Docs.view.guides.Index",{extend:"Ext.container.Container",alias:"widget.guideindex",requires:["Docs.view.ThumbList"],cls:"all-demos iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.items=[{xtype:"container",html:'<h1 class="eg">Guides</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/guide/{name}"><img src="guides/{name}/icon-lg.png"/>',"<div><h4>{title}</h4><p>{description}</p></div>","</dd>"],data:Docs.data.guides})];this.callParent(arguments)},getTab:function(){return Docs.data.guides.length>0?{cls:"guides",href:"#!/guide",tooltip:"Guides"}:false}});Ext.define("Docs.view.videos.Index",{extend:"Ext.container.Container",alias:"widget.videoindex",requires:["Docs.view.ThumbList"],cls:"all-demos iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.items=[{xtype:"container",html:'<h1 class="eg">Videos</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/video/{id}"><img src="{thumb}"/>',"<div><h4>{title}","</h4><p>{[values.description.substr(0,80)]}...</p></div>","</dd>"],data:Docs.data.videos})];this.callParent(arguments)},getTab:function(){return Docs.data.videos.length>0?{cls:"videos",href:"#!/video",tooltip:"Videos"}:false}});Ext.define("Docs.view.examples.Index",{extend:"Ext.container.Container",alias:"widget.exampleindex",requires:["Docs.view.ThumbList"],cls:"all-demos iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.items=[{xtype:"container",html:'<h1 class="eg">Examples</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/example/{url}"><img src="extjs/examples/shared/screens/{icon}"/>',"<div><h4>{text}","<tpl if=\"status === 'new'\">",'<span class="new-sample"> (New)</span>',"</tpl>","<tpl if=\"status === 'updated'\">",'<span class="updated-sample"> (Updated)</span>',"</tpl>","<tpl if=\"status === 'experimental'\">",'<span class="new-sample"> (Experimental)</span>',"</tpl>","</h4><p>{desc}</p></div>","</dd>"],data:Docs.data.examples})];this.callParent(arguments)},getTab:function(){return Docs.data.examples.length>0?{cls:"examples",href:"#!/example",tooltip:"Examples"}:false}});Ext.define("Docs.view.HoverMenu",{extend:"Ext.view.View",componentCls:"hover-menu",itemSelector:"div.item",deferEmptyText:false,columnHeight:25,showCloseButtons:false,initComponent:function(){this.renderTo=Ext.getBody();this.tpl=new Ext.XTemplate("<table>","<tr>","<td>",'<tpl for=".">','<div class="item">',"{[this.renderLink(values)]}",'<tpl if="this.showCloseButtons">','<a class="close" href="#" rel="{cls}">x</a>',"</tpl>","</div>",'<tpl if="xindex % this.columnHeight === 0 && xcount &gt; xindex">',"</td><td>","</tpl>","</tpl>","</td>","</tr>","</table>",{columnHeight:this.columnHeight,showCloseButtons:this.showCloseButtons,renderLink:function(g){var j=g.url||g.cls,f=g.label||g.cls,i=g["static"]?'<span class="static">static</span>':"",h=g["protected"]?'<span class="protected">protected</span>':"";return Ext.String.format('<a href="#!/api/{0}" rel="{0}" class="docClass">{1} {2} {3}</a>',j,f,i,h)}});this.callParent()}});Ext.define("Docs.view.HoverMenuButton",{extend:"Ext.toolbar.TextItem",alias:"widget.hovermenubutton",componentCls:"hover-menu-button",requires:["Docs.view.HoverMenu"],menuCfg:{},showCount:false,statics:{menus:[]},initComponent:function(){this.addEvents("click","closeclick");if(this.showCount){this.initialText=this.text;this.text+=" <sup>"+this.store.getCount()+"</sup>";this.store.on("datachanged",function(){this.setText(this.initialText+" <sup>"+this.store.getCount()+"</sup>")},this)}this.menu=Ext.create("Docs.view.HoverMenu",Ext.apply({store:this.store},this.menuCfg));this.callParent(arguments)},onRender:function(){this.callParent(arguments);this.renderMenu();this.getEl().on({click:function(){this.fireEvent("click")},mouseover:function(){Ext.Array.forEach(Docs.view.HoverMenuButton.menus,function(a){if(a!==this.menu){a.hide()}});clearTimeout(this.hideTimeout);this.menu.show();var j=this.getEl().getXY(),n=Ext.ComponentQuery.query("classoverview toolbar")[0],k=j[0]-10,l=n.getEl().getXY(),i=n.getWidth(),m=this.menu.getEl().getWidth(),h=Ext.getCmp("doctabs").getWidth();if(m>h){k=0}else{if((k+m)>h){k=h-m-30}}if(k<l[0]){k=l[0]}this.menu.getEl().setStyle({left:k+"px",top:(j[1]+25)+"px"})},mouseout:this.deferHideMenu,scope:this});this.menu.getEl().on({mouseover:function(){clearTimeout(this.hideTimeout)},mouseout:this.deferHideMenu,scope:this})},onDestroy:function(){this.menu.destroy();Ext.Array.remove(Docs.view.HoverMenuButton.menus,this.menu);this.callParent(arguments)},renderMenu:function(){this.menu.getEl().setVisibilityMode(Ext.core.Element.DISPLAY);this.menu.hide();this.menu.getEl().addListener("click",function(b){if(b.getTarget(".close")){this.fireEvent("closeclick",b.getTarget().rel)}else{this.menu.hide()}b.preventDefault()},this);Docs.view.HoverMenuButton.menus.push(this.menu)},deferHideMenu:function(){this.hideTimeout=Ext.Function.defer(function(){this.menu.hide()},200,this)},getStore:function(){return this.store}});Ext.define("Ext.view.Table",{extend:"Ext.view.View",alias:"widget.tableview",uses:["Ext.view.TableChunker","Ext.util.DelayedTask","Ext.util.MixedCollection"],cls:Ext.baseCSSPrefix+"grid-view",itemSelector:"."+Ext.baseCSSPrefix+"grid-row",cellSelector:"."+Ext.baseCSSPrefix+"grid-cell",selectedItemCls:Ext.baseCSSPrefix+"grid-row-selected",selectedCellCls:Ext.baseCSSPrefix+"grid-cell-selected",focusedItemCls:Ext.baseCSSPrefix+"grid-row-focused",overItemCls:Ext.baseCSSPrefix+"grid-row-over",altRowCls:Ext.baseCSSPrefix+"grid-row-alt",rowClsRe:/(?:^|\s*)grid-row-(first|last|alt)(?:\s+|$)/g,cellRe:new RegExp("x-grid-cell-([^\\s]+) ",""),trackOver:true,getRowClass:null,initComponent:function(){var b=this;if(b.deferRowRender!==false){b.refresh=function(){delete b.refresh;setTimeout(function(){b.refresh()},0)}}b.scrollState={};b.selModel.view=b;b.headerCt.view=b;b.initFeatures();b.tpl="<div></div>";b.callParent();b.mon(b.store,{load:b.onStoreLoad,scope:b})},onStoreLoad:function(){var b=this;if(b.invalidateScrollerOnRefresh){if(Ext.isGecko){if(!b.scrollToTopTask){b.scrollToTopTask=Ext.create("Ext.util.DelayedTask",b.scrollToTop,b)}b.scrollToTopTask.delay(1)}else{b.scrollToTop()}}},scrollToTop:Ext.emptyFn,addElListener:function(e,f,d){this.mon(this,e,f,d,{element:"el"})},getGridColumns:function(){return this.headerCt.getGridColumns()},getHeaderAtIndex:function(b){return this.headerCt.getHeaderAtIndex(b)},getCell:function(e,d){var f=this.getNode(e);return Ext.fly(f).down(d.getCellSelector())},getFeature:function(c){var d=this.featuresMC;if(d){return d.get(c)}},initFeatures:function(){var g=this,e=0,h,f;g.features=g.features||[];h=g.features;f=h.length;g.featuresMC=Ext.create("Ext.util.MixedCollection");for(;e<f;e++){if(!h[e].isFeature){h[e]=Ext.create("feature."+h[e].ftype,h[e])}h[e].view=g;g.featuresMC.add(h[e])}},attachEventsForFeatures:function(){var d=this.features,f=d.length,e=0;for(;e<f;e++){if(d[e].isFeature){d[e].attachEvents()}}},afterRender:function(){var b=this;b.callParent();b.mon(b.el,{scroll:b.fireBodyScroll,scope:b});b.el.unselectable();b.attachEventsForFeatures()},fireBodyScroll:function(c,d){this.fireEvent("bodyscroll",c,d)},prepareData:function(s,l,p){var n=this,m=n.headerCt.prepareData(s,l,p,n,n.ownerCt),u=n.features,o=u.length,r=0,t,i;for(;r<o;r++){i=u[r];if(i.isFeature){Ext.apply(m,i.getAdditionalData(s,l,p,m,n))}}return m},collectData:function(x,o){var j=this.callParent(arguments),y=this.headerCt,r=y.getFullWidth(),z=this.features,t=z.length,A={rows:j,fullWidth:r},v=0,i,w=0,s,u;s=j.length;if(this.getRowClass){for(;w<s;w++){u={};j[w]["rowCls"]=this.getRowClass(x[w],w,u,this.store);if(u.alt){Ext.Error.raise("The getRowClass alt property is no longer supported.")}if(u.tstyle){Ext.Error.raise("The getRowClass tstyle property is no longer supported.")}if(u.cells){Ext.Error.raise("The getRowClass cells property is no longer supported.")}if(u.body){Ext.Error.raise("The getRowClass body property is no longer supported. Use the getAdditionalData method of the rowbody feature.")}if(u.bodyStyle){Ext.Error.raise("The getRowClass bodyStyle property is no longer supported.")}if(u.cols){Ext.Error.raise("The getRowClass cols property is no longer supported.")}}}for(;v<t;v++){i=z[v];if(i.isFeature&&i.collectData&&!i.disabled){A=i.collectData(x,j,o,r,A);break}}return A},onHeaderResize:function(h,g,i){var j=this,f=j.el;if(f){j.saveScrollState();if(Ext.isIE6||Ext.isIE7){if(h.el.hasCls(Ext.baseCSSPrefix+"column-header-first")){g+=1}}f.select("."+Ext.baseCSSPrefix+"grid-col-resizer-"+h.id).setWidth(g);f.select("."+Ext.baseCSSPrefix+"grid-table-resizer").setWidth(j.headerCt.getFullWidth());j.restoreScrollState();j.setNewTemplate();if(!i){j.el.focus()}}},onHeaderShow:function(d,f,e){if(f.oldWidth){this.onHeaderResize(f,f.oldWidth,e);delete f.oldWidth}else{if(f.width&&!f.flex){this.onHeaderResize(f,f.width,e)}}this.setNewTemplate()},onHeaderHide:function(d,f,e){this.onHeaderResize(f,0,e)},setNewTemplate:function(){var c=this,d=c.headerCt.getColumnsForTpl(true);c.tpl=c.getTableChunker().getTableTpl({columns:d,features:c.features})},getTableChunker:function(){return this.chunker||Ext.view.TableChunker},addRowCls:function(d,e){var f=this.getNode(d);if(f){Ext.fly(f).addCls(e)}},removeRowCls:function(d,e){var f=this.getNode(d);if(f){Ext.fly(f).removeCls(e)}},onRowSelect:function(b){this.addRowCls(b,this.selectedItemCls)},onRowDeselect:function(c){var d=this;d.removeRowCls(c,d.selectedItemCls);d.removeRowCls(c,d.focusedItemCls)},onCellSelect:function(c){var d=this.getCellByPosition(c);if(d){d.addCls(this.selectedCellCls)}},onCellDeselect:function(c){var d=this.getCellByPosition(c);if(d){d.removeCls(this.selectedCellCls)}},onCellFocus:function(b){this.focusCell(b)},getCellByPosition:function(i){var l=i.row,n=i.column,o=this.store,m=this.getNode(l),k=this.headerCt.getHeaderAtIndex(n),p,j=false;if(k&&m){p=k.getCellSelector();j=Ext.fly(m).down(p)}return j},onRowFocus:function(i,f,g){var j=this,h=j.getNode(i);if(f){j.addRowCls(i,j.focusedItemCls);if(!g){j.focusRow(i)}}else{j.removeRowCls(i,j.focusedItemCls)}},focusRow:function(r){var m=this,j=m.getNode(r),p=m.el,l=0,s=m.ownerCt,k,o,n;if(j&&p){o=p.getRegion();k=Ext.fly(j).getRegion();if(k.top<o.top){l=k.top-o.top}else{if(k.bottom>o.bottom){l=k.bottom-o.bottom}}n=m.getRecord(j);r=m.store.indexOf(n);if(l){s.scrollByDeltaY(l)}m.fireEvent("rowfocus",n,j,r)}},focusCell:function(n){var l=this,k=l.getCellByPosition(n),t=l.el,r=0,p=0,s=t.getRegion(),u=l.ownerCt,m,o;if(k){m=k.getRegion();if(m.top<s.top){r=m.top-s.top}else{if(m.bottom>s.bottom){r=m.bottom-s.bottom}}if(m.left<s.left){p=m.left-s.left}else{if(m.right>s.right){p=m.right-s.right}}if(r){u.scrollByDeltaY(r)}if(p){u.scrollByDeltaX(p)}t.focus();l.fireEvent("cellfocus",o,k,n)}},scrollByDelta:function(f,d){d=d||"scrollTop";var e=this.el.dom;e[d]=(e[d]+=f)},onUpdate:function(c,d){this.callParent(arguments)},saveScrollState:function(){var c=this.el.dom,d=this.scrollState;d.left=c.scrollLeft;d.top=c.scrollTop},restoreScrollState:function(){var d=this.el.dom,e=this.scrollState,f=this.headerCt.el.dom;f.scrollLeft=d.scrollLeft=e.left;d.scrollTop=e.top},refresh:function(){this.setNewTemplate();this.callParent(arguments)},processItemEvent:function(v,e,o,t){var r=this,n=t.getTarget(r.cellSelector,e),p=n?n.cellIndex:-1,w=r.statics().EventMap,u=r.getSelectionModel(),s=t.type,m;if(s=="keydown"&&!n&&u.getCurrentPosition){n=r.getCellByPosition(u.getCurrentPosition());if(n){n=n.dom;p=n.cellIndex}}m=r.fireEvent("uievent",s,r,n,o,p,t);if(m===false||r.callParent(arguments)===false){return false}if(s=="mouseover"||s=="mouseout"){return true}return !((r["onBeforeCell"+w[s]](n,p,v,e,o,t)===false)||(r.fireEvent("beforecell"+s,r,n,p,v,e,o,t)===false)||(r["onCell"+w[s]](n,p,v,e,o,t)===false)||(r.fireEvent("cell"+s,r,n,p,v,e,o,t)===false))},processSpecialEvent:function(t){var p=this,z=p.statics().EventMap,x=p.features,r=x.length,i=t.type,w,e,v,u,y,s,A=p.ownerCt;p.callParent(arguments);if(i=="mouseover"||i=="mouseout"){return}for(w=0;w<r;w++){e=x[w];if(e.hasFeatureEvent){u=t.getTarget(e.eventSelector,p.getTargetEl());if(u){v=e.eventPrefix;y=e.getFireEventArgs("before"+v+i,p,u,t);s=e.getFireEventArgs(v+i,p,u,t);if((p.fireEvent.apply(p,y)===false)||(A.fireEvent.apply(A,y)===false)||(p.fireEvent.apply(p,s)===false)||(A.fireEvent.apply(A,s)===false)){return false}}}}return true},onCellMouseDown:Ext.emptyFn,onCellMouseUp:Ext.emptyFn,onCellClick:Ext.emptyFn,onCellDblClick:Ext.emptyFn,onCellContextMenu:Ext.emptyFn,onCellKeyDown:Ext.emptyFn,onBeforeCellMouseDown:Ext.emptyFn,onBeforeCellMouseUp:Ext.emptyFn,onBeforeCellClick:Ext.emptyFn,onBeforeCellDblClick:Ext.emptyFn,onBeforeCellContextMenu:Ext.emptyFn,onBeforeCellKeyDown:Ext.emptyFn,expandToFit:function(c){if(c){var d=this.getMaxContentWidth(c);delete c.flex;c.setWidth(d)}},getMaxContentWidth:function(j){var i=j.getCellInnerSelector(),n=this.el.query(i),m=0,k=n.length,l=j.el.dom.scrollWidth,h;for(;m<k;m++){h=n[m].scrollWidth;if(h>l){l=h}}return l},getPositionByEvent:function(j){var k=this,e=j.getTarget(k.cellSelector),l=j.getTarget(k.itemSelector),h=k.getRecord(l),i=k.getHeaderByCell(e);return k.getPosition(h,i)},getHeaderByCell:function(c){if(c){var d=c.className.match(this.cellRe);if(d&&d[1]){return Ext.getCmp(d[1])}}return false},walkCells:function(t,s,x,r,C,p){var v=this,e=t.row,z=t.column,u=v.store.getCount(),y=v.getFirstVisibleColumnIndex(),B=v.getLastVisibleColumnIndex(),w={row:e,column:z},A=v.headerCt.getHeaderAtIndex(z);if(!A||A.hidden){return false}x=x||{};s=s.toLowerCase();switch(s){case"right":if(z===B){if(r||e===u-1){return false}if(!x.ctrlKey){w.row=e+1;w.column=y}}else{if(!x.ctrlKey){w.column=z+v.getRightGap(A)}else{w.column=B}}break;case"left":if(z===y){if(r||e===0){return false}if(!x.ctrlKey){w.row=e-1;w.column=B}}else{if(!x.ctrlKey){w.column=z+v.getLeftGap(A)}else{w.column=y}}break;case"up":if(e===0){return false}else{if(!x.ctrlKey){w.row=e-1}else{w.row=0}}break;case"down":if(e===u-1){return false}else{if(!x.ctrlKey){w.row=e+1}else{w.row=u-1}}break}if(C&&C.call(p||window,w)!==true){return false}else{return w}},getFirstVisibleColumnIndex:function(){var h=this.getHeaderCt(),f=h.getGridColumns(),g=Ext.ComponentQuery.query(":not([hidden])",f),e=g[0];return h.getHeaderIndex(e)},getLastVisibleColumnIndex:function(){var h=this.getHeaderCt(),f=h.getGridColumns(),g=Ext.ComponentQuery.query(":not([hidden])",f),e=g[g.length-1];return h.getHeaderIndex(e)},getHeaderCt:function(){return this.headerCt},getPosition:function(g,h){var i=this,f=i.store,j=i.headerCt.getGridColumns();return{row:f.indexOf(g),column:Ext.Array.indexOf(j,h)}},getRightGap:function(h){var i=this.getHeaderCt(),j=i.getGridColumns(),g=Ext.Array.indexOf(j,h),l=g+1,k;for(;l<=j.length;l++){if(!j[l].hidden){k=l;break}}return k-g},beforeDestroy:function(){if(this.rendered){this.el.removeAllListeners()}this.callParent(arguments)},getLeftGap:function(h){var i=this.getHeaderCt(),j=i.getGridColumns(),l=Ext.Array.indexOf(j,h),k=l-1,g;for(;k>=0;k--){if(!j[k].hidden){g=k;break}}return g-l}});Ext.define("Ext.tree.View",{extend:"Ext.view.Table",alias:"widget.treeview",loadingCls:Ext.baseCSSPrefix+"grid-tree-loading",expandedCls:Ext.baseCSSPrefix+"grid-tree-node-expanded",expanderSelector:"."+Ext.baseCSSPrefix+"tree-expander",checkboxSelector:"."+Ext.baseCSSPrefix+"tree-checkbox",expanderIconOverCls:Ext.baseCSSPrefix+"tree-expander-over",blockRefresh:true,rootVisible:true,expandDuration:250,collapseDuration:250,toggleOnDblClick:true,initComponent:function(){var b=this;if(b.initialConfig.animate===undefined){b.animate=Ext.enableFx}b.store=Ext.create("Ext.data.NodeStore",{recursive:true,rootVisible:b.rootVisible,listeners:{beforeexpand:b.onBeforeExpand,expand:b.onExpand,beforecollapse:b.onBeforeCollapse,collapse:b.onCollapse,scope:b}});if(b.node){b.setRootNode(b.node)}b.animQueue={};b.callParent(arguments)},onClear:function(){this.store.removeAll()},setRootNode:function(c){var d=this;d.store.setNode(c);d.node=c;if(!d.rootVisible){c.expand()}},onRender:function(){var f=this,d={delegate:f.expanderSelector},e;f.callParent(arguments);e=f.el;e.on({scope:f,delegate:f.expanderSelector,mouseover:f.onExpanderMouseOver,mouseout:f.onExpanderMouseOut});e.on({scope:f,delegate:f.checkboxSelector,click:f.onCheckboxChange})},onCheckboxChange:function(h,e){var j=h.getTarget(this.getItemSelector(),this.getTargetEl()),g,i;if(j){g=this.getRecord(j);i=!g.get("checked");g.set("checked",i);this.fireEvent("checkchange",g,i)}},getChecked:function(){var b=[];this.node.cascadeBy(function(a){if(a.get("checked")){b.push(a)}});return b},isItemChecked:function(b){return b.get("checked")},createAnimWrap:function(o,n){var r="",s=this.panel.headerCt,v=s.getGridColumns(),p=0,m=v.length,i,t=this.getNode(o),w,u;for(;p<m;p++){i=v[p];r+='<th style="width: '+(i.hidden?0:i.getDesiredWidth())+'px; height: 0px;"></th>'}u=Ext.get(t);w=u.insertSibling({tag:"tr",html:['<td colspan="'+s.getColumnCount()+'">','<div class="'+Ext.baseCSSPrefix+'tree-animator-wrap">','<table class="'+Ext.baseCSSPrefix+'grid-table" style="width: '+s.getFullWidth()+'px;"><tbody>',r,"</tbody></table>","</div>","</td>"].join("")},"after");return{record:o,node:t,el:w,expanding:false,collapsing:false,animating:false,animateEl:w.down("div"),targetEl:w.down("tbody")}},getAnimWrap:function(b){if(!this.animate){return null}while(b){if(b.animWrap){return b.animWrap}b=b.parentNode}return null},doAdd:function(y,w,s){var r=this,u=w[0],o=u.parentNode,p=r.all.elements,a=0,v=r.getAnimWrap(o),n,x,t;if(!v||!v.expanding){r.resetScrollers();return r.callParent(arguments)}o=v.record;n=v.targetEl;x=n.dom.childNodes;t=x.length-1;a=s-r.indexOf(o)-1;if(!t||a>=t){n.appendChild(y)}else{Ext.fly(x[a+1]).insertSibling(y,"before",true)}Ext.Array.insert(p,s,y);if(v.isAnimating){r.onExpand(o)}},doRemove:function(i,n){var j=this,l=i.parentNode,m=j.all,h=j.getAnimWrap(i),k=m.item(n).dom;if(!h||!h.collapsing){j.resetScrollers();return j.callParent(arguments)}h.targetEl.appendChild(k);m.removeElement(n)},onBeforeExpand:function(i,f,j){var h=this,g;if(!h.rendered||!h.animate){return}if(h.getNode(i)){g=h.getAnimWrap(i);if(!g){g=i.animWrap=h.createAnimWrap(i);g.animateEl.setHeight(0)}else{if(g.collapsing){g.targetEl.select(h.itemSelector).remove()}}g.expanding=true;g.collapsing=false}},onExpand:function(p){var o=this,j=o.animQueue,k=p.getId(),i,n,m,l;if(o.singleExpand){o.ensureSingleExpand(p)}i=o.getAnimWrap(p);if(!i){o.resetScrollers();return}n=i.animateEl;m=i.targetEl;n.stopAnimation();j[k]=true;n.slideIn("t",{duration:o.expandDuration,listeners:{scope:o,lastframe:function(){i.el.insertSibling(m.query(o.itemSelector),"before");i.el.remove();o.resetScrollers();delete i.record.animWrap;delete j[k]}}});i.isAnimating=true},resetScrollers:function(){var b=this.panel;b.determineScrollbars();b.invalidateScroller()},onBeforeCollapse:function(i,f,j){var h=this,g;if(!h.rendered||!h.animate){return}if(h.getNode(i)){g=h.getAnimWrap(i);if(!g){g=i.animWrap=h.createAnimWrap(i,j)}else{if(g.expanding){g.targetEl.select(this.itemSelector).remove()}}g.expanding=false;g.collapsing=true}},onCollapse:function(n){var m=this,i=m.animQueue,j=n.getId(),h=m.getAnimWrap(n),l,k;if(!h){m.resetScrollers();return}l=h.animateEl;k=h.targetEl;i[j]=true;l.stopAnimation();l.slideOut("t",{duration:m.collapseDuration,listeners:{scope:m,lastframe:function(){h.el.remove();delete h.record.animWrap;m.resetScrollers();delete i[j]}}});h.isAnimating=true},isAnimating:function(b){return !!this.animQueue[b.getId()]},collectData:function(n){var k=this.callParent(arguments),l=k.rows,i=l.length,m=0,j,h;for(;m<i;m++){j=l[m];h=n[m];if(h.get("qtip")){j.rowAttr='data-qtip="'+h.get("qtip")+'"';if(h.get("qtitle")){j.rowAttr+=' data-qtitle="'+h.get("qtitle")+'"'}}if(h.isExpanded()){j.rowCls=(j.rowCls||"")+" "+this.expandedCls}if(h.isLoading()){j.rowCls=(j.rowCls||"")+" "+this.loadingCls}}return k},expand:function(e,f,g,h){return e.expand(f,g,h)},collapse:function(e,f,g,h){return e.collapse(f,g,h)},toggle:function(b){this[b.isExpanded()?"collapse":"expand"](b)},onItemDblClick:function(e,f,d){this.callParent(arguments);if(this.toggleOnDblClick){this.toggle(e)}},onBeforeItemMouseDown:function(f,h,e,g){if(g.getTarget(this.expanderSelector,h)){return false}return this.callParent(arguments)},onItemClick:function(f,h,e,g){if(g.getTarget(this.expanderSelector,h)){this.toggle(f);return false}return this.callParent(arguments)},onExpanderMouseOver:function(c,d){c.getTarget(this.cellSelector,10,true).addCls(this.expanderIconOverCls)},onExpanderMouseOut:function(c,d){c.getTarget(this.cellSelector,10,true).removeCls(this.expanderIconOverCls)},getTreeStore:function(){return this.panel.store},ensureSingleExpand:function(c){var d=c.parentNode;if(d){d.eachChild(function(a){if(a!==c&&a.isExpanded()){a.collapse()}})}}});Ext.define("Ext.selection.RowModel",{extend:"Ext.selection.Model",alias:"selection.rowmodel",requires:["Ext.util.KeyNav"],deltaScroll:5,enableKeyNav:true,constructor:function(){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(d){var c=this;c.views=c.views||[];c.views.push(d);c.bind(d.getStore(),true);d.on({itemmousedown:c.onRowMouseDown,scope:c});if(c.enableKeyNav){c.initKeyNav(d)}},initKeyNav:function(d){var c=this;if(!d.rendered){d.on("render",Ext.Function.bind(c.initKeyNav,c,[d],0),c,{single:true});return}d.el.set({tabIndex:-1});c.keyNav=new Ext.util.KeyNav(d.el,{up:c.onKeyUp,down:c.onKeyDown,right:c.onKeyRight,left:c.onKeyLeft,pageDown:c.onKeyPageDown,pageUp:c.onKeyPageUp,home:c.onKeyHome,end:c.onKeyEnd,scope:c});d.el.on(Ext.EventManager.getKeyEvent(),c.onKeyPress,c)},getRowsVisible:function(){var h=false,g=this.views[0],i=g.getNode(0),f,j;if(i){f=Ext.fly(i).getHeight();j=g.el.getHeight();h=Math.floor(j/f)}return h},onKeyEnd:function(g,f){var h=this,e=h.store.getAt(h.store.getCount()-1);if(e){if(g.shiftKey){h.selectRange(e,h.lastFocused||0);h.setLastFocused(e)}else{if(g.ctrlKey){h.setLastFocused(e)}else{h.doSelect(e)}}}},onKeyHome:function(h,f){var e=this,g=e.store.getAt(0);if(g){if(h.shiftKey){e.selectRange(g,e.lastFocused||0);e.setLastFocused(g)}else{if(h.ctrlKey){e.setLastFocused(g)}else{e.doSelect(g,false)}}}},onKeyPageUp:function(l,o){var m=this,k=m.getRowsVisible(),e,p,j,n;if(k){e=m.lastFocused?m.store.indexOf(m.lastFocused):0;p=e-k;if(p<0){p=0}j=m.store.getAt(p);if(l.shiftKey){n=m.store.getAt(e);m.selectRange(j,n,l.ctrlKey,"up");m.setLastFocused(j)}else{if(l.ctrlKey){l.preventDefault();m.setLastFocused(j)}else{m.doSelect(j)}}}},onKeyPageDown:function(l,e){var n=this,k=n.getRowsVisible(),j,m,o,p;if(k){j=n.lastFocused?n.store.indexOf(n.lastFocused):0;m=j+k;if(m>=n.store.getCount()){m=n.store.getCount()-1}o=n.store.getAt(m);if(l.shiftKey){p=n.store.getAt(j);n.selectRange(o,p,l.ctrlKey,"down");n.setLastFocused(o)}else{if(l.ctrlKey){l.preventDefault();n.setLastFocused(o)}else{n.doSelect(o)}}}},onKeyPress:function(g,e){if(g.getKey()===g.SPACE){g.stopEvent();var h=this,f=h.lastFocused;if(f){if(h.isSelected(f)){h.doDeselect(f,false)}else{h.doSelect(f,true)}}}},onKeyUp:function(i,k){var j=this,l=j.views[0],h=j.store.indexOf(j.lastFocused),e;if(h>0){e=j.store.getAt(h-1);if(i.shiftKey&&j.lastFocused){if(j.isSelected(j.lastFocused)&&j.isSelected(e)){j.doDeselect(j.lastFocused,true);j.setLastFocused(e)}else{if(!j.isSelected(j.lastFocused)){j.doSelect(j.lastFocused,true);j.doSelect(e,true)}else{j.doSelect(e,true)}}}else{if(i.ctrlKey){j.setLastFocused(e)}else{j.doSelect(e)}}}},onKeyDown:function(i,k){var j=this,l=j.views[0],h=j.store.indexOf(j.lastFocused),e;if(h+1<j.store.getCount()){e=j.store.getAt(h+1);if(j.selected.getCount()===0){j.doSelect(e)}else{if(i.shiftKey&&j.lastFocused){if(j.isSelected(j.lastFocused)&&j.isSelected(e)){j.doDeselect(j.lastFocused,true);j.setLastFocused(e)}else{if(!j.isSelected(j.lastFocused)){j.doSelect(j.lastFocused,true);j.doSelect(e,true)}else{j.doSelect(e,true)}}}else{if(i.ctrlKey){j.setLastFocused(e)}else{j.doSelect(e)}}}}},scrollByDeltaX:function(g){var f=this.views[0],h=f.up(),e=h.horizontalScroller;if(e){e.scrollByDeltaX(g)}},onKeyLeft:function(c,d){this.scrollByDeltaX(-this.deltaScroll)},onKeyRight:function(c,d){this.scrollByDeltaX(this.deltaScroll)},onRowMouseDown:function(e,g,i,j,h){e.el.focus();this.selectWithEvent(g,h)},onSelectChange:function(r,u,m,w){var o=this,i=o.views,t=i.length,n=o.store,v=n.indexOf(r),p=u?"select":"deselect",s=0;if((m||o.fireEvent("before"+p,o,r,v))!==false&&w()!==false){for(;s<t;s++){if(u){i[s].onRowSelect(v,m)}else{i[s].onRowDeselect(v,m)}}if(!m){o.fireEvent(p,o,r,v)}}},onLastFocusChanged:function(k,o,i){var j=this.views,l=j.length,p=this.store,m,n=0;if(k){m=p.indexOf(k);if(m!=-1){for(;n<l;n++){j[n].onRowFocus(m,false)}}}if(o){m=p.indexOf(o);if(m!=-1){for(n=0;n<l;n++){j[n].onRowFocus(m,true,i)}}}},onEditorTab:function(l,n){var m=this,k=m.views[0],p=l.getActiveRecord(),r=l.getActiveColumn(),o=k.getPosition(p,r),e=n.shiftKey?"left":"right",s=k.walkCells(o,e,n,this.preventWrap);if(s){l.startEditByPosition(s)}},selectByPosition:function(d){var c=this.store.getAt(d.row);this.select(c)}});Ext.define("Ext.selection.TreeModel",{extend:"Ext.selection.RowModel",alias:"selection.treemodel",pruneRemoved:false,onKeyRight:function(g,e){var h=this.getLastFocused(),f=this.view;if(h){if(h.isExpanded()){this.onKeyDown(g,e)}else{if(!h.isLeaf()){f.expand(h)}}}},onKeyLeft:function(j,m){var k=this.getLastFocused(),n=this.view,e=n.getSelectionModel(),i,l;if(k){i=k.parentNode;if(k.isExpanded()){n.collapse(k)}else{if(i&&!i.isRoot()){if(j.shiftKey){e.selectRange(i,k,j.ctrlKey,"up");e.setLastFocused(i)}else{if(j.ctrlKey){e.setLastFocused(i)}else{e.select(i)}}}}}},onKeyPress:function(g,f){var e,h;if(g.getKey()===g.SPACE||g.getKey()===g.ENTER){g.stopEvent();e=this.getLastSelected();if(e&&e.isLeaf()){h=e.get("checked");if(Ext.isBoolean(h)){e.set("checked",!h)}}}else{this.callParent(arguments)}}});Ext.define("Ext.layout.container.boxOverflow.Scroller",{extend:"Ext.layout.container.boxOverflow.None",requires:["Ext.util.ClickRepeater","Ext.core.Element"],alternateClassName:"Ext.layout.boxOverflow.Scroller",mixins:{observable:"Ext.util.Observable"},animateScroll:false,scrollIncrement:20,wheelIncrement:10,scrollRepeatInterval:60,scrollDuration:400,scrollerCls:Ext.baseCSSPrefix+"box-scroller",constructor:function(c,d){this.layout=c;Ext.apply(this,d||{});this.addEvents("scroll")},initCSSClasses:function(){var c=this,d=c.layout;if(!c.CSSinitialized){c.beforeCtCls=c.beforeCtCls||Ext.baseCSSPrefix+"box-scroller-"+d.parallelBefore;c.afterCtCls=c.afterCtCls||Ext.baseCSSPrefix+"box-scroller-"+d.parallelAfter;c.beforeScrollerCls=c.beforeScrollerCls||Ext.baseCSSPrefix+d.owner.getXType()+"-scroll-"+d.parallelBefore;c.afterScrollerCls=c.afterScrollerCls||Ext.baseCSSPrefix+d.owner.getXType()+"-scroll-"+d.parallelAfter;c.CSSinitializes=true}},handleOverflow:function(h,i){var j=this,k=j.layout,l="get"+k.parallelPrefixCap,g={};j.initCSSClasses();j.callParent(arguments);this.createInnerElements();this.showScrollers();g[k.perpendicularPrefix]=i[k.perpendicularPrefix];g[k.parallelPrefix]=i[k.parallelPrefix]-(j.beforeCt[l]()+j.afterCt[l]());return{targetSize:g}},createInnerElements:function(){var d=this,c=d.layout.getRenderTarget();if(!d.beforeCt){c.addCls(Ext.baseCSSPrefix+d.layout.direction+"-box-overflow-body");d.beforeCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+d.beforeCtCls},"before");d.afterCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+d.afterCtCls},"after");d.createWheelListener()}},createWheelListener:function(){this.layout.innerCt.on({scope:this,mousewheel:function(b){b.stopEvent();this.scrollBy(b.getWheelDelta()*this.wheelIncrement*-1,false)}})},clearOverflow:function(){this.hideScrollers()},showScrollers:function(){this.createScrollers();this.beforeScroller.show();this.afterScroller.show();this.updateScrollButtons();this.layout.owner.addClsWithUI("scroller")},hideScrollers:function(){if(this.beforeScroller!=undefined){this.beforeScroller.hide();this.afterScroller.hide();this.layout.owner.removeClsWithUI("scroller")}},createScrollers:function(){if(!this.beforeScroller&&!this.afterScroller){var d=this.beforeCt.createChild({cls:Ext.String.format("{0} {1} ",this.scrollerCls,this.beforeScrollerCls)});var c=this.afterCt.createChild({cls:Ext.String.format("{0} {1}",this.scrollerCls,this.afterScrollerCls)});d.addClsOnOver(this.beforeScrollerCls+"-hover");c.addClsOnOver(this.afterScrollerCls+"-hover");d.setVisibilityMode(Ext.core.Element.DISPLAY);c.setVisibilityMode(Ext.core.Element.DISPLAY);this.beforeRepeater=Ext.create("Ext.util.ClickRepeater",d,{interval:this.scrollRepeatInterval,handler:this.scrollLeft,scope:this});this.afterRepeater=Ext.create("Ext.util.ClickRepeater",c,{interval:this.scrollRepeatInterval,handler:this.scrollRight,scope:this});this.beforeScroller=d;this.afterScroller=c}},destroy:function(){Ext.destroy(this.beforeRepeater,this.afterRepeater,this.beforeScroller,this.afterScroller,this.beforeCt,this.afterCt)},scrollBy:function(c,d){this.scrollTo(this.getScrollPosition()+c,d)},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},updateScrollButtons:function(){if(this.beforeScroller==undefined||this.afterScroller==undefined){return}var g=this.atExtremeBefore()?"addCls":"removeCls",h=this.atExtremeAfter()?"addCls":"removeCls",f=this.beforeScrollerCls+"-disabled",e=this.afterScrollerCls+"-disabled";this.beforeScroller[g](f);this.afterScroller[h](e);this.scrolling=false},atExtremeBefore:function(){return this.getScrollPosition()===0},scrollLeft:function(){this.scrollBy(-this.scrollIncrement,false)},scrollRight:function(){this.scrollBy(this.scrollIncrement,false)},getScrollPosition:function(){var b=this.layout;return parseInt(b.innerCt.dom["scroll"+b.parallelBeforeCap],10)||0},getMaxScrollPosition:function(){var b=this.layout;return b.innerCt.dom["scroll"+b.parallelPrefixCap]-this.layout.innerCt["get"+b.parallelPrefixCap]()},atExtremeAfter:function(){return this.getScrollPosition()>=this.getMaxScrollPosition()},scrollTo:function(h,g){var i=this,j=i.layout,k=i.getScrollPosition(),l=Ext.Number.constrain(h,0,i.getMaxScrollPosition());if(l!=k&&!i.scrolling){if(g==undefined){g=i.animateScroll}j.innerCt.scrollTo(j.parallelBefore,l,g?i.getScrollAnim():false);if(g){i.scrolling=true}else{i.scrolling=false;i.updateScrollButtons()}i.fireEvent("scroll",i,l,g?i.getScrollAnim():false)}},scrollToItem:function(j,h){var k=this,l=k.layout,i,m,n;j=k.getItem(j);if(j!=undefined){i=this.getItemVisibility(j);if(!i.fullyVisible){m=j.getBox(true,true);n=m[l.parallelPosition];if(i.hiddenEnd){n-=(this.layout.innerCt["get"+l.parallelPrefixCap]()-m[l.parallelPrefix])}this.scrollTo(n,h)}}},getItemVisibility:function(m){var n=this,o=n.getItem(m).getBox(true,true),p=n.layout,i=o[p.parallelPosition],l=i+o[p.parallelPrefix],k=n.getScrollPosition(),j=k+p.innerCt["get"+p.parallelPrefixCap]();return{hiddenStart:i<k,hiddenEnd:l>j,fullyVisible:i>k&&l<j}}});Ext.define("Ext.dd.DragDrop",{requires:["Ext.dd.DragDropManager"],constructor:function(f,e,d){if(f){this.init(f,e,d)}},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true},moveOnly:false,unlock:function(){this.locked=false},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(d,c){},startDrag:function(d,c){},b4Drag:function(b){},onDrag:function(b){},onDragEnter:function(d,c){},b4DragOver:function(b){},onDragOver:function(d,c){},b4DragOut:function(b){},onDragOut:function(d,c){},b4DragDrop:function(b){},onDragDrop:function(d,c){},onInvalidDrop:function(b){},b4EndDrag:function(b){},endDrag:function(b){},b4MouseDown:function(b){},onMouseDown:function(b){},onMouseUp:function(b){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(r,t,b){if(Ext.isNumber(t)){t={left:t,right:t,top:t,bottom:t}}t=t||this.defaultPadding;var o=Ext.get(this.getEl()).getBox(),w=Ext.get(r),c=w.getScroll(),p,v=w.dom;if(v==document.body){p={x:c.left,y:c.top,width:Ext.core.Element.getViewWidth(),height:Ext.core.Element.getViewHeight()}}else{var n=w.getXY();p={x:n[0],y:n[1],width:v.clientWidth,height:v.clientHeight}}var s=o.y-p.y,u=o.x-p.x;this.resetConstraints();this.setXConstraint(u-(t.left||0),p.width-u-o.width-(t.right||0),this.xTickSize);this.setYConstraint(s-(t.top||0),p.height-s-o.height-(t.bottom||0),this.yTickSize)},getEl:function(){if(!this._domRef){this._domRef=Ext.getDom(this.id)}return this._domRef},getDragEl:function(){return Ext.getDom(this.dragElId)},init:function(f,e,d){this.initTarget(f,e,d);Ext.EventManager.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(f,e,d){this.config=d||{};this.DDMInstance=Ext.dd.DragDropManager;this.groups={};if(typeof f!=="string"){f=Ext.id(f)}this.id=f;this.addToGroup((e)?e:"default");this.handleElId=f;this.setDragElId(f);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false)},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable()},setPadding:function(h,f,g,e){if(!f&&0!==f){this.padding=[h,h,h,h]}else{if(!g&&0!==g){this.padding=[h,f,h,f]}else{this.padding=[h,f,g,e]}}},setInitPosition:function(k,l){var j=this.getEl();if(!this.DDMInstance.verifyEl(j)){return}var g=k||0;var h=l||0;var i=Ext.core.Element.getXY(j);this.initPageX=i[0]-g;this.initPageY=i[1]-h;this.lastPageX=i[0];this.lastPageY=i[1];this.setStartPosition(i)},setStartPosition:function(c){var d=c||Ext.core.Element.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=d[0];this.startPageY=d[1]},addToGroup:function(b){this.groups[b]=true;this.DDMInstance.regDragDrop(this,b)},removeFromGroup:function(b){if(this.groups[b]){delete this.groups[b]}this.DDMInstance.removeDDFromGroup(this,b)},setDragElId:function(b){this.dragElId=b},setHandleElId:function(b){if(typeof b!=="string"){b=Ext.id(b)}this.handleElId=b;this.DDMInstance.regHandle(this.id,b)},setOuterHandleElId:function(b){if(typeof b!=="string"){b=Ext.id(b)}Ext.EventManager.on(b,"mousedown",this.handleMouseDown,this);this.setHandleElId(b);this.hasOuterHandles=true},unreg:function(){Ext.EventManager.un(this.id,"mousedown",this.handleMouseDown,this);this._domRef=null;this.DDMInstance._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return(this.DDMInstance.isLocked()||this.locked)},handleMouseDown:function(f,d){if(this.primaryButtonOnly&&f.button!=0){return}if(this.isLocked()){return}this.DDMInstance.refreshCache(this.groups);var e=f.getPoint();if(!this.hasOuterHandles&&!this.DDMInstance.isOverTarget(e,this)){}else{if(this.clickValidator(f)){this.setStartPosition();this.b4MouseDown(f);this.onMouseDown(f);this.DDMInstance.handleMouseDown(f,this);this.DDMInstance.stopEvent(f)}else{}}},clickValidator:function(c){var d=c.getTarget();return(this.isValidHandleChild(d)&&(this.id==this.handleElId||this.DDMInstance.handleWasClicked(d,this.id)))},addInvalidHandleType:function(d){var c=d.toUpperCase();this.invalidHandleTypes[c]=c},addInvalidHandleId:function(b){if(typeof b!=="string"){b=Ext.id(b)}this.invalidHandleIds[b]=b},addInvalidHandleClass:function(b){this.invalidHandleClasses.push(b)},removeInvalidHandleType:function(d){var c=d.toUpperCase();delete this.invalidHandleTypes[c]},removeInvalidHandleId:function(b){if(typeof b!=="string"){b=Ext.id(b)}delete this.invalidHandleIds[b]},removeInvalidHandleClass:function(d){for(var f=0,e=this.invalidHandleClasses.length;f<e;++f){if(this.invalidHandleClasses[f]==d){delete this.invalidHandleClasses[f]}}},isValidHandleChild:function(k){var l=true;var i;try{i=k.nodeName.toUpperCase()}catch(j){i=k.nodeName}l=l&&!this.invalidHandleTypes[i];l=l&&!this.invalidHandleIds[k.id];for(var e=0,h=this.invalidHandleClasses.length;l&&e<h;++e){l=!Ext.fly(k).hasCls(this.invalidHandleClasses[e])}return l},setXTicks:function(g,f){this.xTicks=[];this.xTickSize=f;var h={};for(var e=this.initPageX;e>=this.minX;e=e-f){if(!h[e]){this.xTicks[this.xTicks.length]=e;h[e]=true}}for(e=this.initPageX;e<=this.maxX;e=e+f){if(!h[e]){this.xTicks[this.xTicks.length]=e;h[e]=true}}Ext.Array.sort(this.xTicks,this.DDMInstance.numericSort)},setYTicks:function(g,f){this.yTicks=[];this.yTickSize=f;var h={};for(var e=this.initPageY;e>=this.minY;e=e-f){if(!h[e]){this.yTicks[this.yTicks.length]=e;h[e]=true}}for(e=this.initPageY;e<=this.maxY;e=e+f){if(!h[e]){this.yTicks[this.yTicks.length]=e;h[e]=true}}Ext.Array.sort(this.yTicks,this.DDMInstance.numericSort)},setXConstraint:function(f,d,e){this.leftConstraint=f;this.rightConstraint=d;this.minX=this.initPageX-f;this.maxX=this.initPageX+d;if(e){this.setXTicks(this.initPageX,e)}this.constrainX=true},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks()},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0},setYConstraint:function(e,f,d){this.topConstraint=e;this.bottomConstraint=f;this.minY=this.initPageY-e;this.maxY=this.initPageY+f;if(d){this.setYTicks(this.initPageY,d)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var c=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var d=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(c,d)}else{this.setInitPosition()}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize)}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize)}},getTick:function(j,m){if(!m){return j}else{if(m[0]>=j){return m[0]}else{for(var h=0,i=m.length;h<i;++h){var n=h+1;if(m[n]&&m[n]>=j){var k=j-m[h];var l=m[n]-j;return(l>k)?m[h]:m[n]}}return m[m.length-1]}}},toString:function(){return("DragDrop "+this.id)}});Ext.define("Ext.dd.DD",{extend:"Ext.dd.DragDrop",requires:["Ext.dd.DragDropManager"],constructor:function(f,e,d){if(f){this.init(f,e,d)}},scroll:true,autoOffset:function(h,e){var f=h-this.startPageX;var g=e-this.startPageY;this.setDelta(f,g)},setDelta:function(c,d){this.deltaX=c;this.deltaY=d},setDragElPos:function(f,d){var e=this.getDragEl();this.alignElWithMouse(e,f,d)},alignElWithMouse:function(v,s,u){var r=this.getTargetCoord(s,u),t=v.dom?v:Ext.fly(v,"_dd"),l=t.getSize(),o=Ext.core.Element,n;if(!this.deltaSetXY){n=this.cachedViewportSize={width:o.getDocumentWidth(),height:o.getDocumentHeight()};var w=[Math.max(0,Math.min(r.x,n.width-l.width)),Math.max(0,Math.min(r.y,n.height-l.height))];t.setXY(w);var m=t.getLeft(true);var p=t.getTop(true);this.deltaSetXY=[m-r.x,p-r.y]}else{n=this.cachedViewportSize;t.setLeftTop(Math.max(0,Math.min(r.x+this.deltaSetXY[0],n.width-l.width)),Math.max(0,Math.min(r.y+this.deltaSetXY[1],n.height-l.height)))}this.cachePosition(r.x,r.y);this.autoScroll(r.x,r.y,v.offsetHeight,v.offsetWidth);return r},cachePosition:function(d,e){if(d){this.lastPageX=d;this.lastPageY=e}else{var f=Ext.core.Element.getXY(this.getEl());this.lastPageX=f[0];this.lastPageY=f[1]}},autoScroll:function(t,u,y,s){if(this.scroll){var r=Ext.core.Element.getViewHeight();var B=Ext.core.Element.getViewWidth();var h=this.DDMInstance.getScrollTop();var z=this.DDMInstance.getScrollLeft();var v=y+u;var p=s+t;var w=(r+h-u-this.deltaY);var x=(B+z-t-this.deltaX);var A=40;var C=(document.all)?80:30;if(v>r&&w<A){window.scrollTo(z,h+C)}if(u<h&&h>0&&u-h<A){window.scrollTo(z,h-C)}if(p>B&&x<A){window.scrollTo(z+C,h)}if(t<z&&z>0&&t-z<A){window.scrollTo(z-C,h)}}},getTargetCoord:function(h,e){var f=h-this.deltaX;var g=e-this.deltaY;if(this.constrainX){if(f<this.minX){f=this.minX}if(f>this.maxX){f=this.maxX}}if(this.constrainY){if(g<this.minY){g=this.minY}if(g>this.maxY){g=this.maxY}}f=this.getTick(f,this.xTicks);g=this.getTick(g,this.yTicks);return{x:f,y:g}},applyConfig:function(){this.callParent();this.scroll=(this.config.scroll!==false)},b4MouseDown:function(b){this.autoOffset(b.getPageX(),b.getPageY())},b4Drag:function(b){this.setDragElPos(b.getPageX(),b.getPageY())},toString:function(){return("DD "+this.id)}});Ext.define("Ext.dd.DDProxy",{extend:"Ext.dd.DD",statics:{dragElId:"ygddfdiv"},constructor:function(f,e,d){if(f){this.init(f,e,d);this.initFrame()}},resizeFrame:true,centerFrame:false,createFrame:function(){var e=this;var f=document.body;if(!f||!f.firstChild){setTimeout(function(){e.createFrame()},50);return}var g=this.getDragEl();if(!g){g=document.createElement("div");g.id=this.dragElId;var h=g.style;h.position="absolute";h.visibility="hidden";h.cursor="move";h.border="2px solid #aaa";h.zIndex=999;f.insertBefore(g,f.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){this.callParent();this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(h,i){var j=this.getEl();var g=this.getDragEl();var f=g.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(f.width,10)/2),Math.round(parseInt(f.height,10)/2))}this.setDragElPos(h,i);Ext.fly(g).show()},_resizeProxy:function(){if(this.resizeFrame){var b=this.getEl();Ext.fly(this.getDragEl()).setSize(b.offsetWidth,b.offsetHeight)}},b4MouseDown:function(d){var e=d.getPageX();var f=d.getPageY();this.autoOffset(e,f);this.setDragElPos(e,f)},b4StartDrag:function(d,c){this.showFrame(d,c)},b4EndDrag:function(b){Ext.fly(this.getDragEl()).hide()},endDrag:function(f){var d=this.getEl();var e=this.getDragEl();e.style.visibility="";this.beforeMove();d.style.visibility="hidden";Ext.dd.DDM.moveToEl(d,e);e.style.visibility="hidden";d.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.define("Ext.dd.DragSource",{extend:"Ext.dd.DDProxy",requires:["Ext.dd.StatusProxy","Ext.dd.DragDropManager"],dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",animRepair:true,repairHighlightColor:"c3daf9",constructor:function(c,d){this.el=Ext.get(c);if(!this.dragData){this.dragData={}}Ext.apply(this,d);if(!this.proxy){this.proxy=Ext.create("Ext.dd.StatusProxy",{animRepair:this.animRepair})}this.callParent([this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true}]);this.dragging=false},getDragData:function(b){return this.dragData},onDragEnter:function(h,g){var e=Ext.dd.DragDropManager.getDDById(g);this.cachedTarget=e;if(this.beforeDragEnter(e,h,g)!==false){if(e.isNotifyTarget){var f=e.notifyEnter(this,h,this.dragData);this.proxy.setStatus(f)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(e,h,g)}}},beforeDragEnter:function(d,e,f){return true},alignElWithMouse:function(){this.callParent(arguments);this.proxy.sync()},onDragOver:function(h,g){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(g);if(this.beforeDragOver(e,h,g)!==false){if(e.isNotifyTarget){var f=e.notifyOver(this,h,this.dragData);this.proxy.setStatus(f)}if(this.afterDragOver){this.afterDragOver(e,h,g)}}},beforeDragOver:function(d,e,f){return true},onDragOut:function(d,f){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(f);if(this.beforeDragOut(e,d,f)!==false){if(e.isNotifyTarget){e.notifyOut(this,d,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(e,d,f)}}this.cachedTarget=null},beforeDragOut:function(d,e,f){return true},onDragDrop:function(d,f){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(f);if(this.beforeDragDrop(e,d,f)!==false){if(e.isNotifyTarget){if(e.notifyDrop(this,d,this.dragData)!==false){this.onValidDrop(e,d,f)}else{this.onInvalidDrop(e,d,f)}}else{this.onValidDrop(e,d,f)}if(this.afterDragDrop){this.afterDragDrop(e,d,f)}}delete this.cachedTarget},beforeDragDrop:function(d,e,f){return true},onValidDrop:function(d,e,f){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(d,e,f)}},getRepairXY:function(c,d){return this.el.getXY()},onInvalidDrop:function(d,e,f){this.beforeInvalidDrop(d,e,f);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,e,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(e,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(e,f)}},afterRepair:function(){var b=this;if(Ext.enableFx){b.el.highlight(b.repairHighlightColor)}b.dragging=false},beforeInvalidDrop:function(d,e,f){return true},handleMouseDown:function(c){if(this.dragging){return}var d=this.getDragData(c);if(d&&this.onBeforeDrag(d,c)!==false){this.dragData=d;this.proxy.stop();this.callParent(arguments)}},onBeforeDrag:function(d,c){return true},onStartDrag:Ext.emptyFn,startDrag:function(d,c){this.proxy.reset();this.dragging=true;this.proxy.update("");this.onInitDrag(d,c);this.proxy.show()},onInitDrag:function(e,f){var d=this.el.dom.cloneNode(true);d.id=Ext.id();this.proxy.update(d);this.onStartDrag(e,f);return true},getProxy:function(){return this.proxy},hideProxy:function(){this.proxy.hide();this.proxy.reset(true);this.dragging=false},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)},b4EndDrag:function(b){},endDrag:function(b){this.onEndDrag(this.dragData,b)},onEndDrag:function(d,c){},autoOffset:function(d,c){this.setDelta(-12,-20)},destroy:function(){this.callParent();Ext.destroy(this.proxy)}});Ext.define("Ext.panel.DD",{extend:"Ext.dd.DragSource",requires:["Ext.panel.Proxy"],constructor:function(c,d){this.panel=c;this.dragData={panel:c};this.proxy=Ext.create("Ext.panel.Proxy",c,d);this.callParent([c.el,d]);Ext.defer(function(){var a=c.header,b=c.body;if(a){this.setHandleElId(a.id);b=a.el}b.setStyle("cursor","move");this.scroll=false},200,this)},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(d,c){this.proxy.show()},b4MouseDown:function(d){var e=d.getPageX(),f=d.getPageY();this.autoOffset(e,f)},onInitDrag:function(d,c){this.onStartDrag(d,c);return true},createFrame:Ext.emptyFn,getDragEl:function(b){return this.proxy.ghost.el.dom},endDrag:function(b){this.proxy.hide();this.panel.saveState()},autoOffset:function(d,c){d-=this.startPageX;c-=this.startPageY;this.setDelta(d,c)}});Ext.define("Ext.data.writer.Json",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",root:undefined,encode:false,allowSingle:true,writeRecords:function(d,f){var e=this.root;if(this.allowSingle&&f.length==1){f=f[0]}if(this.encode){if(e){d.params[e]=Ext.encode(f)}else{Ext.Error.raise("Must specify a root when using encode")}}else{d.jsonData=d.jsonData||{};if(e){d.jsonData[e]=f}else{d.jsonData=f}}return d}});Ext.define("Ext.layout.component.Tip",{alias:["layout.tip"],extend:"Ext.layout.component.Dock",type:"tip",onLayout:function(t,l){var n=this,s=n.owner,r=s.el,u,m,o,p,k=r.getXY();r.setXY([-9999,-9999]);this.callParent(arguments);if(!Ext.isNumber(t)){u=s.minWidth;m=s.maxWidth;if(Ext.isStrict&&(Ext.isIE6||Ext.isIE7)){p=n.doAutoWidth()}else{o=r.getWidth()}if(o<u){p=u}else{if(o>m){p=m}}if(p){this.callParent([p,l])}}r.setXY(k)},doAutoWidth:function(){var g=this,e=g.owner,f=e.body,h=f.getTextWidth();if(e.header){h=Math.max(h,e.header.getWidth())}if(!Ext.isDefined(g.frameWidth)){g.frameWidth=e.el.getWidth()-f.getWidth()}h+=g.frameWidth+f.getPadding("lr");return h}});Ext.define("Ext.toolbar.Separator",{extend:"Ext.toolbar.Item",alias:"widget.tbseparator",alternateClassName:"Ext.Toolbar.Separator",baseCls:Ext.baseCSSPrefix+"toolbar-separator",focusable:false});Ext.define("Ext.layout.container.boxOverflow.Menu",{extend:"Ext.layout.container.boxOverflow.None",requires:["Ext.toolbar.Separator","Ext.button.Button"],alternateClassName:"Ext.layout.boxOverflow.Menu",noItemsMenuText:'<div class="'+Ext.baseCSSPrefix+'toolbar-no-items">(None)</div>',constructor:function(c){var d=this;d.callParent(arguments);c.beforeLayout=Ext.Function.createInterceptor(c.beforeLayout,this.clearOverflow,this);d.afterCtCls=d.afterCtCls||Ext.baseCSSPrefix+"box-menu-"+c.parallelAfter;d.menuItems=[]},onRemove:function(b){Ext.Array.remove(this.menuItems,b)},handleOverflow:function(i,j){var k=this,l=k.layout,n="get"+l.parallelPrefixCap,h={},m=[null,null];k.callParent(arguments);this.createMenu(i,j);h[l.perpendicularPrefix]=j[l.perpendicularPrefix];h[l.parallelPrefix]=j[l.parallelPrefix]-k.afterCt[n]();m[l.perpendicularSizeIndex]=(i.meta.maxSize-k.menuTrigger["get"+l.perpendicularPrefixCap]())/2;k.menuTrigger.setPosition.apply(k.menuTrigger,m);return{targetSize:h}},clearOverflow:function(j,k){var l=this,m=k?k.width+(l.afterCt?l.afterCt.getWidth():0):0,i=l.menuItems,p=0,n=i.length,o;l.hideTrigger();for(;p<n;p++){i[p].show()}i.length=0;return k?{targetSize:{height:k.height,width:m}}:null},showTrigger:function(){this.menuTrigger.show()},hideTrigger:function(){if(this.menuTrigger!==undefined){this.menuTrigger.hide()}},beforeMenuShow:function(k){var l=this,i=l.menuItems,o=0,j=i.length,m,n;var p=function(a,b){return a.isXType("buttongroup")&&!(b instanceof Ext.toolbar.Separator)};l.clearMenu();k.removeAll();for(;o<j;o++){m=i[o];if(!o&&(m instanceof Ext.toolbar.Separator)){continue}if(n&&(p(m,n)||p(n,m))){k.add("-")}l.addComponentToMenu(k,m);n=m}if(k.items.length<1){k.add(l.noItemsMenuText)}},createMenuConfig:function(h,f){var e=Ext.apply({},h.initialConfig),g=h.toggleGroup;Ext.copyTo(e,h,["iconCls","icon","itemId","disabled","handler","scope","menu"]);Ext.apply(e,{text:h.overflowText||h.text,hideOnClick:f,destroyMenu:false});if(g||h.enableToggle){Ext.apply(e,{group:g,checked:h.pressed,listeners:{checkchange:function(a,b){h.toggle(b)}}})}delete e.ownerCt;delete e.xtype;delete e.id;return e},addComponentToMenu:function(f,e){var d=this;if(e instanceof Ext.toolbar.Separator){f.add("-")}else{if(e.isComponent){if(e.isXType("splitbutton")){f.add(d.createMenuConfig(e,true))}else{if(e.isXType("button")){f.add(d.createMenuConfig(e,!e.menu))}else{if(e.isXType("buttongroup")){e.items.each(function(a){d.addComponentToMenu(f,a)})}else{f.add(Ext.create(Ext.getClassName(e),d.createMenuConfig(e)))}}}}}},clearMenu:function(){var b=this.moreMenu;if(b&&b.items){b.items.each(function(a){if(a.menu){delete a.menu}})}},createMenu:function(w,u){var m=this,o=m.layout,i=o.parallelBefore,s=o.parallelPrefix,v=u[s],p=w.boxes,t=0,n=p.length,r;if(!m.menuTrigger){m.createInnerElements();m.menu=Ext.create("Ext.menu.Menu",{listeners:{scope:m,beforeshow:m.beforeMenuShow}});m.menuTrigger=Ext.create("Ext.button.Button",{ownerCt:m.layout.owner,iconCls:Ext.baseCSSPrefix+o.owner.getXType()+"-more-icon",ui:o.owner instanceof Ext.toolbar.Toolbar?"default-toolbar":"default",menu:m.menu,getSplitCls:function(){return""},renderTo:m.afterCt})}m.showTrigger();v-=m.afterCt.getWidth();m.menuItems.length=0;for(;t<n;t++){r=p[t];if(r[i]+r[s]>v){m.menuItems.push(r.component);r.component.hide()}}},createInnerElements:function(){var d=this,c=d.layout.getRenderTarget();if(!this.afterCt){c.addCls(Ext.baseCSSPrefix+d.layout.direction+"-box-overflow-body");this.afterCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+this.afterCtCls},"before")}},destroy:function(){Ext.destroy(this.menu,this.menuTrigger)}});Ext.define("Ext.layout.container.Box",{alias:["layout.box"],extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.BoxLayout",requires:["Ext.layout.container.boxOverflow.None","Ext.layout.container.boxOverflow.Menu","Ext.layout.container.boxOverflow.Scroller","Ext.util.Format","Ext.dd.DragDropManager"],defaultMargins:{top:0,right:0,bottom:0,left:0},padding:"0",pack:"start",type:"box",scrollOffset:0,itemCls:Ext.baseCSSPrefix+"box-item",targetCls:Ext.baseCSSPrefix+"box-layout-ct",innerCls:Ext.baseCSSPrefix+"box-inner",bindToOwnerCtContainer:true,availableSpaceOffset:0,reserveOffset:true,clearInnerCtOnLayout:false,flexSortFn:function(g,h){var b="max"+this.parallelPrefixCap,a=Infinity;g=g.component[b]||a;h=h.component[b]||a;if(!isFinite(g)&&!isFinite(h)){return false}return g-h},minSizeSortFn:function(a,b){return b.available-a.available},constructor:function(d){var c=this;c.callParent(arguments);c.flexSortFn=Ext.Function.bind(c.flexSortFn,c);c.initOverflowHandler()},getChildBox:function(c){c=c.el||this.owner.getComponent(c).el;var d=c.getBox(false,true);return{left:d.left,top:d.top,width:d.width,height:d.height}},calculateChildBox:function(h){var i=this,f=i.calculateChildBoxes(i.getVisibleItems(),i.getLayoutTargetSize()).boxes,j=f.length,g=0;h=i.owner.getComponent(h);for(;g<j;g++){if(f[g].component===h){return f[g]}}},calculateChildBoxes:function(bc,bp){var a4=this,aI=Math,bg=aI.max,bd=Infinity,a6,a9=a4.parallelPrefix,be=a4.parallelPrefixCap,aC=a4.perpendicularPrefix,a8=a4.perpendicularPrefixCap,aW="min"+be,aQ="min"+a8,aH="max"+a8,bo=bp[a9]-a4.scrollOffset,i=bp[aC],aU=a4.padding,ba=aU[a4.parallelBefore],a7=ba+aU[a4.parallelAfter],ay=aU[a4.perpendicularLeftTop],aG=ay+aU[a4.perpendicularRightBottom],aN=bg(0,i-aG),aK=a4.innerCt.getBorderWidth(a4.perpendicularLT+a4.perpendicularRB),a0=a4.pack=="start",aB=a4.pack=="center",aS=a4.pack=="end",aV=Ext.Number.constrain,aA=bc.length,bn=0,aM=0,aF=0,a5=0,aO=0,ax=[],aE=[],aP,aR,bj,a1,aZ,aY,aD,ao,aq,ap,bf,bm,a2,aJ,a3,az,bi,aw,aX,bl,aT,au,bq,bb,bh,aL,av,ar,bk,at;for(aR=0;aR<aA;aR++){bj=bc[aR];aZ=bj[aC];if(!bj.flex||!(a4.align=="stretch"||a4.align=="stretchmax")){if(bj.componentLayout.initialized!==true){a4.layoutItem(bj)}}aY=bj.margins;aL=aY[a4.parallelBefore]+aY[a4.parallelAfter];aq={component:bj,margins:aY};if(bj.flex){aM+=bj.flex;a1=a6}else{if(!(bj[a9]&&aZ)){aD=bj.getSize()}a1=bj[a9]||aD[a9];aZ=aZ||aD[aC]}bn+=aL+(a1||0);aF+=aL+(bj.flex?bj[aW]||0:a1);a5+=aL+(bj[aW]||a1||0);if(typeof aZ!="number"){aZ=bj["get"+a8]()}aO=bg(aO,aZ+aY[a4.perpendicularLeftTop]+aY[a4.perpendicularRightBottom]);aq[a9]=a1||a6;aq[aC]=aZ||a6;ax.push(aq)}ap=aF-bo;bf=a5>bo;bm=bg(0,bo-bn-a7-(a4.reserveOffset?a4.availableSpaceOffset:0));if(bf){for(aR=0;aR<aA;aR++){bi=ax[aR];a2=bc[aR][aW]||bc[aR][a9]||bi[a9];bi.dirtySize=bi.dirtySize||bi[a9]!=a2;bi[a9]=a2}}else{if(ap>0){for(aR=0;aR<aA;aR++){aJ=bc[aR];a2=aJ[aW]||0;if(aJ.flex){bi=ax[aR];bi.dirtySize=bi.dirtySize||bi[a9]!=a2;bi[a9]=a2}else{aE.push({minSize:a2,available:ax[aR][a9]-a2,index:aR})}}Ext.Array.sort(aE,a4.minSizeSortFn);for(aR=0,a3=aE.length;aR<a3;aR++){az=aE[aR].index;if(az==a6){continue}aJ=bc[az];a2=aE[aR].minSize;bi=ax[az];aw=bi[a9];aX=bg(a2,aw-aI.ceil(ap/(a3-aR)));bl=aw-aX;bi.dirtySize=bi.dirtySize||bi[a9]!=aX;bi[a9]=aX;ap-=bl}}else{bq=bm;bb=aM;au=[];for(aR=0;aR<aA;aR++){bj=bc[aR];if(a0&&bj.flex){au.push(ax[Ext.Array.indexOf(bc,bj)])}}Ext.Array.sort(au,a4.flexSortFn);for(aR=0;aR<au.length;aR++){av=au[aR];bj=av.component;aY=av.margins;bh=aI.ceil((bj.flex/bb)*bq);bh=Math.max(bj["min"+be]||0,aI.min(bj["max"+be]||bd,bh));bq-=bh;bb-=bj.flex;av.dirtySize=av.dirtySize||av[a9]!=bh;av[a9]=bh}}}if(aB){ba+=bm/2}else{if(aS){ba+=bm}}if(a4.owner.dock&&(Ext.isIE6||Ext.isIE7||Ext.isIEQuirks)&&!a4.owner.width&&a4.direction=="vertical"){aP=aO+a4.owner.el.getPadding("lr")+a4.owner.el.getBorderWidth("lr");if(a4.owner.frameSize){aP+=a4.owner.frameSize.left+a4.owner.frameSize.right}aN=Math.min(aN,bp.width=aO+aU.left+aU.right)}for(aR=0;aR<aA;aR++){bj=bc[aR];av=ax[aR];aY=av.margins;bk=aY[a4.perpendicularLeftTop]+aY[a4.perpendicularRightBottom];ba+=aY[a4.parallelBefore];av[a4.parallelBefore]=ba;av[a4.perpendicularLeftTop]=ay+aY[a4.perpendicularLeftTop];if(a4.align=="stretch"){at=aV(aN-bk,bj[aQ]||0,bj[aH]||bd);av.dirtySize=av.dirtySize||av[aC]!=at;av[aC]=at}else{if(a4.align=="stretchmax"){at=aV(aO-bk,bj[aQ]||0,bj[aH]||bd);av.dirtySize=av.dirtySize||av[aC]!=at;av[aC]=at}else{if(a4.align==a4.alignCenteringString){aT=bg(aN,aO)-aK-av[aC];if(aT>0){av[a4.perpendicularLeftTop]=ay+Math.round(aT/2)}}}}ba+=(av[a9]||0)+aY[a4.parallelAfter]}return{boxes:ax,meta:{calculatedWidth:aP,maxSize:aO,nonFlexSize:bn,desiredSize:aF,minimumSize:a5,shortfall:ap,tooNarrow:bf}}},onRemove:function(b){this.callParent(arguments);if(this.overflowHandler){this.overflowHandler.onRemove(b)}},initOverflowHandler:function(){var f=this.overflowHandler;if(typeof f=="string"){f={type:f}}var d="None";if(f&&f.type!==undefined){d=f.type}var e=Ext.layout.container.boxOverflow[d];if(e[this.type]){e=e[this.type]}this.overflowHandler=Ext.create("Ext.layout.container.boxOverflow."+d,this,f)},onLayout:function(){this.callParent();if(this.clearInnerCtOnLayout===true&&this.adjustmentPass!==true){this.innerCt.setSize(null,null)}var l=this,p=l.getLayoutTargetSize(),m=l.getVisibleItems(),r=l.calculateChildBoxes(m,p),n=r.boxes,k=r.meta,j,s,o;if(l.autoSize&&r.meta.desiredSize){p[l.parallelPrefix]=r.meta.desiredSize}if(k.shortfall>0){j=l.overflowHandler;s=k.tooNarrow?"handleOverflow":"clearOverflow";o=j[s](r,p);if(o){if(o.targetSize){p=o.targetSize}if(o.recalculate){m=l.getVisibleItems();r=l.calculateChildBoxes(m,p);n=r.boxes}}}else{l.overflowHandler.clearOverflow()}l.layoutTargetLastSize=p;l.childBoxCache=r;l.updateInnerCtSize(p,r);l.updateChildBoxes(n);l.handleTargetOverflow(p)},updateChildBoxes:function(w){var s=this,y=0,A=w.length,i=[],p=Ext.dd.DDM.getDDById(s.innerCt.id),C,x,z,v,u,B;for(;y<A;y++){x=w[y];v=x.component;if(p&&(p.getDragEl()===v.el.dom)){continue}z=false;C=s.getChildBox(v);if(s.animate){B=s.animate.callback||s.animate;u={layoutAnimation:true,target:v,from:{},to:{},listeners:{}};if(!isNaN(x.width)&&(x.width!=C.width)){z=true;u.to.width=x.width}if(!isNaN(x.height)&&(x.height!=C.height)){z=true;u.to.height=x.height}if(!isNaN(x.left)&&(x.left!=C.left)){z=true;u.to.left=x.left}if(!isNaN(x.top)&&(x.top!=C.top)){z=true;u.to.top=x.top}if(z){i.push(u)}}else{if(x.dirtySize){if(x.width!==C.width||x.height!==C.height){s.setItemSize(v,x.width,x.height)}}if(isNaN(x.left)||isNaN(x.top)){continue}v.setPosition(x.left,x.top)}}A=i.length;if(A){var r=function(a){A-=1;if(!A){s.layoutBusy=false;if(Ext.isFunction(B)){B()}}};var t=function(){s.layoutBusy=true};for(y=0,A=i.length;y<A;y++){u=i[y];u.listeners.afteranimate=r;if(!y){u.listeners.beforeanimate=t}if(s.animate.duration){u.duration=s.animate.duration}v=u.target;delete u.target;v.stopAnimation();v.animate(u)}}},updateInnerCtSize:function(u,w){var p=this,s=Math.max,r=p.align,o=p.padding,v=u.width,m=u.height,l=w.meta,t,n;if(p.direction=="horizontal"){t=v;n=l.maxSize+o.top+o.bottom+p.innerCt.getBorderWidth("tb");if(r=="stretch"){n=m}else{if(r=="middle"){n=s(m,n)}}}else{n=m;t=l.maxSize+o.left+o.right+p.innerCt.getBorderWidth("lr");if(r=="stretch"){t=v}else{if(r=="center"){t=s(v,t)}}}p.getRenderTarget().setSize(t||undefined,n||undefined);if(l.calculatedWidth&&p.owner.el.getWidth()>l.calculatedWidth){p.owner.el.setWidth(l.calculatedWidth)}if(p.innerCt.dom.scrollTop){p.innerCt.dom.scrollTop=0}},handleTargetOverflow:function(h){var e=this.getTarget(),g=e.getStyle("overflow"),f;if(g&&g!="hidden"&&!this.adjustmentPass){f=this.getLayoutTargetSize();if(f.width!=h.width||f.height!=h.height){this.adjustmentPass=true;this.onLayout();return true}}delete this.adjustmentPass},isValidParent:function(h,g,f){var e=h.el?h.el.dom:Ext.getDom(h);return(e&&this.innerCt&&e.parentNode===this.innerCt.dom)||false},getRenderTarget:function(){if(!this.innerCt){this.innerCt=this.getTarget().createChild({cls:this.innerCls,role:"presentation"});this.padding=Ext.util.Format.parseBox(this.padding)}return this.innerCt},renderItem:function(k,i){this.callParent(arguments);var l=this,h=k.getEl(),g=h.dom.style,j=k.margins||k.margin;if(j){if(Ext.isString(j)||Ext.isNumber(j)){j=Ext.util.Format.parseBox(j)}else{Ext.applyIf(j,{top:0,right:0,bottom:0,left:0})}}else{j=Ext.apply({},l.defaultMargins)}j.top+=h.getMargin("t");j.right+=h.getMargin("r");j.bottom+=h.getMargin("b");j.left+=h.getMargin("l");g.marginTop=g.marginRight=g.marginBottom=g.marginLeft="0";k.margins=j},destroy:function(){Ext.destroy(this.overflowHandler);this.callParent(arguments)}});Ext.define("Ext.layout.container.HBox",{alias:["layout.hbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.HBoxLayout",align:"top",alignCenteringString:"middle",type:"hbox",direction:"horizontal",parallelSizeIndex:0,perpendicularSizeIndex:1,parallelPrefix:"width",parallelPrefixCap:"Width",parallelLT:"l",parallelRB:"r",parallelBefore:"left",parallelBeforeCap:"Left",parallelAfter:"right",parallelPosition:"x",perpendicularPrefix:"height",perpendicularPrefixCap:"Height",perpendicularLT:"t",perpendicularRB:"b",perpendicularLeftTop:"top",perpendicularRightBottom:"bottom",perpendicularPosition:"y",configureItem:function(b){if(b.flex){b.layoutManagedWidth=1}else{b.layoutManagedWidth=2}if(this.align==="stretch"||this.align==="stretchmax"){b.layoutManagedHeight=1}else{b.layoutManagedHeight=2}this.callParent(arguments)}});Ext.define("Ext.layout.container.VBox",{alias:["layout.vbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.VBoxLayout",align:"left",alignCenteringString:"center",type:"vbox",direction:"vertical",parallelSizeIndex:1,perpendicularSizeIndex:0,parallelPrefix:"height",parallelPrefixCap:"Height",parallelLT:"t",parallelRB:"b",parallelBefore:"top",parallelBeforeCap:"Top",parallelAfter:"bottom",parallelPosition:"y",perpendicularPrefix:"width",perpendicularPrefixCap:"Width",perpendicularLT:"l",perpendicularRB:"r",perpendicularLeftTop:"left",perpendicularRightBottom:"right",perpendicularPosition:"x",configureItem:function(b){if(b.flex){b.layoutManagedHeight=1}else{b.layoutManagedHeight=2}if(this.align==="stretch"||this.align==="stretchmax"){b.layoutManagedWidth=1}else{b.layoutManagedWidth=2}this.callParent(arguments)}});Ext.define("Ext.toolbar.Toolbar",{extend:"Ext.container.Container",requires:["Ext.toolbar.Fill","Ext.layout.container.HBox","Ext.layout.container.VBox","Ext.FocusManager"],uses:["Ext.toolbar.Separator"],alias:"widget.toolbar",alternateClassName:"Ext.Toolbar",isToolbar:true,baseCls:Ext.baseCSSPrefix+"toolbar",ariaRole:"toolbar",defaultType:"button",vertical:false,enableOverflow:false,trackMenus:true,itemCls:Ext.baseCSSPrefix+"toolbar-item",initComponent:function(){var c=this,d;if(!c.layout&&c.enableOverflow){c.layout={overflowHandler:"Menu"}}if(c.dock==="right"||c.dock==="left"){c.vertical=true}c.layout=Ext.applyIf(Ext.isString(c.layout)?{type:c.layout}:c.layout||{},{type:c.vertical?"vbox":"hbox",align:c.vertical?"stretchmax":"middle",clearInnerCtOnLayout:true});if(c.vertical){c.addClsWithUI("vertical")}if(c.ui==="footer"){c.ignoreBorderManagement=true}c.callParent();c.addEvents("overflowchange");d=c.vertical?["up","down"]:["left","right"];Ext.FocusManager.subscribe(c,{keys:d})},lookupComponent:function(c){if(Ext.isString(c)){var d=Ext.toolbar.Toolbar.shortcuts[c];if(d){c={xtype:d}}else{c={xtype:"tbtext",text:c}}this.applyDefaults(c)}return this.callParent(arguments)},applyDefaults:function(c){if(!Ext.isString(c)){c=this.callParent(arguments);var d=this.internalDefaults;if(c.events){Ext.applyIf(c.initialConfig,d);Ext.apply(c,d)}else{Ext.applyIf(c,d)}}return c},trackMenu:function(h,f){if(this.trackMenus&&h.menu){var g=f?"mun":"mon",e=this;e[g](h,"menutriggerover",e.onButtonTriggerOver,e);e[g](h,"menushow",e.onButtonMenuShow,e);e[g](h,"menuhide",e.onButtonMenuHide,e)}},constructButton:function(b){return b.events?b:this.createComponent(b,b.split?"splitbutton":this.defaultType)},onBeforeAdd:function(b){if(b.is("field")||(b.is("button")&&this.ui!="footer")){b.ui=b.ui+"-toolbar"}if(b instanceof Ext.toolbar.Separator){b.setUI((this.vertical)?"vertical":"horizontal")}this.callParent(arguments)},onAdd:function(b){this.callParent(arguments);this.trackMenu(b);if(this.disabled){b.disable()}},onRemove:function(b){this.callParent(arguments);this.trackMenu(b,true)},onButtonTriggerOver:function(b){if(this.activeMenuBtn&&this.activeMenuBtn!=b){this.activeMenuBtn.hideMenu();b.showMenu();this.activeMenuBtn=b}},onButtonMenuShow:function(b){this.activeMenuBtn=b},onButtonMenuHide:function(b){delete this.activeMenuBtn}},function(){this.shortcuts={"-":"tbseparator"," ":"tbspacer","->":"tbfill"}});Ext.define("Ext.panel.AbstractPanel",{extend:"Ext.container.Container",requires:["Ext.util.MixedCollection","Ext.core.Element","Ext.toolbar.Toolbar"],baseCls:Ext.baseCSSPrefix+"panel",isPanel:true,componentLayout:"dock",defaultDockWeights:{top:1,left:3,right:5,bottom:7},renderTpl:['<div class="{baseCls}-body<tpl if="bodyCls"> {bodyCls}</tpl> {baseCls}-body-{ui}<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl></tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>></div>'],border:true,initComponent:function(){var b=this;b.addEvents("bodyresize");Ext.applyIf(b.renderSelectors,{body:"."+b.baseCls+"-body"});if(b.frame&&b.border&&b.bodyBorder===undefined){b.bodyBorder=false}if(b.frame&&b.border&&(b.bodyBorder===false||b.bodyBorder===0)){b.manageBodyBorders=true}b.callParent()},initItems:function(){var c=this,d=c.dockedItems;c.callParent();c.dockedItems=Ext.create("Ext.util.MixedCollection",false,c.getComponentId);if(d){c.addDocked(d)}},getDockedComponent:function(b){if(Ext.isObject(b)){b=b.getItemId()}return this.dockedItems.get(b)},getComponent:function(d){var c=this.callParent(arguments);if(c===undefined&&!Ext.isNumber(d)){c=this.getDockedComponent(d)}return c},initBodyStyles:function(){var i=this,g=i.bodyStyle,j=[],f=Ext.core.Element,h;if(Ext.isFunction(g)){g=g()}if(Ext.isString(g)){j=g.split(";")}else{for(h in g){if(g.hasOwnProperty(h)){j.push(h+":"+g[h])}}}if(i.bodyPadding!==undefined){j.push("padding: "+f.unitizeBox((i.bodyPadding===true)?5:i.bodyPadding))}if(i.frame&&i.bodyBorder){if(!Ext.isNumber(i.bodyBorder)){i.bodyBorder=1}j.push("border-width: "+f.unitizeBox(i.bodyBorder))}delete i.bodyStyle;return j.length?j.join(";"):undefined},initBodyCls:function(){var d=this,e="",f=d.bodyCls;if(f){Ext.each(f,function(a){e+=" "+a});delete d.bodyCls}return e.length>0?e:undefined},initRenderData:function(){return Ext.applyIf(this.callParent(),{bodyStyle:this.initBodyStyles(),bodyCls:this.initBodyCls()})},addDocked:function(h,i){var j=this,g=0,k,l;h=j.prepareItems(h);l=h.length;for(;g<l;g++){k=h[g];k.dock=k.dock||"top";if(j.border===false){}if(i!==undefined){j.dockedItems.insert(i+g,k)}else{j.dockedItems.add(k)}k.onAdded(j,g);j.onDockedAdd(k)}j.componentLayout.childrenChanged=true;if(j.rendered&&!j.suspendLayout){j.doComponentLayout()}return h},onDockedAdd:Ext.emptyFn,onDockedRemove:Ext.emptyFn,insertDocked:function(c,d){this.addDocked(d,c)},removeDocked:function(h,f){var i=this,j,g;if(!i.dockedItems.contains(h)){return h}j=i.componentLayout;g=j&&i.rendered;if(g){j.onRemove(h)}i.dockedItems.remove(h);h.onRemoved();i.onDockedRemove(h);if(f===true||(f!==false&&i.autoDestroy)){h.destroy()}if(g&&!f){j.afterRemove(h)}i.componentLayout.childrenChanged=true;if(!i.destroying&&!i.suspendLayout){i.doComponentLayout()}return h},getDockedItems:function(h){var g=this,e=g.defaultDockWeights,f;if(g.dockedItems&&g.dockedItems.items.length){if(h){f=Ext.ComponentQuery.query(h,g.dockedItems.items)}else{f=g.dockedItems.items.slice()}Ext.Array.sort(f,function(c,d){var b=c.weight||e[c.dock],a=d.weight||e[d.dock];if(Ext.isNumber(b)&&Ext.isNumber(a)){return b-a}return 0});return f}return[]},addUIClsToElement:function(h,k){var l=this,i=l.callParent(arguments),m=[Ext.baseCSSPrefix+h,l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.addCls(l.bodyCls)}else{l.body.addCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){if(!Ext.Array.contains(j,m[n])){j.push(m[n])}}l.bodyCls=j.join(" ")}else{l.bodyCls=m.join(" ")}}return i},removeUIClsFromElement:function(h,k){var l=this,i=l.callParent(arguments),m=[Ext.baseCSSPrefix+h,l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.removeCls(l.bodyCls)}else{l.body.removeCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){Ext.Array.remove(j,m[n])}l.bodyCls=j.join(" ")}}return i},addUIToElement:function(h){var e=this,f=e.baseCls+"-body-"+e.ui,g;e.callParent(arguments);if(!h&&e.rendered){if(e.bodyCls){e.body.addCls(e.bodyCls)}else{e.body.addCls(f)}}else{if(e.bodyCls){g=e.bodyCls.split(" ");if(!Ext.Array.contains(g,f)){g.push(f)}e.bodyCls=g.join(" ")}else{e.bodyCls=f}}},removeUIFromElement:function(){var d=this,e=d.baseCls+"-body-"+d.ui,f;d.callParent(arguments);if(d.rendered){if(d.bodyCls){d.body.removeCls(d.bodyCls)}else{d.body.removeCls(e)}}else{if(d.bodyCls){f=d.bodyCls.split(" ");Ext.Array.remove(f,e);d.bodyCls=f.join(" ")}else{d.bodyCls=e}}},getTargetEl:function(){return this.body},getRefItems:function(h){var g=this.callParent(arguments),k=this.getDockedItems(h?"*,* *":undefined),i=k.length,l=0,j;for(;l<i;l++){j=k[l];if(j.dock==="right"||j.dock==="bottom"){break}}return Ext.Array.splice(k,0,l).concat(g).concat(k)},beforeDestroy:function(){var c=this.dockedItems,d;if(c){while((d=c.first())){this.removeDocked(d,true)}}this.callParent()},setBorder:function(d){var c=this;c.border=(d!==undefined)?d:true;if(c.rendered){c.doComponentLayout()}}});Ext.define("Ext.panel.Panel",{extend:"Ext.panel.AbstractPanel",requires:["Ext.panel.Header","Ext.fx.Anim","Ext.util.KeyMap","Ext.panel.DD","Ext.XTemplate","Ext.layout.component.Dock","Ext.util.Memento"],alias:"widget.panel",alternateClassName:"Ext.Panel",collapsedCls:"collapsed",animCollapse:Ext.enableFx,minButtonWidth:75,collapsed:false,collapseFirst:true,hideCollapseTool:false,titleCollapse:false,floatable:true,collapsible:false,closable:false,closeAction:"destroy",preventHeader:false,headerPosition:"top",frame:false,frameHeader:true,initComponent:function(){var c=this,d;c.addEvents("beforeexpand","beforecollapse","expand","collapse","titlechange","iconchange");this.addStateEvents("expand","collapse");if(c.unstyled){c.setUI("plain")}if(c.frame){c.setUI(c.ui+"-framed")}c.callParent();c.collapseDirection=c.collapseDirection||c.headerPosition||Ext.Component.DIRECTION_TOP;c.bridgeToolbars()},setBorder:function(b){this.callParent(arguments)},beforeDestroy:function(){Ext.destroy(this.ghostPanel,this.dd);this.callParent()},initAria:function(){this.callParent();this.initHeaderAria()},initHeaderAria:function(){var d=this,e=d.el,f=d.header;if(e&&f){e.dom.setAttribute("aria-labelledby",f.titleCmp.id)}},getHeader:function(){return this.header},setTitle:function(f){var d=this,e=this.title;d.title=f;if(d.header){d.header.setTitle(f)}else{d.updateHeader()}if(d.reExpander){d.reExpander.setTitle(f)}d.fireEvent("titlechange",d,f,e)},setIconCls:function(f){var h=this,e=h.iconCls;h.iconCls=f;var g=h.header;if(g){g.setIconCls(f)}h.fireEvent("iconchange",h,f,e)},bridgeToolbars:function(){var g=this,j,f,h=g.minButtonWidth;function i(c,a,b){if(Ext.isArray(c)){c={xtype:"toolbar",items:c}}else{if(!c.xtype){c.xtype="toolbar"}}c.dock=a;if(a=="left"||a=="right"){c.vertical=true}if(b){c.layout=Ext.applyIf(c.layout||{},{pack:{left:"start",center:"center"}[g.buttonAlign]||"end"})}return c}if(g.tbar){g.addDocked(i(g.tbar,"top"));g.tbar=null}if(g.bbar){g.addDocked(i(g.bbar,"bottom"));g.bbar=null}if(g.buttons){g.fbar=g.buttons;g.buttons=null}if(g.fbar){j=i(g.fbar,"bottom",true);j.ui="footer";if(h){f=j.defaults;j.defaults=function(b){var a=f||{};if((!b.xtype||b.xtype==="button"||(b.isComponent&&b.isXType("button")))&&!("minWidth" in a)){a=Ext.apply({minWidth:h},a)}return a}}g.addDocked(j);g.fbar=null}if(g.lbar){g.addDocked(i(g.lbar,"left"));g.lbar=null}if(g.rbar){g.addDocked(i(g.rbar,"right"));g.rbar=null}},initTools:function(){var b=this;b.tools=b.tools||[];if(b.collapsible&&!(b.hideCollapseTool||b.header===false)){b.collapseDirection=b.collapseDirection||b.headerPosition||"top";b.collapseTool=b.expandTool=b.createComponent({xtype:"tool",type:"collapse-"+b.collapseDirection,expandType:b.getOppositeDirection(b.collapseDirection),handler:b.toggleCollapse,scope:b});if(b.collapseFirst){b.tools.unshift(b.collapseTool)}}b.addTools();if(b.closable){b.addClsWithUI("closable");b.addTool({type:"close",handler:Ext.Function.bind(b.close,this,[])})}if(b.collapseTool&&!b.collapseFirst){b.tools.push(b.collapseTool)}},addTools:Ext.emptyFn,close:function(){if(this.fireEvent("beforeclose",this)!==false){this.doClose()}},doClose:function(){this.fireEvent("close",this);this[this.closeAction]()},onRender:function(e,f){var g=this,h;g.initTools();g.updateHeader();g.callParent(arguments)},afterComponentLayout:function(){var b=this;b.callParent(arguments);if(b.collapsed&&b.componentLayoutCounter==1){b.collapsed=false;b.collapse(null,false,true)}},updateHeader:function(f){var g=this,h=g.header,i=g.title,j=g.tools;if(!g.preventHeader&&(f||i||(j&&j.length))){if(!h){h=g.header=Ext.create("Ext.panel.Header",{title:i,orientation:(g.headerPosition=="left"||g.headerPosition=="right")?"vertical":"horizontal",dock:g.headerPosition||"top",textCls:g.headerTextCls,iconCls:g.iconCls,baseCls:g.baseCls+"-header",tools:j,ui:g.ui,indicateDrag:g.draggable,border:g.border,frame:g.frame&&g.frameHeader,ignoreParentFrame:g.frame||g.overlapHeader,ignoreBorderManagement:g.frame||g.ignoreHeaderBorderManagement,listeners:g.collapsible&&g.titleCollapse?{click:g.toggleCollapse,scope:g}:null});g.addDocked(h,0);g.tools=h.tools}h.show();g.initHeaderAria()}else{if(h){h.hide()}}},setUI:function(c){var d=this;d.callParent(arguments);if(d.header){d.header.setUI(c)}},getContentTarget:function(){return this.body},getTargetEl:function(){return this.body||this.frameBody||this.el},addTool:function(d){this.tools.push(d);var c=this.header;if(c){c.addTool(d)}this.updateHeader()},getOppositeDirection:function(d){var c=Ext.Component;switch(d){case c.DIRECTION_TOP:return c.DIRECTION_BOTTOM;case c.DIRECTION_RIGHT:return c.DIRECTION_LEFT;case c.DIRECTION_BOTTOM:return c.DIRECTION_TOP;case c.DIRECTION_LEFT:return c.DIRECTION_RIGHT}},collapse:function(x,L,J){var i=this,y=Ext.Component,H=i.getHeight(),G=i.getWidth(),c,P=0,B=i.dockedItems.items,A=B.length,C=0,z,K,D={from:{height:H,width:G},to:{height:H,width:G},listeners:{afteranimate:i.afterCollapse,scope:i},duration:Ext.Number.from(L,Ext.fx.Anim.prototype.duration)},M,N,F,O,I,E;if(!x){x=i.collapseDirection}if(J){L=false}else{if(i.collapsed||i.fireEvent("beforecollapse",i,x,L)===false){return false}}F=x;i.expandDirection=i.getOppositeDirection(x);i.hiddenDocked=[];switch(x){case y.DIRECTION_TOP:case y.DIRECTION_BOTTOM:i.expandedSize=i.getHeight();N="horizontal";E="height";O="getHeight";I="setHeight";for(;C<A;C++){z=B[C];if(z.isVisible()){if(z.isHeader&&(!z.dock||z.dock=="top"||z.dock=="bottom")){M=z}else{i.hiddenDocked.push(z)}}}if(x==Ext.Component.DIRECTION_BOTTOM){K=i.getPosition()[1]-Ext.fly(i.el.dom.offsetParent).getRegion().top;D.from.top=K}break;case y.DIRECTION_LEFT:case y.DIRECTION_RIGHT:i.expandedSize=i.getWidth();N="vertical";E="width";O="getWidth";I="setWidth";for(;C<A;C++){z=B[C];if(z.isVisible()){if(z.isHeader&&(z.dock=="left"||z.dock=="right")){M=z}else{i.hiddenDocked.push(z)}}}if(x==Ext.Component.DIRECTION_RIGHT){K=i.getPosition()[0]-Ext.fly(i.el.dom.offsetParent).getRegion().left;D.from.left=K}break;default:throw ("Panel collapse must be passed a valid Component collapse direction")}i.setAutoScroll(false);i.suspendLayout=true;i.body.setVisibilityMode(Ext.core.Element.DISPLAY);if(L&&i.collapseTool){i.collapseTool.disable()}i.addClsWithUI(i.collapsedCls);if(M){M.addClsWithUI(i.collapsedCls);M.addClsWithUI(i.collapsedCls+"-"+M.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){M.addClsWithUI(i.collapsedCls+"-border-"+M.dock)}c=M.getFrameInfo();P=M[O]()+(c?c[x]:0);M.removeClsWithUI(i.collapsedCls);M.removeClsWithUI(i.collapsedCls+"-"+M.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){M.removeClsWithUI(i.collapsedCls+"-border-"+M.dock)}}else{M={hideMode:"offsets",temporary:true,title:i.title,orientation:N,dock:F,textCls:i.headerTextCls,iconCls:i.iconCls,baseCls:i.baseCls+"-header",ui:i.ui,frame:i.frame&&i.frameHeader,ignoreParentFrame:i.frame||i.overlapHeader,indicateDrag:i.draggable,cls:i.baseCls+"-collapsed-placeholder "+Ext.baseCSSPrefix+"docked "+i.baseCls+"-"+i.ui+"-collapsed",renderTo:i.el};if(!i.hideCollapseTool){M[(M.orientation=="horizontal")?"tools":"items"]=[{xtype:"tool",type:"expand-"+i.expandDirection,handler:i.toggleCollapse,scope:i}]}M=i.reExpander=Ext.create("Ext.panel.Header",M);P=M[O]()+((M.frame)?M.frameSize[x]:0);M.hide();i.insertDocked(0,M)}i.reExpander=M;i.reExpander.addClsWithUI(i.collapsedCls);i.reExpander.addClsWithUI(i.collapsedCls+"-"+M.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){i.reExpander.addClsWithUI(i.collapsedCls+"-border-"+i.reExpander.dock)}if(x==Ext.Component.DIRECTION_RIGHT){D.to.left=K+(G-P)}else{if(x==Ext.Component.DIRECTION_BOTTOM){D.to.top=K+(H-P)}}D.to[E]=P;if(!i.collapseMemento){i.collapseMemento=new Ext.util.Memento(i)}i.collapseMemento.capture(["width","height","minWidth","minHeight"]);i.savedFlex=i.flex;i.minWidth=0;i.minHeight=0;delete i.flex;if(L){i.animate(D)}else{i.setSize(D.to.width,D.to.height);if(Ext.isDefined(D.to.left)||Ext.isDefined(D.to.top)){i.setPosition(D.to.left,D.to.top)}i.afterCollapse(false,J)}return i},afterCollapse:function(h,f){var i=this,j=0,g=i.hiddenDocked.length;i.collapseMemento.restore(["minWidth","minHeight"]);i.body.hide();for(;j<g;j++){i.hiddenDocked[j].hide()}if(i.reExpander){i.reExpander.updateFrame();i.reExpander.show()}i.collapsed=true;if(!f){i.doComponentLayout()}if(i.resizer){i.resizer.disable()}if(Ext.Component.VERTICAL_DIRECTION.test(i.expandDirection)){i.collapseMemento.restore("width")}else{i.collapseMemento.restore("height")}if(i.collapseTool){i.collapseTool.setType("expand-"+i.expandDirection)}if(!f){i.fireEvent("collapse",i)}if(h&&i.collapseTool){i.collapseTool.enable()}},expand:function(r){var m=this;if(!m.collapsed||m.fireEvent("beforeexpand",m,r)===false){return false}var n=0,p=m.hiddenDocked.length,k=m.expandDirection,i=m.getHeight(),s=m.getWidth(),l,o;if(r&&m.collapseTool){m.collapseTool.disable()}for(;n<p;n++){m.hiddenDocked[n].hidden=false;m.hiddenDocked[n].el.show()}if(m.reExpander){if(m.reExpander.temporary){m.reExpander.hide()}else{m.reExpander.removeClsWithUI(m.collapsedCls);m.reExpander.removeClsWithUI(m.collapsedCls+"-"+m.reExpander.dock);if(m.border&&(!m.frame||(m.frame&&Ext.supports.CSS3BorderRadius))){m.reExpander.removeClsWithUI(m.collapsedCls+"-border-"+m.reExpander.dock)}m.reExpander.updateFrame()}}if(m.collapseTool){m.collapseTool.setType("collapse-"+m.collapseDirection)}m.collapsed=false;m.body.show();m.removeClsWithUI(m.collapsedCls);o={to:{},from:{height:i,width:s},listeners:{afteranimate:m.afterExpand,scope:m}};if((k==Ext.Component.DIRECTION_TOP)||(k==Ext.Component.DIRECTION_BOTTOM)){if(m.autoHeight){m.setCalculatedSize(m.width,null);o.to.height=m.getHeight();m.setCalculatedSize(m.width,o.from.height)}else{if(m.savedFlex){m.flex=m.savedFlex;o.to.height=m.ownerCt.layout.calculateChildBox(m).height;delete m.flex}else{o.to.height=m.expandedSize}}if(k==Ext.Component.DIRECTION_TOP){l=m.getPosition()[1]-Ext.fly(m.el.dom.offsetParent).getRegion().top;o.from.top=l;o.to.top=l-(o.to.height-i)}}else{if((k==Ext.Component.DIRECTION_LEFT)||(k==Ext.Component.DIRECTION_RIGHT)){if(m.autoWidth){m.setCalculatedSize(null,m.height);o.to.width=m.getWidth();m.setCalculatedSize(o.from.width,m.height)}else{if(m.savedFlex){m.flex=m.savedFlex;o.to.width=m.ownerCt.layout.calculateChildBox(m).width;delete m.flex}else{o.to.width=m.expandedSize}}if(k==Ext.Component.DIRECTION_LEFT){l=m.getPosition()[0]-Ext.fly(m.el.dom.offsetParent).getRegion().left;o.from.left=l;o.to.left=l-(o.to.width-s)}}}if(r){m.animate(o)}else{m.setCalculatedSize(o.to.width,o.to.height);if(o.to.x){m.setLeft(o.to.x)}if(o.to.y){m.setTop(o.to.y)}m.afterExpand(false)}return m},afterExpand:function(c){var d=this;if(d.collapseMemento){d.collapseMemento.restoreAll()}d.setAutoScroll(d.initialConfig.autoScroll);if(d.savedFlex){d.flex=d.savedFlex;delete d.savedFlex;delete d.width;delete d.height}delete d.suspendLayout;if(c&&d.ownerCt){Ext.defer(d.ownerCt.doLayout,Ext.isIE6?1:0,d)}if(d.resizer){d.resizer.enable()}d.fireEvent("expand",d);if(c&&d.collapseTool){d.collapseTool.enable()}},toggleCollapse:function(){if(this.collapsed){this.expand(this.animCollapse)}else{this.collapse(this.collapseDirection,this.animCollapse)}return this},getKeyMap:function(){if(!this.keyMap){this.keyMap=Ext.create("Ext.util.KeyMap",this.el,this.keys)}return this.keyMap},initDraggable:function(){this.dd=Ext.create("Ext.panel.DD",this,Ext.isBoolean(this.draggable)?null:this.draggable)},ghostTools:function(){var c=[],d=this.initialConfig.tools;if(d){Ext.each(d,function(a){c.push({type:a.type})})}else{c=[{type:"placeholder"}]}return c},ghost:function(f){var g=this,e=g.ghostPanel,h=g.getBox();if(!e){e=Ext.create("Ext.panel.Panel",{renderTo:document.body,floating:{shadow:false},frame:Ext.supports.CSS3BorderRadius?g.frame:false,title:g.title,overlapHeader:g.overlapHeader,headerPosition:g.headerPosition,width:g.getWidth(),height:g.getHeight(),iconCls:g.iconCls,baseCls:g.baseCls,tools:g.ghostTools(),cls:g.baseCls+"-ghost "+(f||"")});g.ghostPanel=e}e.floatParent=g.floatParent;if(g.floating){e.setZIndex(Ext.Number.from(g.el.getStyle("zIndex"),0))}else{e.toFront()}e.el.show();e.setPosition(h.x,h.y);e.setSize(h.width,h.height);g.el.hide();if(g.floatingItems){g.floatingItems.hide()}return e},unghost:function(d,e){var f=this;if(!f.ghostPanel){return}if(d!==false){f.el.show();if(e!==false){f.setPosition(f.ghostPanel.getPosition())}if(f.floatingItems){f.floatingItems.show()}Ext.defer(f.focus,10,f)}f.ghostPanel.el.hide()},initResizable:function(b){if(this.collapsed){b.disabled=true}this.callParent([b])}});Ext.define("Ext.tab.Panel",{extend:"Ext.panel.Panel",alias:"widget.tabpanel",alternateClassName:["Ext.TabPanel"],requires:["Ext.layout.container.Card","Ext.tab.Bar"],tabPosition:"top",removePanelHeader:true,plain:false,itemCls:"x-tabpanel-child",deferredRender:true,initComponent:function(){var f=this,d=f.dockedItems||[],e=f.activeTab||0;f.layout=Ext.create("Ext.layout.container.Card",Ext.apply({owner:f,deferredRender:f.deferredRender,itemCls:f.itemCls},f.layout));f.tabBar=Ext.create("Ext.tab.Bar",Ext.apply({},f.tabBar,{dock:f.tabPosition,plain:f.plain,border:f.border,cardLayout:f.layout,tabPanel:f}));if(d&&!Ext.isArray(d)){d=[d]}d.push(f.tabBar);f.dockedItems=d;f.addEvents("beforetabchange","tabchange");f.callParent(arguments);f.setActiveTab(e);f.on("afterlayout",f.afterInitialLayout,f,{single:true})},afterInitialLayout:function(){var c=this,d=c.getComponent(c.activeTab);if(d){c.layout.setActiveItem(d)}},setActiveTab:function(e){var f=this,d;e=f.getComponent(e);if(e){d=f.getActiveTab();if(d&&d!==e&&f.fireEvent("beforetabchange",f,e,d)===false){return false}f.tabBar.setActiveTab(e.tab);f.activeTab=e;if(f.rendered){f.layout.setActiveItem(e)}if(d&&d!==e){f.fireEvent("tabchange",f,e,d)}}},getActiveTab:function(){return this.activeTab},getTabBar:function(){return this.tabBar},onAdd:function(h,j){var i=this,f=h.tabConfig||{},g={xtype:"tab",card:h,disabled:h.disabled,closable:h.closable,hidden:h.hidden,tabBar:i.tabBar};if(h.closeText){g.closeText=h.closeText}f=Ext.applyIf(f,g);h.tab=i.tabBar.insert(j,f);h.on({scope:i,enable:i.onItemEnable,disable:i.onItemDisable,beforeshow:i.onItemBeforeShow,iconchange:i.onItemIconChange,titlechange:i.onItemTitleChange});if(h.isPanel){if(i.removePanelHeader){h.preventHeader=true;if(h.rendered){h.updateHeader()}}if(h.isPanel&&i.border){h.setBorder(false)}}if(this.rendered&&i.items.getCount()===1){i.setActiveTab(0)}},onItemEnable:function(b){b.tab.enable()},onItemDisable:function(b){b.tab.disable()},onItemBeforeShow:function(b){if(b!==this.activeTab){this.setActiveTab(b);return false}},onItemIconChange:function(c,d){c.tab.setIconCls(d);this.getTabBar().doLayout()},onItemTitleChange:function(d,c){d.tab.setText(c);this.getTabBar().doLayout()},doRemove:function(i,f){var j=this,g=j.items,h=g.getCount()>1;if(j.destroying||!h){j.activeTab=null}else{if(i===j.activeTab){j.setActiveTab(i.next()||g.getAt(0))}}j.callParent(arguments);delete i.tab.card;delete i.tab},onRemove:function(f,e){var d=this;f.un({scope:d,enable:d.onItemEnable,disable:d.onItemDisable,beforeshow:d.onItemBeforeShow});if(!d.destroying&&f.tab.ownerCt==d.tabBar){d.tabBar.remove(f.tab)}}});Ext.define("Docs.view.cls.Toolbar",{extend:"Ext.toolbar.Toolbar",requires:["Docs.view.HoverMenuButton","Docs.Settings","Ext.form.field.Checkbox"],dock:"top",cls:"member-links",padding:"3 5",style:"border-width: 1px 1px 1px 1px !important;",docClass:{},initComponent:function(){this.addEvents("hideInherited","filter","toggleExpanded");this.items=[];this.memberButtons={};var g=this;var i={cfg:"Configs",property:"Properties",method:"Methods",event:"Events"};for(var k in i){var h=this.docClass.members[k];var j=this.docClass.statics[k];if(h.length||j.length){var l=this.createMemberButton({text:i[k],type:k,members:h.concat(j)});this.memberButtons[k]=l;this.items.push(l)}}if(this.docClass.subclasses.length){this.items.push(this.createClassListButton("Sub Classes",this.docClass.subclasses))}if(this.docClass.mixedInto.length){this.items.push(this.createClassListButton("Mixed Into",this.docClass.mixedInto))}this.items=this.items.concat([{xtype:"tbspacer",width:10},this.filterField=Ext.widget("triggerfield",{triggerCls:"reset",cls:"member-filter",hideTrigger:true,emptyText:"Filter class members",enableKeyEvents:true,listeners:{keyup:function(a){this.fireEvent("filter",a.getValue());a.setHideTrigger(a.getValue().length===0)},specialkey:function(a,b){if(b.keyCode===Ext.EventObject.ESC){a.reset();this.fireEvent("filter","")}},scope:this},onTriggerClick:function(){this.reset();this.focus();g.fireEvent("filter","");this.setHideTrigger(true)}}),{xtype:"tbfill"},{boxLabel:"Hide inherited",boxLabelAlign:"before",xtype:"checkbox",margin:"0 5 0 0",padding:"0 0 5 0",checked:Docs.Settings.get("hideInherited"),handler:function(a){this.fireEvent("hideInherited",a.checked)},scope:this},{xtype:"button",iconCls:"expandAllMembers",tooltip:"Expand all",enableToggle:true,toggleHandler:function(b,a){b.setIconCls(a?"collapseAllMembers":"expandAllMembers");b.setTooltip(a?"Collapse all":"Expand all");this.fireEvent("toggleExpanded",a)},scope:this}]);this.callParent(arguments)},createMemberButton:function(d){var c=Ext.Array.map(d.members,function(a){return this.createLinkRecord(this.docClass.name,a)},this);return Ext.create("Docs.view.HoverMenuButton",{text:d.text,cls:"icon-"+d.type,store:this.createStore(c),showCount:true,listeners:{click:function(){this.up("classoverview").scrollToEl("#m-"+d.type)},scope:this}})},createClassListButton:function(f,e){var d=Ext.Array.map(e,function(a){return this.createLinkRecord(a)},this);return Ext.create("Docs.view.HoverMenuButton",{text:f,cls:"icon-subclass",showCount:true,store:this.createStore(d)})},createStore:function(c){var d=Ext.create("Ext.data.Store",{fields:["id","cls","url","label","inherited","static","protected"]});d.add(c);return d},createLinkRecord:function(d,c){return{cls:d,url:c?d+"-"+c.tagname+"-"+c.name:d,label:c?((c.name==="constructor")?d:c.name):d,inherited:c?c.owner!==d:false,"protected":c?c["protected"]:false,"static":c?c["static"]:false}},hideInherited:function(b){Ext.Array.forEach(["cfg","property","method","event"],function(d){if(this.memberButtons[d]){var a=this.memberButtons[d].getStore();if(b){a.filterBy(function(c){return !c.get("inherited")})}else{a.clearFilter()}}},this)},getFilterValue:function(){return this.filterField.getValue()}});Ext.define("Docs.view.examples.Inline",{extend:"Ext.Panel",alias:"widget.inlineexample",componentCls:"inline-example-cmp",layout:"card",border:0,resizable:{transparent:true,handles:"s",constrainTo:false},maxHeight:400,statics:{iframeId:0},dockedItems:[{xtype:"toolbar",dock:"left",padding:"0 2",style:"background: none;",items:[{iconCls:"code",padding:"0 2 0 0",margin:0,tooltip:"Code"},{padding:0,margin:0,iconCls:"preview",tooltip:"Preview"},{padding:0,margin:0,iconCls:"copy",tooltip:"Select"}]}],defaults:{border:0},initComponent:function(){this.items=[{cmpName:"code",style:"border: 0",bodyPadding:2,bodyStyle:"background: #f7f7f7",autoScroll:true}];this.callParent(arguments)},showCode:function(){this.layout.setActiveItem(0)},showPreview:function(f,d){if(!this.previewInitialized){this.add({bodyPadding:"0 10",cmpName:"preview",html:'<iframe id="'+this.getIframeId()+'" style="width: 100%; height: 100%; border: 0"></iframe>'});var e=document.getElementById(this.getIframeId());e.onload=function(){Ext.Function.defer(f,100,d)};e.src="egIframe.html";this.layout.setActiveItem(1);this.previewInitialized=true}else{this.layout.setActiveItem(1);f.call(d)}},getIframeId:function(){if(!this.iframeId){this.statics().iframeId+=1;this.iframeId="egIframe"+this.statics().iframeId}return this.iframeId},updateHeight:function(){var b=this.el.down(".CodeMirror-lines");if(b){this.setHeight(b.getHeight()+5)}}});Ext.define("Docs.view.cls.Overview",{extend:"Ext.panel.Panel",alias:"widget.classoverview",requires:["Docs.view.cls.Toolbar","Docs.view.examples.Inline","Docs.Syntax","Docs.Settings"],cls:"class-overview iScroll",autoScroll:true,border:false,bodyPadding:"20 8 20 5",initComponent:function(){this.addEvents("afterload");this.callParent(arguments)},scrollToEl:function(i){var k=Ext.get(Ext.query(i)[0]);if(k){var j=k.hasCls("member");var g=k.getY()-(j?165:155);var l=this.getEl().down(".x-panel-body");var h=l.getScroll()["top"];l.scrollTo("top",h+g);if(j&&k.down(".expandable")){k.addCls("open")}k.highlight()}},load:function(b){this.docClass=b;if(this.toolbar){this.removeDocked(this.toolbar,false);this.toolbar.destroy()}this.toolbar=Ext.create("Docs.view.cls.Toolbar",{docClass:this.docClass,listeners:{hideInherited:function(a){this.filterMembers(this.toolbar.getFilterValue(),a)},filter:function(a){this.filterMembers(a,Docs.Settings.get("hideInherited"))},scope:this}});this.addDocked(this.toolbar);this.update(b.html);Docs.Syntax.highlight(this.getEl());if(Docs.Settings.get("hideInherited")){this.filterMembers("",true)}this.fireEvent("afterload")},filterMembers:function(e,g){Docs.Settings.set("hideInherited",g);var f=e.length>0;Ext.Array.forEach(Ext.query(".doc-contents, .hierarchy"),function(a){Ext.get(a).setStyle({display:f?"none":"block"})});var h=new RegExp(Ext.String.escapeRegex(e),"i");this.eachMember(function(b){var a=Ext.get(b.tagname+"-"+b.name);var c=!g||(b.owner===this.docClass.name);var d=!f||h.test(b.name);if(c&&d){a.setStyle({display:"block"})}else{a.setStyle({display:"none"})}},this);Ext.Array.forEach(Ext.query(".member.first-child"),function(a){Ext.get(a).removeCls("first-child")});Ext.Array.forEach(["cfg","property","method","event"],function(d){var c="#m-"+d;var a=this.getVisibleElements(c+" .member");var b=Ext.query(c)[0];b&&Ext.get(b).setStyle({display:a.length>0?"block":"none"});Ext.Array.forEach(Ext.query(c+" .subsection"),function(l){var k=this.getVisibleElements(".member",l);if(k.length>0){k[0].addCls("first-child");Ext.get(l).setStyle({display:"block"})}else{Ext.get(l).setStyle({display:"none"})}},this)},this);this.toolbar.hideInherited(g)},getVisibleElements:function(e,d){var f=Ext.Array.map(Ext.query(e,d),function(a){return Ext.get(a)});return Ext.Array.filter(f,function(a){return a.isVisible()})},eachMember:function(c,d){Ext.Array.forEach(["members","statics"],function(a){Ext.Object.each(this.docClass[a],function(b,f){Ext.Array.forEach(f,c,d)},this)},this)}});Ext.define("Docs.view.cls.Container",{extend:"Ext.container.Container",alias:"widget.classcontainer",requires:["Docs.view.cls.Header","Docs.view.cls.Overview"],layout:{type:"vbox",align:"stretch"},padding:"5 10 0 10",initComponent:function(){this.items=[Ext.create("Docs.view.cls.Header"),Ext.create("Docs.view.cls.Overview",{flex:1})];this.callParent(arguments)}});Ext.define("Ext.panel.Table",{extend:"Ext.panel.Panel",alias:"widget.tablepanel",uses:["Ext.selection.RowModel","Ext.grid.Scroller","Ext.grid.header.Container","Ext.grid.Lockable"],cls:Ext.baseCSSPrefix+"grid",extraBodyCls:Ext.baseCSSPrefix+"grid-body",layout:"fit",hasView:false,viewType:null,selType:"rowmodel",scrollDelta:40,scroll:true,sortableColumns:true,verticalScrollDock:"right",verticalScrollerType:"gridscroller",horizontalScrollerPresentCls:Ext.baseCSSPrefix+"horizontal-scroller-present",verticalScrollerPresentCls:Ext.baseCSSPrefix+"vertical-scroller-present",scrollerOwner:true,invalidateScrollerOnRefresh:true,enableColumnMove:true,enableColumnResize:true,enableColumnHide:true,initComponent:function(){if(!this.viewType){Ext.Error.raise("You must specify a viewType config.")}if(!this.store){Ext.Error.raise("You must specify a store config")}if(this.headers){Ext.Error.raise("The headers config is not supported. Please specify columns instead.")}var l=this,j=l.scroll,o=false,p=false,k=l.columns||l.colModel,m=0,i,n=l.border;if(l.hideHeaders){n=false}if(k instanceof Ext.grid.header.Container){l.headerCt=k;l.headerCt.border=n;l.columns=l.headerCt.items.items}else{if(Ext.isArray(k)){k={items:k,border:n}}Ext.apply(k,{forceFit:l.forceFit,sortable:l.sortableColumns,enableColumnMove:l.enableColumnMove,enableColumnResize:l.enableColumnResize,enableColumnHide:l.enableColumnHide,border:n});l.columns=k.items;if(Ext.ComponentQuery.query("{locked !== undefined}{processed != true}",l.columns).length){l.self.mixin("lockable",Ext.grid.Lockable);l.injectLockable()}}l.store=Ext.data.StoreManager.lookup(l.store);l.addEvents("reconfigure","scrollerhide","scrollershow");l.bodyCls=l.bodyCls||"";l.bodyCls+=(" "+l.extraBodyCls);delete l.autoScroll;if(!l.hasView){if(!l.headerCt){l.headerCt=Ext.create("Ext.grid.header.Container",k)}l.columns=l.headerCt.items.items;if(l.hideHeaders){l.headerCt.height=0;l.headerCt.border=false;l.headerCt.addCls(Ext.baseCSSPrefix+"grid-header-ct-hidden");l.addCls(Ext.baseCSSPrefix+"grid-header-hidden");if(Ext.isIEQuirks){l.headerCt.style={display:"none"}}}if(j===true||j==="both"){o=p=true}else{if(j==="horizontal"){p=true}else{if(j==="vertical"){o=true}else{l.headerCt.availableSpaceOffset=0}}}if(o){l.verticalScroller=Ext.ComponentManager.create(l.initVerticalScroller());l.mon(l.verticalScroller,{bodyscroll:l.onVerticalScroll,scope:l})}if(p){l.horizontalScroller=Ext.ComponentManager.create(l.initHorizontalScroller());l.mon(l.horizontalScroller,{bodyscroll:l.onHorizontalScroll,scope:l})}l.headerCt.on("columnresize",l.onHeaderResize,l);l.relayEvents(l.headerCt,["columnresize","columnmove","columnhide","columnshow","sortchange"]);l.features=l.features||[];l.dockedItems=l.dockedItems||[];l.dockedItems.unshift(l.headerCt);l.viewConfig=l.viewConfig||{};l.viewConfig.invalidateScrollerOnRefresh=l.invalidateScrollerOnRefresh;i=l.getView();i.on({afterrender:function(){i.el.scroll=Ext.Function.bind(l.elScroll,l);l.mon(i.el,{mousewheel:l.onMouseWheel,scope:l})},single:true});this.items=[i];l.mon(i.store,{load:l.onStoreLoad,scope:l});l.mon(i,{refresh:l.onViewRefresh,scope:l});this.relayEvents(i,["beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","selectionchange","beforeselect"])}l.callParent(arguments)},initStateEvents:function(){var b=this.stateEvents;Ext.each(["columnresize","columnmove","columnhide","columnshow","sortchange"],function(a){if(Ext.Array.indexOf(b,a)){b.push(a)}});this.callParent()},initHorizontalScroller:function(){var c=this,d={xtype:"gridscroller",dock:"bottom",section:c,store:c.store};return d},initVerticalScroller:function(){var c=this,d=c.verticalScroller||{};Ext.applyIf(d,{xtype:c.verticalScrollerType,dock:c.verticalScrollDock,store:c.store});return d},getState:function(){var l=this.callParent(),i=this.store.sorters.first(),k=this.headerCt.items.items,j,h=k.length,g=0;l.columns=[];for(;g<h;g++){j=k[g];l.columns[g]={id:j.headerId};if(j.hidden!==(j.initialConfig.hidden||j.self.prototype.hidden)){l.columns[g].hidden=j.hidden}if(j.sortable!==j.initialConfig.sortable){l.columns[g].sortable=j.sortable}if(j.flex){if(j.flex!==j.initialConfig.flex){l.columns[g].flex=j.flex}}else{if(j.width!==j.initialConfig.width){l.columns[g].width=j.width}}}if(i){l.sort={property:i.property,direction:i.direction}}return l},applyState:function(w){var u=w.columns,v=u?u.length:0,t=this.headerCt,o=t.items,i=w.sort,n=this.store,s=0,p,m,r;t.suspendLayout=true;this.callParent(arguments);for(;s<v;++s){m=u[s];r=t.down("gridcolumn[headerId="+m.id+"]");p=o.indexOf(r);if(s!==p){t.moveHeader(p,s)}if(Ext.isDefined(m.hidden)){r.hidden=m.hidden}if(Ext.isDefined(m.sortable)){r.sortable=m.sortable}if(Ext.isDefined(m.flex)){delete r.width;r.flex=m.flex}else{if(Ext.isDefined(m.width)){delete r.flex;r.minWidth=m.width;if(r.rendered){r.setWidth(m.width)}else{r.width=m.width}}}}t.suspendLayout=false;t.doLayout();if(i){if(n.remoteSort){n.sorters.add(Ext.create("Ext.util.Sorter",{property:i.property,direction:i.direction}))}else{n.sort(i.property,i.direction)}}},getStore:function(){return this.store},getView:function(){var d=this,c;if(!d.view){c=d.getSelectionModel();d.view=d.createComponent(Ext.apply({},d.viewConfig,{deferRowRender:d.deferRowRender,xtype:d.viewType,store:d.store,headerCt:d.headerCt,selModel:c,features:d.features,panel:d}));d.mon(d.view,{uievent:d.processEvent,scope:d});c.view=d.view;d.headerCt.view=d.view;d.relayEvents(d.view,["cellclick","celldblclick"])}return d.view},setAutoScroll:Ext.emptyFn,elScroll:function(i,h,f){var j=this,g;if(i==="up"||i==="left"){h=-h}if(i==="down"||i==="up"){g=j.getVerticalScroller();g.scrollByDeltaY(h)}else{g=j.getHorizontalScroller();g.scrollByDeltaX(h)}},processEvent:function(n,e,j,p,o,l){var m=this,k;if(o!==-1){k=m.headerCt.getGridColumns()[o];return k.processEvent.apply(k,arguments)}},determineScrollbars:function(){var o=this,t,w,s,n,l,r,p=o.verticalScroller,u=o.horizontalScroller,m=(p&&p.ownerCt===o?1:0)|(u&&u.ownerCt===o?2:0),v=0;if(!o.collapsed&&o.view&&o.view.el&&o.view.el.dom.firstChild){t=o.layout.getLayoutTargetSize();n=t.width+((m&1)?p.width:0);r=t.height+((m&2)?u.height:0);s=(o.headerCt.query("[flex]").length&&!o.headerCt.layout.tooNarrow)?0:o.headerCt.getFullWidth();if(p&&p.el){l=p.getSizeCalculation().height}else{w=o.view.el.child("table",true);l=w?w.offsetHeight:0}if(l>r){v=1;if(u&&((n-s)<p.width)){v=3}}else{if(s>n){v=2;if(p&&((r-l)<u.height)){v=3}}}if(v!==m){o.suspendLayout=true;if(v&1){o.showVerticalScroller()}else{o.hideVerticalScroller()}if(v&2){o.showHorizontalScroller()}else{o.hideHorizontalScroller()}o.suspendLayout=false;o.changingScrollBars=true;o.doComponentLayout(o.getWidth(),o.getHeight(),false,o.ownerCt);o.changingScrollBars=false}}},afterComponentLayout:function(){var b=this;b.callParent(arguments);if(!b.changingScrollBars){b.determineScrollbars()}b.invalidateScroller()},onHeaderResize:function(){if(this.view&&this.view.rendered){this.determineScrollbars();this.invalidateScroller()}},afterCollapse:function(){var b=this;if(b.verticalScroller){b.verticalScroller.saveScrollPos()}if(b.horizontalScroller){b.horizontalScroller.saveScrollPos()}b.callParent(arguments)},afterExpand:function(){var b=this;b.callParent(arguments);if(b.verticalScroller){b.verticalScroller.restoreScrollPos()}if(b.horizontalScroller){b.horizontalScroller.restoreScrollPos()}},hideHorizontalScroller:function(){var b=this;if(b.horizontalScroller&&b.horizontalScroller.ownerCt===b){b.verticalScroller.setReservedSpace(0);b.removeDocked(b.horizontalScroller,false);b.removeCls(b.horizontalScrollerPresentCls);b.fireEvent("scrollerhide",b.horizontalScroller,"horizontal")}},showHorizontalScroller:function(){var b=this;if(b.verticalScroller){b.verticalScroller.setReservedSpace(Ext.getScrollbarSize().height-1)}if(b.horizontalScroller&&b.horizontalScroller.ownerCt!==b){b.addDocked(b.horizontalScroller);b.addCls(b.horizontalScrollerPresentCls);b.fireEvent("scrollershow",b.horizontalScroller,"horizontal")}},hideVerticalScroller:function(){var b=this;b.setHeaderReserveOffset(false);if(b.verticalScroller&&b.verticalScroller.ownerCt===b){b.removeDocked(b.verticalScroller,false);b.removeCls(b.verticalScrollerPresentCls);b.fireEvent("scrollerhide",b.verticalScroller,"vertical")}},showVerticalScroller:function(){var b=this;b.setHeaderReserveOffset(true);if(b.verticalScroller&&b.verticalScroller.ownerCt!==b){b.addDocked(b.verticalScroller);b.addCls(b.verticalScrollerPresentCls);b.fireEvent("scrollershow",b.verticalScroller,"vertical")}},setHeaderReserveOffset:function(e){var f=this.headerCt,d=f.layout;if(d&&d.reserveOffset!==e){d.reserveOffset=e;f.doLayout()}},invalidateScroller:function(){var d=this,e=d.verticalScroller,f=d.horizontalScroller;if(e){e.invalidate()}if(f){f.invalidate()}},onHeaderMove:function(h,g,f,e){this.view.refresh()},onHeaderHide:function(d,c){this.invalidateScroller()},onHeaderShow:function(d,c){this.invalidateScroller()},getVerticalScroller:function(){return this.getScrollerOwner().down("gridscroller[dock="+this.verticalScrollDock+"]")},getHorizontalScroller:function(){return this.getScrollerOwner().down("gridscroller[dock=bottom]")},onMouseWheel:function(u){var t=this,x=t.getVerticalScroller(),s=t.getHorizontalScroller(),E=-t.scrollDelta,D=u.getWheelDeltas(),z=E*D.x,A=E*D.y,v,r,F,e,C,y,w,B;if(s){r=s.scrollEl;if(r){e=r.dom;y=e.scrollLeft!==e.scrollWidth-e.clientWidth;C=e.scrollLeft!==0}}if(x){v=x.scrollEl;if(v){F=v.dom;w=F.scrollTop!==F.scrollHeight-F.clientHeight;B=F.scrollTop!==0}}if(s){if((z<0&&C)||(z>0&&y)){u.stopEvent();s.scrollByDeltaX(z)}}if(x){if((A<0&&B)||(A>0&&w)){u.stopEvent();x.scrollByDeltaY(A)}}},onViewRefresh:function(){this.determineScrollbars();if(this.invalidateScrollerOnRefresh){this.invalidateScroller()}},setScrollTop:function(g){var h=this,e=h.getScrollerOwner(),f=h.getVerticalScroller();e.virtualScrollTop=g;if(f){f.setScrollTop(g)}},getScrollerOwner:function(){var b=this;if(!this.scrollerOwner){b=this.up("[scrollerOwner]")}return b},scrollByDeltaY:function(d){var c=this.getVerticalScroller();if(c){c.scrollByDeltaY(d)}},scrollByDeltaX:function(d){var c=this.getVerticalScroller();if(c){c.scrollByDeltaX(d)}},getLhsMarker:function(){var b=this;if(!b.lhsMarker){b.lhsMarker=Ext.core.DomHelper.append(b.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return b.lhsMarker},getRhsMarker:function(){var b=this;if(!b.rhsMarker){b.rhsMarker=Ext.core.DomHelper.append(b.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return b.rhsMarker},getSelectionModel:function(){if(!this.selModel){this.selModel={}}var c="SINGLE",d;if(this.simpleSelect){c="SIMPLE"}else{if(this.multiSelect){c="MULTI"}}Ext.applyIf(this.selModel,{allowDeselect:this.allowDeselect,mode:c});if(!this.selModel.events){d=this.selModel.selType||this.selType;this.selModel=Ext.create("selection."+d,this.selModel)}if(!this.selModel.hasRelaySetup){this.relayEvents(this.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);this.selModel.hasRelaySetup=true}if(this.disableSelection){this.selModel.locked=true}return this.selModel},onVerticalScroll:function(j,i){var g=this.getScrollerOwner(),l=g.query("tableview"),k=0,h=l.length;for(;k<h;k++){l[k].el.dom.scrollTop=i.scrollTop}},onHorizontalScroll:function(i,h){var f=this.getScrollerOwner(),j=f.query("tableview"),g=j[1]||j[0];g.el.dom.scrollLeft=h.scrollLeft;this.headerCt.el.dom.scrollLeft=h.scrollLeft},onStoreLoad:Ext.emptyFn,getEditorParent:function(){return this.body},bindStore:function(d){var c=this;c.store=d;c.getView().bindStore(d)},reconfigure:function(f,e){var h=this,g=h.headerCt;if(h.lockable){h.reconfigureLockable(f,e)}else{g.suspendLayout=true;g.removeAll();if(e){g.add(e)}else{g.doLayout()}if(f){f=Ext.StoreManager.lookup(f);h.bindStore(f)}else{h.getView().refresh()}if(e){h.forceComponentLayout()}}h.fireEvent("reconfigure",h)}});Ext.define("Ext.tree.Panel",{extend:"Ext.panel.Table",alias:"widget.treepanel",alternateClassName:["Ext.tree.TreePanel","Ext.TreePanel"],requires:["Ext.tree.View","Ext.selection.TreeModel","Ext.tree.Column"],viewType:"treeview",selType:"treemodel",treeCls:Ext.baseCSSPrefix+"tree-panel",deferRowRender:false,lines:true,useArrows:false,singleExpand:false,ddConfig:{enableDrag:true,enableDrop:true},rootVisible:true,displayField:"text",root:null,normalCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible","scroll"],lockedCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible"],constructor:function(b){b=b||{};if(b.animate===undefined){b.animate=Ext.enableFx}this.enableAnimations=b.animate;delete b.animate;this.callParent([b])},initComponent:function(){var c=this,d=[c.treeCls];if(c.useArrows){d.push(Ext.baseCSSPrefix+"tree-arrows");c.lines=false}if(c.lines){d.push(Ext.baseCSSPrefix+"tree-lines")}else{if(!c.useArrows){d.push(Ext.baseCSSPrefix+"tree-no-lines")}}if(Ext.isString(c.store)){c.store=Ext.StoreMgr.lookup(c.store)}else{if(!c.store||Ext.isObject(c.store)&&!c.store.isStore){c.store=Ext.create("Ext.data.TreeStore",Ext.apply({},c.store||{},{root:c.root,fields:c.fields,model:c.model,folderSort:c.folderSort}))}else{if(c.root){c.store=Ext.data.StoreManager.lookup(c.store);c.store.setRootNode(c.root);if(c.folderSort!==undefined){c.store.folderSort=c.folderSort;c.store.sort()}}}}c.viewConfig=Ext.applyIf(c.viewConfig||{},{rootVisible:c.rootVisible,animate:c.enableAnimations,singleExpand:c.singleExpand,node:c.store.getRootNode(),hideHeaders:c.hideHeaders});c.mon(c.store,{scope:c,rootchange:c.onRootChange,clear:c.onClear});c.relayEvents(c.store,["beforeload","load"]);c.store.on({append:c.createRelayer("itemappend"),remove:c.createRelayer("itemremove"),move:c.createRelayer("itemmove"),insert:c.createRelayer("iteminsert"),beforeappend:c.createRelayer("beforeitemappend"),beforeremove:c.createRelayer("beforeitemremove"),beforemove:c.createRelayer("beforeitemmove"),beforeinsert:c.createRelayer("beforeiteminsert"),expand:c.createRelayer("itemexpand"),collapse:c.createRelayer("itemcollapse"),beforeexpand:c.createRelayer("beforeitemexpand"),beforecollapse:c.createRelayer("beforeitemcollapse")});if(!c.columns){if(c.initialConfig.hideHeaders===undefined){c.hideHeaders=true}c.columns=[{xtype:"treecolumn",text:"Name",flex:1,dataIndex:c.displayField}]}if(c.cls){d.push(c.cls)}c.cls=d.join(" ");c.callParent();c.relayEvents(c.getView(),["checkchange"]);if(!c.getView().rootVisible&&!c.getRootNode()){c.setRootNode({expanded:true})}},onClear:function(){this.view.onClear()},setRootNode:function(){return this.store.setRootNode.apply(this.store,arguments)},getRootNode:function(){return this.store.getRootNode()},onRootChange:function(b){this.view.setRootNode(b)},getChecked:function(){return this.getView().getChecked()},isItemChecked:function(b){return b.get("checked")},expandAll:function(f,d){var e=this.getRootNode();if(e){e.expand(true,f,d)}},collapseAll:function(f,d){var e=this.getRootNode();if(e){if(this.getView().rootVisible){e.collapse(true,f,d)}else{e.collapseChildren(true,f,d)}}},expandPath:function(l,r,w,p,m){var t=this,u=t.getRootNode(),v=1,s=t.getView(),n,o;r=r||t.getRootNode().idProperty;w=w||"/";if(Ext.isEmpty(l)){Ext.callback(p,m||t,[false,null]);return}n=l.split(w);if(u.get(r)!=n[1]){Ext.callback(p,m||t,[false,u]);return}o=function(){if(++v===n.length){Ext.callback(p,m||t,[true,u]);return}var a=u.findChild(r,n[v]);if(!a){Ext.callback(p,m||t,[false,u]);return}u=a;u.expand(false,o)};u.expand(false,o)},selectPath:function(l,m,n,k,j){var o=this,p,i;m=m||o.getRootNode().idProperty;n=n||"/";p=l.split(n);i=p.pop();o.expandPath(p.join(n),m,n,function(a,b){var c=false;if(a&&b){b=b.findChild(m,i);if(b){o.getSelectionModel().select(b);Ext.callback(k,j||o,[true,b]);c=true}}else{if(b===o.getRootNode()){c=true}}Ext.callback(k,j||o,[c,b])},o)}});Ext.define("Docs.view.DocTree",{extend:"Ext.tree.Panel",alias:"widget.doctree",cls:"doc-tree iScroll",useArrows:true,rootVisible:false,border:false,bodyBorder:false,initComponent:function(){this.addEvents("urlclick");this.root.expanded=true;if(this.root.children[0]){this.root.children[0].expanded=true}this.on("itemclick",this.onItemClick,this);this.callParent();this.nodeTpl=new Ext.XTemplate('<a href="{url}" rel="{url}">{text}</a>');this.initNodeLinks()},initNodeLinks:function(){this.getRootNode().cascadeBy(this.applyNodeTpl,this)},applyNodeTpl:function(b){if(b.get("leaf")){b.set("text",this.nodeTpl.apply({text:b.get("text"),url:b.raw.url}));b.commit()}},onItemClick:function(h,j,k,l,i){var e=j.raw?j.raw.url:j.data.url;if(e){this.fireEvent("urlclick",e,i)}else{if(!j.isLeaf()){if(j.isExpanded()){j.collapse(false)}else{j.expand(false)}}}},selectUrl:function(d){var c=this.findRecordByUrl(d);if(c){c.bubble(function(a){a.expand()});this.getSelectionModel().select(c)}else{this.getSelectionModel().deselectAll()}},findRecordByUrl:function(b){return this.getRootNode().findChildBy(function(a){return b===a.raw.url},this,true)}});Ext.define("Docs.view.cls.Tree",{extend:"Docs.view.DocTree",alias:"widget.classtree",requires:["Docs.view.cls.PackageLogic","Docs.view.cls.InheritanceLogic"],initComponent:function(){this.setLogic(Docs.view.cls.PackageLogic);this.dockedItems=[{xtype:"container",dock:"bottom",cls:"cls-grouping",html:['<button class="by-package selected">By Package</button>','<button class="by-inheritance">By Inheritance</button>'].join("")}];this.callParent()},setLogic:function(h){var f=new h({classes:this.data,showPrivateClasses:true});if(this.root){var g=this.getSelectionModel().getLastSelected();var e=f.create();this.setRootNode(e);this.initNodeLinks();this.getRootNode().getChildAt(0).expand();g&&this.selectUrl(g.raw.url)}else{this.root=f.create()}}});Ext.define("Docs.view.GroupTree",{extend:"Docs.view.DocTree",alias:"widget.grouptree",initComponent:function(){this.root={children:[],text:"Root"};Ext.Array.each(this.data,function(b){this.root.children.push({text:b.title,children:Ext.Array.map(b.items,this.convert),iconCls:"icon-pkg"})},this);this.callParent()}});Ext.define("Docs.view.TreeContainer",{extend:"Ext.panel.Panel",alias:"widget.treecontainer",requires:["Docs.view.cls.Tree","Docs.view.GroupTree"],cls:"iScroll",layout:"card",resizable:true,resizeHandles:"e",collapsible:true,hideCollapseTool:true,animCollapse:true,initComponent:function(){this.items=[{xtype:"classtree",id:"classtree",data:Docs.data.classes},{xtype:"grouptree",id:"exampletree",data:Docs.data.examples,convert:function(b){return{leaf:true,text:b.text,url:"#!/example/"+b.url,iconCls:"icon-example"}}},{xtype:"grouptree",id:"guidetree",data:Docs.data.guides,convert:function(b){return{leaf:true,text:b.title,url:"#!/guide/"+b.name,iconCls:"icon-guide"}}},{xtype:"grouptree",id:"videotree",data:Docs.data.videos,convert:function(b){return{leaf:true,text:b.title,url:"#!/video/"+b.id,iconCls:"icon-video"}}}];this.callParent()},showTree:function(b){this.show();this.layout.setActiveItem(b)}});Ext.define("Docs.view.Viewport",{extend:"Ext.container.Viewport",requires:["Docs.view.search.Container","Docs.view.Tabs","Docs.view.TreeContainer","Docs.view.welcome.Index","Docs.view.cls.Index","Docs.view.cls.Container","Docs.view.guides.Index","Docs.view.guides.Container","Docs.view.videos.Index","Docs.view.videos.Container","Docs.view.examples.Index","Docs.view.examples.Container"],id:"viewport",layout:"border",defaults:{xtype:"container"},initComponent:function(){this.items=[{region:"north",id:"north-region",height:65,layout:{type:"vbox",align:"stretch"},items:[{height:37,xtype:"container",layout:"hbox",items:[{xtype:"container",flex:1,contentEl:"header-content"},{xtype:"searchcontainer",id:"search-container",width:230,margin:"5 0 0 0"}]},{xtype:"doctabs"}]},{region:"center",layout:"border",minWidth:800,items:[{region:"west",xtype:"treecontainer",id:"treecontainer",border:1,bodyPadding:"10 9 4 9",width:240},{region:"center",id:"center-container",layout:"fit",minWidth:800,border:false,padding:"5 10",items:{id:"card-panel",cls:"card-panel",xtype:"container",layout:{type:"card",deferredRender:true},items:[{autoScroll:true,xtype:"welcomeindex",id:"welcomeindex"},{xtype:"container",id:"failure"},{autoScroll:true,xtype:"classindex",id:"classindex"},{xtype:"classcontainer",id:"classcontainer"},{autoScroll:true,xtype:"guideindex",id:"guideindex"},{autoScroll:true,xtype:"guidecontainer",id:"guide",cls:"iScroll"},{xtype:"videoindex",id:"videoindex"},{xtype:"videocontainer",id:"video"},{xtype:"exampleindex",id:"exampleindex"},{xtype:"examplecontainer",id:"example"}]}}]},{region:"south",id:"footer",height:20,contentEl:"footer-content"}];this.callParent(arguments)},setPageTitle:function(b){b=Ext.util.Format.stripTags(b);if(!this.origTitle){this.origTitle=document.title}document.title=b?(b+" - "+this.origTitle):this.origTitle}});Ext.define("Ext.tip.Tip",{extend:"Ext.panel.Panel",requires:["Ext.layout.component.Tip"],alternateClassName:"Ext.Tip",minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",constrainPosition:true,frame:false,autoRender:true,hidden:true,baseCls:Ext.baseCSSPrefix+"tip",floating:{shadow:true,shim:true,constrain:true},focusOnToFront:false,componentLayout:"tip",closeAction:"hide",ariaRole:"tooltip",initComponent:function(){this.callParent(arguments);this.constrain=this.constrain||this.constrainPosition},showAt:function(c){var d=this;this.callParent();if(d.isVisible()){d.setPagePosition(c[0],c[1]);if(d.constrainPosition||d.constrain){d.doConstrain()}d.toFront(true)}},showBy:function(d,c){this.showAt(this.el.getAlignToXY(d,c||this.defaultAlign))},initDraggable:function(){var b=this;b.draggable={el:b.getDragEl(),delegate:b.header.el,constrain:b,constrainTo:b.el.dom.parentNode};Ext.Component.prototype.initDraggable.call(b)},ghost:undefined,unghost:undefined});Ext.define("Ext.tip.ToolTip",{extend:"Ext.tip.Tip",alias:"widget.tooltip",alternateClassName:"Ext.ToolTip",showDelay:500,hideDelay:200,dismissDelay:5000,trackMouse:false,anchorToTarget:true,anchorOffset:0,targetCounter:0,quickShowInterval:250,initComponent:function(){var b=this;b.callParent(arguments);b.lastActive=new Date();b.setTarget(b.target);b.origAnchor=b.anchor},onRender:function(d,e){var f=this;f.callParent(arguments);f.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+f.getAnchorPosition();f.anchorEl=f.el.createChild({cls:Ext.baseCSSPrefix+"tip-anchor "+f.anchorCls})},afterRender:function(){var d=this,c;d.callParent(arguments);c=parseInt(d.el.getZIndex(),10)||0;d.anchorEl.setStyle("z-index",c+1).setVisibilityMode(Ext.core.Element.DISPLAY)},setTarget:function(g){var e=this,f=Ext.get(g),h;if(e.target){h=Ext.get(e.target);e.mun(h,"mouseover",e.onTargetOver,e);e.mun(h,"mouseout",e.onTargetOut,e);e.mun(h,"mousemove",e.onMouseMove,e)}e.target=f;if(f){e.mon(f,{freezeEvent:true,mouseover:e.onTargetOver,mouseout:e.onTargetOut,mousemove:e.onMouseMove,scope:e})}if(e.anchor){e.anchorTarget=e.target}},onMouseMove:function(g){var e=this,f=e.delegate?g.getTarget(e.delegate):e.triggerElement=true,h;if(f){e.targetXY=g.getXY();if(f===e.triggerElement){if(!e.hidden&&e.trackMouse){h=e.getTargetXY();if(e.constrainPosition){h=e.el.adjustForConstraints(h,e.el.dom.parentNode)}e.setPagePosition(h)}}else{e.hide();e.lastActive=new Date(0);e.onTargetOver(g)}}else{if((!e.closable&&e.isVisible())&&e.autoHide!==false){e.hide()}}},getTargetXY:function(){var s=this,x;if(s.delegate){s.anchorTarget=s.triggerElement}if(s.anchor){s.targetCounter++;var y=s.getOffsets(),n=(s.anchorToTarget&&!s.trackMouse)?s.el.getAlignToXY(s.anchorTarget,s.getAnchorAlign()):s.targetXY,A=Ext.core.Element.getViewWidth()-5,t=Ext.core.Element.getViewHeight()-5,p=document.documentElement,w=document.body,o=(p.scrollLeft||w.scrollLeft||0)+5,r=(p.scrollTop||w.scrollTop||0)+5,z=[n[0]+y[0],n[1]+y[1]],u=s.getSize(),v=s.constrainPosition;s.anchorEl.removeCls(s.anchorCls);if(s.targetCounter<2&&v){if(z[0]<o){if(s.anchorToTarget){s.defaultAlign="l-r";if(s.mouseOffset){s.mouseOffset[0]*=-1}}s.anchor="left";return s.getTargetXY()}if(z[0]+u.width>A){if(s.anchorToTarget){s.defaultAlign="r-l";if(s.mouseOffset){s.mouseOffset[0]*=-1}}s.anchor="right";return s.getTargetXY()}if(z[1]<r){if(s.anchorToTarget){s.defaultAlign="t-b";if(s.mouseOffset){s.mouseOffset[1]*=-1}}s.anchor="top";return s.getTargetXY()}if(z[1]+u.height>t){if(s.anchorToTarget){s.defaultAlign="b-t";if(s.mouseOffset){s.mouseOffset[1]*=-1}}s.anchor="bottom";return s.getTargetXY()}}s.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+s.getAnchorPosition();s.anchorEl.addCls(s.anchorCls);s.targetCounter=0;return z}else{x=s.getMouseOffset();return(s.targetXY)?[s.targetXY[0]+x[0],s.targetXY[1]+x[1]]:x}},getMouseOffset:function(){var d=this,c=d.anchor?[0,0]:[15,18];if(d.mouseOffset){c[0]+=d.mouseOffset[0];c[1]+=d.mouseOffset[1]}return c},getAnchorPosition:function(){var c=this,d;if(c.anchor){c.tipAnchor=c.anchor.charAt(0)}else{d=c.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!d){Ext.Error.raise('The AnchorTip.defaultAlign value "'+c.defaultAlign+'" is invalid.')}c.tipAnchor=d[1].charAt(0)}switch(c.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var h=this,g,e,f=h.getAnchorPosition().charAt(0);if(h.anchorToTarget&&!h.trackMouse){switch(f){case"t":e=[0,9];break;case"b":e=[0,-13];break;case"r":e=[-13,0];break;default:e=[9,0];break}}else{switch(f){case"t":e=[-15-h.anchorOffset,30];break;case"b":e=[-19-h.anchorOffset,-13-h.el.dom.offsetHeight];break;case"r":e=[-15-h.el.dom.offsetWidth,-13-h.anchorOffset];break;default:e=[25,-13-h.anchorOffset];break}}g=h.getMouseOffset();e[0]+=g[0];e[1]+=g[1];return e},onTargetOver:function(f){var d=this,e;if(d.disabled||f.within(d.target.dom,true)){return}e=f.getTarget(d.delegate);if(e){d.triggerElement=e;d.clearTimer("hide");d.targetXY=f.getXY();d.delayShow()}},delayShow:function(){var b=this;if(b.hidden&&!b.showTimer){if(Ext.Date.getElapsed(b.lastActive)<b.quickShowInterval){b.show()}else{b.showTimer=Ext.defer(b.show,b.showDelay,b)}}else{if(!b.hidden&&b.autoHide!==false){b.show()}}},onTargetOut:function(c){var d=this;if(d.disabled||c.within(d.target.dom,true)){return}d.clearTimer("show");if(d.autoHide!==false){d.delayHide()}},delayHide:function(){var b=this;if(!b.hidden&&!b.hideTimer){b.hideTimer=Ext.defer(b.hide,b.hideDelay,b)}},hide:function(){var b=this;b.clearTimer("dismiss");b.lastActive=new Date();if(b.anchorEl){b.anchorEl.hide()}b.callParent(arguments);delete b.triggerElement},show:function(){var b=this;this.callParent();if(this.hidden===false){b.setPagePosition(-10000,-10000);if(b.anchor){b.anchor=b.origAnchor}b.showAt(b.getTargetXY());if(b.anchor){b.syncAnchor();b.anchorEl.show()}else{b.anchorEl.hide()}}},showAt:function(c){var d=this;d.lastActive=new Date();d.clearTimers();if(!d.isVisible()){this.callParent(arguments)}if(d.isVisible()){d.setPagePosition(c[0],c[1]);if(d.constrainPosition||d.constrain){d.doConstrain()}d.toFront(true)}if(d.dismissDelay&&d.autoHide!==false){d.dismissTimer=Ext.defer(d.hide,d.dismissDelay,d)}if(d.anchor){d.syncAnchor();if(!d.anchorEl.isVisible()){d.anchorEl.show()}}else{d.anchorEl.hide()}},syncAnchor:function(){var h=this,f,e,g;switch(h.tipAnchor.charAt(0)){case"t":f="b";e="tl";g=[20+h.anchorOffset,1];break;case"r":f="l";e="tr";g=[-1,12+h.anchorOffset];break;case"b":f="t";e="bl";g=[20+h.anchorOffset,-1];break;default:f="r";e="tl";g=[1,12+h.anchorOffset];break}h.anchorEl.alignTo(h.el,f+"-"+e,g)},setPagePosition:function(e,f){var d=this;d.callParent(arguments);if(d.anchor){d.syncAnchor()}},clearTimer:function(b){b=b+"Timer";clearTimeout(this[b]);delete this[b]},clearTimers:function(){var b=this;b.clearTimer("show");b.clearTimer("dismiss");b.clearTimer("hide")},onShow:function(){var b=this;b.callParent();b.mon(Ext.getDoc(),"mousedown",b.onDocMouseDown,b)},onHide:function(){var b=this;b.callParent();b.mun(Ext.getDoc(),"mousedown",b.onDocMouseDown,b)},onDocMouseDown:function(c){var d=this;if(d.autoHide!==true&&!d.closable&&!c.within(d.el.dom)){d.disable();Ext.defer(d.doEnable,100,d)}},doEnable:function(){if(!this.isDestroyed){this.enable()}},onDisable:function(){this.callParent();this.clearTimers();this.hide()},beforeDestroy:function(){var b=this;b.clearTimers();Ext.destroy(b.anchorEl);delete b.anchorEl;delete b.target;delete b.anchorTarget;delete b.triggerElement;b.callParent()},onDestroy:function(){Ext.getDoc().un("mousedown",this.onDocMouseDown,this);this.callParent()}});Ext.define("Ext.tip.QuickTip",{extend:"Ext.tip.ToolTip",alternateClassName:"Ext.QuickTip",interceptTitles:false,title:"&#160;",tagConfig:{namespace:"data-",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign",anchor:"anchor"},initComponent:function(){var b=this;b.target=b.target||Ext.getDoc();b.targets=b.targets||{};b.callParent()},register:function(n){var j=Ext.isArray(n)?n:arguments,m=0,i=j.length,k,h,l;for(;m<i;m++){n=j[m];k=n.target;if(k){if(Ext.isArray(k)){for(h=0,l=k.length;h<l;h++){this.targets[Ext.id(k[h])]=n}}else{this.targets[Ext.id(k)]=n}}}},unregister:function(b){delete this.targets[Ext.id(b)]},cancelShow:function(e){var d=this,f=d.activeTarget;e=Ext.get(e).dom;if(d.isVisible()){if(f&&f.el==e){d.hide()}}else{if(f&&f.el==e){d.clearTimer("show")}}},getTipCfg:function(g){var e=g.getTarget(),h,f;if(this.interceptTitles&&e.title&&Ext.isString(e.title)){h=e.title;e.qtip=h;e.removeAttribute("title");g.preventDefault()}else{f=this.tagConfig;e=g.getTarget("["+f.namespace+f.attribute+"]");if(e){h=e.getAttribute(f.namespace+f.attribute)}}return h},onTargetOver:function(l){var o=this,m=l.getTarget(),k,e,p,n,j;if(o.disabled){return}o.targetXY=l.getXY();if(!m||m.nodeType!==1||m==document||m==document.body){return}if(o.activeTarget&&((m==o.activeTarget.el)||Ext.fly(o.activeTarget.el).contains(m))){o.clearTimer("hide");o.show();return}if(m){Ext.Object.each(o.targets,function(c,b){var a=Ext.fly(b.target);if(a&&(a.dom===m||a.contains(m))){k=a.dom;return false}});if(k){o.activeTarget=o.targets[k.id];o.activeTarget.el=m;o.anchor=o.activeTarget.anchor;if(o.anchor){o.anchorTarget=m}o.delayShow();return}}k=Ext.get(m);e=o.tagConfig;p=e.namespace;n=o.getTipCfg(l);if(n){j=k.getAttribute(p+e.hide);o.activeTarget={el:m,text:n,width:+k.getAttribute(p+e.width)||null,autoHide:j!="user"&&j!=="false",title:k.getAttribute(p+e.title),cls:k.getAttribute(p+e.cls),align:k.getAttribute(p+e.align)};o.anchor=k.getAttribute(p+e.anchor);if(o.anchor){o.anchorTarget=m}o.delayShow()}},onTargetOut:function(c){var d=this;if(d.activeTarget&&c.within(d.activeTarget.el)&&!d.getTipCfg(c)){return}d.clearTimer("show");if(d.autoHide!==false){d.delayHide()}},showAt:function(f){var e=this,d=e.activeTarget;if(d){if(!e.rendered){e.render(Ext.getBody());e.activeTarget=d}if(d.title){e.setTitle(d.title||"");e.header.show()}else{e.header.hide()}e.body.update(d.text);e.autoHide=d.autoHide;e.dismissDelay=d.dismissDelay||e.dismissDelay;if(e.lastCls){e.el.removeCls(e.lastCls);delete e.lastCls}if(d.cls){e.el.addCls(d.cls);e.lastCls=d.cls}e.setWidth(d.width);if(e.anchor){e.constrainPosition=false}else{if(d.align){f=e.el.getAlignToXY(d.el,d.align);e.constrainPosition=false}else{e.constrainPosition=true}}}e.callParent([f])},hide:function(){delete this.activeTarget;this.callParent()}});Ext.define("Ext.tip.QuickTipManager",function(){var c,d=false;return{requires:["Ext.tip.QuickTip"],singleton:true,alternateClassName:"Ext.QuickTips",init:function(b,i){if(!c){if(!Ext.isReady){Ext.onReady(function(){Ext.tip.QuickTipManager.init(b)});return}var j=Ext.apply({disabled:d},i),h=j.className,a=j.xtype;if(h){delete j.className}else{if(a){h="widget."+a;delete j.xtype}}if(b!==false){j.renderTo=document.body;if(j.renderTo.tagName!="BODY"){Ext.Error.raise({sourceClass:"Ext.tip.QuickTipManager",sourceMethod:"init",msg:"Cannot init QuickTipManager: no document body"})}}c=Ext.create(h||"Ext.tip.QuickTip",j)}},destroy:function(){if(c){var a;c.destroy();c=a}},ddDisable:function(){if(c&&!d){c.disable()}},ddEnable:function(){if(c&&!d){c.enable()}},enable:function(){if(c){c.enable()}d=false},disable:function(){if(c){c.disable()}d=true},isEnabled:function(){return c!==undefined&&!c.disabled},getQuickTip:function(){return c},register:function(){c.register.apply(c,arguments)},unregister:function(){c.unregister.apply(c,arguments)},tips:function(){c.register.apply(c,arguments)}}}());Ext.define("Ext.data.reader.Reader",{requires:["Ext.data.ResultSet"],alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],totalProperty:"total",successProperty:"success",root:"",implicitIncludes:true,isReader:true,constructor:function(d){var c=this;Ext.apply(c,d||{});c.fieldCount=0;c.model=Ext.ModelManager.getModel(d.model);if(c.model){c.buildExtractors()}},setModel:function(e,f){var d=this;d.model=Ext.ModelManager.getModel(e);d.buildExtractors(true);if(f&&d.proxy){d.proxy.setModel(d.model,true)}},read:function(d){var c=d;if(d&&d.responseText){c=this.getResponseData(d)}if(c){return this.readRecords(c)}else{return this.nullResultSet}},readRecords:function(p){var o=this;if(o.fieldCount!==o.getFields().length){o.buildExtractors(true)}o.rawData=p;p=o.getData(p);var m=Ext.isArray(p)?p:o.getRoot(p),k=true,r=0,n,l,s,j;if(m){n=m.length}if(o.totalProperty){l=parseInt(o.getTotal(p),10);if(!isNaN(l)){n=l}}if(o.successProperty){l=o.getSuccess(p);if(l===false||l==="false"){k=false}}if(o.messageProperty){j=o.getMessage(p)}if(m){s=o.extractData(m);r=s.length}else{r=0;s=[]}return Ext.create("Ext.data.ResultSet",{total:n||r,count:r,records:s,success:k,message:j})},extractData:function(n){var o=this,m=[],s=[],t=o.model,r=0,v=n.length,i=o.getIdProperty(),u,w,p;if(!n.length&&Ext.isObject(n)){n=[n];v=1}for(;r<v;r++){u=n[r];m=o.extractValues(u);w=o.getId(u);p=new t(m,w,u);s.push(p);if(o.implicitIncludes){o.readAssociated(p,u)}}return s},readAssociated:function(l,n){var o=l.associations.items,m=0,s=o.length,p,r,i,k;for(;m<s;m++){p=o[m];r=this.getAssociatedDataRoot(n,p.associationKey||p.name);if(r){k=p.getReader();if(!k){i=p.associatedModel.proxy;if(i){k=i.getReader()}else{k=new this.constructor({model:p.associatedName})}}p.read(l,k,r)}}},getAssociatedDataRoot:function(c,d){return c[d]},getFields:function(){return this.model.prototype.fields.items},extractValues:function(k){var i=this.getFields(),n=0,m=i.length,h={},j,l;for(;n<m;n++){j=i[n];l=this.extractorFunctions[n](k);h[j.name]=l}return h},getData:function(b){return b},getRoot:function(b){return b},getResponseData:function(b){Ext.Error.raise("getResponseData must be implemented in the Ext.data.reader.Reader subclass")},onMetaChange:function(f){var e=f.fields,d;Ext.apply(this,f);if(e){d=Ext.define("Ext.data.reader.Json-Model"+Ext.id(),{extend:"Ext.data.Model",fields:e});this.setModel(d,true)}else{this.buildExtractors(true)}},getIdProperty:function(){var b=this.idProperty;if(Ext.isEmpty(b)){b=this.model.prototype.idProperty}return b},buildExtractors:function(l){var n=this,j=n.getIdProperty(),m=n.totalProperty,h=n.successProperty,k=n.messageProperty,i;if(l===true){delete n.extractorFunctions}if(n.extractorFunctions){return}if(m){n.getTotal=n.createAccessor(m)}if(h){n.getSuccess=n.createAccessor(h)}if(k){n.getMessage=n.createAccessor(k)}if(j){i=n.createAccessor(j);n.getId=function(b){var a=i.call(n,b);return(a===undefined||a==="")?null:a}}else{n.getId=function(){return null}}n.buildFieldExtractors()},buildFieldExtractors:function(){var m=this,i=m.getFields(),n=i.length,h=0,j=[],k,l;for(;h<n;h++){k=i[h];l=(k.mapping!==undefined&&k.mapping!==null)?k.mapping:k.name;j.push(m.createAccessor(l))}m.fieldCount=n;m.extractorFunctions=j}},function(){Ext.apply(this,{nullResultSet:Ext.create("Ext.data.ResultSet",{total:0,count:0,records:[],success:true})})});Ext.define("Ext.data.reader.Json",{extend:"Ext.data.reader.Reader",alternateClassName:"Ext.data.JsonReader",alias:"reader.json",root:"",useSimpleAccessors:false,readRecords:function(b){if(b.metaData){this.onMetaChange(b.metaData)}this.jsonData=b;return this.callParent([b])},getResponseData:function(e){try{var f=Ext.decode(e.responseText)}catch(d){Ext.Error.raise({response:e,json:e.responseText,parseError:d,msg:"Unable to parse the JSON returned by the server: "+d.toString()})}if(!f){Ext.Error.raise("JSON object not found")}return f},buildExtractors:function(){var b=this;b.callParent(arguments);if(b.root){b.getRoot=b.createAccessor(b.root)}else{b.getRoot=function(a){return a}}},extractData:function(g){var h=this.record,i=[],j,f;if(h){j=g.length;for(f=0;f<j;f++){i[f]=g[f][h]}}else{i=g}return this.callParent([i])},createAccessor:function(){var b=/[\[\.]/;return function(d){if(Ext.isEmpty(d)){return Ext.emptyFn}if(Ext.isFunction(d)){return d}if(this.useSimpleAccessors!==true){var a=String(d).search(b);if(a>=0){return Ext.functionFactory("obj","return obj"+(a>0?".":"")+d)}}return function(c){return c[d]}}}()});Ext.define("Ext.data.proxy.Proxy",{alias:"proxy.proxy",alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],requires:["Ext.data.reader.Json","Ext.data.writer.Json"],uses:["Ext.data.Batch","Ext.data.Operation","Ext.data.Model"],mixins:{observable:"Ext.util.Observable"},batchOrder:"create,update,destroy",batchActions:true,defaultReaderType:"json",defaultWriterType:"json",isProxy:true,constructor:function(b){b=b||{};if(b.model===undefined){delete b.model}this.mixins.observable.constructor.call(this,b);if(this.model!==undefined&&!(this.model instanceof Ext.data.Model)){this.setModel(this.model)}},setModel:function(e,h){this.model=Ext.ModelManager.getModel(e);var f=this.reader,g=this.writer;this.setReader(f);this.setWriter(g);if(h&&this.store){this.store.setModel(this.model)}},getModel:function(){return this.model},setReader:function(d){var c=this;if(d===undefined||typeof d=="string"){d={type:d}}if(d.isReader){d.setModel(c.model)}else{Ext.applyIf(d,{proxy:c,model:c.model,type:c.defaultReaderType});d=Ext.createByAlias("reader."+d.type,d)}c.reader=d;return c.reader},getReader:function(){return this.reader},setWriter:function(b){if(b===undefined||typeof b=="string"){b={type:b}}if(!(b instanceof Ext.data.writer.Writer)){Ext.applyIf(b,{model:this.model,type:this.defaultWriterType});b=Ext.createByAlias("writer."+b.type,b)}this.writer=b;return this.writer},getWriter:function(){return this.writer},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,destroy:Ext.emptyFn,batch:function(k,j){var i=this,l=Ext.create("Ext.data.Batch",{proxy:i,listeners:j||{}}),g=i.batchActions,h;Ext.each(i.batchOrder.split(","),function(a){h=k[a];if(h){if(g){l.add(Ext.create("Ext.data.Operation",{action:a,records:h}))}else{Ext.each(h,function(b){l.add(Ext.create("Ext.data.Operation",{action:a,records:[b]}))})}}},i);l.start();return l}},function(){Ext.data.DataProxy=this});Ext.define("Ext.data.proxy.Server",{extend:"Ext.data.proxy.Proxy",alias:"proxy.server",alternateClassName:"Ext.data.ServerProxy",uses:["Ext.data.Request"],pageParam:"page",startParam:"start",limitParam:"limit",groupParam:"group",sortParam:"sort",filterParam:"filter",directionParam:"dir",simpleSortMode:false,noCache:true,cacheString:"_dc",timeout:30000,constructor:function(d){var c=this;d=d||{};this.addEvents("exception");c.callParent([d]);c.extraParams=d.extraParams||{};c.api=d.api||{};c.nocache=c.noCache},create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},destroy:function(){return this.doRequest.apply(this,arguments)},buildRequest:function(e){var f=Ext.applyIf(e.params||{},this.extraParams||{}),d;f=Ext.applyIf(f,this.getParams(f,e));if(e.id&&!f.id){f.id=e.id}d=Ext.create("Ext.data.Request",{params:f,action:e.action,records:e.records,operation:e,url:e.url});d.url=this.buildUrl(d);e.request=d;return d},processResponse:function(r,A,y,z,s,p){var u=this,v,i,B,C,t,w,x;if(r===true){v=u.getReader();i=v.read(u.extractResponseData(z));B=i.records;C=B.length;if(i.success!==false){t=Ext.create("Ext.util.MixedCollection",true,function(a){return a.getId()});t.addAll(A.records);for(x=0;x<C;x++){w=t.get(B[x].getId());if(w){w.beginEdit();w.set(w.data);w.endEdit(true)}}Ext.apply(A,{response:z,resultSet:i});A.setCompleted();A.setSuccessful()}else{A.setException(i.message);u.fireEvent("exception",this,z,A)}}else{u.setException(A,z);u.fireEvent("exception",this,z,A)}if(typeof s=="function"){s.call(p||u,A)}u.afterRequest(y,r)},setException:function(c,d){c.setException({status:d.status,statusText:d.statusText})},extractResponseData:function(b){return b},applyEncoding:function(b){return Ext.encode(b)},encodeSorters:function(g){var e=[],h=g.length,f=0;for(;f<h;f++){e[f]={property:g[f].property,direction:g[f].direction}}return this.applyEncoding(e)},encodeFilters:function(g){var e=[],h=g.length,f=0;for(;f<h;f++){e[f]={property:g[f].property,value:g[f].value}}return this.applyEncoding(e)},getParams:function(t,z){t=t||{};var s=this,w=Ext.isDefined,v=z.groupers,J=z.sorters,B=z.filters,D=z.page,E=z.start,u=z.limit,C=s.simpleSortMode,x=s.pageParam,G=s.startParam,I=s.limitParam,H=s.groupParam,F=s.sortParam,y=s.filterParam,A=s.directionParam;if(x&&w(D)){t[x]=D}if(G&&w(E)){t[G]=E}if(I&&w(u)){t[I]=u}if(H&&v&&v.length>0){t[H]=s.encodeSorters(v)}if(F&&J&&J.length>0){if(C){t[F]=J[0].property;t[A]=J[0].direction}else{t[F]=s.encodeSorters(J)}}if(y&&B&&B.length>0){t[y]=s.encodeFilters(B)}return t},buildUrl:function(f){var d=this,e=d.getUrl(f);if(!e){Ext.Error.raise("You are using a ServerProxy but have not supplied it with a url.")}if(d.noCache){e=Ext.urlAppend(e,Ext.String.format("{0}={1}",d.cacheString,Ext.Date.now()))}return e},getUrl:function(b){return b.url||this.api[b.action]||this.url},doRequest:function(e,f,d){Ext.Error.raise("The doRequest function has not been implemented on your Ext.data.proxy.Server subclass. See src/data/ServerProxy.js for details")},afterRequest:Ext.emptyFn,onDestroy:function(){Ext.destroy(this.reader,this.writer)}});Ext.define("Ext.data.proxy.Ajax",{requires:["Ext.util.MixedCollection","Ext.Ajax"],extend:"Ext.data.proxy.Server",alias:"proxy.ajax",alternateClassName:["Ext.data.HttpProxy","Ext.data.AjaxProxy"],actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},doRequest:function(g,h,f){var i=this.getWriter(),j=this.buildRequest(g,h,f);if(g.allowWrite()){j=i.write(j)}Ext.apply(j,{headers:this.headers,timeout:this.timeout,scope:this,callback:this.createRequestCallback(j,g,h,f),method:this.getMethod(j),disableCaching:false});Ext.Ajax.request(j);return j},getMethod:function(b){return this.actionMethods[b.action]},createRequestCallback:function(i,g,h,f){var j=this;return function(b,a,c){j.processResponse(a,g,i,c,h,f)}}},function(){Ext.data.HttpProxy=this});Ext.define("Ext.data.Model",{alternateClassName:"Ext.data.Record",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ModelManager","Ext.data.Field","Ext.data.Errors","Ext.data.Operation","Ext.data.validations","Ext.data.proxy.Ajax","Ext.util.MixedCollection"],onClassExtended:function(e,d){var f=d.onBeforeClassCreated;d.onBeforeClassCreated=function(N,b){var c=this,a=Ext.getClassName(N),G=N.prototype,C=N.prototype.superclass,M=b.validations||[],E=b.fields||[],A=b.associations||[],B=b.belongsTo,F=b.hasMany,y=new Ext.util.MixedCollection(false,function(g){return g.name}),z=new Ext.util.MixedCollection(false,function(g){return g.name}),H=C.validations,i=C.fields,K=C.associations,L,D,J,I=[];N.modelName=a;G.modelName=a;if(H){M=H.concat(M)}b.validations=M;if(i){E=i.items.concat(E)}for(D=0,J=E.length;D<J;++D){y.add(new Ext.data.Field(E[D]))}b.fields=y;if(B){B=Ext.Array.from(B);for(D=0,J=B.length;D<J;++D){L=B[D];if(!Ext.isObject(L)){L={model:L}}L.type="belongsTo";A.push(L)}delete b.belongsTo}if(F){F=Ext.Array.from(F);for(D=0,J=F.length;D<J;++D){L=F[D];if(!Ext.isObject(L)){L={model:L}}L.type="hasMany";A.push(L)}delete b.hasMany}if(K){A=K.items.concat(A)}for(D=0,J=A.length;D<J;++D){I.push("association."+A[D].type.toLowerCase())}if(b.proxy){if(typeof b.proxy==="string"){I.push("proxy."+b.proxy)}else{if(typeof b.proxy.type==="string"){I.push("proxy."+b.proxy.type)}}}Ext.require(I,function(){Ext.ModelManager.registerType(a,N);for(D=0,J=A.length;D<J;++D){L=A[D];Ext.apply(L,{ownerModel:a,associatedModel:L.model});if(Ext.ModelManager.getModel(L.model)===undefined){Ext.ModelManager.registerDeferredAssociation(L)}else{z.add(Ext.data.Association.create(L))}}b.associations=z;f.call(c,N,b);N.setProxy(N.prototype.proxy||N.prototype.defaultProxyType);Ext.ModelManager.onModelDefined(N)})}},inheritableStatics:{setProxy:function(b){if(!b.isProxy){if(typeof b=="string"){b={type:b}}b=Ext.createByAlias("proxy."+b.type,b)}b.setModel(this);this.proxy=this.prototype.proxy=b;return b},getProxy:function(){return this.proxy},load:function(i,l){l=Ext.apply({},l);l=Ext.applyIf(l,{action:"read",id:i});var g=Ext.create("Ext.data.Operation",l),k=l.scope||this,h=null,j;j=function(a){if(a.wasSuccessful()){h=a.getRecords()[0];Ext.callback(l.success,k,[h,a])}else{Ext.callback(l.failure,k,[h,a])}Ext.callback(l.callback,k,[h,a])};this.proxy.read(g,j,this)}},statics:{PREFIX:"ext-record",AUTO_ID:1,EDIT:"edit",REJECT:"reject",COMMIT:"commit",id:function(d){var c=[this.PREFIX,"-",this.AUTO_ID++].join("");d.phantom=true;d.internalId=c;return c}},editing:false,dirty:false,persistenceProperty:"data",evented:false,isModel:true,phantom:false,idProperty:"id",defaultProxyType:"ajax",constructor:function(s,v,m){s=s||{};var o=this,p,u,n,w,t,r=Ext.isArray(s),i=r?{}:null;o.internalId=(v||v===0)?v:Ext.data.Model.id(o);o.raw=m;Ext.applyIf(o,{data:{}});o.modified={};if(o.persistanceProperty){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Model: persistanceProperty has been deprecated. Use persistenceProperty instead.")}o.persistenceProperty=o.persistanceProperty}o[o.persistenceProperty]={};o.mixins.observable.constructor.call(o);p=o.fields.items;u=p.length;for(t=0;t<u;t++){n=p[t];w=n.name;if(r){i[w]=s[t]}else{if(s[w]===undefined){s[w]=n.defaultValue}}}o.set(i||s);o.dirty=false;o.modified={};if(o.getId()){o.phantom=false}if(typeof o.init=="function"){o.init()}o.id=o.modelName+"-"+o.internalId},get:function(b){return this[this.persistenceProperty][b]},set:function(i,o){var r=this,s=r.fields,l=r.modified,t=[],p,m,u,n;if(arguments.length==1&&Ext.isObject(i)){for(m in i){if(i.hasOwnProperty(m)){p=s.get(m);if(p&&p.convert!==p.type.convert){t.push(m);continue}r.set(m,i[m])}}for(u=0;u<t.length;u++){p=t[u];r.set(p,i[p])}}else{if(s){p=s.get(i);if(p&&p.convert){o=p.convert(o,r)}}n=r.get(i);r[r.persistenceProperty][i]=o;if(p&&p.persist&&!r.isEqual(n,o)){if(r.isModified(i)){if(r.isEqual(l[i],o)){delete l[i];r.dirty=false;for(m in l){if(l.hasOwnProperty(m)){r.dirty=true;break}}}}else{r.dirty=true;l[i]=n}}if(!r.editing){r.afterEdit()}}},isEqual:function(a,b){if(Ext.isDate(a)&&Ext.isDate(b)){return a.getTime()===b.getTime()}return a===b},beginEdit:function(){var b=this;if(!b.editing){b.editing=true;b.dirtySave=b.dirty;b.dataSave=Ext.apply({},b[b.persistenceProperty]);b.modifiedSave=Ext.apply({},b.modified)}},cancelEdit:function(){var b=this;if(b.editing){b.editing=false;b.modified=b.modifiedSave;b[b.persistenceProperty]=b.dataSave;b.dirty=b.dirtySave;delete b.modifiedSave;delete b.dataSave;delete b.dirtySave}},endEdit:function(d){var c=this;if(c.editing){c.editing=false;delete c.modifiedSave;delete c.dataSave;delete c.dirtySave;if(d!==true&&c.dirty){c.afterEdit()}}},getChanges:function(){var e=this.modified,d={},f;for(f in e){if(e.hasOwnProperty(f)){d[f]=this.get(f)}}return d},isModified:function(b){return this.modified.hasOwnProperty(b)},setDirty:function(){var c=this,d;c.dirty=true;c.fields.each(function(a){if(a.persist){d=a.name;c.modified[d]=c.get(d)}},c)},markDirty:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Model: markDirty has been deprecated. Use setDirty instead.")}return this.setDirty.apply(this,arguments)},reject:function(f){var h=this,e=h.modified,g;for(g in e){if(e.hasOwnProperty(g)){if(typeof e[g]!="function"){h[h.persistenceProperty][g]=e[g]}}}h.dirty=false;h.editing=false;h.modified={};if(f!==true){h.afterReject()}},commit:function(d){var c=this;c.dirty=false;c.editing=false;c.modified={};if(d!==true){c.afterCommit()}},copy:function(d){var c=this;return new c.self(Ext.apply({},c[c.persistenceProperty]),d||c.internalId)},setProxy:function(b){if(!b.isProxy){if(typeof b==="string"){b={type:b}}b=Ext.createByAlias("proxy."+b.type,b)}b.setModel(this.self);this.proxy=b;return b},getProxy:function(){return this.proxy},validate:function(){var i=Ext.create("Ext.data.Errors"),p=this.validations,n=Ext.data.validations,r,o,k,s,l,m;if(p){r=p.length;for(m=0;m<r;m++){o=p[m];k=o.field||o.name;l=o.type;s=n[l](o,this.get(k));if(!s){i.add({field:k,message:o.message||n[l+"Message"]})}}}return i},isValid:function(){return this.validate().isValid()},save:function(n){n=Ext.apply({},n);var l=this,k=l.phantom?"create":"update",i=null,m=n.scope||l,h,j;Ext.apply(n,{records:[l],action:k});h=Ext.create("Ext.data.Operation",n);j=function(a){if(a.wasSuccessful()){i=a.getRecords()[0];l.set(i.data);i.dirty=false;Ext.callback(n.success,m,[i,a])}else{Ext.callback(n.failure,m,[i,a])}Ext.callback(n.callback,m,[i,a])};l.getProxy()[k](h,j,l);return l},destroy:function(l){l=Ext.apply({},l);var j=this,h=null,k=l.scope||j,g,i;Ext.apply(l,{records:[j],action:"destroy"});g=Ext.create("Ext.data.Operation",l);i=function(a){if(a.wasSuccessful()){Ext.callback(l.success,k,[h,a])}else{Ext.callback(l.failure,k,[h,a])}Ext.callback(l.callback,k,[h,a])};j.getProxy().destroy(g,i,j);return j},getId:function(){return this.get(this.idProperty)},setId:function(b){this.set(this.idProperty,b)},join:function(b){this.store=b},unjoin:function(){delete this.store},afterEdit:function(){this.callStore("afterEdit")},afterReject:function(){this.callStore("afterReject")},afterCommit:function(){this.callStore("afterCommit")},callStore:function(c){var d=this.store;if(d!==undefined&&typeof d[c]=="function"){d[c](this)}},getAssociatedData:function(){return this.prepareAssociatedData(this,[],null)},prepareAssociatedData:function(t,F,u){var y=t.associations.items,w=y.length,B={},A,G,z,i,H,C,D,v,x,j,E;for(v=0;v<w;v++){C=y[v];j=C.type;E=true;if(u){E=j==u}if(E&&j=="hasMany"){A=t[C.storeName];B[C.name]=[];if(A&&A.data.length>0){z=A.data.items;H=z.length;for(x=0;x<H;x++){i=z[x];D=i.id;if(Ext.Array.indexOf(F,D)==-1){F.push(D);B[C.name][x]=i.data;Ext.apply(B[C.name][x],this.prepareAssociatedData(i,F,j))}}}}else{if(E&&j=="belongsTo"){i=t[C.instanceName];if(i!==undefined){D=i.id;if(Ext.Array.indexOf(F,D)==-1){F.push(D);B[C.name]=i.data;Ext.apply(B[C.name],this.prepareAssociatedData(i,F,j))}}}}}return B}});Ext.define("Ext.app.Application",{extend:"Ext.app.Controller",requires:["Ext.ModelManager","Ext.data.Model","Ext.data.StoreManager","Ext.tip.QuickTipManager","Ext.ComponentManager","Ext.app.EventBus"],scope:undefined,enableQuickTips:true,appFolder:"app",autoCreateViewport:false,constructor:function(g){g=g||{};Ext.apply(this,g);var k=g.requires||[];Ext.Loader.setPath(this.name,this.appFolder);if(this.paths){Ext.Object.each(this.paths,function(b,a){Ext.Loader.setPath(b,a)})}this.callParent(arguments);this.eventbus=Ext.create("Ext.app.EventBus");var i=Ext.Array.from(this.controllers),j=i&&i.length,l,h;this.controllers=Ext.create("Ext.util.MixedCollection");if(this.autoCreateViewport){k.push(this.getModuleClassName("Viewport","view"))}for(l=0;l<j;l++){k.push(this.getModuleClassName(i[l],"controller"))}Ext.require(k);Ext.onReady(function(){for(l=0;l<j;l++){h=this.getController(i[l]);h.init(this)}this.onBeforeLaunch.call(this)},this)},control:function(d,f,e){this.eventbus.control(d,f,e)},launch:Ext.emptyFn,onBeforeLaunch:function(){if(this.enableQuickTips){Ext.tip.QuickTipManager.init()}if(this.autoCreateViewport){this.getView("Viewport").create()}this.launch.call(this.scope||this);this.launched=true;this.fireEvent("launch",this);this.controllers.each(function(b){b.onLaunch(this)},this)},getModuleClassName:function(e,f){var d=Ext.Loader.getPrefix(e);if(d.length>0&&d!==e){return e}return this.name+"."+f+"."+e},getController:function(c){var d=this.controllers.get(c);if(!d){d=Ext.create(this.getModuleClassName(c,"controller"),{application:this,id:c});this.controllers.add(d)}return d},getStore:function(c){var d=Ext.StoreManager.get(c);if(!d){d=Ext.create(this.getModuleClassName(c,"store"),{storeId:c})}return d},getModel:function(b){b=this.getModuleClassName(b,"model");return Ext.ModelManager.getModel(b)},getView:function(b){b=this.getModuleClassName(b,"view");return Ext.ClassManager.get(b)}});Ext.define("Docs.Application",{extend:"Ext.app.Application",name:"Docs",requires:["Docs.History","Docs.Settings"],uses:["Ext.util.History","Ext.data.JsonP"],controllers:["Welcome","Classes","Search","InlineExamples","Examples","Guides","Videos","Tabs"],launch:function(){Docs.App=this;Docs.Settings.init();Ext.create("Docs.view.Viewport");Docs.History.init();if(Docs.initEventTracking){Docs.initEventTracking()}}});Ext.define("Ext.data.Store",{extend:"Ext.data.AbstractStore",alias:"store.store",requires:["Ext.ModelManager","Ext.data.Model","Ext.util.Grouper"],uses:["Ext.data.proxy.Memory"],remoteSort:false,remoteFilter:false,remoteGroup:false,groupField:undefined,groupDir:"ASC",pageSize:25,currentPage:1,clearOnPageLoad:true,loading:false,sortOnFilter:true,buffered:false,purgePageCount:5,isStore:true,constructor:function(g){g=g||{};var k=this,i=g.groupers||k.groupers,h=g.groupField||k.groupField,l,j;if(g.buffered||k.buffered){k.prefetchData=Ext.create("Ext.util.MixedCollection",false,function(a){return a.index});k.pendingRequests=[];k.pagesRequested=[];k.sortOnLoad=false;k.filterOnLoad=false}k.addEvents("beforeprefetch","groupchange","prefetch");j=g.data||k.data;k.data=Ext.create("Ext.util.MixedCollection",false,function(a){return a.internalId});if(j){k.inlineData=j;delete g.data}if(!i&&h){i=[{property:h,direction:g.groupDir||k.groupDir}]}delete g.groupers;k.groupers=Ext.create("Ext.util.MixedCollection");k.groupers.addAll(k.decodeGroupers(i));this.callParent([g]);if(k.groupers.items.length){k.sort(k.groupers.items,"prepend",false)}l=k.proxy;j=k.inlineData;if(j){if(l instanceof Ext.data.proxy.Memory){l.data=j;k.read()}else{k.add.apply(k,j)}k.sort();delete k.inlineData}else{if(k.autoLoad){Ext.defer(k.load,10,k,[typeof k.autoLoad==="object"?k.autoLoad:undefined])}}},onBeforeSort:function(){this.sort(this.groupers.items,"prepend",false)},decodeGroupers:function(i){if(!Ext.isArray(i)){if(i===undefined){i=[]}else{i=[i]}}var j=i.length,h=Ext.util.Grouper,g,f;for(f=0;f<j;f++){g=i[f];if(!(g instanceof h)){if(Ext.isString(g)){g={property:g}}Ext.applyIf(g,{root:"data",direction:"ASC"});if(g.fn){g.sorterFn=g.fn}if(typeof g=="function"){g={sorterFn:g}}i[f]=new h(g)}}return i},group:function(i,h){var j=this,f,g;if(Ext.isArray(i)){g=i}else{if(Ext.isObject(i)){g=[i]}else{if(Ext.isString(i)){f=j.groupers.get(i);if(!f){f={property:i,direction:h};g=[f]}else{if(h===undefined){f.toggle()}else{f.setDirection(h)}}}}}if(g&&g.length){g=j.decodeGroupers(g);j.groupers.clear();j.groupers.addAll(g)}if(j.remoteGroup){j.load({scope:j,callback:j.fireGroupChange})}else{j.sort();j.fireEvent("groupchange",j,j.groupers)}},clearGrouping:function(){var b=this;b.groupers.each(function(a){b.sorters.remove(a)});b.groupers.clear();if(b.remoteGroup){b.load({scope:b,callback:b.fireGroupChange})}else{b.sort();b.fireEvent("groupchange",b,b.groupers)}},isGrouped:function(){return this.groupers.getCount()>0},fireGroupChange:function(){this.fireEvent("groupchange",this,this.groupers)},getGroups:function(r){var o=this.data.items,s=o.length,p=[],i={},m,l,k,n;for(n=0;n<s;n++){m=o[n];l=this.getGroupString(m);k=i[l];if(k===undefined){k={name:l,children:[]};p.push(k);i[l]=k}k.children.push(m)}return r?i[r]:p},getGroupsForGrouper:function(m,r){var o=m.length,n=[],s,p,k,i,l;for(l=0;l<o;l++){k=m[l];p=r.getGroupString(k);if(p!==s){i={name:p,grouper:r,records:[]};n.push(i)}i.records.push(k);s=p}return n},getGroupsForGrouperIndex:function(p,k){var m=this,l=m.groupers,i=l.getAt(k),j=m.getGroupsForGrouper(p,i),n=j.length,o;if(k+1<l.length){for(o=0;o<n;o++){j[o].children=m.getGroupsForGrouperIndex(j[o].records,k+1)}}for(o=0;o<n;o++){j[o].depth=k}return j},getGroupData:function(d){var c=this;if(d!==false){c.sort()}return c.getGroupsForGrouperIndex(c.data.items,0)},getGroupString:function(d){var c=this.groupers.first();if(c){return d.get(c.property)}return""},insert:function(m,n){var j=this,k=false,l,h,i;n=[].concat(n);for(l=0,i=n.length;l<i;l++){h=j.createModel(n[l]);h.set(j.modelDefaults);n[l]=h;j.data.insert(m+l,h);h.join(j);k=k||h.phantom===true}if(j.snapshot){j.snapshot.addAll(n)}j.fireEvent("add",j,n,m);j.fireEvent("datachanged",j);if(j.autoSync&&k){j.sync()}},add:function(f){if(!Ext.isArray(f)){f=Array.prototype.slice.apply(arguments)}var h=this,j=0,i=f.length,g;for(;j<i;j++){g=h.createModel(f[j]);f[j]=g}h.insert(h.data.length,f);return f},createModel:function(b){if(!b.isModel){b=Ext.ModelManager.create(b,this.model)}return b},each:function(c,d){this.data.each(c,d)},remove:function(r,i){if(!Ext.isArray(r)){r=[r]}i=i===true;var m=this,l=false,p=0,s=r.length,k,n,o;for(;p<s;p++){o=r[p];n=m.data.indexOf(o);if(m.snapshot){m.snapshot.remove(o)}if(n>-1){k=o.phantom===true;if(!i&&!k){m.removed.push(o)}o.unjoin(m);m.data.remove(o);l=l||!k;m.fireEvent("remove",m,o,n)}}m.fireEvent("datachanged",m);if(!i&&m.autoSync&&l){m.sync()}},removeAt:function(c){var d=this.getAt(c);if(d){this.remove(d)}},load:function(d){var c=this;d=d||{};if(Ext.isFunction(d)){d={callback:d}}Ext.applyIf(d,{groupers:c.groupers.items,page:c.currentPage,start:(c.currentPage-1)*c.pageSize,limit:c.pageSize,addRecords:false});return c.callParent([d])},onProxyLoad:function(f){var i=this,j=f.getResultSet(),g=f.getRecords(),h=f.wasSuccessful();if(j){i.totalCount=j.total}if(h){i.loadRecords(g,f)}i.loading=false;i.fireEvent("load",i,g,h);i.fireEvent("read",i,g,f.wasSuccessful());Ext.callback(f.callback,f.scope||i,[g,f,h])},onCreateRecords:function(t,s,i){if(i){var p=0,r=this.data,w=this.snapshot,v=t.length,m=s.records,o,u,n;for(;p<v;++p){o=t[p];u=m[p];if(u){n=r.indexOf(u);if(n>-1){r.removeAt(n);r.insert(n,o)}if(w){n=w.indexOf(u);if(n>-1){w.removeAt(n);w.insert(n,o)}}o.phantom=false;o.join(this)}}}},onUpdateRecords:function(o,p,k){if(k){var n=0,m=o.length,l=this.data,i=this.snapshot,j;for(;n<m;++n){j=o[n];l.replace(j);if(i){i.replace(j)}j.join(this)}}},onDestroyRecords:function(p,o,i){if(i){var k=this,m=0,r=p.length,n=k.data,s=k.snapshot,l;for(;m<r;++m){l=p[m];l.unjoin(k);n.remove(l);if(s){s.remove(l)}}k.removed=[]}},getNewRecords:function(){return this.data.filterBy(this.filterNew).items},getUpdatedRecords:function(){return this.data.filterBy(this.filterUpdated).items},filter:function(l,k){if(Ext.isString(l)){l={property:l,value:k}}var m=this,i=m.decodeFilters(l),h=0,j=m.sortOnFilter&&!m.remoteSort,n=i.length;for(;h<n;h++){m.filters.replace(i[h])}if(m.remoteFilter){m.load()}else{if(m.filters.getCount()){m.snapshot=m.snapshot||m.data.clone();m.data=m.data.filter(m.filters.items);if(j){m.sort()}if(!j||m.sorters.length<1){m.fireEvent("datachanged",m)}}}},clearFilter:function(d){var c=this;c.filters.clear();if(c.remoteFilter){c.load()}else{if(c.isFiltered()){c.data=c.snapshot.clone();delete c.snapshot;if(d!==true){c.fireEvent("datachanged",c)}}}},isFiltered:function(){var b=this.snapshot;return !!b&&b!==this.data},filterBy:function(d,e){var f=this;f.snapshot=f.snapshot||f.data.clone();f.data=f.queryBy(d,e||f);f.fireEvent("datachanged",f)},queryBy:function(e,f){var h=this,g=h.snapshot||h.data;return g.filterBy(e,f||h)},loadData:function(i,h){var l=this.model,j=i.length,k,g;for(k=0;k<j;k++){g=i[k];if(!(g instanceof Ext.data.Model)){i[k]=Ext.ModelManager.create(g,l)}}this.loadRecords(i,{addRecords:h})},loadRecords:function(g,f){var h=this,j=0,i=g.length;f=f||{};if(!f.addRecords){delete h.snapshot;h.clearData()}h.data.addAll(g);for(;j<i;j++){if(f.start!==undefined){g[j].index=f.start+j}g[j].join(h)}h.suspendEvents();if(h.filterOnLoad&&!h.remoteFilter){h.filter()}if(h.sortOnLoad&&!h.remoteSort){h.sort()}h.resumeEvents();h.fireEvent("datachanged",h,g)},loadPage:function(c){var d=this;d.currentPage=c;d.read({page:c,start:(c-1)*d.pageSize,limit:d.pageSize,addRecords:!d.clearOnPageLoad})},nextPage:function(){this.loadPage(this.currentPage+1)},previousPage:function(){this.loadPage(this.currentPage-1)},clearData:function(){this.data.each(function(b){b.unjoin()});this.data.clear()},prefetch:function(e){var h=this,f,g=h.getRequestId();e=e||{};Ext.applyIf(e,{action:"read",filters:h.filters.items,sorters:h.sorters.items,requestId:g});h.pendingRequests.push(g);f=Ext.create("Ext.data.Operation",e);if(h.fireEvent("beforeprefetch",h,f)!==false){h.loading=true;h.proxy.read(f,h.onProxyPrefetch,h)}return h},prefetchPage:function(j,l){var k=this,g=k.pageSize,i=(j-1)*k.pageSize,h=i+g;if(Ext.Array.indexOf(k.pagesRequested,j)===-1&&!k.rangeSatisfied(i,h)){l=l||{};k.pagesRequested.push(j);Ext.applyIf(l,{page:j,start:i,limit:g,callback:k.onWaitForGuarantee,scope:k});k.prefetch(l)}},getRequestId:function(){this.requestSeed=this.requestSeed||1;return this.requestSeed++},onProxyPrefetch:function(f){var i=this,j=f.getResultSet(),g=f.getRecords(),h=f.wasSuccessful();if(j){i.totalCount=j.total;i.fireEvent("totalcountchange",i.totalCount)}if(h){i.cacheRecords(g,f)}Ext.Array.remove(i.pendingRequests,f.requestId);if(f.page){Ext.Array.remove(i.pagesRequested,f.page)}i.loading=false;i.fireEvent("prefetch",i,g,h,f);if(f.blocking){i.fireEvent("load",i,g,h)}Ext.callback(f.callback,f.scope||i,[g,f,h])},cacheRecords:function(g,h){var j=this,l=0,k=g.length,i=h?h.start:0;if(!Ext.isDefined(j.totalCount)){j.totalCount=g.length;j.fireEvent("totalcountchange",j.totalCount)}for(;l<k;l++){g[l].index=i+l}j.prefetchData.addAll(g);if(j.purgePageCount){j.purgeRecords()}},purgeRecords:function(){var j=this,f=j.prefetchData.getCount(),i=j.purgePageCount*j.pageSize,h=f-i-1,g=0;for(;g<=h;g++){j.prefetchData.removeAt(0)}},rangeSatisfied:function(h,g){var j=this,f=h,i=true;for(;f<g;f++){if(!j.prefetchData.getByKey(f)){i=false;if(g-f>j.pageSize){Ext.Error.raise("A single page prefetch could never satisfy this request.")}break}}return i},getPageFromRecordIndex:function(b){return Math.floor(b/this.pageSize)+1},onGuaranteedRange:function(){var k=this,n=k.getTotalCount(),j=k.requestStart,h=((n-1)<k.requestEnd)?n-1:k.requestEnd,m=[],i,l=j;if(j>h){Ext.Error.raise("Start ("+j+") was greater than end ("+h+")")}if(j!==k.guaranteedStart&&h!==k.guaranteedEnd){k.guaranteedStart=j;k.guaranteedEnd=h;for(;l<=h;l++){i=k.prefetchData.getByKey(l);if(!i){Ext.Error.raise("Record was not found and store said it was guaranteed")}m.push(i)}k.fireEvent("guaranteedrange",m,j,h);if(k.cb){k.cb.call(k.scope||k,m)}}k.unmask()},mask:function(){this.masked=true;this.fireEvent("beforeload")},unmask:function(){if(this.masked){this.fireEvent("load")}},hasPendingRequests:function(){return this.pendingRequests.length},onWaitForGuarantee:function(){if(!this.hasPendingRequests()){this.onGuaranteedRange()}},guaranteeRange:function(y,w,x,i){if(y&&w){if(w-y>this.pageSize){Ext.Error.raise({start:y,end:w,pageSize:this.pageSize,msg:"Requested a bigger range than the specified pageSize"})}}w=(w>this.totalCount)?this.totalCount-1:w;var r=this,v=y,o=r.prefetchData,u=[],s=!!o.getByKey(y),p=!!o.getByKey(w),t=r.getPageFromRecordIndex(y),n=r.getPageFromRecordIndex(w);r.cb=x;r.scope=i;r.requestStart=y;r.requestEnd=w;if(!s||!p){if(t===n){r.mask();r.prefetchPage(t,{callback:r.onWaitForGuarantee,scope:r})}else{r.mask();r.prefetchPage(t,{callback:r.onWaitForGuarantee,scope:r});r.prefetchPage(n,{callback:r.onWaitForGuarantee,scope:r})}}else{r.onGuaranteedRange()}},sort:function(){var k=this,l=k.prefetchData,j,i,h,g;if(k.buffered){if(k.remoteSort){l.clear();k.callParent(arguments)}else{j=k.getSorters();i=k.guaranteedStart;h=k.guaranteedEnd;if(j.length){l.sort(j);g=l.getRange();l.clear();k.cacheRecords(g);delete k.guaranteedStart;delete k.guaranteedEnd;k.guaranteeRange(i,h)}k.callParent(arguments)}}else{k.callParent(arguments)}},doSort:function(f){var h=this;if(h.remoteSort){h.load()}else{h.data.sortBy(f);if(!h.buffered){var g=h.getRange(),i=g.length,j=0;for(;j<i;j++){g[j].index=j}}h.fireEvent("datachanged",h)}},find:function(l,m,j,k,i,n){var h=this.createFilterFn(l,m,k,i,n);return h?this.data.findIndexBy(h,null,j):-1},findRecord:function(){var c=this,d=c.find.apply(c,arguments);return d!==-1?c.getAt(d):null},createFilterFn:function(i,j,h,g,f){if(Ext.isEmpty(j)){return false}j=this.data.createValueMatcher(j,h,g,f);return function(a){return j.test(a.data[i])}},findExact:function(d,e,f){return this.data.findIndexBy(function(a){return a.get(d)===e},this,f)},findBy:function(d,e,f){return this.data.findIndexBy(d,e,f)},collect:function(f,g,j){var i=this,h=(j===true&&i.snapshot)?i.snapshot:i.data;return h.collect(f,"data",g)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalCount},getAt:function(b){return this.data.getAt(b)},getRange:function(c,d){return this.data.getRange(c,d)},getById:function(b){return(this.snapshot||this.data).findBy(function(a){return a.getId()===b})},indexOf:function(b){return this.data.indexOf(b)},indexOfTotal:function(b){return b.index||this.indexOf(b)},indexOfId:function(b){return this.data.indexOfKey(b)},removeAll:function(d){var c=this;c.clearData();if(c.snapshot){c.snapshot.clear()}if(d!==true){c.fireEvent("clear",c)}},first:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){return a.length?a[0]:undefined},c,true)}else{return c.data.first()}},last:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){var b=a.length;return b?a[b-1]:undefined},c,true)}else{return c.data.last()}},sum:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getSum,d,true,[f])}else{return d.getSum(d.data.items,f)}},getSum:function(f,h){var i=0,j=0,g=f.length;for(;j<g;++j){i+=f[j].get(h)}return i},count:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){return a.length},c,true)}else{return c.getCount()}},min:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getMin,d,true,[f])}else{return d.getMin(d.data.items,f)}},getMin:function(g,i){var k=1,h=g.length,j,l;if(h>0){l=g[0].get(i)}for(;k<h;++k){j=g[k].get(i);if(j<l){l=j}}return l},max:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getMax,d,true,[f])}else{return d.getMax(d.data.items,f)}},getMax:function(l,i){var k=1,g=l.length,j,h;if(g>0){h=l[0].get(i)}for(;k<g;++k){j=l[k].get(i);if(j>h){h=j}}return h},average:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getAverage,d,true,[f])}else{return d.getAverage(d.data.items,f)}},getAverage:function(f,h){var j=0,g=f.length,i=0;if(f.length>0){for(;j<g;++j){i+=f[j].get(h)}return i/g}return 0},aggregate:function(l,i,n,m){m=m||[];if(n&&this.isGrouped()){var s=this.getGroups(),p=0,o=s.length,r={},k;for(;p<o;++p){k=s[p];r[k.name]=l.apply(i||this,[k.children].concat(m))}return r}else{return l.apply(i||this,[this.data.items].concat(m))}}});Ext.define("Ext.data.NodeStore",{extend:"Ext.data.Store",alias:"store.node",requires:["Ext.data.NodeInterface"],node:null,recursive:false,rootVisible:false,constructor:function(e){var f=this,d;e=e||{};Ext.apply(f,e);if(Ext.isDefined(f.proxy)){Ext.Error.raise("A NodeStore cannot be bound to a proxy. Instead bind it to a record decorated with the NodeInterface by setting the node config.")}e.proxy={type:"proxy"};f.callParent([e]);f.addEvents("expand","collapse","beforeexpand","beforecollapse");d=f.node;if(d){f.node=null;f.setNode(d)}},setNode:function(c){var d=this;if(d.node&&d.node!=c){d.mun(d.node,{expand:d.onNodeExpand,collapse:d.onNodeCollapse,append:d.onNodeAppend,insert:d.onNodeInsert,remove:d.onNodeRemove,sort:d.onNodeSort,scope:d});d.node=null}if(c){Ext.data.NodeInterface.decorate(c);d.removeAll();if(d.rootVisible){d.add(c)}d.mon(c,{expand:d.onNodeExpand,collapse:d.onNodeCollapse,append:d.onNodeAppend,insert:d.onNodeInsert,remove:d.onNodeRemove,sort:d.onNodeSort,scope:d});d.node=c;if(c.isExpanded()&&c.isLoaded()){d.onNodeExpand(c,c.childNodes,true)}}},onNodeSort:function(d,f){var e=this;if((e.indexOf(d)!==-1||(d===e.node&&!e.rootVisible)&&d.isExpanded())){e.onNodeCollapse(d,f,true);e.onNodeExpand(d,f,true)}},onNodeExpand:function(m,o,p){var k=this,j=k.indexOf(m)+1,l=o?o.length:0,n,i;if(!k.recursive&&m!==k.node){return}if(!k.isVisible(m)){return}if(!p&&k.fireEvent("beforeexpand",m,o,j)===false){return}if(l){k.insert(j,o);for(n=0;n<l;n++){i=o[n];if(i.isExpanded()){if(i.isLoaded()){k.onNodeExpand(i,i.childNodes,true)}else{i.set("expanded",false);i.expand()}}}}if(!p){k.fireEvent("expand",m,o)}},onNodeCollapse:function(m,p,i){var k=this,l=p.length,n=k.indexOf(m)+1,o,j;if(!k.recursive&&m!==k.node){return}if(!i&&k.fireEvent("beforecollapse",m,p,n)===false){return}for(o=0;o<l;o++){j=p[o];k.remove(j);if(j.isExpanded()){k.onNodeCollapse(j,j.childNodes,true)}}if(!i){k.fireEvent("collapse",m,p,n)}},onNodeAppend:function(k,i,g){var j=this,h,l;if(j.isVisible(i)){if(g===0){h=k}else{l=i.previousSibling;while(l.isExpanded()&&l.lastChild){l=l.lastChild}h=l}j.insert(j.indexOf(h)+1,i);if(!i.isLeaf()&&i.isExpanded()){if(i.isLoaded()){j.onNodeExpand(i,i.childNodes,true)}else{i.set("expanded",false);i.expand()}}}},onNodeInsert:function(j,h,g){var i=this,f=this.indexOf(g);if(f!=-1&&i.isVisible(h)){i.insert(f,h);if(!h.isLeaf()&&h.isExpanded()){if(h.isLoaded()){i.onNodeExpand(h,h.childNodes,true)}else{h.set("expanded",false);h.expand()}}}},onNodeRemove:function(e,g,f){var h=this;if(h.indexOf(g)!=-1){if(!g.isLeaf()&&g.isExpanded()){h.onNodeCollapse(g,g.childNodes,true)}h.remove(g)}},isVisible:function(c){var d=c.parentNode;while(d){if(d===this.node&&!this.rootVisible&&d.isExpanded()){return true}if(this.indexOf(d)===-1||!d.isExpanded()){return false}d=d.parentNode}return true}});Ext.define("Ext.data.TreeStore",{extend:"Ext.data.AbstractStore",alias:"store.tree",requires:["Ext.data.Tree","Ext.data.NodeInterface","Ext.data.NodeStore"],clearOnLoad:true,nodeParam:"node",defaultRootId:"root",defaultRootProperty:"children",folderSort:false,constructor:function(h){var g=this,e,f;h=Ext.apply({},h);f=h.fields||g.fields;if(!f){h.fields=[{name:"text",type:"string"}]}g.callParent([h]);g.tree=Ext.create("Ext.data.Tree");g.relayEvents(g.tree,["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","sort","rootchange"]);g.tree.on({scope:g,remove:g.onNodeRemove,beforeexpand:g.onBeforeNodeExpand,beforecollapse:g.onBeforeNodeCollapse,append:g.onNodeAdded,insert:g.onNodeAdded});g.onBeforeSort();e=g.root;if(e){delete g.root;g.setRootNode(e)}g.addEvents("rootchange");if(Ext.isDefined(g.nodeParameter)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.TreeStore: nodeParameter has been deprecated. Please use nodeParam instead.")}g.nodeParam=g.nodeParameter;delete g.nodeParameter}},setProxy:function(f){var e,d;if(f instanceof Ext.data.proxy.Proxy){d=Ext.isEmpty(f.getReader().root)}else{if(Ext.isString(f)){d=true}else{e=f.reader;d=!(e&&!Ext.isEmpty(e.root))}}f=this.callParent(arguments);if(d){e=f.getReader();e.root=this.defaultRootProperty;e.buildExtractors(true)}},onBeforeSort:function(){if(this.folderSort){this.sort({property:"leaf",direction:"ASC"},"prepend",false)}},onBeforeNodeExpand:function(d,f,e){if(d.isLoaded()){Ext.callback(f,e||d,[d.childNodes])}else{if(d.isLoading()){this.on("load",function(){Ext.callback(f,e||d,[d.childNodes])},this,{single:true})}else{this.read({node:d,callback:function(){Ext.callback(f,e||d,[d.childNodes])}})}}},getNewRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterNew)},getUpdatedRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterUpdated)},onBeforeNodeCollapse:function(d,f,e){f.call(e||d,d.childNodes)},onNodeRemove:function(e,d){var f=this.removed;if(!d.isReplace&&Ext.Array.indexOf(f,d)==-1){f.push(d)}},onNodeAdded:function(m,l){var n=this.getProxy(),i=n.getReader(),k=l.raw||l.data,j,h;Ext.Array.remove(this.removed,l);if(!l.isLeaf()&&!l.isLoaded()){j=i.getRoot(k);if(j){this.fillNode(l,i.extractData(j));delete k[i.root]}}},setRootNode:function(d){var c=this;d=d||{};if(!d.isNode){Ext.applyIf(d,{id:c.defaultRootId,text:"Root",allowDrag:false});d=Ext.ModelManager.create(d,c.model)}Ext.data.NodeInterface.decorate(d);c.getProxy().getReader().buildExtractors(true);c.tree.setRootNode(d);if(!d.isLoaded()&&d.isExpanded()){c.load({node:d})}return d},getRootNode:function(){return this.tree.getRootNode()},getNodeById:function(b){return this.tree.getNodeById(b)},load:function(e){e=e||{};e.params=e.params||{};var g=this,h=e.node||g.tree.getRootNode(),f;if(!h){h=g.setRootNode({expanded:true})}if(g.clearOnLoad){h.removeAll()}Ext.applyIf(e,{node:h});e.params[g.nodeParam]=h?h.getId():"root";if(h){h.set("loading",true)}return g.callParent([e])},fillNode:function(i,g){var j=this,k=g?g.length:0,l=0,h;if(k&&j.sortOnLoad&&!j.remoteSort&&j.sorters&&j.sorters.items){h=Ext.create("Ext.util.MixedCollection");h.addAll(g);h.sort(j.sorters.items);g=h.items}i.set("loaded",true);for(;l<k;l++){i.appendChild(g[l],undefined,true)}return g},onProxyLoad:function(f){var i=this,h=f.wasSuccessful(),g=f.getRecords(),j=f.node;j.set("loading",false);if(h){g=i.fillNode(j,g)}i.fireEvent("read",i,f.node,g,h);i.fireEvent("load",i,f.node,g,h);Ext.callback(f.callback,f.scope||i,[g,f,h])},onCreateRecords:function(s,r,i){if(i){var p=0,u=s.length,l=r.records,n,o,t,m;for(;p<u;++p){o=s[p];t=l[p];if(t){n=t.parentNode;if(n){t.isReplace=true;n.replaceChild(o,t);delete t.isReplace}o.phantom=false}}}},onUpdateRecords:function(s,r,i){if(i){var l=this,o=0,u=s.length,p=l.data,t,m,n;for(;o<u;++o){n=s[o];t=l.tree.getNodeById(n.getId());m=t.parentNode;if(m){t.isReplace=true;m.replaceChild(n,t);t.isReplace=false}}}},onDestroyRecords:function(d,e,f){if(f){this.removed=[]}},removeAll:function(){this.getRootNode().destroy(true);this.fireEvent("clear",this)},doSort:function(d){var c=this;if(c.remoteSort){c.load()}else{c.tree.sort(d,true);c.fireEvent("datachanged",c)}c.fireEvent("sort",c)}});Ext.define("Ext.util.Point",{extend:"Ext.util.Region",statics:{fromEvent:function(b){b=(b.changedTouches&&b.changedTouches.length>0)?b.changedTouches[0]:b;return new this(b.pageX,b.pageY)}},constructor:function(d,c){this.callParent([c,d,c,d])},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(b){return(this.x==b.x&&this.y==b.y)},isWithin:function(c,d){if(!Ext.isObject(d)){d={x:d,y:d}}return(this.x<=c.x+d.x&&this.x>=c.x-d.x&&this.y<=c.y+d.y&&this.y>=c.y-d.y)},roundedEquals:function(b){return(Math.round(this.x)==Math.round(b.x)&&Math.round(this.y)==Math.round(b.y))}},function(){this.prototype.translate=Ext.util.Region.prototype.translateBy});Ext.define("Ext.Layer",{uses:["Ext.Shadow"],statics:{shims:[]},extend:"Ext.core.Element",constructor:function(h,i){h=h||{};var n=this,m=Ext.core.DomHelper,k=h.parentEl,l=k?Ext.getDom(k):document.body,j=h.hideMode;if(i){n.dom=Ext.getDom(i)}if(!n.dom){n.dom=m.append(l,h.dh||{tag:"div",cls:Ext.baseCSSPrefix+"layer"})}else{n.addCls(Ext.baseCSSPrefix+"layer");if(!n.dom.parentNode){l.appendChild(n.dom)}}if(h.cls){n.addCls(h.cls)}n.constrain=h.constrain!==false;if(j){n.setVisibilityMode(Ext.core.Element[j.toUpperCase()]);if(n.visibilityMode==Ext.core.Element.ASCLASS){n.visibilityCls=h.visibilityCls}}else{if(h.useDisplay){n.setVisibilityMode(Ext.core.Element.DISPLAY)}else{n.setVisibilityMode(Ext.core.Element.VISIBILITY)}}if(h.id){n.id=n.dom.id=h.id}else{n.id=Ext.id(n.dom)}n.position("absolute");if(h.shadow){n.shadowOffset=h.shadowOffset||4;n.shadow=Ext.create("Ext.Shadow",{offset:n.shadowOffset,mode:h.shadow});n.disableShadow()}else{n.shadowOffset=0}n.useShim=h.shim!==false&&Ext.useShims;if(h.hidden===true){n.hide()}else{this.show()}},getZIndex:function(){return parseInt((this.getShim()||this).getStyle("z-index"),10)},getShim:function(){var d=this,f,e;if(!d.useShim){return null}if(!d.shim){f=d.self.shims.shift();if(!f){f=d.createShim();f.enableDisplayMode("block");f.hide()}e=d.dom.parentNode;if(f.dom.parentNode!=e){e.insertBefore(f.dom,d.dom)}d.shim=f}return d.shim},hideShim:function(){if(this.shim){this.shim.setDisplayed(false);this.self.shims.push(this.shim);delete this.shim}},disableShadow:function(){if(this.shadow){this.shadowDisabled=true;this.shadow.hide();this.lastShadowOffset=this.shadowOffset;this.shadowOffset=0}},enableShadow:function(b){if(this.shadow){this.shadowDisabled=false;this.shadowOffset=this.lastShadowOffset;delete this.lastShadowOffset;if(b){this.sync(true)}}},sync:function(x){var r=this,l=r.shadow,s,u,y;if(!this.updating&&this.isVisible()&&(l||this.useShim)){var v=this.getShim(),w=this.getLeft(true),h=this.getTop(true),o=this.getWidth(),t=this.getHeight(),p;if(l&&!this.shadowDisabled){if(x&&!l.isVisible()){l.show(this)}else{l.realign(w,h,o,t)}if(v){p=v.getStyle("z-index");if(p>r.zindex){r.shim.setStyle("z-index",r.zindex-2)}v.show();if(l.isVisible()){s=l.el.getXY();u=v.dom.style;y=l.el.getSize();u.left=(s[0])+"px";u.top=(s[1])+"px";u.width=(y.width)+"px";u.height=(y.height)+"px"}else{v.setSize(o,t);v.setLeftTop(w,h)}}}else{if(v){p=v.getStyle("z-index");if(p>r.zindex){r.shim.setStyle("z-index",r.zindex-2)}v.show();v.setSize(o,t);v.setLeftTop(w,h)}}}return this},remove:function(){this.hideUnders();this.callParent()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var o=Ext.core.Element.getViewWidth(),t=Ext.core.Element.getViewHeight(),h=Ext.getDoc().getScroll(),l=this.getXY(),n=l[0],p=l[1],u=this.shadowOffset,m=this.dom.offsetWidth+u,s=this.dom.offsetHeight+u,r=false;if((n+m)>o+h.left){n=o-m-u;r=true}if((p+s)>t+h.top){p=t-s-u;r=true}if(n<h.left){n=h.left;r=true}if(p<h.top){p=h.top;r=true}if(r){Ext.Layer.superclass.setXY.call(this,[n,p]);this.sync()}}return this},getConstrainOffset:function(){return this.shadowOffset},setVisible:function(l,h,m,j,k){var n=this,i;i=function(){if(l){n.sync(true)}if(j){j()}};if(!l){this.hideUnders(true)}this.callParent([l,h,m,j,k]);if(!h){i()}return this},beforeFx:function(){this.beforeAction();return this.callParent(arguments)},afterFx:function(){this.callParent(arguments);this.sync(this.isVisible())},beforeAction:function(){if(!this.updating&&this.shadow){this.shadow.hide()}},setLeft:function(b){this.callParent(arguments);return this.sync()},setTop:function(b){this.callParent(arguments);return this.sync()},setLeftTop:function(c,d){this.callParent(arguments);return this.sync()},setXY:function(j,g,f,h,i){h=this.createCB(h);this.fixDisplay();this.beforeAction();this.callParent([j,g,f,h,i]);if(!g){h()}return this},createCB:function(f){var e=this,d=e.shadow&&e.shadow.isVisible();return function(){e.constrainXY();e.sync(d);if(f){f()}}},setX:function(g,f,j,h,i){this.setXY([g,this.getY()],f,j,h,i);return this},setY:function(h,g,f,i,j){this.setXY([this.getX(),h],g,f,i,j);return this},setSize:function(h,l,g,k,i,j){i=this.createCB(i);this.beforeAction();this.callParent([h,l,g,k,i,j]);if(!g){i()}return this},setWidth:function(g,f,j,h,i){h=this.createCB(h);this.beforeAction();this.callParent([g,f,j,h,i]);if(!f){h()}return this},setHeight:function(f,g,j,h,i){h=this.createCB(h);this.beforeAction();this.callParent([f,g,j,h,i]);if(!g){h()}return this},setBounds:function(i,k,o,j,p,n,l,m){l=this.createCB(l);this.beforeAction();if(!p){Ext.Layer.superclass.setXY.call(this,[i,k]);Ext.Layer.superclass.setSize.call(this,o,j);l()}else{this.callParent([i,k,o,j,p,n,l,m])}return this},setZIndex:function(b){this.zindex=b;if(this.getShim()){this.shim.setStyle("z-index",b++)}if(this.shadow){this.shadow.setZIndex(b++)}this.setStyle("z-index",b);return this}});Ext.define("Ext.data.ArrayStore",{extend:"Ext.data.Store",alias:"store.array",uses:["Ext.data.reader.Array"],constructor:function(b){b=b||{};Ext.applyIf(b,{proxy:{type:"memory",reader:"array"}});this.callParent([b])},loadData:function(h,g){if(this.expandData===true){var i=[],f=0,j=h.length;for(;f<j;f++){i[i.length]=[h[f]]}h=i}this.callParent([h,g])}},function(){Ext.data.SimpleStore=Ext.data.ArrayStore});Ext.define("Ext.resizer.Resizer",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.resizer.ResizeTracker","Ext.Component"],alternateClassName:"Ext.Resizable",handleCls:Ext.baseCSSPrefix+"resizable-handle",pinnedCls:Ext.baseCSSPrefix+"resizable-pinned",overCls:Ext.baseCSSPrefix+"resizable-over",proxyCls:Ext.baseCSSPrefix+"resizable-proxy",wrapCls:Ext.baseCSSPrefix+"resizable-wrap",dynamic:true,handles:"s e se",height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:20,minWidth:20,maxHeight:10000,maxWidth:10000,pinned:false,preserveRatio:false,transparent:false,possiblePositions:{n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"},constructor:function(w){var p=this,r,i,m=p.handles,v,n,s,u=0,o;this.addEvents("beforeresize","resizedrag","resize");if(Ext.isString(w)||Ext.isElement(w)||w.dom){r=w;w=arguments[1]||{};w.target=r}p.mixins.observable.constructor.call(p,w);r=p.target;if(r){if(r.isComponent){p.el=r.getEl();if(r.minWidth){p.minWidth=r.minWidth}if(r.minHeight){p.minHeight=r.minHeight}if(r.maxWidth){p.maxWidth=r.maxWidth}if(r.maxHeight){p.maxHeight=r.maxHeight}if(r.floating){if(!this.hasOwnProperty("handles")){this.handles="n ne e se s sw w nw"}}}else{p.el=p.target=Ext.get(r)}}else{p.target=p.el=Ext.get(p.el)}i=p.el.dom.tagName;if(i=="TEXTAREA"||i=="IMG"){p.originalTarget=p.target;p.target=p.el=p.el.wrap({cls:p.wrapCls,id:p.el.id+"-rzwrap"});p.el.setPositioning(p.originalTarget.getPositioning());p.originalTarget.clearPositioning();var t=p.originalTarget.getBox();p.el.setBox(t)}p.el.position();if(p.pinned){p.el.addCls(p.pinnedCls)}p.resizeTracker=Ext.create("Ext.resizer.ResizeTracker",{disabled:p.disabled,target:p.target,constrainTo:p.constrainTo,overCls:p.overCls,throttle:p.throttle,originalTarget:p.originalTarget,delegate:"."+p.handleCls,dynamic:p.dynamic,preserveRatio:p.preserveRatio,heightIncrement:p.heightIncrement,widthIncrement:p.widthIncrement,minHeight:p.minHeight,maxHeight:p.maxHeight,minWidth:p.minWidth,maxWidth:p.maxWidth});p.resizeTracker.on("mousedown",p.onBeforeResize,p);p.resizeTracker.on("drag",p.onResize,p);p.resizeTracker.on("dragend",p.onResizeEnd,p);if(p.handles=="all"){p.handles="n s e w ne nw se sw"}m=p.handles=p.handles.split(/ |\s*?[,;]\s*?/);n=p.possiblePositions;s=m.length;v=p.handleCls+" "+(this.target.isComponent?(p.target.baseCls+"-handle "):"")+p.handleCls+"-";for(;u<s;u++){if(m[u]&&n[m[u]]){o=n[m[u]];p[o]=Ext.create("Ext.Component",{owner:this,region:o,cls:v+o,renderTo:p.el});p[o].el.unselectable();if(p.transparent){p[o].el.setOpacity(0)}}}if(Ext.isNumber(p.width)){p.width=Ext.Number.constrain(p.width,p.minWidth,p.maxWidth)}if(Ext.isNumber(p.height)){p.height=Ext.Number.constrain(p.height,p.minHeight,p.maxHeight)}if(p.width!=null||p.height!=null){if(p.originalTarget){p.originalTarget.setWidth(p.width);p.originalTarget.setHeight(p.height)}p.resizeTo(p.width,p.height)}p.forceHandlesHeight()},disable:function(){this.resizeTracker.disable()},enable:function(){this.resizeTracker.enable()},onBeforeResize:function(f,e){var b=this.target.getBox();return this.fireEvent("beforeresize",this,b.width,b.height,e)},onResize:function(g,e){var h=this,b=h.target.getBox();h.forceHandlesHeight();return h.fireEvent("resizedrag",h,b.width,b.height,e)},onResizeEnd:function(g,e){var h=this,b=h.target.getBox();h.forceHandlesHeight();return h.fireEvent("resize",h,b.width,b.height,e)},resizeTo:function(c,d){this.target.setSize(c,d);this.fireEvent("resize",this,c,d,null)},getEl:function(){return this.el},getTarget:function(){return this.target},destroy:function(){var f;for(var d=0,e=this.handles.length;d<e;d++){f=this[this.possiblePositions[this.handles[d]]];delete f.owner;Ext.destroy(f)}},forceHandlesHeight:function(){var d=this,c;if(Ext.isIE6){c=d.east;if(c){c.setHeight(d.el.getHeight())}c=d.west;if(c){c.setHeight(d.el.getHeight())}d.el.repaint()}}});Ext.define("Ext.panel.Tool",{extend:"Ext.Component",requires:["Ext.tip.QuickTipManager"],alias:"widget.tool",baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",ariaRole:"button",renderTpl:['<img src="{blank}" class="{baseCls}-{type}" role="presentation"/>'],stopEvent:true,initComponent:function(){var c=this;c.addEvents("click");var d=["close","collapse","down","expand","gear","help","left","maximize","minimize","minus","move","next","pin","plus","prev","print","refresh","resize","restore","right","save","search","toggle","unpin","up"];if(c.id&&Ext.Array.indexOf(d,c.id)>-1&&Ext.global.console){Ext.global.console.warn("When specifying a tool you should use the type option, the id can conflict now that tool is a Component")}c.type=c.type||c.id;Ext.applyIf(c.renderData,{baseCls:c.baseCls,blank:Ext.BLANK_IMAGE_URL,type:c.type});c.renderSelectors.toolEl="."+c.baseCls+"-"+c.type;c.callParent()},afterRender:function(){var b=this;b.callParent(arguments);if(b.qtip){if(Ext.isObject(b.qtip)){Ext.tip.QuickTipManager.register(Ext.apply({target:b.id},b.qtip))}else{b.toolEl.dom.qtip=b.qtip}}b.mon(b.toolEl,{click:b.onClick,mousedown:b.onMouseDown,mouseover:b.onMouseOver,mouseout:b.onMouseOut,scope:b})},setType:function(d){var c=this;c.type=d;if(c.rendered){c.toolEl.dom.className=c.baseCls+"-"+d}return c},bindTo:function(b){this.owner=b},onClick:function(g,h){var e=this,f;if(e.disabled){return false}f=e.owner||e.ownerCt;e.el.removeCls(e.toolPressedCls);e.el.removeCls(e.toolOverCls);if(e.stopEvent!==false){g.stopEvent()}Ext.callback(e.handler,e.scope||e,[g,h,f,e]);e.fireEvent("click",e,g);return true},onDestroy:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.id)}this.callParent()},onMouseDown:function(){if(this.disabled){return false}this.el.addCls(this.toolPressedCls)},onMouseOver:function(){if(this.disabled){return false}this.el.addCls(this.toolOverCls)},onMouseOut:function(){this.el.removeCls(this.toolOverCls)}});Ext.define("Ext.util.CSS",function(){var g=null;var h=document;var e=/(-[a-z])/gi;var f=function(b,a){return a.charAt(1).toUpperCase()};return{singleton:true,constructor:function(){this.rules={};this.initialized=false},createStyleSheet:function(d,a){var l,m=h.getElementsByTagName("head")[0],b=h.createElement("style");b.setAttribute("type","text/css");if(a){b.setAttribute("id",a)}if(Ext.isIE){m.appendChild(b);l=b.styleSheet;l.cssText=d}else{try{b.appendChild(h.createTextNode(d))}catch(c){b.cssText=d}m.appendChild(b);l=b.styleSheet?b.styleSheet:(b.sheet||h.styleSheets[h.styleSheets.length-1])}this.cacheStyleSheet(l);return l},removeStyleSheet:function(a){var b=document.getElementById(a);if(b){b.parentNode.removeChild(b)}},swapStyleSheet:function(a,d){var b=document;this.removeStyleSheet(a);var c=b.createElement("link");c.setAttribute("rel","stylesheet");c.setAttribute("type","text/css");c.setAttribute("id",a);c.setAttribute("href",d);b.getElementsByTagName("head")[0].appendChild(c)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(c){if(!g){g={}}try{var o=c.cssRules||c.rules,b,d=o.length-1,j,i;for(;d>=0;--d){b=o[d].selectorText;if(b){b=b.split(",");i=b.length;for(j=0;j<i;j++){g[Ext.String.trim(b[j]).toLowerCase()]=o[d]}}}}catch(a){}},getRules:function(d){if(g===null||d){g={};var b=h.styleSheets,c=0,i=b.length;for(;c<i;c++){try{if(!b[c].disabled){this.cacheStyleSheet(b[c])}}catch(a){}}}return g},getRule:function(d,b){var c=this.getRules(b);if(!Ext.isArray(d)){return c[d.toLowerCase()]}for(var a=0;a<d.length;a++){if(c[d[a]]){return c[d[a].toLowerCase()]}}return null},updateRule:function(i,b,c){if(!Ext.isArray(i)){var a=this.getRule(i);if(a){a.style[b.replace(e,f)]=c;return true}}else{for(var d=0;d<i.length;d++){if(this.updateRule(i[d],b,c)){return true}}}return false}}}());Ext.define("Ext.grid.ColumnLayout",{extend:"Ext.layout.container.HBox",alias:"layout.gridcolumn",type:"column",reserveOffset:false,clearInnerCtOnLayout:false,beforeLayout:function(){var j=this,n=0,h=j.getLayoutItems(),i=h.length,k,l,m;if(!Ext.isDefined(j.availableSpaceOffset)){m=j.owner.up("tablepanel").verticalScroller;j.availableSpaceOffset=m?m.width-1:0}l=j.callParent(arguments);j.innerCt.setHeight(23);if(j.align=="stretchmax"){for(;n<i;n++){k=h[n];k.el.setStyle({height:"auto"});k.titleContainer.setStyle({height:"auto",paddingTop:"0"});if(k.componentLayout&&k.componentLayout.lastComponentSize){k.componentLayout.lastComponentSize.height=k.el.dom.offsetHeight}}}return l},calculateChildBoxes:function(i,s){var m=this,t=m.callParent(arguments),o=t.boxes,u=t.meta,n=o.length,r=0,p,l;if(s.width&&!m.isColumn){if(m.owner.forceFit){for(;r<n;r++){p=o[r];l=p.component;l.minWidth=Ext.grid.plugin.HeaderResizer.prototype.minColWidth;l.flex=p.width}t=m.callParent(arguments)}else{if(u.tooNarrow){s.width=u.desiredSize}}}return t},afterLayout:function(){var g=this,h=0,e=g.getLayoutItems(),f=e.length;g.callParent(arguments);if(!g.owner.hideHeaders&&g.align=="stretchmax"){for(;h<f;h++){e[h].setPadding()}}},updateInnerCtSize:function(e,g){var h=this,f;if(!h.isColumn){h.tooNarrow=g.meta.tooNarrow;f=(h.reserveOffset?h.availableSpaceOffset:0);if(g.meta.tooNarrow){e.width=g.meta.desiredSize+f}else{e.width+=f}}return h.callParent(arguments)},doOwnerCtLayouts:function(){var b=this.owner.ownerCt;if(!b.componentLayout.layoutBusy){b.doComponentLayout()}}});Ext.define("Ext.view.TableChunker",{singleton:true,requires:["Ext.XTemplate"],metaTableTpl:["{[this.openTableWrap()]}",'<table class="'+Ext.baseCSSPrefix+"grid-table "+Ext.baseCSSPrefix+'grid-table-resizer" border="0" cellspacing="0" cellpadding="0" {[this.embedFullWidth()]}>',"<tbody>",'<tr class="'+Ext.baseCSSPrefix+'grid-header-row">','<tpl for="columns">','<th class="'+Ext.baseCSSPrefix+'grid-col-resizer-{id}" style="width: {width}px; height: 0px;"></th>',"</tpl>","</tr>","{[this.openRows()]}","{row}",'<tpl for="features">',"{[this.embedFeature(values, parent, xindex, xcount)]}","</tpl>","{[this.closeRows()]}","</tbody>","</table>","{[this.closeTableWrap()]}"],constructor:function(){Ext.XTemplate.prototype.recurse=function(c,d){return this.apply(d?c[d]:c)}},embedFeature:function(f,i,g,h){var j="";if(!f.disabled){j=f.getFeatureTpl(f,i,g,h)}return j},embedFullWidth:function(){return'style="width: {fullWidth}px;"'},openRows:function(){return'<tpl for="rows">'},closeRows:function(){return"</tpl>"},metaRowTpl:['<tr class="'+Ext.baseCSSPrefix+'grid-row {addlSelector} {[this.embedRowCls()]}" {[this.embedRowAttr()]}>','<tpl for="columns">','<td class="{cls} '+Ext.baseCSSPrefix+"grid-cell "+Ext.baseCSSPrefix+'grid-cell-{columnId} {{id}-modified} {{id}-tdCls} {[this.firstOrLastCls(xindex, xcount)]}" {{id}-tdAttr}><div unselectable="on" class="'+Ext.baseCSSPrefix+"grid-cell-inner "+Ext.baseCSSPrefix+'unselectable" style="{{id}-style}; text-align: {align};">{{id}}</div></td>',"</tpl>","</tr>"],firstOrLastCls:function(d,f){var e="";if(d===1){e=Ext.baseCSSPrefix+"grid-cell-first"}else{if(d===f){e=Ext.baseCSSPrefix+"grid-cell-last"}}return e},embedRowCls:function(){return"{rowCls}"},embedRowAttr:function(){return"{rowAttr}"},openTableWrap:function(){return""},closeTableWrap:function(){return""},getTableTpl:function(n,v){var o,p={openRows:this.openRows,closeRows:this.closeRows,embedFeature:this.embedFeature,embedFullWidth:this.embedFullWidth,openTableWrap:this.openTableWrap,closeTableWrap:this.closeTableWrap},r={},u=n.features||[],i=u.length,s=0,m={embedRowCls:this.embedRowCls,embedRowAttr:this.embedRowAttr,firstOrLastCls:this.firstOrLastCls},t=Array.prototype.slice.call(this.metaRowTpl,0),w;for(;s<i;s++){if(!u[s].disabled){u[s].mutateMetaRowTpl(t);Ext.apply(m,u[s].getMetaRowTplFragments());Ext.apply(r,u[s].getFragmentTpl());Ext.apply(p,u[s].getTableFragments())}}t=Ext.create("Ext.XTemplate",t.join(""),m);n.row=t.applyTemplate(n);w=Ext.create("Ext.XTemplate",this.metaTableTpl.join(""),p);o=w.applyTemplate(n);if(!v){o=Ext.create("Ext.XTemplate",o,r)}return o}});Ext.define("Ext.grid.Scroller",{extend:"Ext.Component",alias:"widget.gridscroller",weight:110,cls:Ext.baseCSSPrefix+"scroller",focusable:false,reservedSpace:0,renderTpl:['<div class="'+Ext.baseCSSPrefix+'scroller-ct" id="{baseId}_ct">','<div class="'+Ext.baseCSSPrefix+'stretcher" id="{baseId}_stretch"></div>',"</div>"],initComponent:function(){var h=this,e=h.dock,f=Ext.baseCSSPrefix+"scroller-vertical",g="width";h.offsets={bottom:0};h.scrollProp="scrollTop";h.vertical=true;if(e==="top"||e==="bottom"){f=Ext.baseCSSPrefix+"scroller-horizontal";g="height";h.scrollProp="scrollLeft";h.vertical=false;h.weight+=5}h[g]=h.scrollerSize=Ext.getScrollbarSize()[g];h.cls+=(" "+f);Ext.applyIf(h.renderSelectors,{stretchEl:"."+Ext.baseCSSPrefix+"stretcher",scrollEl:"."+Ext.baseCSSPrefix+"scroller-ct"});h.callParent()},initRenderData:function(){var c=this,d=c.callParent(arguments)||{};d.baseId=c.id;return d},afterRender:function(){var b=this;b.callParent();b.mon(b.scrollEl,"scroll",b.onElScroll,b);Ext.cache[b.el.id].skipGarbageCollection=true},onAdded:function(b){this.ownerGrid=b;this.callParent(arguments)},getSizeCalculation:function(){var l=this,p=l.getPanel(),m=1,i=1,o,k;if(!l.vertical){var n=p.query("tableview"),j=n[1]||n[0];if(!j){return false}m=j.headerCt.getFullWidth();if(Ext.isIEQuirks){m--}}else{o=p.down("tableview:not([lockableInjected])");if(!o||!o.el){return false}k=o.el.child("table",true);if(!k){return false}i=k.offsetHeight}if(isNaN(m)){m=1}if(isNaN(i)){i=1}return{width:m,height:i}},invalidate:function(o){var m=this,n=m.stretchEl;if(!n||!m.ownerCt){return}var j=m.getSizeCalculation(),k=m.scrollEl,r=k.dom,p=m.reservedSpace,l,s=5;if(j){n.setSize(j);j=m.el.getSize(true);if(m.vertical){j.width+=s;j.height-=p;l="left"}else{j.width-=p;j.height+=s;l="top"}k.setSize(j);r.style[l]=(-s)+"px";r.scrollTop=r.scrollTop}},afterComponentLayout:function(){this.callParent(arguments);this.invalidate()},restoreScrollPos:function(){var f=this,d=this.scrollEl,e=d&&d.dom;if(f._scrollPos!==null&&e){e[f.scrollProp]=f._scrollPos;f._scrollPos=null}},setReservedSpace:function(c){var d=this;if(d.reservedSpace!==c){d.reservedSpace=c;d.invalidate()}},saveScrollPos:function(){var f=this,d=this.scrollEl,e=d&&d.dom;f._scrollPos=e?e[f.scrollProp]:null},setScrollTop:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return e.scrollTop=Ext.Number.constrain(f,0,e.scrollHeight-e.clientHeight)}},setScrollLeft:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return e.scrollLeft=Ext.Number.constrain(f,0,e.scrollWidth-e.clientWidth)}},scrollByDeltaY:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return this.setScrollTop(e.scrollTop+f)}},scrollByDeltaX:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return this.setScrollLeft(e.scrollLeft+f)}},scrollToTop:function(){this.setScrollTop(0)},onElScroll:function(d,c){this.fireEvent("bodyscroll",d,c)},getPanel:function(){var b=this;if(!b.panel){b.panel=this.up("[scrollerOwner]")}return b.panel}});Ext.define("Ext.data.Batch",{mixins:{observable:"Ext.util.Observable"},autoStart:false,current:-1,total:0,isRunning:false,isComplete:false,hasException:false,pauseOnException:true,constructor:function(d){var c=this;c.addEvents("complete","exception","operationcomplete");c.mixins.observable.constructor.call(c,d);c.operations=[]},add:function(b){this.total++;b.setBatch(this);this.operations.push(b)},start:function(){this.hasException=false;this.isRunning=true;this.runNextOperation()},runNextOperation:function(){this.runOperation(this.current+1)},pause:function(){this.isRunning=false},runOperation:function(i){var h=this,j=h.operations,f=j[i],g;if(f===undefined){h.isRunning=false;h.isComplete=true;h.fireEvent("complete",h,j[j.length-1])}else{h.current=i;g=function(b){var a=b.hasException();if(a){h.hasException=true;h.fireEvent("exception",h,b)}else{h.fireEvent("operationcomplete",h,b)}if(a&&h.pauseOnException){h.pause()}else{b.setCompleted();h.runNextOperation()}};f.setStarted();h.proxy[f.action](f,g,h)}}});Ext.define("Ext.data.Request",{action:undefined,params:undefined,method:"GET",url:undefined,constructor:function(b){Ext.apply(this,b)}});Ext.define("Ext.util.History",{singleton:true,alternateClassName:"Ext.History",mixins:{observable:"Ext.util.Observable"},constructor:function(){var b=this;b.oldIEMode=Ext.isIE6||Ext.isIE7||!Ext.isStrict&&Ext.isIE8;b.iframe=null;b.hiddenField=null;b.ready=false;b.currentToken=null},getHash:function(){var d=window.location.href,c=d.indexOf("#");return c>=0?d.substr(c+1):null},doSave:function(){this.hiddenField.value=this.currentToken},handleStateChange:function(b){this.currentToken=b;this.fireEvent("change",b)},updateIFrame:function(e){var f='<html><body><div id="state">'+Ext.util.Format.htmlEncode(e)+"</div></body></html>";try{var g=this.iframe.contentWindow.document;g.open();g.write(f);g.close();return true}catch(h){return false}},checkIFrame:function(){var k=this,g=k.iframe.contentWindow;if(!g||!g.document){Ext.Function.defer(this.checkIFrame,10,this);return}var j=g.document,l=j.getElementById("state"),h=l?l.innerText:null,i=k.getHash();Ext.TaskManager.start({run:function(){var a=g.document,b=a.getElementById("state"),d=b?b.innerText:null,c=k.getHash();if(d!==h){h=d;k.handleStateChange(d);window.top.location.hash=d;i=d;k.doSave()}else{if(c!==i){i=c;k.updateIFrame(c)}}},interval:50,scope:k});k.ready=true;k.fireEvent("ready",k)},startUp:function(){var d=this;d.currentToken=d.hiddenField.value||this.getHash();if(d.oldIEMode){d.checkIFrame()}else{var c=d.getHash();Ext.TaskManager.start({run:function(){var a=d.getHash();if(a!==c){c=a;d.handleStateChange(c);d.doSave()}},interval:50,scope:d});d.ready=true;d.fireEvent("ready",d)}},fieldId:Ext.baseCSSPrefix+"history-field",iframeId:Ext.baseCSSPrefix+"history-frame",init:function(f,e){var d=this;if(d.ready){Ext.callback(f,e,[d]);return}if(!Ext.isReady){Ext.onReady(function(){d.init(f,e)});return}d.hiddenField=Ext.getDom(d.fieldId);if(d.oldIEMode){d.iframe=Ext.getDom(d.iframeId)}d.addEvents("ready","change");if(f){d.on("ready",f,e,{single:true})}d.startUp()},add:function(e,f){var d=this;if(f!==false){if(d.getToken()===e){return true}}if(d.oldIEMode){return d.updateIFrame(e)}else{window.top.location.hash=e;return true}},back:function(){window.history.go(-1)},forward:function(){window.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}});Ext.define("Ext.data.JsonP",{singleton:true,statics:{requestCount:0,requests:{}},timeout:30000,disableCaching:true,disableCachingParam:"_dc",callbackKey:"callback",request:function(m){m=Ext.apply({},m);if(!m.url){Ext.Error.raise("A url must be specified for a JSONP request.")}var r=this,w=Ext.isDefined(m.disableCaching)?m.disableCaching:r.disableCaching,t=m.disableCachingParam||r.disableCachingParam,x=++r.statics().requestCount,o=m.callbackName||"callback"+x,s=m.callbackKey||r.callbackKey,n=Ext.isDefined(m.timeout)?m.timeout:r.timeout,v=Ext.apply({},m.params),y=m.url,u,p;v[s]="Ext.data.JsonP."+o;if(w){v[t]=new Date().getTime()}p=r.createScript(y,v);r.statics().requests[x]=u={url:y,params:v,script:p,id:x,scope:m.scope,success:m.success,failure:m.failure,callback:m.callback,callbackName:o};if(n>0){u.timeout=setTimeout(Ext.bind(r.handleTimeout,r,[u]),n)}r.setupErrorHandling(u);r[o]=Ext.bind(r.handleResponse,r,[u],true);Ext.getHead().appendChild(p);return u},abort:function(d){var f=this.statics().requests,e;if(d){if(!d.id){d=f[d]}this.abort(d)}else{for(e in f){if(f.hasOwnProperty(e)){this.abort(f[e])}}}},setupErrorHandling:function(b){b.script.onerror=Ext.bind(this.handleError,this,[b])},handleAbort:function(b){b.errorType="abort";this.handleResponse(null,b)},handleError:function(b){b.errorType="error";this.handleResponse(null,b)},cleanupErrorHandling:function(b){b.script.onerror=null},handleTimeout:function(b){b.errorType="timeout";this.handleResponse(null,b)},handleResponse:function(e,d){var f=true;if(d.timeout){clearTimeout(d.timeout)}delete this[d.callbackName];delete this.statics()[d.id];this.cleanupErrorHandling(d);Ext.fly(d.script).remove();if(d.errorType){f=false;Ext.callback(d.failure,d.scope,[d.errorType])}else{Ext.callback(d.success,d.scope,[e])}Ext.callback(d.callback,d.scope,[f,e,d.errorType])},createScript:function(d,f){var e=document.createElement("script");e.setAttribute("src",Ext.urlAppend(d,Ext.Object.toQueryString(f)));e.setAttribute("async",true);e.setAttribute("type","text/javascript");return e}});Ext.define("Ext.dd.DragZone",{extend:"Ext.dd.DragSource",constructor:function(c,d){this.callParent([c,d]);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}},getDragData:function(b){return Ext.dd.Registry.getHandleFromEvent(b)},onInitDrag:function(d,c){this.proxy.update(this.dragData.ddel.cloneNode(true));this.onStartDrag(d,c);return true},afterRepair:function(){var b=this;if(Ext.enableFx){Ext.fly(b.dragData.ddel).highlight(b.repairHighlightColor)}b.dragging=false},getRepairXY:function(b){return Ext.core.Element.fly(this.dragData.ddel).getXY()},destroy:function(){this.callParent();if(this.containerScroll){Ext.dd.ScrollManager.unregister(this.el)}}});Ext.define("Ext.menu.Item",{extend:"Ext.Component",alias:"widget.menuitem",alternateClassName:"Ext.menu.TextItem",activeCls:Ext.baseCSSPrefix+"menu-item-active",ariaRole:"menuitem",canActivate:true,clickHideDelay:1,destroyMenu:true,disabledCls:Ext.baseCSSPrefix+"menu-item-disabled",hideOnClick:true,isMenuItem:true,menuAlign:"tl-tr?",menuExpandDelay:200,menuHideDelay:200,renderTpl:['<tpl if="plain">',"{text}","</tpl>",'<tpl if="!plain">','<a class="'+Ext.baseCSSPrefix+'menu-item-link" href="{href}" <tpl if="hrefTarget">target="{hrefTarget}"</tpl> hidefocus="true" unselectable="on">','<img src="{icon}" class="'+Ext.baseCSSPrefix+'menu-item-icon {iconCls}" />','<span class="'+Ext.baseCSSPrefix+'menu-item-text" <tpl if="menu">style="margin-right: 17px;"</tpl> >{text}</span>','<tpl if="menu">','<img src="'+Ext.BLANK_IMAGE_URL+'" class="'+Ext.baseCSSPrefix+'menu-item-arrow" />',"</tpl>","</a>","</tpl>"],maskOnDisable:false,activate:function(){var b=this;if(!b.activated&&b.canActivate&&b.rendered&&!b.isDisabled()&&b.isVisible()){b.el.addCls(b.activeCls);b.focus();b.activated=true;b.fireEvent("activate",b)}},blur:function(){this.$focused=false;this.callParent(arguments)},deactivate:function(){var b=this;if(b.activated){b.el.removeCls(b.activeCls);b.blur();b.hideMenu();b.activated=false;b.fireEvent("deactivate",b)}},deferExpandMenu:function(){var b=this;if(!b.menu.rendered||!b.menu.isVisible()){b.parentMenu.activeChild=b.menu;b.menu.parentItem=b;b.menu.parentMenu=b.menu.ownerCt=b.parentMenu;b.menu.showBy(b,b.menuAlign)}},deferHideMenu:function(){if(this.menu.isVisible()){this.menu.hide()}},deferHideParentMenus:function(){Ext.menu.Manager.hideAll()},expandMenu:function(d){var c=this;if(c.menu){clearTimeout(c.hideMenuTimer);if(d===0){c.deferExpandMenu()}else{c.expandMenuTimer=Ext.defer(c.deferExpandMenu,Ext.isNumber(d)?d:c.menuExpandDelay,c)}}},focus:function(){this.$focused=true;this.callParent(arguments)},getRefItems:function(e){var f=this.menu,d;if(f){d=f.getRefItems(e);d.unshift(f)}return d||[]},hideMenu:function(d){var c=this;if(c.menu){clearTimeout(c.expandMenuTimer);c.hideMenuTimer=Ext.defer(c.deferHideMenu,Ext.isNumber(d)?d:c.menuHideDelay,c)}},initComponent:function(){var d=this,f=Ext.baseCSSPrefix,e=[f+"menu-item"];d.addEvents("activate","click","deactivate");if(d.plain){e.push(f+"menu-item-plain")}if(d.cls){e.push(d.cls)}d.cls=e.join(" ");if(d.menu){d.menu=Ext.menu.Manager.get(d.menu)}d.callParent(arguments)},onClick:function(c){var d=this;if(!d.href){c.stopEvent()}if(d.disabled){return}if(d.hideOnClick){d.deferHideParentMenusTimer=Ext.defer(d.deferHideParentMenus,d.clickHideDelay,d)}Ext.callback(d.handler,d.scope||d,[d,c]);d.fireEvent("click",d,c);if(!d.hideOnClick){d.focus()}},onDestroy:function(){var b=this;clearTimeout(b.expandMenuTimer);clearTimeout(b.hideMenuTimer);clearTimeout(b.deferHideParentMenusTimer);if(b.menu){delete b.menu.parentItem;delete b.menu.parentMenu;delete b.menu.ownerCt;if(b.destroyMenu!==false){b.menu.destroy()}}b.callParent(arguments)},onRender:function(f,g){var e=this,h="."+Ext.baseCSSPrefix;Ext.applyIf(e.renderData,{href:e.href||"#",hrefTarget:e.hrefTarget,icon:e.icon||Ext.BLANK_IMAGE_URL,iconCls:e.iconCls+(e.checkChangeDisabled?" "+e.disabledCls:""),menu:Ext.isDefined(e.menu),plain:e.plain,text:e.text});Ext.applyIf(e.renderSelectors,{itemEl:h+"menu-item-link",iconEl:h+"menu-item-icon",textEl:h+"menu-item-text",arrowEl:h+"menu-item-arrow"});e.callParent(arguments)},setHandler:function(c,d){this.handler=c||null;this.scope=d},setIconCls:function(d){var c=this;if(c.iconEl){if(c.iconCls){c.iconEl.removeCls(c.iconCls)}if(d){c.iconEl.addCls(d)}}c.iconCls=d},setText:function(f){var d=this,e=d.textEl||d.el;d.text=f;if(d.rendered){e.update(f||"");d.ownerCt.redoComponentLayout()}}});Ext.define("Ext.menu.KeyNav",{extend:"Ext.util.KeyNav",requires:["Ext.FocusManager"],constructor:function(c){var d=this;d.menu=c;d.callParent([c.el,{down:d.down,enter:d.enter,esc:d.escape,left:d.left,right:d.right,space:d.enter,tab:d.tab,up:d.up}])},down:function(d){var e=this,f=e.menu.focusedItem;if(f&&d.getKey()==Ext.EventObject.DOWN&&e.isWhitelisted(f)){return true}e.focusNextItem(1)},enter:function(d){var c=this.menu;if(c.activeItem){c.onClick(d)}},escape:function(b){Ext.menu.Manager.hideAll()},focusNextItem:function(k){var j=this.menu,h=j.items,m=j.focusedItem,n=m?h.indexOf(m):-1,i=n+k;while(i!=n){if(i<0){i=h.length-1}else{if(i>=h.length){i=0}}var l=h.getAt(i);if(j.canActivateItem(l)){j.setActiveItem(l);break}i+=k}},isWhitelisted:function(b){return Ext.FocusManager.isWhitelisted(b)},left:function(e){var h=this.menu,g=h.focusedItem,f=h.activeItem;if(g&&this.isWhitelisted(g)){return true}h.hide();if(h.parentMenu){h.parentMenu.focus()}},right:function(j){var i=this.menu,h=i.focusedItem,g=i.activeItem,e;if(h&&this.isWhitelisted(h)){return true}if(g){e=i.activeItem.menu;if(e){g.expandMenu(0);Ext.defer(function(){e.setActiveItem(e.items.getAt(0))},25)}}},tab:function(c){var d=this;if(c.shiftKey){d.up(c)}else{d.down(c)}},up:function(d){var e=this,f=e.menu.focusedItem;if(f&&d.getKey()==Ext.EventObject.UP&&e.isWhitelisted(f)){return true}e.focusNextItem(-1)}});Ext.define("Ext.dd.DragTracker",{uses:["Ext.util.Region"],mixins:{observable:"Ext.util.Observable"},active:false,trackOver:false,tolerance:5,autoStart:false,constructor:function(b){Ext.apply(this,b);this.addEvents("mouseover","mouseout","mousedown","mouseup","mousemove","beforedragstart","dragstart","dragend","drag");this.dragRegion=Ext.create("Ext.util.Region",0,0,0,0);if(this.el){this.initEl(this.el)}this.mixins.observable.constructor.call(this);if(this.disabled){this.disable()}},initEl:function(b){this.el=Ext.get(b);this.handle=Ext.get(this.delegate);this.delegate=this.handle?undefined:this.delegate;if(!this.handle){this.handle=this.el}this.mon(this.handle,{mousedown:this.onMouseDown,delegate:this.delegate,scope:this});if(this.trackOver||this.overCls){this.mon(this.handle,{mouseover:this.onMouseOver,mouseout:this.onMouseOut,delegate:this.delegate,scope:this})}},disable:function(){this.disabled=true},enable:function(){this.disabled=false},destroy:function(){this.clearListeners();delete this.el},onMouseOver:function(f,d){var e=this;if(!e.disabled){if(Ext.EventManager.contains(f)||e.delegate){e.mouseIsOut=false;if(e.overCls){e.el.addCls(e.overCls)}e.fireEvent("mouseover",e,f,e.delegate?f.getTarget(e.delegate,d):e.handle)}}},onMouseOut:function(b){if(this.mouseIsDown){this.mouseIsOut=true}else{if(this.overCls){this.el.removeCls(this.overCls)}this.fireEvent("mouseout",this,b)}},onMouseDown:function(c,d){if(this.disabled||c.dragTracked){return}this.dragTarget=this.delegate?d:this.handle.dom;this.startXY=this.lastXY=c.getXY();this.startRegion=Ext.fly(this.dragTarget).getRegion();if(this.fireEvent("mousedown",this,c)===false||this.fireEvent("beforedragstart",this,c)===false||this.onBeforeStart(c)===false){return}this.mouseIsDown=true;c.dragTracked=true;if(this.preventDefault!==false){c.preventDefault()}Ext.getDoc().on({scope:this,mouseup:this.onMouseUp,mousemove:this.onMouseMove,selectstart:this.stopSelect});if(this.autoStart){this.timer=Ext.defer(this.triggerStart,this.autoStart===true?1000:this.autoStart,this,[c])}},onMouseMove:function(g,h){if(this.active&&Ext.isIE&&!g.browserEvent.button){g.preventDefault();this.onMouseUp(g);return}g.preventDefault();var e=g.getXY(),f=this.startXY;this.lastXY=e;if(!this.active){if(Math.max(Math.abs(f[0]-e[0]),Math.abs(f[1]-e[1]))>this.tolerance){this.triggerStart(g)}else{return}}if(this.fireEvent("mousemove",this,g)===false){this.onMouseUp(g)}else{this.onDrag(g);this.fireEvent("drag",this,g)}},onMouseUp:function(b){this.mouseIsDown=false;if(this.mouseIsOut){this.mouseIsOut=false;this.onMouseOut(b)}b.preventDefault();this.fireEvent("mouseup",this,b);this.endDrag(b)},endDrag:function(f){var d=Ext.getDoc(),e=this.active;d.un("mousemove",this.onMouseMove,this);d.un("mouseup",this.onMouseUp,this);d.un("selectstart",this.stopSelect,this);this.clearStart();this.active=false;if(e){this.onEnd(f);this.fireEvent("dragend",this,f)}delete this._constrainRegion;delete Ext.EventObject.dragTracked},triggerStart:function(b){this.clearStart();this.active=true;this.onStart(b);this.fireEvent("dragstart",this,b)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(b){b.stopEvent();return false},onBeforeStart:function(b){},onStart:function(b){},onDrag:function(b){},onEnd:function(b){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getConstrainRegion:function(){if(this.constrainTo){if(this.constrainTo instanceof Ext.util.Region){return this.constrainTo}if(!this._constrainRegion){this._constrainRegion=Ext.fly(this.constrainTo).getViewRegion()}}else{if(!this._constrainRegion){this._constrainRegion=this.getDragCt().getViewRegion()}}return this._constrainRegion},getXY:function(b){return b?this.constrainModes[b](this,this.lastXY):this.lastXY},getOffset:function(f){var d=this.getXY(f),e=this.startXY;return[d[0]-e[0],d[1]-e[1]]},constrainModes:{point:function(e,g){var h=e.dragRegion,f=e.getConstrainRegion();if(!f){return g}h.x=h.left=h[0]=h.right=g[0];h.y=h.top=h[1]=h.bottom=g[1];h.constrainTo(f);return[h.left,h.top]},dragTarget:function(l,i){var g=l.startXY,j=l.startRegion.copy(),h=l.getConstrainRegion(),k;if(!h){return i}j.translateBy(i[0]-g[0],i[1]-g[1]);if(j.right>h.right){i[0]+=k=(h.right-j.right);j.left+=k}if(j.left<h.left){i[0]+=(h.left-j.left)}if(j.bottom>h.bottom){i[1]+=k=(h.bottom-j.bottom);j.top+=k}if(j.top<h.top){i[1]+=(h.top-j.top)}return i}}});Ext.define("Ext.layout.component.Draw",{alias:"layout.draw",extend:"Ext.layout.component.Auto",type:"draw",onLayout:function(c,d){this.owner.surface.setSize(c,d);this.callParent(arguments)}});Ext.define("Ext.grid.header.DragZone",{extend:"Ext.dd.DragZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",maxProxyWidth:120,constructor:function(b){this.headerCt=b;this.ddGroup=this.getDDGroup();this.callParent([b.el]);this.proxy.el.addCls(Ext.baseCSSPrefix+"grid-col-dd")},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getDragData:function(e){var g=e.getTarget("."+this.colHeaderCls),f;if(g){f=Ext.getCmp(g.id);if(!this.headerCt.dragging&&f.draggable&&!(f.isOnLeftEdge(e)||f.isOnRightEdge(e))){var h=document.createElement("div");h.innerHTML=Ext.getCmp(g.id).text;return{ddel:h,header:f}}}return false},onBeforeDrag:function(){return !(this.headerCt.dragging||this.disabled)},onInitDrag:function(){this.headerCt.dragging=true;this.callParent(arguments)},onDragDrop:function(){this.headerCt.dragging=false;this.callParent(arguments)},afterRepair:function(){this.callParent();this.headerCt.dragging=false},getRepairXY:function(){return this.dragData.header.el.getXY()},disable:function(){this.disabled=true},enable:function(){this.disabled=false}});Ext.define("Ext.grid.LockingView",{mixins:{observable:"Ext.util.Observable"},eventRelayRe:/^(beforeitem|beforecontainer|item|container|cell)/,constructor:function(p){var m=this,k=[],j=m.eventRelayRe,i=p.locked.getView(),l=p.normal.getView(),o,n;Ext.apply(m,{lockedView:i,normalView:l,lockedGrid:p.locked,normalGrid:p.normal,panel:p.panel});m.mixins.observable.constructor.call(m,p);o=i.events;for(n in o){if(o.hasOwnProperty(n)&&j.test(n)){k.push(n)}}m.relayEvents(i,k);m.relayEvents(l,k);l.on({scope:m,itemmouseleave:m.onItemMouseLeave,itemmouseenter:m.onItemMouseEnter});i.on({scope:m,itemmouseleave:m.onItemMouseLeave,itemmouseenter:m.onItemMouseEnter})},getGridColumns:function(){var b=this.lockedGrid.headerCt.getGridColumns();return b.concat(this.normalGrid.headerCt.getGridColumns())},getEl:function(b){return this.getViewForColumn(b).getEl()},getViewForColumn:function(d){var e=this.lockedView,f;e.headerCt.cascade(function(a){if(a===d){f=true;return false}});return f?e:this.normalView},onItemMouseEnter:function(l,g){var i=this,k=i.lockedView,h=i.normalView,j;if(l.trackOver){if(l!==k){h=k}j=h.getNode(g);h.highlightItem(j)}},onItemMouseLeave:function(j,f){var h=this,i=h.lockedView,g=h.normalView;if(j.trackOver){if(j!==i){g=i}g.clearHighlight()}},relayFn:function(f,d){d=d||[];var e=this.lockedView;e[f].apply(e,d||[]);e=this.normalView;e[f].apply(e,d||[])},getSelectionModel:function(){return this.panel.getSelectionModel()},getStore:function(){return this.panel.store},getNode:function(b){return this.normalView.getNode(b)},getCell:function(e,h){var f=this.getViewForColumn(h),g;g=f.getNode(e);return Ext.fly(g).down(h.getCellSelector())},getRecord:function(c){var d=this.lockedView.getRecord(c);if(!c){d=this.normalView.getRecord(c)}return d},addElListener:function(e,f,d){this.relayFn("addElListener",arguments)},refreshNode:function(){this.relayFn("refreshNode",arguments)},refresh:function(){this.relayFn("refresh",arguments)},bindStore:function(){this.relayFn("bindStore",arguments)},addRowCls:function(){this.relayFn("addRowCls",arguments)},removeRowCls:function(){this.relayFn("removeRowCls",arguments)}});Ext.define("Ext.data.proxy.Client",{extend:"Ext.data.proxy.Proxy",alternateClassName:"Ext.data.ClientProxy",clear:function(){Ext.Error.raise("The Ext.data.proxy.Client subclass that you are using has not defined a 'clear' function. See src/data/ClientProxy.js for details.")}});Ext.define("Ext.draw.CompositeSprite",{extend:"Ext.util.MixedCollection",mixins:{animate:"Ext.util.Animate"},isCompositeSprite:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.addEvents("mousedown","mouseup","mouseover","mouseout","click");c.id=Ext.id(null,"ext-sprite-group-");c.callParent()},onClick:function(b){this.fireEvent("click",b)},onMouseUp:function(b){this.fireEvent("mouseup",b)},onMouseDown:function(b){this.fireEvent("mousedown",b)},onMouseOver:function(b){this.fireEvent("mouseover",b)},onMouseOut:function(b){this.fireEvent("mouseout",b)},attachEvents:function(c){var d=this;c.on({scope:d,mousedown:d.onMouseDown,mouseup:d.onMouseUp,mouseover:d.onMouseOver,mouseout:d.onMouseOut,click:d.onClick})},add:function(d,f){var e=this.callParent(arguments);this.attachEvents(e);return e},insert:function(e,d,f){return this.callParent(arguments)},remove:function(c){var d=this;c.un({scope:d,mousedown:d.onMouseDown,mouseup:d.onMouseUp,mouseover:d.onMouseOver,mouseout:d.onMouseOut,click:d.onClick});d.callParent(arguments)},getBBox:function(){var u=0,i,r,p=this.items,t=this.length,s=Infinity,w=s,n=-s,x=s,o=-s,v,y;for(;u<t;u++){i=p[u];if(i.el){r=i.getBBox();w=Math.min(w,r.x);x=Math.min(x,r.y);n=Math.max(n,r.height+r.y);o=Math.max(o,r.width+r.x)}}return{x:w,y:x,height:n-x,width:o-w}},setAttributes:function(j,h){var i=0,f=this.items,g=this.length;for(;i<g;i++){f[i].setAttributes(j,h)}return this},hide:function(g){var h=0,e=this.items,f=this.length;for(;h<f;h++){e[h].hide(g)}return this},show:function(g){var h=0,e=this.items,f=this.length;for(;h<f;h++){e[h].show(g)}return this},redraw:function(){var h=this,i=0,j=h.items,f=h.getSurface(),g=h.length;if(f){for(;i<g;i++){f.renderItem(j[i])}}return h},setStyle:function(i){var l=0,g=this.items,h=this.length,j,k;for(;l<h;l++){j=g[l];k=j.el;if(k){k.setStyle(i)}}},addCls:function(h){var i=0,j=this.items,f=this.getSurface(),g=this.length;if(f){for(;i<g;i++){f.addCls(j[i],h)}}},removeCls:function(h){var i=0,j=this.items,f=this.getSurface(),g=this.length;if(f){for(;i<g;i++){f.removeCls(j[i],h)}}},getSurface:function(){var b=this.first();if(b){return b.surface}return null},destroy:function(){var f=this,e=f.getSurface(),d;if(e){while(f.getCount()>0){d=f.first();f.remove(d);e.remove(d)}}f.clearListeners()}});Ext.define("Ext.dd.Registry",{singleton:true,constructor:function(){this.elements={};this.handles={};this.autoIdSeed=0},getId:function(d,e){if(typeof d=="string"){return d}var f=d.id;if(!f&&e!==false){f="extdd-"+(++this.autoIdSeed);d.id=f}return f},register:function(i,h){h=h||{};if(typeof i=="string"){i=document.getElementById(i)}h.ddel=i;this.elements[this.getId(i)]=h;if(h.isHandle!==false){this.handles[h.ddel.id]=h}if(h.handles){var j=h.handles;for(var f=0,g=j.length;f<g;f++){this.handles[this.getId(j[f])]=h}}},unregister:function(k){var i=this.getId(k,false);var j=this.elements[i];if(j){delete this.elements[i];if(j.handles){var l=j.handles;for(var g=0,h=l.length;g<h;g++){delete this.handles[this.getId(l[g],false)]}}}},getHandle:function(b){if(typeof b!="string"){b=b.id}return this.handles[b]},getHandleFromEvent:function(c){var d=c.getTarget();return d?this.handles[d.id]:null},getTarget:function(b){if(typeof b!="string"){b=b.id}return this.elements[b]},getTargetFromEvent:function(c){var d=c.getTarget();return d?this.elements[d.id]||this.handles[d.id]:null}});Ext.define("Ext.dd.DDTarget",{extend:"Ext.dd.DragDrop",constructor:function(f,e,d){if(f){this.initTarget(f,e,d)}},getDragEl:Ext.emptyFn,isValidHandleChild:Ext.emptyFn,startDrag:Ext.emptyFn,endDrag:Ext.emptyFn,onDrag:Ext.emptyFn,onDragDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragOut:Ext.emptyFn,onDragOver:Ext.emptyFn,onInvalidDrop:Ext.emptyFn,onMouseDown:Ext.emptyFn,onMouseUp:Ext.emptyFn,setXConstraint:Ext.emptyFn,setYConstraint:Ext.emptyFn,resetConstraints:Ext.emptyFn,clearConstraints:Ext.emptyFn,clearTicks:Ext.emptyFn,setInitPosition:Ext.emptyFn,setDragElId:Ext.emptyFn,setHandleElId:Ext.emptyFn,setOuterHandleElId:Ext.emptyFn,addInvalidHandleClass:Ext.emptyFn,addInvalidHandleId:Ext.emptyFn,addInvalidHandleType:Ext.emptyFn,removeInvalidHandleClass:Ext.emptyFn,removeInvalidHandleId:Ext.emptyFn,removeInvalidHandleType:Ext.emptyFn,toString:function(){return("DDTarget "+this.id)}});Ext.define("Ext.dd.ScrollManager",{singleton:true,requires:["Ext.dd.DragDropManager"],constructor:function(){var b=Ext.dd.DragDropManager;b.fireEvents=Ext.Function.createSequence(b.fireEvents,this.onFire,this);b.stopDrag=Ext.Function.createSequence(b.stopDrag,this.onStop,this);this.doScroll=Ext.Function.bind(this.doScroll,this);this.ddmInstance=b;this.els={};this.dragEl=null;this.proc={}},onStop:function(d){var c=Ext.dd.ScrollManager;c.dragEl=null;c.clearProc()},triggerRefresh:function(){if(this.ddmInstance.dragCurrent){this.ddmInstance.refreshCache(this.ddmInstance.dragCurrent.groups)}},doScroll:function(){if(this.ddmInstance.dragCurrent){var f=this.proc,e=f.el,h=f.el.ddScrollConfig,g=h?h.increment:this.increment;if(!this.animate){if(e.scroll(f.dir,g)){this.triggerRefresh()}}else{e.scroll(f.dir,g,true,this.animDuration,this.triggerRefresh)}}},clearProc:function(){var b=this.proc;if(b.id){clearInterval(b.id)}b.id=0;b.el=null;b.dir=""},startProc:function(e,f){this.clearProc();this.proc.el=e;this.proc.dir=f;var g=e.ddScrollConfig?e.ddScrollConfig.ddGroup:undefined,h=(e.ddScrollConfig&&e.ddScrollConfig.frequency)?e.ddScrollConfig.frequency:this.frequency;if(g===undefined||this.ddmInstance.dragCurrent.ddGroup==g){this.proc.id=setInterval(this.doScroll,h)}},onFire:function(p,m){if(m||!this.ddmInstance.dragCurrent){return}if(!this.dragEl||this.dragEl!=this.ddmInstance.dragCurrent){this.dragEl=this.ddmInstance.dragCurrent;this.refreshCache()}var e=p.getXY(),c=p.getPoint(),o=this.proc,r=this.els;for(var t in r){var s=r[t],u=s._region;var n=s.ddScrollConfig?s.ddScrollConfig:this;if(u&&u.contains(c)&&s.isScrollable()){if(u.bottom-c.y<=n.vthresh){if(o.el!=s){this.startProc(s,"down")}return}else{if(u.right-c.x<=n.hthresh){if(o.el!=s){this.startProc(s,"left")}return}else{if(c.y-u.top<=n.vthresh){if(o.el!=s){this.startProc(s,"up")}return}else{if(c.x-u.left<=n.hthresh){if(o.el!=s){this.startProc(s,"right")}return}}}}}}this.clearProc()},register:function(f){if(Ext.isArray(f)){for(var d=0,e=f.length;d<e;d++){this.register(f[d])}}else{f=Ext.get(f);this.els[f.id]=f}},unregister:function(f){if(Ext.isArray(f)){for(var d=0,e=f.length;d<e;d++){this.unregister(f[d])}}else{f=Ext.get(f);delete this.els[f.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,ddGroup:undefined,refreshCache:function(){var d=this.els,c;for(c in d){if(typeof d[c]=="object"){d[c]._region=d[c].getRegion()}}}});Ext.define("Ext.view.DragZone",{extend:"Ext.dd.DragZone",containerScroll:false,constructor:function(d){var c=this;Ext.apply(c,d);if(!c.ddGroup){c.ddGroup="view-dd-zone-"+c.view.id}c.callParent([c.view.el.dom.parentNode]);c.ddel=Ext.get(document.createElement("div"));c.ddel.addCls(Ext.baseCSSPrefix+"grid-dd-wrap")},init:function(f,e,d){this.initTarget(f,e,d);this.view.mon(this.view,{itemmousedown:this.onItemMouseDown,scope:this})},onItemMouseDown:function(e,g,i,j,h){if(!this.isPreventDrag(h,g,i,j)){this.handleMouseDown(h);if(e.getSelectionModel().selectionMode=="MULTI"&&!h.ctrlKey&&e.getSelectionModel().isSelected(g)){return false}}},isPreventDrag:function(b){return false},getDragData:function(i){var l=this.view,j=i.getTarget(l.getItemSelector()),e,h,k;if(j){e=l.getRecord(j);h=l.getSelectionModel();k=h.getSelection();return{copy:this.view.copy||(this.view.allowCopy&&i.ctrlKey),event:new Ext.EventObjectImpl(i),view:l,ddel:this.ddel,item:j,records:k,fromPosition:Ext.fly(j).getXY()}}},onInitDrag:function(e,k){var n=this,m=n.dragData,o=m.view,j=o.getSelectionModel(),p=o.getRecord(m.item),l=m.event;if(!j.isSelected(p)||l.hasModifier()){j.selectWithEvent(p,l,true)}m.records=j.getSelection();n.ddel.update(n.getDragText());n.proxy.update(n.ddel.dom);n.onStartDrag(e,k);return true},getDragText:function(){var b=this.dragData.records.length;return Ext.String.format(this.dragText,b,b==1?"":"s")},getRepairXY:function(c,d){return d?d.fromPosition:false}});Ext.define("Ext.util.ComponentDragger",{extend:"Ext.dd.DragTracker",autoStart:500,constructor:function(d,c){this.comp=d;this.initialConstrainTo=c.constrainTo;this.callParent([c])},onStart:function(f){var d=this,e=d.comp;this.startPosition=e.getPosition();if(e.ghost&&!e.liveDrag){d.proxy=e.ghost();d.dragTarget=d.proxy.header.el}if(d.constrain||d.constrainDelegate){d.constrainTo=d.calculateConstrainRegion()}},calculateConstrainRegion:function(){var l=this,h=l.comp,i=l.initialConstrainTo,k,j,c=h.el.shadow?h.el.shadow.offset:0;if(!(i instanceof Ext.util.Region)){i=Ext.fly(i).getViewRegion()}if(c){i.adjust(0,-c,-c,c)}if(!l.constrainDelegate){k=Ext.fly(l.dragTarget).getRegion();j=l.proxy?l.proxy.el.getRegion():h.el.getRegion();i.adjust(k.top-j.top,k.right-j.right,k.bottom-j.bottom,k.left-j.left)}return i},onDrag:function(h){var e=this,f=(e.proxy&&!e.comp.liveDrag)?e.proxy:e.comp,g=e.getOffset(e.constrain||e.constrainDelegate?"dragTarget":null);f.setPosition(e.startPosition[0]+g[0],e.startPosition[1]+g[1])},onEnd:function(b){if(this.proxy&&!this.comp.liveDrag){this.comp.unghost()}}});Ext.define("Ext.window.Window",{extend:"Ext.panel.Panel",alternateClassName:"Ext.Window",requires:["Ext.util.ComponentDragger","Ext.util.Region","Ext.EventManager"],alias:"widget.window",baseCls:Ext.baseCSSPrefix+"window",resizable:true,draggable:true,constrain:false,constrainHeader:false,plain:false,minimizable:false,maximizable:false,minHeight:100,minWidth:200,expandOnShow:true,collapsible:false,closable:true,hidden:true,autoRender:true,hideMode:"visibility",floating:true,ariaRole:"alertdialog",itemCls:"x-window-item",overlapHeader:true,ignoreHeaderBorderManagement:true,initComponent:function(){var b=this;b.callParent();b.addEvents("resize","maximize","minimize","restore");if(b.plain){b.addClsWithUI("plain")}if(b.modal){b.ariaRole="dialog"}},initStateEvents:function(){var b=this.stateEvents;Ext.each(["maximize","restore","resize","dragend"],function(a){if(Ext.Array.indexOf(b,a)){b.push(a)}});this.callParent()},getState:function(){var d=this,f=d.callParent()||{},e=!!d.maximized;f.maximized=e;Ext.apply(f,{size:e?d.restoreSize:d.getSize(),pos:e?d.restorePos:d.getPosition()});return f},applyState:function(c){var d=this;if(c){d.maximized=c.maximized;if(d.maximized){d.hasSavedRestore=true;d.restoreSize=c.size;d.restorePos=c.pos}else{Ext.apply(d,{width:c.size.width,height:c.size.height,x:c.pos[0],y:c.pos[1]})}}},onMouseDown:function(){if(this.floating){this.toFront()}},onRender:function(d,e){var f=this;f.callParent(arguments);f.focusEl=f.el;if(f.maximizable){f.header.on({dblclick:{fn:f.toggleMaximize,element:"el",scope:f}})}},afterRender:function(){var e=this,d=e.hidden,f;e.hidden=false;e.callParent();e.hidden=d;e.proxy=e.getProxy();e.mon(e.el,"mousedown",e.onMouseDown,e);if(e.maximized){e.maximized=false;e.maximize()}if(e.closable){f=e.getKeyMap();f.on(27,e.onEsc,e);f.disable()}if(!d){e.syncMonitorWindowResize();e.doConstrain()}},initDraggable:function(){var c=this,d;if(!c.header){c.updateHeader(true)}if(c.header){d=Ext.applyIf({el:c.el,delegate:"#"+c.header.id},c.draggable);if(c.constrain||c.constrainHeader){d.constrain=c.constrain;d.constrainDelegate=c.constrainHeader;d.constrainTo=c.constrainTo||c.container}c.dd=Ext.create("Ext.util.ComponentDragger",this,d);c.relayEvents(c.dd,["dragstart","drag","dragend"])}},onEsc:function(d,c){c.stopEvent();this[this.closeAction]()},beforeDestroy:function(){var b=this;if(b.rendered){delete this.animateTarget;b.hide();Ext.destroy(b.keyMap)}b.callParent()},addTools:function(){var b=this;b.callParent();if(b.minimizable){b.addTool({type:"minimize",handler:Ext.Function.bind(b.minimize,b,[])})}if(b.maximizable){b.addTool({type:"maximize",handler:Ext.Function.bind(b.maximize,b,[])});b.addTool({type:"restore",handler:Ext.Function.bind(b.restore,b,[]),hidden:true})}},getFocusEl:function(){var k=this,i=k.focusEl,j=k.defaultButton||k.defaultFocus,f=typeof db,l,h;if(Ext.isDefined(j)){if(Ext.isNumber(j)){i=k.query("button")[j]}else{if(Ext.isString(j)){i=k.down("#"+j)}else{i=j}}}return i||k.focusEl},beforeShow:function(){this.callParent();if(this.expandOnShow){this.expand(false)}},afterShow:function(f){var d=this,e=f||d.animateTarget;if(e){d.doConstrain()}d.callParent(arguments);if(d.maximized){d.fitContainer()}d.syncMonitorWindowResize();if(!e){d.doConstrain()}if(d.keyMap){d.keyMap.enable()}},doClose:function(){var b=this;if(b.hidden){b.fireEvent("close",b);b[b.closeAction]()}else{b.hide(b.animTarget,b.doClose,b)}},afterHide:function(){var b=this;b.syncMonitorWindowResize();if(b.keyMap){b.keyMap.disable()}b.callParent(arguments)},onWindowResize:function(){if(this.maximized){this.fitContainer()}this.doConstrain()},minimize:function(){this.fireEvent("minimize",this);return this},afterCollapse:function(){var b=this;if(b.maximizable){b.tools.maximize.hide();b.tools.restore.hide()}if(b.resizer){b.resizer.disable()}b.callParent(arguments)},afterExpand:function(){var b=this;if(b.maximized){b.tools.restore.show()}else{if(b.maximizable){b.tools.maximize.show()}}if(b.resizer){b.resizer.enable()}b.callParent(arguments)},maximize:function(){var b=this;if(!b.maximized){b.expand(false);if(!b.hasSavedRestore){b.restoreSize=b.getSize();b.restorePos=b.getPosition(true)}if(b.maximizable){b.tools.maximize.hide();b.tools.restore.show()}b.maximized=true;b.el.disableShadow();if(b.dd){b.dd.disable()}if(b.collapseTool){b.collapseTool.hide()}b.el.addCls(Ext.baseCSSPrefix+"window-maximized");b.container.addCls(Ext.baseCSSPrefix+"window-maximized-ct");b.syncMonitorWindowResize();b.setPosition(0,0);b.fitContainer();b.fireEvent("maximize",b)}return b},restore:function(){var d=this,c=d.tools;if(d.maximized){delete d.hasSavedRestore;d.removeCls(Ext.baseCSSPrefix+"window-maximized");if(c.restore){c.restore.hide()}if(c.maximize){c.maximize.show()}if(d.collapseTool){d.collapseTool.show()}d.setPosition(d.restorePos);d.setSize(d.restoreSize);delete d.restorePos;delete d.restoreSize;d.maximized=false;d.el.enableShadow(true);if(d.dd){d.dd.enable()}d.container.removeCls(Ext.baseCSSPrefix+"window-maximized-ct");d.syncMonitorWindowResize();d.doConstrain();d.fireEvent("restore",d)}return d},syncMonitorWindowResize:function(){var e=this,h=e._monitoringResize,g=e.monitorResize||e.constrain||e.constrainHeader||e.maximized,f=e.hidden||e.destroying||e.isDestroyed;if(g&&!f){if(!h){Ext.EventManager.onWindowResize(e.onWindowResize,e);e._monitoringResize=true}}else{if(h){Ext.EventManager.removeResizeListener(e.onWindowResize,e);e._monitoringResize=false}}},toggleMaximize:function(){return this[this.maximized?"restore":"maximize"]()}});Ext.define("Ext.resizer.SplitterTracker",{extend:"Ext.dd.DragTracker",requires:["Ext.util.Region"],enabled:true,overlayCls:Ext.baseCSSPrefix+"resizable-overlay",getPrevCmp:function(){var b=this.getSplitter();return b.previousSibling()},getNextCmp:function(){var b=this.getSplitter();return b.nextSibling()},onBeforeStart:function(i){var k=this,j=k.getPrevCmp(),h=k.getNextCmp(),l=k.getSplitter().collapseEl,e;if(l&&(i.getTarget()===k.getSplitter().collapseEl.dom)){return false}if(h.collapsed||j.collapsed){return false}e=k.overlay=Ext.getBody().createChild({cls:k.overlayCls,html:"&#160;"});e.unselectable();e.setSize(Ext.core.Element.getViewWidth(true),Ext.core.Element.getViewHeight(true));e.show();k.prevBox=j.getEl().getBox();k.nextBox=h.getEl().getBox();k.constrainTo=k.calculateConstrainRegion()},onStart:function(c){var d=this.getSplitter();d.addCls(d.baseCls+"-active")},calculateConstrainRegion:function(){var r=this,w=r.getSplitter(),p=w.getWidth(),o=w.defaultSplitMin,v=w.orientation,t=r.prevBox,n=r.getPrevCmp(),u=r.nextBox,s=r.getNextCmp(),l,m;if(v==="vertical"){l=Ext.create("Ext.util.Region",t.y,(n.maxWidth?t.x+n.maxWidth:u.right-(s.minWidth||o))+p,t.bottom,t.x+(n.minWidth||o));m=Ext.create("Ext.util.Region",u.y,u.right-(s.minWidth||o),u.bottom,(s.maxWidth?u.right-s.maxWidth:t.x+(t.minWidth||o))-p)}else{l=Ext.create("Ext.util.Region",t.y+(n.minHeight||o),t.right,(n.maxHeight?t.y+n.maxHeight:u.bottom-(s.minHeight||o))+p,t.x);m=Ext.create("Ext.util.Region",(s.maxHeight?u.bottom-s.maxHeight:t.y+(n.minHeight||o))-p,u.right,u.bottom-(s.minHeight||o),u.x)}return l.intersect(m)},performResize:function(m){var k=this,p=k.getOffset("dragTarget"),s=k.getSplitter(),o=s.orientation,e=k.getPrevCmp(),l=k.getNextCmp(),r=s.ownerCt,n=r.getLayout();r.suspendLayout=true;if(o==="vertical"){if(e){if(!e.maintainFlex){delete e.flex;e.setSize(k.prevBox.width+p[0],e.getHeight())}}if(l){if(!l.maintainFlex){delete l.flex;l.setSize(k.nextBox.width-p[0],l.getHeight())}}}else{if(e){if(!e.maintainFlex){delete e.flex;e.setSize(e.getWidth(),k.prevBox.height+p[1])}}if(l){if(!l.maintainFlex){delete l.flex;l.setSize(e.getWidth(),k.nextBox.height-p[1])}}}delete r.suspendLayout;n.onLayout()},endDrag:function(){var b=this;if(b.overlay){b.overlay.remove();delete b.overlay}b.callParent(arguments)},onEnd:function(f){var e=this,d=e.getSplitter();d.removeCls(d.baseCls+"-active");e.performResize()},onDrag:function(j){var l=this,i=l.getOffset("dragTarget"),k=l.getSplitter(),e=k.getEl(),h=k.orientation;if(h==="vertical"){e.setX(l.startRegion.left+i[0])}else{e.setY(l.startRegion.top+i[1])}},getSplitter:function(){return Ext.getCmp(this.getDragCt().id)}});Ext.define("Ext.menu.CheckItem",{extend:"Ext.menu.Item",alias:"widget.menucheckitem",checkedCls:Ext.baseCSSPrefix+"menu-item-checked",uncheckedCls:Ext.baseCSSPrefix+"menu-item-unchecked",groupCls:Ext.baseCSSPrefix+"menu-group-icon",hideOnClick:false,afterRender:function(){var b=this;this.callParent();b.checked=!b.checked;b.setChecked(!b.checked,true)},initComponent:function(){var b=this;b.addEvents("beforecheckchange","checkchange");b.callParent(arguments);Ext.menu.Manager.registerCheckable(b);if(b.group){if(!b.iconCls){b.iconCls=b.groupCls}if(b.initialConfig.hideOnClick!==false){b.hideOnClick=true}}},disableCheckChange:function(){var b=this;if(b.iconEl){b.iconEl.addCls(b.disabledCls)}b.checkChangeDisabled=true},enableCheckChange:function(){var b=this;b.iconEl.removeCls(b.disabledCls);b.checkChangeDisabled=false},onClick:function(c){var d=this;if(!d.disabled&&!d.checkChangeDisabled&&!(d.checked&&d.group)){d.setChecked(!d.checked)}this.callParent([c])},onDestroy:function(){Ext.menu.Manager.unregisterCheckable(this);this.callParent(arguments)},setChecked:function(f,e){var d=this;if(d.checked!==f&&(e||d.fireEvent("beforecheckchange",d,f)!==false)){if(d.el){d.el[f?"addCls":"removeCls"](d.checkedCls)[!f?"addCls":"removeCls"](d.uncheckedCls)}d.checked=f;Ext.menu.Manager.onCheckChange(d,f);if(!e){Ext.callback(d.checkHandler,d.scope,[d,f]);d.fireEvent("checkchange",d,f)}}}});Ext.define("Ext.menu.Separator",{extend:"Ext.menu.Item",alias:"widget.menuseparator",canActivate:false,focusable:false,hideOnClick:false,plain:true,separatorCls:Ext.baseCSSPrefix+"menu-item-separator",text:"&#160;",onRender:function(e,g){var h=this,f=h.separatorCls;h.cls+=" "+f;Ext.applyIf(h.renderSelectors,{itemSepEl:"."+f});h.callParent(arguments)}});Ext.define("Ext.menu.Menu",{extend:"Ext.panel.Panel",alias:"widget.menu",requires:["Ext.layout.container.Fit","Ext.layout.container.VBox","Ext.menu.CheckItem","Ext.menu.Item","Ext.menu.KeyNav","Ext.menu.Manager","Ext.menu.Separator"],allowOtherMenus:false,ariaRole:"menu",defaultAlign:"tl-bl?",floating:true,constrain:true,hidden:true,hideMode:"visibility",ignoreParentClicks:false,isMenu:true,showSeparator:true,minWidth:120,initComponent:function(){var e=this,g=Ext.baseCSSPrefix,f=[g+"menu"],h=e.bodyCls?[e.bodyCls]:[];e.addEvents("click","mouseenter","mouseleave","mouseover");Ext.menu.Manager.register(e);if(e.plain){f.push(g+"menu-plain")}e.cls=f.join(" ");h.unshift(g+"menu-body");e.bodyCls=h.join(" ");e.layout={type:"vbox",align:"stretchmax",autoSize:true,clearInnerCtOnLayout:true,overflowHandler:"Scroller"};if(e.floating===false&&e.initialConfig.hidden!==true){e.hidden=false}e.callParent(arguments);e.on("beforeshow",function(){var a=!!e.items.length;if(a&&e.rendered){e.el.setStyle("visibility",null)}return a})},afterRender:function(f){var e=this,g=Ext.baseCSSPrefix,h="&#160;";e.callParent(arguments);if(e.showSeparator){e.iconSepEl=e.layout.getRenderTarget().insertFirst({cls:g+"menu-icon-separator",html:h})}e.focusEl=e.el.createChild({cls:g+"menu-focus",tabIndex:"-1",html:h});e.mon(e.el,{click:e.onClick,mouseover:e.onMouseOver,scope:e});e.mouseMonitor=e.el.monitorMouseLeave(100,e.onMouseLeave,e);if(e.showSeparator&&((!Ext.isStrict&&Ext.isIE)||Ext.isIE6)){e.iconSepEl.setHeight(e.el.getHeight())}e.keyNav=Ext.create("Ext.menu.KeyNav",e)},afterLayout:function(){var i=this;i.callParent(arguments);if((!Ext.iStrict&&Ext.isIE)||Ext.isIE6){var s=i.layout.getRenderTarget(),p=0,r=i.dockedItems,o=r.length,m=0,l,k,n;p=s.getWidth();n=p+i.body.getBorderWidth("lr")+i.body.getPadding("lr");i.body.setWidth(n);for(;m<o,l=r.getAt(m);m++){if(l.dock=="left"||l.dock=="right"){n+=l.getWidth()}}i.el.setWidth(n)}},canActivateItem:function(b){return b&&!b.isDisabled()&&b.isVisible()&&(b.canActivate||b.getXTypes().indexOf("menuitem")<0)},deactivateActiveItem:function(){var b=this;if(b.activeItem){b.activeItem.deactivate();if(!b.activeItem.activated){delete b.activeItem}}if(b.focusedItem){b.focusedItem.blur();if(!b.focusedItem.$focused){delete b.focusedItem}}},clearStretch:function(){if(this.rendered){this.items.each(function(b){if(b.componentLayout){delete b.componentLayout.lastComponentSize}if(b.el){b.el.setWidth(null)}})}},onAdd:function(){var b=this;b.clearStretch();b.callParent(arguments);if(Ext.isIE6||Ext.isIE7){Ext.Function.defer(b.doComponentLayout,10,b)}},onRemove:function(){this.clearStretch();this.callParent(arguments)},redoComponentLayout:function(){if(this.rendered){this.clearStretch();this.doComponentLayout()}},getFocusEl:function(){return this.focusEl},hide:function(){this.deactivateActiveItem();this.callParent(arguments)},getItemFromEvent:function(b){return this.getChildByElement(b.getTarget())},lookupComponent:function(c){var d=this;if(Ext.isString(c)){c=d.lookupItemFromString(c)}else{if(Ext.isObject(c)){c=d.lookupItemFromObject(c)}}c.minWidth=c.minWidth||d.minWidth;return c},lookupItemFromObject:function(j){var f=this,i=Ext.baseCSSPrefix,g,h;if(!j.isComponent){if(!j.xtype){j=Ext.create("Ext.menu."+(Ext.isBoolean(j.checked)?"Check":"")+"Item",j)}else{j=Ext.ComponentManager.create(j,j.xtype)}}if(j.isMenuItem){j.parentMenu=f}if(!j.isMenuItem&&!j.dock){g=[i+"menu-item",i+"menu-item-cmp"];h=Ext.Function.createInterceptor;j.focus=h(j.focus,function(){this.$focused=true},j);j.blur=h(j.blur,function(){this.$focused=false},j);if(!f.plain&&(j.indent===true||j.iconCls==="no-icon")){g.push(i+"menu-item-indent")}if(j.rendered){j.el.addCls(g)}else{j.cls=(j.cls?j.cls:"")+" "+g.join(" ")}j.isMenuItem=true}return j},lookupItemFromString:function(b){return(b=="separator"||b=="-")?Ext.createWidget("menuseparator"):Ext.createWidget("menuitem",{canActivate:false,hideOnClick:false,plain:true,text:b})},onClick:function(f){var d=this,e;if(d.disabled){f.stopEvent();return}if((f.getTarget()==d.focusEl.dom)||f.within(d.layout.getRenderTarget())){e=d.getItemFromEvent(f)||d.activeItem;if(e){if(e.getXTypes().indexOf("menuitem")>=0){if(!e.menu||!d.ignoreParentClicks){e.onClick(f)}else{f.stopEvent()}}}d.fireEvent("click",d,e,f)}},onDestroy:function(){var b=this;Ext.menu.Manager.unregister(b);if(b.rendered){b.el.un(b.mouseMonitor);b.keyNav.destroy();delete b.keyNav}b.callParent(arguments)},onMouseLeave:function(c){var d=this;d.deactivateActiveItem();if(d.disabled){return}d.fireEvent("mouseleave",d,c)},onMouseOver:function(i){var j=this,h=i.getRelatedTarget(),g=!j.el.contains(h),e=j.getItemFromEvent(i);if(g&&j.parentMenu){j.parentMenu.setActiveItem(j.parentItem);j.parentMenu.mouseMonitor.mouseenter()}if(j.disabled){return}if(e){j.setActiveItem(e);if(e.activated&&e.expandMenu){e.expandMenu()}}if(g){j.fireEvent("mouseenter",j,i)}j.fireEvent("mouseover",j,e,i)},setActiveItem:function(c){var d=this;if(c&&(c!=d.activeItem&&c!=d.focusedItem)){d.deactivateActiveItem();if(d.canActivateItem(c)){if(c.activate){c.activate();if(c.activated){d.activeItem=c;d.focusedItem=c;d.focus()}}else{c.focus();d.focusedItem=c}}c.el.scrollIntoView(d.layout.getRenderTarget())}},showBy:function(g,i,j){var h=this,k,l;if(h.floating&&g){h.layout.autoSize=true;h.doAutoRender();g=g.el||g;k=h.el.getAlignToXY(g,i||h.defaultAlign,j);if(h.floatParent){l=h.floatParent.getTargetEl().getViewRegion();k[0]-=l.x;k[1]-=l.y}h.showAt(k)}return h},showAt:function(){this.callParent(arguments);if(this.floating){this.doConstrain()}},doConstrain:function(){var o=this,n=o.el.getY(),m,p,t,l=n,k,r,u,s;delete o.height;o.setSize();p=o.getHeight();if(o.floating){r=Ext.fly(o.el.dom.parentNode);u=r.getScroll().top;s=r.getViewSize().height;k=n-u;m=o.maxHeight?o.maxHeight:s-k;if(p>s){m=s;l=n-k}else{if(m<p){l=n-(p-m);m=p}}}else{m=o.getHeight()}if(o.maxHeight){m=Math.min(o.maxHeight,m)}if(p>m&&m>0){o.layout.autoSize=false;o.setHeight(m);if(o.showSeparator){o.iconSepEl.setHeight(o.layout.getRenderTarget().dom.scrollHeight)}}t=o.getConstrainVector(o.el.dom.parentNode);if(t){o.setPosition(o.getPosition()[0]+t[0])}o.el.setY(l)}});Ext.define("Ext.grid.plugin.HeaderResizer",{extend:"Ext.util.Observable",requires:["Ext.dd.DragTracker","Ext.util.Region"],alias:"plugin.gridheaderresizer",disabled:false,configs:{dynamic:true},colHeaderCls:Ext.baseCSSPrefix+"column-header",minColWidth:40,maxColWidth:1000,wResizeCursor:"col-resize",eResizeCursor:"col-resize",init:function(b){this.headerCt=b;b.on("render",this.afterHeaderRender,this,{single:true})},destroy:function(){if(this.tracker){this.tracker.destroy()}},afterHeaderRender:function(){var c=this.headerCt,d=c.el;c.mon(d,"mousemove",this.onHeaderCtMouseMove,this);this.tracker=Ext.create("Ext.dd.DragTracker",{disabled:this.disabled,onBeforeStart:Ext.Function.bind(this.onBeforeStart,this),onStart:Ext.Function.bind(this.onStart,this),onDrag:Ext.Function.bind(this.onDrag,this),onEnd:Ext.Function.bind(this.onEnd,this),tolerance:3,autoStart:300,el:d})},onHeaderCtMouseMove:function(j,g){if(this.headerCt.dragging){if(this.activeHd){this.activeHd.el.dom.style.cursor="";delete this.activeHd}}else{var h=j.getTarget("."+this.colHeaderCls,3,true),e,i;if(h){e=Ext.getCmp(h.id);if(e.isOnLeftEdge(j)){i=e.previousNode("gridcolumn:not([hidden]):not([isGroupHeader])")}else{if(e.isOnRightEdge(j)){i=e}else{i=null}}if(i){if(i.isGroupHeader){i=i.getVisibleGridColumns();i=i[i.length-1]}if(i&&!(i.fixed||this.disabled)){this.activeHd=i;e.el.dom.style.cursor=this.eResizeCursor}}else{e.el.dom.style.cursor="";delete this.activeHd}}}},onBeforeStart:function(c){var d=c.getTarget();this.dragHd=this.activeHd;if(!!this.dragHd&&!Ext.fly(d).hasCls("x-column-header-trigger")&&!this.headerCt.dragging){this.tracker.constrainTo=this.getConstrainRegion();return true}else{this.headerCt.dragging=false;return false}},getConstrainRegion:function(){var d=this.dragHd.el,c=Ext.util.Region.getRegion(d);return c.adjust(0,this.maxColWidth-d.getWidth(),0,this.minColWidth)},onStart:function(t){var e=this,G=e.dragHd,K=G.el,z=K.getWidth(),E=e.headerCt,C=t.getTarget();if(e.dragHd&&!Ext.fly(C).hasCls("x-column-header-trigger")){E.dragging=true}e.origWidth=z;if(!e.dynamic){var I=K.getXY(),w=E.up("[scrollerOwner]"),H=e.dragHd.up(":not([isGroupHeader])"),D=H.up(),J=w.getLhsMarker(),A=w.getRhsMarker(),L=A.parent(),F=L.getLeft(true),v=L.getTop(true),x=L.translatePoints(I),y=D.body.getHeight()+E.getHeight(),B=x.top-v;J.setTop(B);A.setTop(B);J.setHeight(y);A.setHeight(y);J.setLeft(x.left-F);A.setLeft(x.left+z-F)}},onDrag:function(k){if(!this.dynamic){var l=this.tracker.getXY("point"),i=this.headerCt.up("[scrollerOwner]"),j=i.getRhsMarker(),n=j.parent(),e=n.translatePoints(l),m=n.getLeft(true);j.setLeft(e.left-m)}else{this.doResize()}},onEnd:function(m){this.headerCt.dragging=false;if(this.dragHd){if(!this.dynamic){var n=this.dragHd,p=this.headerCt.up("[scrollerOwner]"),o=p.getLhsMarker(),k=p.getRhsMarker(),j=n.getWidth(),l=this.tracker.getOffset("point"),e=-9999;o.setLeft(e);k.setLeft(e)}this.doResize()}},doResize:function(){if(this.dragHd){var d=this.dragHd,e,f=this.tracker.getOffset("point");if(d.flex){delete d.flex}if(this.headerCt.forceFit){e=d.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])");if(e){this.headerCt.componentLayout.layoutBusy=true}}d.minWidth=this.origWidth+f[0];d.setWidth(d.minWidth);if(e){delete e.flex;e.setWidth(e.getWidth()-f[0]);this.headerCt.componentLayout.layoutBusy=false;this.headerCt.doComponentLayout()}}},disable:function(){this.disabled=true;if(this.tracker){this.tracker.disable()}},enable:function(){this.disabled=false;if(this.tracker){this.tracker.enable()}}});Ext.define("Ext.grid.Lockable",{requires:["Ext.grid.LockingView"],syncRowHeight:true,spacerHidden:true,unlockText:"Unlock",lockText:"Lock",determineXTypeToCreate:function(){var l=this,i;if(l.subGridXType){i=l.subGridXType}else{var k=this.getXTypes().split("/"),g=k.length,j=k[g-1],h=k[g-2];if(h!=="tablepanel"){i=h}else{i=j}}return i},injectLockable:function(){this.lockable=true;this.hasView=true;var i=this,s=i.determineXTypeToCreate(),l=i.getSelectionModel(),r={xtype:s,enableAnimations:false,scroll:false,scrollerOwner:false,selModel:l,border:false,cls:Ext.baseCSSPrefix+"grid-inner-locked"},k={xtype:s,enableAnimations:false,scrollerOwner:false,selModel:l,border:false},n=0,o,p,m;i.addCls(Ext.baseCSSPrefix+"grid-locked");Ext.copyTo(k,i,i.normalCfgCopy);Ext.copyTo(r,i,i.lockedCfgCopy);for(;n<i.normalCfgCopy.length;n++){delete i[i.normalCfgCopy[n]]}for(n=0;n<i.lockedCfgCopy.length;n++){delete i[i.lockedCfgCopy[n]]}i.lockedHeights=[];i.normalHeights=[];o=i.processColumns(i.columns);r.width=o.lockedWidth;r.columns=o.locked;k.columns=o.normal;i.store=Ext.StoreManager.lookup(i.store);r.store=i.store;k.store=i.store;k.flex=1;r.viewConfig=i.lockedViewConfig||{};r.viewConfig.loadingUseMsg=false;k.viewConfig=i.normalViewConfig||{};Ext.applyIf(r.viewConfig,i.viewConfig);Ext.applyIf(k.viewConfig,i.viewConfig);i.normalGrid=Ext.ComponentManager.create(k);i.lockedGrid=Ext.ComponentManager.create(r);i.view=Ext.create("Ext.grid.LockingView",{locked:i.lockedGrid,normal:i.normalGrid,panel:i});if(i.syncRowHeight){i.lockedGrid.getView().on({refresh:i.onLockedGridAfterRefresh,itemupdate:i.onLockedGridAfterUpdate,scope:i});i.normalGrid.getView().on({refresh:i.onNormalGridAfterRefresh,itemupdate:i.onNormalGridAfterUpdate,scope:i})}p=i.lockedGrid.headerCt;m=i.normalGrid.headerCt;p.lockedCt=true;p.lockableInjected=true;m.lockableInjected=true;p.on({columnshow:i.onLockedHeaderShow,columnhide:i.onLockedHeaderHide,columnmove:i.onLockedHeaderMove,sortchange:i.onLockedHeaderSortChange,columnresize:i.onLockedHeaderResize,scope:i});m.on({columnmove:i.onNormalHeaderMove,sortchange:i.onNormalHeaderSortChange,scope:i});i.normalGrid.on({scrollershow:i.onScrollerShow,scrollerhide:i.onScrollerHide,scope:i});i.lockedGrid.on("afterlayout",i.onLockedGridAfterLayout,i,{single:true});i.modifyHeaderCt();i.items=[i.lockedGrid,i.normalGrid];i.layout={type:"hbox",align:"stretch"}},processColumns:function(k){var l=0,i=k.length,h=0,m=[],n=[],j;for(;l<i;++l){j=k[l];j.processed=true;if(j.locked){if(j.flex){Ext.Error.raise("Columns which are locked do NOT support a flex width. You must set a width on the "+k[l].text+"column.")}h+=j.width;m.push(j)}else{n.push(j)}}return{lockedWidth:h,locked:m,normal:n}},onLockedGridAfterLayout:function(){var c=this,d=c.lockedGrid.getView();d.on({refresh:c.createSpacer,beforerefresh:c.destroySpacer,scope:c})},onLockedHeaderMove:function(){if(this.syncRowHeight){this.onNormalGridAfterRefresh()}},onNormalHeaderMove:function(){if(this.syncRowHeight){this.onLockedGridAfterRefresh()}},createSpacer:function(){var g=this,e=Ext.getScrollBarWidth()+(Ext.isIE?2:0),f=g.lockedGrid.getView(),h=f.el;g.spacerEl=Ext.core.DomHelper.append(h,{cls:g.spacerHidden?(Ext.baseCSSPrefix+"hidden"):"",style:"height: "+e+"px;"},true)},destroySpacer:function(){var b=this;if(b.spacerEl){b.spacerEl.destroy();delete b.spacerEl}},onLockedGridAfterRefresh:function(){var j=this,h=j.lockedGrid.getView(),l=h.el,i=l.query(h.getItemSelector()),k=i.length,g=0;j.lockedHeights=[];for(;g<k;g++){j.lockedHeights[g]=i[g].clientHeight}j.syncRowHeights()},onNormalGridAfterRefresh:function(){var j=this,h=j.normalGrid.getView(),l=h.el,i=l.query(h.getItemSelector()),k=i.length,g=0;j.normalHeights=[];for(;g<k;g++){j.normalHeights[g]=i[g].clientHeight}j.syncRowHeights()},onLockedGridAfterUpdate:function(e,d,f){this.lockedHeights[d]=f.clientHeight;this.syncRowHeights()},onNormalGridAfterUpdate:function(e,d,f){this.normalHeights[d]=f.clientHeight;this.syncRowHeights()},syncRowHeights:function(){var o=this,x=o.lockedHeights,n=o.normalHeights,y=[],p=x.length,s=0,i,v,u,r,t=o.getVerticalScroller(),w;if(x.length&&n.length){i=o.lockedGrid.getView();v=o.normalGrid.getView();u=i.el.query(i.getItemSelector());r=v.el.query(v.getItemSelector());for(;s<p;s++){if(!isNaN(x[s])&&!isNaN(n[s])){if(x[s]>n[s]){Ext.fly(r[s]).setHeight(x[s])}else{if(x[s]<n[s]){Ext.fly(u[s]).setHeight(n[s])}}}}o.normalGrid.invalidateScroller();if(t&&t.setViewScrollTop){t.setViewScrollTop(o.virtualScrollTop)}else{w=v.el.dom.scrollTop;v.el.dom.scrollTop=w;i.el.dom.scrollTop=w}o.lockedHeights=[];o.normalHeights=[]}},onScrollerShow:function(d,c){if(c==="horizontal"){this.spacerHidden=false;this.spacerEl.removeCls(Ext.baseCSSPrefix+"hidden")}},onScrollerHide:function(d,c){if(c==="horizontal"){this.spacerHidden=true;this.spacerEl.addCls(Ext.baseCSSPrefix+"hidden")}},modifyHeaderCt:function(){var b=this;b.lockedGrid.headerCt.getMenuItems=b.getMenuItems(true);b.normalGrid.headerCt.getMenuItems=b.getMenuItems(false)},onUnlockMenuClick:function(){this.unlock()},onLockMenuClick:function(){this.lock()},getMenuItems:function(i){var m=this,l=m.unlockText,k=m.lockText,p="xg-hmenu-unlock",n="xg-hmenu-lock",j=Ext.Function.bind(m.onUnlockMenuClick,m),o=Ext.Function.bind(m.onLockMenuClick,m);return function(){var a=Ext.grid.header.Container.prototype.getMenuItems.call(this);a.push("-",{cls:p,text:l,handler:j,disabled:!i});a.push({cls:n,text:k,handler:o,disabled:i});return a}},lock:function(i,m){var n=this,l=n.normalGrid,j=n.lockedGrid,k=l.headerCt,h=j.headerCt;i=i||k.getMenu().activeHeader;if(i.flex){i.width=i.getWidth();delete i.flex}k.remove(i,false);h.suspendLayout=true;if(Ext.isDefined(m)){h.insert(m,i)}else{h.add(i)}h.suspendLayout=false;n.syncLockedSection()},syncLockedSection:function(){var b=this;b.syncLockedWidth();b.lockedGrid.getView().refresh();b.normalGrid.getView().refresh()},syncLockedWidth:function(){var c=this,d=c.lockedGrid.headerCt.getFullWidth(true);c.lockedGrid.setWidth(d);c.doComponentLayout()},onLockedHeaderResize:function(){this.syncLockedWidth()},onLockedHeaderHide:function(){this.syncLockedWidth()},onLockedHeaderShow:function(){this.syncLockedWidth()},onLockedHeaderSortChange:function(d,f,e){if(e){this.normalGrid.headerCt.clearOtherSortStates(null,true)}},onNormalHeaderSortChange:function(d,f,e){if(e){this.lockedGrid.headerCt.clearOtherSortStates(null,true)}},unlock:function(i,m){var n=this,l=n.normalGrid,j=n.lockedGrid,k=l.headerCt,h=j.headerCt;if(!Ext.isDefined(m)){m=0}i=i||h.getMenu().activeHeader;h.remove(i,false);n.syncLockedWidth();n.lockedGrid.getView().refresh();k.insert(m,i);n.normalGrid.getView().refresh()},reconfigureLockable:function(g,f){var j=this,h=j.lockedGrid,i=j.normalGrid;if(f){h.headerCt.removeAll();i.headerCt.removeAll();f=j.processColumns(f);h.setWidth(f.lockedWidth);h.headerCt.add(f.locked);i.headerCt.add(f.normal)}if(g){g=Ext.data.StoreManager.lookup(g);j.store=g;h.bindStore(g);i.bindStore(g)}else{h.getView().refresh();i.getView().refresh()}}});Ext.define("Ext.data.proxy.Memory",{extend:"Ext.data.proxy.Client",alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",constructor:function(b){this.callParent([b]);this.setReader(this.reader)},read:function(l,i,k){var j=this,g=j.getReader(),h=g.read(j.data);Ext.apply(l,{resultSet:h});l.setCompleted();l.setSuccessful();Ext.callback(i,k||j,[l])},clear:Ext.emptyFn});Ext.define("Ext.draw.Surface",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.draw.CompositeSprite"],uses:["Ext.draw.engine.Svg","Ext.draw.engine.Vml"],separatorRe:/[, ]+/,statics:{create:function(f,i){i=i||["Svg","Vml"];var j=0,g=i.length,h;for(;j<g;j++){if(Ext.supports[i[j]]){return Ext.create("Ext.draw.engine."+i[j],f)}}return false}},availableAttrs:{blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,"dominant-baseline":"auto",fill:"none","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:"",height:0,hidden:false,href:"http://sencha.com/",opacity:1,path:"M0,0",radius:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank",text:"","text-anchor":"middle",title:"Ext Draw",width:0,x:0,y:0,zIndex:0},container:undefined,height:352,width:512,x:0,y:0,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.domRef=Ext.getDoc().dom;c.customAttributes={};c.addEvents("mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","click");c.mixins.observable.constructor.call(c);c.getId();c.initGradients();c.initItems();if(c.renderTo){c.render(c.renderTo);delete c.renderTo}c.initBackground(d.background)},initSurface:Ext.emptyFn,renderItem:Ext.emptyFn,renderItems:Ext.emptyFn,setViewBox:Ext.emptyFn,addCls:Ext.emptyFn,removeCls:Ext.emptyFn,setStyle:Ext.emptyFn,initGradients:function(){var b=this.gradients;if(b){Ext.each(b,this.addGradient,this)}},initItems:function(){var b=this.items;this.items=Ext.create("Ext.draw.CompositeSprite");this.groups=Ext.create("Ext.draw.CompositeSprite");if(b){this.add(b)}},initBackground:function(h){var l=this,m=l.width,i=l.height,k,j,n;if(h){if(h.gradient){j=h.gradient;k=j.id;l.addGradient(j);l.background=l.add({type:"rect",x:0,y:0,width:m,height:i,fill:"url(#"+k+")"})}else{if(h.fill){l.background=l.add({type:"rect",x:0,y:0,width:m,height:i,fill:h.fill})}else{if(h.image){l.background=l.add({type:"image",x:0,y:0,width:m,height:i,src:h.image})}}}}},setSize:function(d,c){if(this.background){this.background.setAttributes({width:d,height:c,hidden:false},true)}},scrubAttrs:function(i){var j,f={},g={},h=i.attr;for(j in h){if(this.translateAttrs.hasOwnProperty(j)){f[this.translateAttrs[j]]=h[j];g[this.translateAttrs[j]]=true}else{if(this.availableAttrs.hasOwnProperty(j)&&!g[j]){f[j]=h[j]}}}return f},onClick:function(b){this.processEvent("click",b)},onMouseUp:function(b){this.processEvent("mouseup",b)},onMouseDown:function(b){this.processEvent("mousedown",b)},onMouseOver:function(b){this.processEvent("mouseover",b)},onMouseOut:function(b){this.processEvent("mouseout",b)},onMouseMove:function(b){this.fireEvent("mousemove",b)},onMouseEnter:Ext.emptyFn,onMouseLeave:Ext.emptyFn,addGradient:Ext.emptyFn,add:function(){var m=Array.prototype.slice.call(arguments),k,o;var s=m.length>1;if(s||Ext.isArray(m[0])){var l=s?m:m[0],r=[],p,n,i;for(p=0,n=l.length;p<n;p++){i=l[p];i=this.add(i);r.push(i)}return r}k=this.prepareItems(m[0],true)[0];this.normalizeSpriteCollection(k);this.onAdd(k);return k},normalizeSpriteCollection:function(h){var e=this.items,g=h.attr.zIndex,f=e.indexOf(h);if(f<0||(f>0&&e.getAt(f-1).attr.zIndex>g)||(f<e.length-1&&e.getAt(f+1).attr.zIndex<g)){e.removeAt(f);f=e.findIndexBy(function(a){return a.attr.zIndex>g});if(f<0){f=e.length}e.insert(f,h)}return f},onAdd:function(k){var i=k.group,g=k.draggable,h,j,l;if(i){h=[].concat(i);j=h.length;for(l=0;l<j;l++){i=h[l];this.getGroup(i).add(k)}delete k.group}if(g){k.initDraggable()}},remove:function(d,c){if(d){this.items.remove(d);this.groups.each(function(a){a.remove(d)});d.onRemove();if(c===true){d.destroy()}}},removeAll:function(g){var f=this.items.items,h=f.length,e;for(e=h-1;e>-1;e--){this.remove(f[e],g)}},onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,applyTransformations:function(e){e.bbox.transform=0;this.transform(e);var g=this,h=false,f=e.attr;if(f.translation.x!=null||f.translation.y!=null){g.translate(e);h=true}if(f.scaling.x!=null||f.scaling.y!=null){g.scale(e);h=true}if(f.rotation.degrees!=null){g.rotate(e);h=true}if(h){e.bbox.transform=0;this.transform(e);e.transformations=[]}},rotate:function(g){var h,f=g.attr.rotation.degrees,i=g.attr.rotation.x,j=g.attr.rotation.y;if(!Ext.isNumber(i)||!Ext.isNumber(j)){h=this.getBBox(g);i=!Ext.isNumber(i)?h.x+h.width/2:i;j=!Ext.isNumber(j)?h.y+h.height/2:j}g.transformations.push({type:"rotate",degrees:f,x:i,y:j})},translate:function(d){var e=d.attr.translation.x||0,f=d.attr.translation.y||0;d.transformations.push({type:"translate",x:e,y:f})},scale:function(g){var j,h=g.attr.scaling.x||1,i=g.attr.scaling.y||1,k=g.attr.scaling.centerX,l=g.attr.scaling.centerY;if(!Ext.isNumber(k)||!Ext.isNumber(l)){j=this.getBBox(g);k=!Ext.isNumber(k)?j.x+j.width/2:k;l=!Ext.isNumber(l)?j.y+j.height/2:l}g.transformations.push({type:"scale",x:h,y:i,centerX:k,centerY:l})},rectPath:function(g,h,f,j,i){if(i){return[["M",g+i,h],["l",f-i*2,0],["a",i,i,0,0,1,i,i],["l",0,j-i*2],["a",i,i,0,0,1,-i,i],["l",i*2-f,0],["a",i,i,0,0,1,-i,-i],["l",0,i*2-j],["a",i,i,0,0,1,i,-i],["z"]]}return[["M",g,h],["l",f,0],["l",0,j],["l",-f,0],["z"]]},ellipsePath:function(f,g,h,e){if(e==null){e=h}return[["M",f,g],["m",0,-e],["a",h,e,0,1,1,0,2*e],["a",h,e,0,1,1,0,-2*e],["z"]]},getPathpath:function(b){return b.attr.path},getPathcircle:function(d){var a=d.attr;return this.ellipsePath(a.x,a.y,a.radius,a.radius)},getPathellipse:function(d){var a=d.attr;return this.ellipsePath(a.x,a.y,a.radiusX||(a.width/2)||0,a.radiusY||(a.height/2)||0)},getPathrect:function(d){var a=d.attr;return this.rectPath(a.x,a.y,a.width,a.height,a.r)},getPathimage:function(d){var a=d.attr;return this.rectPath(a.x||0,a.y||0,a.width,a.height)},getPathtext:function(d){var c=this.getBBoxText(d);return this.rectPath(c.x,c.y,c.width,c.height)},createGroup:function(c){var d=this.groups.get(c);if(!d){d=Ext.create("Ext.draw.CompositeSprite",{surface:this});d.id=c||Ext.id(null,"ext-surface-group-");this.groups.add(d)}return d},getGroup:function(c){if(typeof c=="string"){var d=this.groups.get(c);if(!d){d=this.createGroup(c)}}else{d=c}return d},prepareItems:function(g,j){g=[].concat(g);var h,f,i;for(f=0,i=g.length;f<i;f++){h=g[f];if(!(h instanceof Ext.draw.Sprite)){h.surface=this;g[f]=this.createItem(h)}else{h.surface=this}}return g},setText:Ext.emptyFn,createItem:Ext.emptyFn,getId:function(){return this.id||(this.id=Ext.id(null,"ext-surface-"))},destroy:function(){delete this.domRef;this.removeAll()}});Ext.define("Ext.draw.Component",{alias:"widget.draw",extend:"Ext.Component",requires:["Ext.draw.Surface","Ext.layout.component.Draw"],enginePriority:["Svg","Vml"],baseCls:Ext.baseCSSPrefix+"surface",componentLayout:"draw",viewBox:true,autoSize:false,initComponent:function(){this.callParent(arguments);this.addEvents("mousedown","mouseup","mousemove","mouseenter","mouseleave","click")},onRender:function(){var o=this,j=o.viewBox,r=o.autoSize,l,p,s,k,m,n;o.callParent(arguments);o.createSurface();p=o.surface.items;if(j||r){l=p.getBBox();s=l.width;k=l.height;m=l.x;n=l.y;if(o.viewBox){o.surface.setViewBox(m,n,s,k)}else{o.autoSizeSurface()}}},autoSizeSurface:function(){var i=this,f=i.surface.items,h=f.getBBox(),j=h.width,g=h.height;f.setAttributes({translate:{x:-h.x,y:-h.y+(+Ext.isOpera)}},true);if(i.rendered){i.setSize(j,g);i.surface.setSize(j,g)}else{i.surface.setSize(j,g)}i.el.setSize(j,g)},createSurface:function(){var d=Ext.draw.Surface.create(Ext.apply({},{width:this.width,height:this.height,renderTo:this.el},this.initialConfig));this.surface=d;function c(a){return function(b){this.fireEvent(a,b)}}d.on({scope:this,mouseup:c("mouseup"),mousedown:c("mousedown"),mousemove:c("mousemove"),mouseenter:c("mouseenter"),mouseleave:c("mouseleave"),click:c("click")})},onDestroy:function(){var b=this.surface;if(b){b.destroy()}this.callParent(arguments)}});Ext.define("Ext.dd.DropTarget",{extend:"Ext.dd.DDTarget",requires:["Ext.dd.ScrollManager"],constructor:function(c,d){this.el=Ext.get(c);Ext.apply(this,d);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}this.callParent([this.el.dom,this.ddGroup||this.group,{isTarget:true}])},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",isTarget:true,isNotifyTarget:true,notifyEnter:function(e,f,d){if(this.overClass){this.el.addCls(this.overClass)}return this.dropAllowed},notifyOver:function(e,f,d){return this.dropAllowed},notifyOut:function(e,f,d){if(this.overClass){this.el.removeCls(this.overClass)}},notifyDrop:function(e,f,d){return false},destroy:function(){this.callParent();if(this.containerScroll){Ext.dd.ScrollManager.unregister(this.el)}}});Ext.define("Ext.dd.DropZone",{extend:"Ext.dd.DropTarget",requires:["Ext.dd.Registry"],getTargetFromEvent:function(b){return Ext.dd.Registry.getTargetFromEvent(b)},onNodeEnter:function(g,f,h,e){},onNodeOver:function(g,f,h,e){return this.dropAllowed},onNodeOut:function(g,f,h,e){},onNodeDrop:function(g,f,h,e){return false},onContainerOver:function(e,f,d){return this.dropNotAllowed},onContainerDrop:function(e,f,d){return false},notifyEnter:function(e,f,d){return this.dropNotAllowed},notifyOver:function(f,h,e){var g=this.getTargetFromEvent(h);if(!g){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e);this.lastOverNode=null}return this.onContainerOver(f,h,e)}if(this.lastOverNode!=g){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e)}this.onNodeEnter(g,f,h,e);this.lastOverNode=g}return this.onNodeOver(g,f,h,e)},notifyOut:function(e,f,d){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,e,f,d);this.lastOverNode=null}},notifyDrop:function(f,h,e){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e);this.lastOverNode=null}var g=this.getTargetFromEvent(h);return g?this.onNodeDrop(g,f,h,e):this.onContainerDrop(f,h,e)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});Ext.define("Ext.view.DropZone",{extend:"Ext.dd.DropZone",indicatorHtml:'<div class="x-grid-drop-indicator-left"></div><div class="x-grid-drop-indicator-right"></div>',indicatorCls:"x-grid-drop-indicator",constructor:function(d){var c=this;Ext.apply(c,d);if(!c.ddGroup){c.ddGroup="view-dd-zone-"+c.view.id}c.callParent([c.view.el])},fireViewEvent:function(){var c=this,d;c.lock();d=c.view.fireEvent.apply(c.view,arguments);c.unlock();return d},getTargetFromEvent:function(k){var l=k.getTarget(this.view.getItemSelector()),o,p,e,n,i,m;if(!l){o=k.getPageY();for(n=0,p=this.view.getNodes(),i=p.length;n<i;n++){e=p[n];m=Ext.fly(e).getBox();if(o<=m.bottom){return e}}}return l},getIndicator:function(){var b=this;if(!b.indicator){b.indicator=Ext.createWidget("component",{html:b.indicatorHtml,cls:b.indicatorCls,ownerCt:b.view,floating:true,shadow:false})}return b.indicator},getPosition:function(j,g){var h=j.getXY()[1],e=Ext.fly(g).getRegion(),i;if((e.bottom-h)>=(e.bottom-e.top)/2){i="before"}else{i="after"}return i},containsRecordAtOffset:function(m,h,k){if(!h){return false}var i=this.view,n=i.indexOf(h),l=i.getNode(n+k),j=l?i.getRecord(l):null;return j&&Ext.Array.contains(m,j)},positionIndicator:function(t,s,r){var p=this,n=p.view,o=p.getPosition(r,t),e=n.getRecord(t),u=s.records,m,l;if(!Ext.Array.contains(u,e)&&(o=="before"&&!p.containsRecordAtOffset(u,e,-1)||o=="after"&&!p.containsRecordAtOffset(u,e,1))){p.valid=true;if(p.overRecord!=e||p.currentPosition!=o){l=Ext.fly(t).getY()-n.el.getY()-1;if(o=="after"){l+=Ext.fly(t).getHeight()}p.getIndicator().setWidth(Ext.fly(n.el).getWidth()).showAt(0,l);p.overRecord=e;p.currentPosition=o}}else{p.invalidateDrop()}},invalidateDrop:function(){if(this.valid){this.valid=false;this.getIndicator().hide()}},onNodeOver:function(j,g,h,i){var e=this;if(!Ext.Array.contains(i.records,e.view.getRecord(j))){e.positionIndicator(j,i,h)}return e.valid?e.dropAllowed:e.dropNotAllowed},notifyOut:function(j,g,h,i){var e=this;e.callParent(arguments);delete e.overRecord;delete e.currentPosition;if(e.indicator){e.indicator.hide()}},onContainerOver:function(h,i,j){var k=this,e=k.view,l=e.store.getCount();if(l){k.positionIndicator(e.getNode(l-1),j,i)}else{delete k.overRecord;delete k.currentPosition;k.getIndicator().setWidth(Ext.fly(e.el).getWidth()).showAt(0,0);k.valid=true}return k.dropAllowed},onContainerDrop:function(e,f,d){return this.onNodeDrop(e,null,f,d)},onNodeDrop:function(o,j,m,n){var p=this,k=false,e=function(){p.invalidateDrop();p.handleNodeDrop(n,p.overRecord,p.currentPosition);k=true;p.fireViewEvent("drop",o,n,p.overRecord,p.currentPosition)},l=false;if(p.valid){l=p.fireViewEvent("beforedrop",o,n,p.overRecord,p.currentPosition,e);if(l!==false){if(!k){e()}}}return l}});Ext.define("Ext.grid.ViewDropZone",{extend:"Ext.view.DropZone",indicatorHtml:'<div class="x-grid-drop-indicator-left"></div><div class="x-grid-drop-indicator-right"></div>',indicatorCls:"x-grid-drop-indicator",handleNodeDrop:function(r,o,n){var k=this.view,i=k.getStore(),l,s,p,m;if(r.copy){s=r.records;r.records=[];for(p=0,m=s.length;p<m;p++){r.records.push(s[p].copy(s[p].getId()))}}else{r.view.store.remove(r.records,r.view===k)}l=i.indexOf(o);if(n!=="before"){l++}i.insert(l,r.records);k.getSelectionModel().select(r.records)}});Ext.define("Ext.grid.header.DropZone",{extend:"Ext.dd.DropZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",proxyOffsets:[-4,-9],constructor:function(b){this.headerCt=b;this.ddGroup=this.getDDGroup();this.callParent([b.el])},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getTargetFromEvent:function(b){return b.getTarget("."+this.colHeaderCls)},getTopIndicator:function(){if(!this.topIndicator){this.topIndicator=Ext.core.DomHelper.append(Ext.getBody(),{cls:"col-move-top",html:"&#160;"},true)}return this.topIndicator},getBottomIndicator:function(){if(!this.bottomIndicator){this.bottomIndicator=Ext.core.DomHelper.append(Ext.getBody(),{cls:"col-move-bottom",html:"&#160;"},true)}return this.bottomIndicator},getLocation:function(k,e){var h=k.getXY()[0],l=Ext.fly(e).getRegion(),i,j;if((l.right-h)<=(l.right-l.left)/2){i="after"}else{i="before"}return{pos:i,header:Ext.getCmp(e.id),node:e}},positionIndicator:function(i,F,z){var R=this.getLocation(z,F),D=R.header,M=R.pos,N=i.nextSibling("gridcolumn:not([hidden])"),A=i.previousSibling("gridcolumn:not([hidden])"),O,I,C,B,Q,P,J,H,e,y;if(!D.draggable&&D.getIndex()==0){return false}this.lastLocation=R;if((i!==D)&&((M==="before"&&N!==D)||(M==="after"&&A!==D))&&!D.isDescendantOf(i)){var G=Ext.dd.DragDropManager.getRelated(this),K=G.length,E=0,L;for(;E<K;E++){L=G[E];if(L!==this&&L.invalidateDrop){L.invalidateDrop()}}this.valid=true;I=this.getTopIndicator();C=this.getBottomIndicator();if(M==="before"){B="tl";Q="bl"}else{B="tr";Q="br"}P=D.el.getAnchorXY(B);J=D.el.getAnchorXY(Q);H=this.headerCt.el;e=H.getLeft();y=H.getRight();P[0]=Ext.Number.constrain(P[0],e,y);J[0]=Ext.Number.constrain(J[0],e,y);P[0]-=4;P[1]-=9;J[0]-=4;I.setXY(P);C.setXY(J);I.show();C.show()}else{this.invalidateDrop()}},invalidateDrop:function(){this.valid=false;this.hideIndicators()},onNodeOver:function(e,f,g,h){if(h.header.el.dom!==e){this.positionIndicator(h.header,e,g)}return this.valid?this.dropAllowed:this.dropNotAllowed},hideIndicators:function(){this.getTopIndicator().hide();this.getBottomIndicator().hide()},onNodeOut:function(){this.hideIndicators()},onNodeDrop:function(x,r,s,w){if(this.valid){this.invalidateDrop();var u=w.header,v=this.lastLocation,o=u.ownerCt,A=o.items.indexOf(u),t=v.header.ownerCt,e=t.items.indexOf(v.header),y=this.headerCt,p,z;if(v.pos==="after"){e++}if(o!==t&&o.lockableInjected&&t.lockableInjected&&t.lockedCt){z=o.up("[scrollerOwner]");z.lock(u,e)}else{if(o!==t&&o.lockableInjected&&t.lockableInjected&&o.lockedCt){z=o.up("[scrollerOwner]");z.unlock(u,e)}else{if((o===t)&&(e>o.items.indexOf(u))){e--}if(o!==t){o.suspendLayout=true;o.remove(u,false);o.suspendLayout=false}if(o.isGroupHeader){if(!o.items.getCount()){p=o.ownerCt;p.suspendLayout=true;p.remove(o,false);o.el.dom.parentNode.removeChild(o.el.dom);p.suspendLayout=false}else{o.minWidth=o.getWidth()-u.getWidth();o.setWidth(o.minWidth)}}t.suspendLayout=true;if(o===t){t.move(A,e)}else{t.insert(e,u)}t.suspendLayout=false;if(t.isGroupHeader){u.savedFlex=u.flex;delete u.flex;u.width=u.getWidth();t.minWidth=t.getWidth()+u.getWidth()-(u.savedFlex?1:0);t.setWidth(t.minWidth)}else{if(u.savedFlex){u.flex=u.savedFlex;delete u.width}}y.purgeCache();y.doLayout();y.onHeaderMoved(u,A,e);if(!o.items.getCount()){o.destroy()}}}}}});Ext.define("Ext.grid.plugin.HeaderReorderer",{extend:"Ext.util.Observable",requires:["Ext.grid.header.DragZone","Ext.grid.header.DropZone"],alias:"plugin.gridheaderreorderer",init:function(b){this.headerCt=b;b.on("render",this.onHeaderCtRender,this)},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onHeaderCtRender:function(){this.dragZone=Ext.create("Ext.grid.header.DragZone",this.headerCt);this.dropZone=Ext.create("Ext.grid.header.DropZone",this.headerCt);if(this.disabled){this.dragZone.disable()}},enable:function(){this.disabled=false;if(this.dragZone){this.dragZone.enable()}},disable:function(){this.disabled=true;if(this.dragZone){this.dragZone.disable()}}});Ext.define("Ext.data.reader.Array",{extend:"Ext.data.reader.Json",alternateClassName:"Ext.data.ArrayReader",alias:"reader.array",buildExtractors:function(){this.callParent(arguments);var f=this.model.prototype.fields.items,h=f.length,g=[],e;for(e=0;e<h;e++){g.push(function(a){return function(b){return b[a]}}(f[e].mapping||e))}this.extractorFunctions=g}});Ext.define("Ext.resizer.ResizeTracker",{extend:"Ext.dd.DragTracker",dynamic:true,preserveRatio:false,constrainTo:null,constructor:function(f){var i=this;if(!f.el){if(f.target.isComponent){i.el=f.target.getEl()}else{i.el=f.target}}this.callParent(arguments);if(i.preserveRatio&&i.minWidth&&i.minHeight){var j=i.minWidth/i.el.getWidth(),g=i.minHeight/i.el.getHeight();if(g>j){i.minWidth=i.el.getWidth()*g}else{i.minHeight=i.el.getHeight()*j}}if(i.throttle){var h=Ext.Function.createThrottled(function(){Ext.resizer.ResizeTracker.prototype.resize.apply(i,arguments)},i.throttle);i.resize=function(b,a,c){if(c){Ext.resizer.ResizeTracker.prototype.resize.apply(i,arguments)}else{h.apply(null,arguments)}}}},onBeforeStart:function(b){this.startBox=this.el.getBox()},getDynamicTarget:function(){var b=this.target;if(this.dynamic){return b}else{if(!this.proxy){this.proxy=b.isComponent?b.getProxy().addCls(Ext.baseCSSPrefix+"resizable-proxy"):b.createProxy({tag:"div",cls:Ext.baseCSSPrefix+"resizable-proxy",id:b.id+"-rzproxy"},Ext.getBody());this.proxy.removeCls(Ext.baseCSSPrefix+"proxy-el")}}this.proxy.show();return this.proxy},onStart:function(b){this.activeResizeHandle=Ext.getCmp(this.getDragTarget().id);if(!this.dynamic){this.resize(this.startBox,{horizontal:"none",vertical:"none"})}},onDrag:function(b){if(this.dynamic||this.proxy){this.updateDimensions(b)}},updateDimensions:function(z,F){var y=this,N=y.activeResizeHandle.region,L=y.getOffset(y.constrainTo?"dragTarget":null),H=y.startBox,K,C=0,x=0,I,B,P=0,e=0,w,E=L[0]<0?"right":"left",A=L[1]<0?"down":"up",J,O;switch(N){case"south":x=L[1];O=2;break;case"north":x=-L[1];e=-x;O=2;break;case"east":C=L[0];O=1;break;case"west":C=-L[0];P=-C;O=1;break;case"northeast":x=-L[1];e=-x;C=L[0];J=[H.x,H.y+H.height];O=3;break;case"southeast":x=L[1];C=L[0];J=[H.x,H.y];O=3;break;case"southwest":C=-L[0];P=-C;x=L[1];J=[H.x+H.width,H.y];O=3;break;case"northwest":x=-L[1];e=-x;C=-L[0];P=-C;J=[H.x+H.width,H.y+H.height];O=3;break}var M={width:H.width+C,height:H.height+x,x:H.x+P,y:H.y+e};I=Ext.Number.snap(M.width,y.widthIncrement);B=Ext.Number.snap(M.height,y.heightIncrement);if(I!=M.width||B!=M.height){switch(N){case"northeast":M.y-=B-M.height;break;case"north":M.y-=B-M.height;break;case"southwest":M.x-=I-M.width;break;case"west":M.x-=I-M.width;break;case"northwest":M.x-=I-M.width;M.y-=B-M.height}M.width=I;M.height=B}if(M.width<y.minWidth||M.width>y.maxWidth){M.width=Ext.Number.constrain(M.width,y.minWidth,y.maxWidth);if(P){M.x=H.x+(H.width-M.width)}}else{y.lastX=M.x}if(M.height<y.minHeight||M.height>y.maxHeight){M.height=Ext.Number.constrain(M.height,y.minHeight,y.maxHeight);if(e){M.y=H.y+(H.height-M.height)}}else{y.lastY=M.y}if(y.preserveRatio||z.shiftKey){var D,G;K=y.startBox.width/y.startBox.height;D=Math.min(Math.max(y.minHeight,M.width/K),y.maxHeight);G=Math.min(Math.max(y.minWidth,M.height*K),y.maxWidth);if(O==1){M.height=D}else{if(O==2){M.width=G}else{w=Math.abs(J[0]-this.lastXY[0])/Math.abs(J[1]-this.lastXY[1]);if(w>K){M.height=D}else{M.width=G}if(N=="northeast"){M.y=H.y-(M.height-H.height)}else{if(N=="northwest"){M.y=H.y-(M.height-H.height);M.x=H.x-(M.width-H.width)}else{if(N=="southwest"){M.x=H.x-(M.width-H.width)}}}}}}if(x===0){A="none"}if(C===0){E="none"}y.resize(M,{horizontal:E,vertical:A},F)},getResizeTarget:function(b){return b?this.target:this.getDynamicTarget()},resize:function(e,g,f){var h=this.getResizeTarget(f);if(h.isComponent){if(h.floating){h.setPagePosition(e.x,e.y)}h.setSize(e.width,e.height)}else{h.setBox(e);if(this.originalTarget){this.originalTarget.setBox(e)}}},onEnd:function(b){this.updateDimensions(b,true);if(this.proxy){this.proxy.hide()}}});Ext.define("Ext.ShadowPool",{singleton:true,requires:["Ext.core.DomHelper"],markup:function(){if(Ext.supports.CSS3BoxShadow){return'<div class="'+Ext.baseCSSPrefix+'css-shadow" role="presentation"></div>'}else{if(Ext.isIE){return'<div class="'+Ext.baseCSSPrefix+'ie-shadow" role="presentation"></div>'}else{return'<div class="'+Ext.baseCSSPrefix+'frame-shadow" role="presentation"><div class="xst" role="presentation"><div class="xstl" role="presentation"></div><div class="xstc" role="presentation"></div><div class="xstr" role="presentation"></div></div><div class="xsc" role="presentation"><div class="xsml" role="presentation"></div><div class="xsmc" role="presentation"></div><div class="xsmr" role="presentation"></div></div><div class="xsb" role="presentation"><div class="xsbl" role="presentation"></div><div class="xsbc" role="presentation"></div><div class="xsbr" role="presentation"></div></div></div>'}}}(),shadows:[],pull:function(){var b=this.shadows.shift();if(!b){b=Ext.get(Ext.core.DomHelper.insertHtml("beforeBegin",document.body.firstChild,this.markup));b.autoBoxAdjust=false}return b},push:function(b){this.shadows.push(b)},reset:function(){Ext.Array.each(this.shadows,function(b){b.remove()});this.shadows=[]}});Ext.define("Ext.draw.Matrix",{requires:["Ext.draw.Draw"],constructor:function(e,f,a,b,c,d){if(e!=null){this.matrix=[[e,a,c],[f,b,d],[0,0,1]]}else{this.matrix=[[1,0,0],[0,1,0],[0,0,1]]}},add:function(z,c,f,u,w,x){var e=this,y=[[],[],[]],a=[[z,f,w],[c,u,x],[0,0,1]],b,d,t,v;for(b=0;b<3;b++){for(d=0;d<3;d++){v=0;for(t=0;t<3;t++){v+=e.matrix[b][t]*a[t][d]}y[b][d]=v}}e.matrix=y},prepend:function(z,c,f,u,w,x){var e=this,y=[[],[],[]],a=[[z,f,w],[c,u,x],[0,0,1]],b,d,t,v;for(b=0;b<3;b++){for(d=0;d<3;d++){v=0;for(t=0;t<3;t++){v+=a[b][t]*e.matrix[t][d]}y[b][d]=v}}e.matrix=y},invert:function(){var d=this.matrix,e=d[0][0],f=d[1][0],p=d[0][1],a=d[1][1],b=d[0][2],c=d[1][2],o=e*a-f*p;return new Ext.draw.Matrix(a/o,-f/o,-p/o,e/o,(p*c-a*b)/o,(f*b-e*c)/o)},clone:function(){var e=this.matrix,f=e[0][0],n=e[1][0],a=e[0][1],b=e[1][1],c=e[0][2],d=e[1][2];return new Ext.draw.Matrix(f,n,a,b,c,d)},translate:function(d,c){this.prepend(1,0,0,1,d,c)},scale:function(f,h,g,i){var j=this;if(h==null){h=f}j.add(1,0,0,1,g,i);j.add(f,0,0,h,0,0);j.add(1,0,0,1,-g,-i)},rotate:function(l,a,h){l=Ext.draw.Draw.rad(l);var j=this,i=+Math.cos(l).toFixed(9),k=+Math.sin(l).toFixed(9);j.add(i,k,-k,i,a,h);j.add(1,0,0,1,-a,-h)},x:function(e,f){var d=this.matrix;return e*d[0][0]+f*d[0][1]+d[0][2]},y:function(e,f){var d=this.matrix;return e*d[1][0]+f*d[1][1]+d[1][2]},get:function(c,d){return +this.matrix[c][d].toFixed(4)},toString:function(){var b=this;return[b.get(0,0),b.get(0,1),b.get(1,0),b.get(1,1),0,0].join()},toSvg:function(){var b=this;return"matrix("+[b.get(0,0),b.get(1,0),b.get(0,1),b.get(1,1),b.get(0,2),b.get(1,2)].join()+")"},toFilter:function(){var b=this;return"progid:DXImageTransform.Microsoft.Matrix(M11="+b.get(0,0)+", M12="+b.get(0,1)+", M21="+b.get(1,0)+", M22="+b.get(1,1)+", Dx="+b.get(0,2)+", Dy="+b.get(1,2)+")"},offset:function(){var b=this.matrix;return[b[0][2].toFixed(4),b[1][2].toFixed(4)]},split:function(){function i(a){return a[0]*a[0]+a[1]*a[1]}function f(b){var a=Math.sqrt(i(b));b[0]/=a;b[1]/=a}var g=this.matrix,j={translateX:g[0][2],translateY:g[1][2]},h;h=[[g[0][0],g[0][1]],[g[1][1],g[1][1]]];j.scaleX=Math.sqrt(i(h[0]));f(h[0]);j.shear=h[0][0]*h[1][0]+h[0][1]*h[1][1];h[1]=[h[1][0]-h[0][0]*j.shear,h[1][1]-h[0][1]*j.shear];j.scaleY=Math.sqrt(i(h[1]));f(h[1]);j.shear/=j.scaleY;j.rotate=Math.asin(-h[0][1]);j.isSimple=!+j.shear.toFixed(9)&&(j.scaleX.toFixed(9)==j.scaleY.toFixed(9)||!j.rotate);return j}});Ext.define("Ext.draw.SpriteDD",{extend:"Ext.dd.DragSource",constructor:function(e,f){var g=this,h=e.el;g.sprite=e;g.el=h;g.dragData={el:h,sprite:e};g.callParent([h,f]);g.sprite.setStyle("cursor","move")},showFrame:Ext.emptyFn,createFrame:Ext.emptyFn,getDragEl:function(b){return this.el},getRegion:function(){var v=this,y=v.el,t,z,A,r,s,b,B,u,x,e,l;l=v.sprite;e=l.getBBox();try{t=Ext.core.Element.getXY(y)}catch(w){}if(!t){return null}z=t[0];A=z+e.width;r=t[1];s=r+e.height;return Ext.create("Ext.util.Region",r,A,s,z)},startDrag:function(f,h){var i=this,g=i.sprite.attr,j=g.translation;if(i.sprite.vml){i.prevX=f+g.x;i.prevY=h+g.y}else{i.prevX=f-j.x;i.prevY=h-j.y}},onDrag:function(h){var i=h.getXY(),j=this,e=j.sprite,g=e.attr;j.translateX=i[0]-j.prevX;j.translateY=i[1]-j.prevY;e.setAttributes({translate:{x:j.translateX,y:j.translateY}},true);if(e.vml){j.prevX=i[0]+g.x||0;j.prevY=i[1]+g.y||0}}});Ext.define("Ext.Shadow",{requires:["Ext.ShadowPool"],constructor:function(e){Ext.apply(this,e);if(typeof this.mode!="string"){this.mode=this.defaultMode}var g=this.offset,h={h:0},f=Math.floor(this.offset/2);switch(this.mode.toLowerCase()){case"drop":if(Ext.supports.CSS3BoxShadow){h.w=h.h=-g;h.l=h.t=g}else{h.w=0;h.l=h.t=g;h.t-=1;if(Ext.isIE){h.l-=g+f;h.t-=g+f;h.w-=f;h.h-=f;h.t+=1}}break;case"sides":if(Ext.supports.CSS3BoxShadow){h.h-=g;h.t=g;h.l=h.w=0}else{h.w=(g*2);h.l=-g;h.t=g-1;if(Ext.isIE){h.l-=(g-f);h.t-=g+f;h.l+=1;h.w-=(g-f)*2;h.w-=f+1;h.h-=1}}break;case"frame":if(Ext.supports.CSS3BoxShadow){h.l=h.w=h.t=0}else{h.w=h.h=(g*2);h.l=h.t=-g;h.t+=1;h.h-=2;if(Ext.isIE){h.l-=(g-f);h.t-=(g-f);h.l+=1;h.w-=(g+f+1);h.h-=(g+f);h.h+=1}break}}this.adjusts=h},offset:4,defaultMode:"drop",show:function(b){b=Ext.get(b);if(!this.el){this.el=Ext.ShadowPool.pull();if(this.el.dom.nextSibling!=b.dom){this.el.insertBefore(b)}}this.el.setStyle("z-index",this.zIndex||parseInt(b.getStyle("z-index"),10)-1);if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){this.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius="+(this.offset)+")"}this.realign(b.getLeft(true),b.getTop(true),b.getWidth(),b.getHeight());this.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(z,d,r,v){if(!this.el){return}var A=this.adjusts,t=this.el.dom,s=t.style,y,w,p,x,u,l;s.left=(z+A.l)+"px";s.top=(d+A.t)+"px";y=Math.max(r+A.w,0);w=Math.max(v+A.h,0);u=y+"px";l=w+"px";if(s.width!=u||s.height!=l){s.width=u;s.height=l;if(Ext.supports.CSS3BoxShadow){s.boxShadow="0 0 "+this.offset+"px 0 #888"}else{if(!Ext.isIE){p=t.childNodes;x=Math.max(0,(y-12))+"px";p[0].childNodes[1].style.width=x;p[1].childNodes[1].style.width=x;p[2].childNodes[1].style.width=x;p[1].style.height=Math.max(0,(w-12))+"px"}}}},hide:function(){if(this.el){this.el.dom.style.display="none";Ext.ShadowPool.push(this.el);delete this.el}},setZIndex:function(b){this.zIndex=b;if(this.el){this.el.setStyle("z-index",b)}}});Ext.define("Ext.draw.Sprite",{mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate"},requires:["Ext.draw.SpriteDD"],dirty:false,dirtyHidden:false,dirtyTransform:false,dirtyPath:true,dirtyFont:true,zIndexDirty:true,isSprite:true,zIndex:0,fontProperties:["font","font-size","font-weight","font-style","font-family","text-anchor","text"],pathProperties:["x","y","d","path","height","width","radius","r","rx","ry","cx","cy"],constructor:function(d){var c=this;d=d||{};c.id=Ext.id(null,"ext-sprite-");c.transformations=[];Ext.copyTo(this,d,"surface,group,type,draggable");c.bbox={};c.attr={zIndex:0,translation:{x:null,y:null},rotation:{degrees:null,x:null,y:null},scaling:{x:null,y:null,cx:null,cy:null}};delete d.surface;delete d.group;delete d.type;delete d.draggable;c.setAttributes(d);c.addEvents("beforedestroy","destroy","render","mousedown","mouseup","mouseover","mouseout","mousemove","click");c.mixins.observable.constructor.apply(this,arguments)},initDraggable:function(){var b=this;b.draggable=true;if(!b.el){b.surface.createSpriteElement(b)}b.dd=Ext.create("Ext.draw.SpriteDD",b,Ext.isBoolean(b.draggable)?null:b.draggable);b.on("beforedestroy",b.dd.destroy,b.dd)},setAttributes:function(B,y){var t=this,C=t.fontProperties,v=C.length,E=t.pathProperties,F=E.length,u=!!t.surface,J=u&&t.surface.customAttributes||{},I=t.attr,A,x,D,H,w,z,i,G;B=Ext.apply({},B);for(A in J){if(B.hasOwnProperty(A)&&typeof J[A]=="function"){Ext.apply(B,J[A].apply(t,[].concat(B[A])))}}if(!!B.hidden!==!!I.hidden){t.dirtyHidden=true}for(x=0;x<F;x++){A=E[x];if(A in B&&B[A]!==I[A]){t.dirtyPath=true;break}}if("zIndex" in B){t.zIndexDirty=true}for(x=0;x<v;x++){A=C[x];if(A in B&&B[A]!==I[A]){t.dirtyFont=true;break}}D=B.translate;H=I.translation;if(D){if((D.x&&D.x!==H.x)||(D.y&&D.y!==H.y)){Ext.apply(H,D);t.dirtyTransform=true}delete B.translate}w=B.rotate;z=I.rotation;if(w){if((w.x&&w.x!==z.x)||(w.y&&w.y!==z.y)||(w.degrees&&w.degrees!==z.degrees)){Ext.apply(z,w);t.dirtyTransform=true}delete B.rotate}i=B.scale;G=I.scaling;if(i){if((i.x&&i.x!==G.x)||(i.y&&i.y!==G.y)||(i.cx&&i.cx!==G.cx)||(i.cy&&i.cy!==G.cy)){Ext.apply(G,i);t.dirtyTransform=true}delete B.scale}Ext.apply(I,B);t.dirty=true;if(y===true&&u){t.redraw()}return this},getBBox:function(){return this.surface.getBBox(this)},setText:function(b){return this.surface.setText(this,b)},hide:function(b){this.setAttributes({hidden:true},b);return this},show:function(b){this.setAttributes({hidden:false},b);return this},remove:function(){if(this.surface){this.surface.remove(this);return true}return false},onRemove:function(){this.surface.onRemove(this)},destroy:function(){var b=this;if(b.fireEvent("beforedestroy",b)!==false){b.remove();b.surface.onDestroy(b);b.clearListeners();b.fireEvent("destroy")}},redraw:function(){this.surface.renderItem(this);return this},setStyle:function(){this.el.setStyle.apply(this.el,arguments);return this},addCls:function(b){this.surface.addCls(this,b);return this},removeCls:function(b){this.surface.removeCls(this,b);return this}});Ext.define("Ext.draw.engine.Svg",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Sprite","Ext.draw.Matrix","Ext.core.Element"],engine:"Svg",trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,xlink:"http://www.w3.org/1999/xlink",translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",path:"d",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},parsers:{},minDefaults:{circle:{cx:0,cy:0,r:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start","font-family":null,"font-size":null,"font-weight":null,"font-style":null,fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},createSvgElement:function(g,f){var h=this.domRef.createElementNS("http://www.w3.org/2000/svg",g),e;if(f){for(e in f){h.setAttribute(e,String(f[e]))}}return h},createSpriteElement:function(d){var c=this.createSvgElement(d.type);c.id=d.id;if(c.style){c.style.webkitTapHighlightColor="rgba(0,0,0,0)"}d.el=Ext.get(c);this.applyZIndex(d);d.matrix=Ext.create("Ext.draw.Matrix");d.bbox={plain:0,transform:0};d.fireEvent("render",d);return c},getBBox:function(e,d){var f=this["getPath"+e.type](e);if(d){e.bbox.plain=e.bbox.plain||Ext.draw.Draw.pathDimensions(f);return e.bbox.plain}e.bbox.transform=e.bbox.transform||Ext.draw.Draw.pathDimensions(Ext.draw.Draw.mapPath(f,e.matrix));return e.bbox.transform},getBBoxText:function(l){var i={},n,e,s,p,m,r;if(l&&l.el){r=l.el.dom;try{i=r.getBBox();return i}catch(o){}i={x:i.x,y:Infinity,width:0,height:0};m=r.getNumberOfChars();for(p=0;p<m;p++){n=r.getExtentOfChar(p);i.y=Math.min(n.y,i.y);e=n.y+n.height-i.y;i.height=Math.max(i.height,e);s=n.x+n.width-i.x;i.width=Math.max(i.width,s)}return i}},hide:function(){Ext.get(this.el).hide()},show:function(){Ext.get(this.el).show()},hidePrim:function(b){this.addCls(b,Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(b){this.removeCls(b,Ext.baseCSSPrefix+"hide-visibility")},getDefs:function(){return this._defs||(this._defs=this.createSvgElement("defs"))},transform:function(o){var l=this,j=Ext.create("Ext.draw.Matrix"),m=o.transformations,k=m.length,p=0,i,n;for(;p<k;p++){i=m[p];n=i.type;if(n=="translate"){j.translate(i.x,i.y)}else{if(n=="rotate"){j.rotate(i.degrees,i.x,i.y)}else{if(n=="scale"){j.scale(i.x,i.y,i.centerX,i.centerY)}}}}o.matrix=j;o.el.set({transform:j.toSvg()})},setSize:function(f,h){var g=this,e=g.el;f=+f||g.width;h=+h||g.height;g.width=f;g.height=h;e.setSize(f,h);e.set({width:f,height:h});g.callParent([f,h])},getRegion:function(){var h=this.el.getXY(),j=this.bgRect.getXY(),f=Math.max,g=f(h[0],j[0]),i=f(h[1],j[1]);return{left:g,top:i,right:g+this.width,bottom:i+this.height}},onRemove:function(b){if(b.el){b.el.remove();delete b.el}this.callParent(arguments)},setViewBox:function(e,g,h,f){if(isFinite(e)&&isFinite(g)&&isFinite(h)&&isFinite(f)){this.callParent(arguments);this.el.dom.setAttribute("viewBox",[e,g,h,f].join(" "))}},render:function(p){var m=this;if(!m.el){var n=m.width||10,i=m.height||10,o=m.createSvgElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:n,height:i}),j=m.getDefs(),l=m.createSvgElement("rect",{width:"100%",height:"100%",fill:"#000",stroke:"none",opacity:0}),k;if(Ext.isSafari3){k=m.createSvgElement("rect",{x:-10,y:-10,width:"110%",height:"110%",fill:"none",stroke:"#000"})}o.appendChild(j);if(Ext.isSafari3){o.appendChild(k)}o.appendChild(l);p.appendChild(o);m.el=Ext.get(o);m.bgRect=Ext.get(l);if(Ext.isSafari3){m.webkitRect=Ext.get(k);m.webkitRect.hide()}m.el.on({scope:m,mouseup:m.onMouseUp,mousedown:m.onMouseDown,mouseover:m.onMouseOver,mouseout:m.onMouseOut,mousemove:m.onMouseMove,mouseenter:m.onMouseEnter,mouseleave:m.onMouseLeave,click:m.onClick})}m.renderAll()},onMouseEnter:function(b){if(this.el.parent().getRegion().contains(b.getPoint())){this.fireEvent("mouseenter",b)}},onMouseLeave:function(b){if(!this.el.parent().getRegion().contains(b.getPoint())){this.fireEvent("mouseleave",b)}},processEvent:function(e,h){var i=h.getTarget(),g=this.surface,j;this.fireEvent(e,h);if(i.nodeName=="tspan"&&i.parentNode){i=i.parentNode}j=this.items.get(i.id);if(j){j.fireEvent(e,j,h)}},tuneText:function(o,n){var w=o.el.dom,v=[],i,p,m,t,s,u,r;if(n.hasOwnProperty("text")){v=this.setText(o,n.text)}if(v.length){i=this.getBBoxText(o).height;for(t=0,s=v.length;t<s;t++){r=(Ext.isFF3_0||Ext.isFF3_5)?2:4;v[t].setAttribute("dy",t?i*1.2:i/r)}o.dirty=true}},setText:function(o,v){var s=this,y=o.el.dom,p=y.getAttribute("x"),x=[],i,r,n,u,t,w;while(y.firstChild){y.removeChild(y.firstChild)}w=String(v).split("\n");for(u=0,t=w.length;u<t;u++){n=w[u];if(n){r=s.createSvgElement("tspan");r.appendChild(document.createTextNode(Ext.htmlDecode(n)));r.setAttribute("x",p);y.appendChild(r);x[u]=r}}return x},renderAll:function(){this.items.each(this.renderItem,this)},renderItem:function(b){if(!this.el){return}if(!b.el){this.createSpriteElement(b)}if(b.zIndexDirty){this.applyZIndex(b)}if(b.dirty){this.applyAttrs(b);this.applyTransformations(b)}},redraw:function(b){b.dirty=b.zIndexDirty=true;this.renderItem(b)},applyAttrs:function(s){var x=this,F=s.el,t=s.group,A=s.attr,i=x.parsers,C=x.gradientsMap||{},z=Ext.isSafari&&!Ext.isStrict,D,B,y,u,E,v,G,H,w;if(t){D=[].concat(t);y=D.length;for(B=0;B<y;B++){t=D[B];x.getGroup(t).add(s)}delete s.group}u=x.scrubAttrs(s)||{};s.bbox.plain=0;s.bbox.transform=0;if(s.type=="circle"||s.type=="ellipse"){u.cx=u.cx||u.x;u.cy=u.cy||u.y}else{if(s.type=="rect"){u.rx=u.ry=u.r}else{if(s.type=="path"&&u.d){u.d=Ext.draw.Draw.pathToString(Ext.draw.Draw.pathToAbsolute(u.d))}}}s.dirtyPath=false;if(u["clip-rect"]){x.setClip(s,u);delete u["clip-rect"]}if(s.type=="text"&&u.font&&s.dirtyFont){F.set({style:"font: "+u.font});s.dirtyFont=false}if(s.type=="image"){F.dom.setAttributeNS(x.xlink,"href",u.src)}Ext.applyIf(u,x.minDefaults[s.type]);if(s.dirtyHidden){(A.hidden)?x.hidePrim(s):x.showPrim(s);s.dirtyHidden=false}for(v in u){if(u.hasOwnProperty(v)&&u[v]!=null){if(z&&("color|stroke|fill".indexOf(v)>-1)&&(u[v] in C)){u[v]=C[u[v]]}if(v in i){F.dom.setAttribute(v,i[v](u[v],s,x))}else{F.dom.setAttribute(v,u[v])}}}if(s.type=="text"){x.tuneText(s,u)}G=A.style;if(G){F.setStyle(G)}s.dirty=false;if(Ext.isSafari3){x.webkitRect.show();setTimeout(function(){x.webkitRect.hide()})}},setClip:function(g,i){var j=this,k=i["clip-rect"],h,l;if(k){if(g.clip){g.clip.parentNode.parentNode.removeChild(g.clip.parentNode)}h=j.createSvgElement("clipPath");l=j.createSvgElement("rect");h.id=Ext.id(null,"ext-clip-");l.setAttribute("x",k.x);l.setAttribute("y",k.y);l.setAttribute("width",k.width);l.setAttribute("height",k.height);h.appendChild(l);j.getDefs().appendChild(h);g.el.dom.setAttribute("clip-path","url(#"+h.id+")");g.clip=l}},applyZIndex:function(h){var f=this.normalizeSpriteCollection(h),g=h.el,e;if(this.el.dom.childNodes[f+2]!==g.dom){if(f>0){do{e=this.items.getAt(--f).el}while(!e&&f>0)}g.insertAfter(e||this.bgRect)}h.zIndexDirty=false},createItem:function(d){var c=Ext.create("Ext.draw.Sprite",d);c.surface=this;return c},addGradient:function(n){n=Ext.draw.Draw.parseGradient(n);var p=this,r=n.stops.length,u=n.vector,i=Ext.isSafari&&!Ext.isStrict,m,o,l,s,t;t=p.gradientsMap||{};if(!i){if(n.type=="linear"){m=p.createSvgElement("linearGradient");m.setAttribute("x1",u[0]);m.setAttribute("y1",u[1]);m.setAttribute("x2",u[2]);m.setAttribute("y2",u[3])}else{m=p.createSvgElement("radialGradient");m.setAttribute("cx",n.centerX);m.setAttribute("cy",n.centerY);m.setAttribute("r",n.radius);if(Ext.isNumber(n.focalX)&&Ext.isNumber(n.focalY)){m.setAttribute("fx",n.focalX);m.setAttribute("fy",n.focalY)}}m.id=n.id;p.getDefs().appendChild(m);for(s=0;s<r;s++){o=n.stops[s];l=p.createSvgElement("stop");l.setAttribute("offset",o.offset+"%");l.setAttribute("stop-color",o.color);l.setAttribute("stop-opacity",o.opacity);m.appendChild(l)}}else{t["url(#"+n.id+")"]=n.stops[0].color}p.gradientsMap=t},hasCls:function(d,c){return c&&(" "+(d.el.dom.getAttribute("class")||"")+" ").indexOf(" "+c+" ")!=-1},addCls:function(n,l){var m=n.el,o,j,p,i=[],k=m.getAttribute("class")||"";if(!Ext.isArray(l)){if(typeof l=="string"&&!this.hasCls(n,l)){m.set({"class":k+" "+l})}}else{for(o=0,j=l.length;o<j;o++){p=l[o];if(typeof p=="string"&&(" "+k+" ").indexOf(" "+p+" ")==-1){i.push(p)}}if(i.length){m.set({"class":" "+i.join(" ")})}}},removeCls:function(l,o){var n=this,t=l.el,r=t.getAttribute("class")||"",s,m,p,i,u;if(!Ext.isArray(o)){o=[o]}if(r){u=r.replace(n.trimRe," ").split(n.spacesRe);for(s=0,p=o.length;s<p;s++){i=o[s];if(typeof i=="string"){i=i.replace(n.trimRe,"");m=Ext.Array.indexOf(u,i);if(m!=-1){Ext.Array.erase(u,m,1)}}}t.set({"class":u.join(" ")})}},destroy:function(){var b=this;b.callParent();if(b.el){b.el.remove()}delete b.el}});Ext.define("Ext.draw.engine.Vml",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Color","Ext.draw.Sprite","Ext.draw.Matrix","Ext.core.Element"],engine:"Vml",map:{M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},bitesRe:/([clmz]),?([^clmz]*)/gi,valRe:/-?[^,\s-]+/g,fillUrlRe:/^url\(\s*['"]?([^\)]+?)['"]?\s*\)$/i,pathlike:/^(path|rect)$/,NonVmlPathRe:/[ahqstv]/ig,partialPathRe:/[clmz]/g,fontFamilyRe:/^['"]+|['"]+$/g,baseVmlCls:Ext.baseCSSPrefix+"vml-base",vmlGroupCls:Ext.baseCSSPrefix+"vml-group",spriteCls:Ext.baseCSSPrefix+"vml-sprite",measureSpanCls:Ext.baseCSSPrefix+"vml-measure-span",zoom:21600,coordsize:1000,coordorigin:"0 0",path2vml:function(F){var r=this,E=r.NonVmlPathRe,C=r.map,z=r.valRe,i=r.zoom,A=r.bitesRe,y=Ext.Function.bind(Ext.draw.Draw.pathToAbsolute,Ext.draw.Draw),u,p,B,D,w,j,x,v;if(String(F).match(E)){y=Ext.Function.bind(Ext.draw.Draw.path2curve,Ext.draw.Draw)}else{if(!String(F).match(r.partialPathRe)){u=String(F).replace(A,function(e,a,c){var b=[],d=a.toLowerCase()=="m",f=C[a];c.replace(z,function(g){if(d&&b[length]==2){f+=b+C[a=="m"?"l":"L"];b=[]}b.push(Math.round(g*i))});return f+b});return u}}p=y(F);u=[];for(w=0,j=p.length;w<j;w++){B=p[w];D=p[w][0].toLowerCase();if(D=="z"){D="x"}for(x=1,v=B.length;x<v;x++){D+=Math.round(B[x]*r.zoom)+(x!=v-1?",":"")}u.push(D)}return u.join(" ")},translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},minDefaults:{circle:{fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start",font:'10px "Arial"',fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},onMouseEnter:function(b){this.fireEvent("mouseenter",b)},onMouseLeave:function(b){this.fireEvent("mouseleave",b)},processEvent:function(e,h){var i=h.getTarget(),g=this.surface,j;this.fireEvent(e,h);j=this.items.get(i.id);if(j){j.fireEvent(e,j,h)}},createSpriteElement:function(p){var s=this,t=p.attr,r=p.type,n=s.zoom,v=p.vml||(p.vml={}),m=Math.round,u=(r==="image")?s.createNode("image"):s.createNode("shape"),l,o,w;u.coordsize=n+" "+n;u.coordorigin=t.coordorigin||"0 0";Ext.get(u).addCls(s.spriteCls);if(r=="text"){v.path=l=s.createNode("path");l.textpathok=true;v.textpath=w=s.createNode("textpath");w.on=true;u.appendChild(w);u.appendChild(l)}u.id=p.id;p.el=Ext.get(u);s.el.appendChild(u);if(r!=="image"){o=s.createNode("skew");o.on=true;u.appendChild(o);p.skew=o}p.matrix=Ext.create("Ext.draw.Matrix");p.bbox={plain:null,transform:null};p.fireEvent("render",p);return p.el},getBBox:function(e,d){var f=this["getPath"+e.type](e);if(d){e.bbox.plain=e.bbox.plain||Ext.draw.Draw.pathDimensions(f);return e.bbox.plain}e.bbox.transform=e.bbox.transform||Ext.draw.Draw.pathDimensions(Ext.draw.Draw.mapPath(f,e.matrix));return e.bbox.transform},getBBoxText:function(c){var d=c.vml;return{x:d.X+(d.bbx||0)-d.W/2,y:d.Y-d.H/2,width:d.W,height:d.H}},applyAttrs:function(C){var w=this,K=C.vml,F=C.group,M=C.attr,L=C.el,A=L.dom,z,i,x,B,E,y,D,v,N;if(F){x=[].concat(F);E=x.length;for(B=0;B<E;B++){F=x[B];w.getGroup(F).add(C)}delete C.group}y=w.scrubAttrs(C)||{};if(C.zIndexDirty){w.setZIndex(C)}Ext.applyIf(y,w.minDefaults[C.type]);if(C.type=="image"){Ext.apply(C.attr,{x:y.x,y:y.y,width:y.width,height:y.height});N=C.getBBox();L.setStyle({width:N.width+"px",height:N.height+"px"});A.src=y.src}if(A.href){A.href=y.href}if(A.title){A.title=y.title}if(A.target){A.target=y.target}if(A.cursor){A.cursor=y.cursor}if(C.dirtyHidden){(y.hidden)?w.hidePrim(C):w.showPrim(C);C.dirtyHidden=false}if(C.dirtyPath){if(C.type=="circle"||C.type=="ellipse"){var I=y.x,J=y.y,G=y.rx||y.r||0,H=y.ry||y.r||0;A.path=Ext.String.format("ar{0},{1},{2},{3},{4},{1},{4},{1}",Math.round((I-G)*w.zoom),Math.round((J-H)*w.zoom),Math.round((I+G)*w.zoom),Math.round((J+H)*w.zoom),Math.round(I*w.zoom));C.dirtyPath=false}else{if(C.type!=="text"&&C.type!=="image"){C.attr.path=y.path=w.setPaths(C,y)||y.path;A.path=w.path2vml(y.path);C.dirtyPath=false}}}if("clip-rect" in y){w.setClip(C,y)}if(C.type=="text"){w.setTextAttributes(C,y)}if(y.opacity||y["stroke-opacity"]||y.fill){w.setFill(C,y)}if(y.stroke||y["stroke-opacity"]||y.fill){w.setStroke(C,y)}z=M.style;if(z){L.setStyle(z)}C.dirty=false},setZIndex:function(b){if(b.el){if(b.attr.zIndex!=undefined){b.el.setStyle("zIndex",b.attr.zIndex)}b.zIndexDirty=false}},setPaths:function(d,f){var e=d.attr;d.bbox.plain=null;d.bbox.transform=null;if(d.type=="circle"){e.rx=e.ry=f.r;return Ext.draw.Draw.ellipsePath(d)}else{if(d.type=="ellipse"){e.rx=f.rx;e.ry=f.ry;return Ext.draw.Draw.ellipsePath(d)}else{if(d.type=="rect"){e.rx=e.ry=f.r;return Ext.draw.Draw.rectPath(d)}else{if(d.type=="path"&&e.path){return Ext.draw.Draw.pathToAbsolute(e.path)}}}}return false},setFill:function(m,s){var p=this,u=m.el.dom,n=u.fill,v=false,r,o,w,l,t;if(!n){n=u.fill=p.createNode("fill");v=true}if(Ext.isArray(s.fill)){s.fill=s.fill[0]}if(s.fill=="none"){n.on=false}else{if(typeof s.opacity=="number"){n.opacity=s.opacity}if(typeof s["fill-opacity"]=="number"){n.opacity=s["fill-opacity"]}n.on=true;if(typeof s.fill=="string"){w=s.fill.match(p.fillUrlRe);if(w){w=w[1];if(w.charAt(0)=="#"){o=p.gradientsColl.getByKey(w.substring(1))}if(o){l=s.rotation;t=-(o.angle+270+(l?l.degrees:0))%360;if(t===0){t=180}n.angle=t;n.type="gradient";n.method="sigma";n.colors.value=o.colors}else{n.src=w;n.type="tile"}}else{n.color=Ext.draw.Color.toHex(s.fill);n.src="";n.type="solid"}}}if(v){u.appendChild(n)}},setStroke:function(i,l){var n=this,o=i.el.dom,k=i.strokeEl,m=false,p,j;if(!k){k=i.strokeEl=n.createNode("stroke");m=true}if(Ext.isArray(l.stroke)){l.stroke=l.stroke[0]}if(!l.stroke||l.stroke=="none"||l.stroke==0||l["stroke-width"]==0){k.on=false}else{k.on=true;if(l.stroke&&!l.stroke.match(n.fillUrlRe)){k.color=Ext.draw.Color.toHex(l.stroke)}k.joinstyle=l["stroke-linejoin"];k.endcap=l["stroke-linecap"]||"round";k.miterlimit=l["stroke-miterlimit"]||8;p=parseFloat(l["stroke-width"]||1)*0.75;j=l["stroke-opacity"]||1;if(Ext.isNumber(p)&&p<1){k.weight=1;k.opacity=j*p}else{k.weight=p;k.opacity=j}}if(m){o.appendChild(k)}},setClip:function(g,i){var j=this,l=g.el,h=g.clipEl,k=String(i["clip-rect"]).split(j.separatorRe);if(!h){h=g.clipEl=j.el.insertFirst(Ext.getDoc().dom.createElement("div"));h.addCls(Ext.baseCSSPrefix+"vml-sprite")}if(k.length==4){k[2]=+k[2]+(+k[0]);k[3]=+k[3]+(+k[1]);h.setStyle("clip",Ext.String.format("rect({1}px {2}px {3}px {0}px)",k[0],k[1],k[2],k[3]));h.setSize(j.el.width,j.el.height)}else{h.setStyle("clip","")}},setTextAttributes:function(o,u){var p=this,w=o.vml,s=w.textpath.style,r=p.span.style,n=p.zoom,m=Math.round,l={fontSize:"font-size",fontWeight:"font-weight",fontStyle:"font-style"},v,t;if(o.dirtyFont){if(u.font){s.font=r.font=u.font}if(u["font-family"]){s.fontFamily='"'+u["font-family"].split(",")[0].replace(p.fontFamilyRe,"")+'"';r.fontFamily=u["font-family"]}for(v in l){t=u[l[v]];if(t){s[v]=r[v]=t}}p.setText(o,u.text);if(w.textpath.string){p.span.innerHTML=String(w.textpath.string).replace(/</g,"&#60;").replace(/&/g,"&#38;").replace(/\n/g,"<br>")}w.W=p.span.offsetWidth;w.H=p.span.offsetHeight+2;if(u["text-anchor"]=="middle"){s["v-text-align"]="center"}else{if(u["text-anchor"]=="end"){s["v-text-align"]="right";w.bbx=-Math.round(w.W/2)}else{s["v-text-align"]="left";w.bbx=Math.round(w.W/2)}}}w.X=u.x;w.Y=u.y;w.path.v=Ext.String.format("m{0},{1}l{2},{1}",Math.round(w.X*n),Math.round(w.Y*n),Math.round(w.X*n)+1);o.bbox.plain=null;o.bbox.transform=null;o.dirtyFont=false},setText:function(d,c){d.vml.textpath.string=Ext.htmlDecode(c)},hide:function(){this.el.hide()},show:function(){this.el.show()},hidePrim:function(b){b.el.addCls(Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(b){b.el.removeCls(Ext.baseCSSPrefix+"hide-visibility")},setSize:function(d,e){var f=this;d=d||f.width;e=e||f.height;f.width=d;f.height=e;if(f.el){if(d!=undefined){f.el.setWidth(d)}if(e!=undefined){f.el.setHeight(e)}f.applyViewBox();f.callParent(arguments)}},setViewBox:function(e,g,h,f){this.callParent(arguments);this.viewBox={x:e,y:g,width:h,height:f};this.applyViewBox()},applyViewBox:function(){var t=this,l=t.viewBox,w=t.width,p=t.height,r,s,n,v,o,u,m;if(l&&(w||p)){r=l.x;s=l.y;n=l.width;v=l.height;o=p/v;u=w/n;if(n*o<w){r-=(w-n*o)/2/o}if(v*u<p){s-=(p-v*u)/2/u}m=1/Math.max(n/w,v/p);t.viewBoxShift={dx:-r,dy:-s,scale:m};t.items.each(function(a){t.transform(a)})}},onAdd:function(b){this.callParent(arguments);if(this.el){this.renderItem(b)}},onRemove:function(b){if(b.el){b.el.remove();delete b.el}this.callParent(arguments)},render:function(g){var j=this,h=Ext.getDoc().dom;if(!j.createNode){try{if(!h.namespaces.rvml){h.namespaces.add("rvml","urn:schemas-microsoft-com:vml")}j.createNode=function(a){return h.createElement("<rvml:"+a+' class="rvml">')}}catch(i){j.createNode=function(a){return h.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}}if(!j.el){var e=h.createElement("div");j.el=Ext.get(e);j.el.addCls(j.baseVmlCls);j.span=h.createElement("span");Ext.get(j.span).addCls(j.measureSpanCls);e.appendChild(j.span);j.el.setSize(j.width||10,j.height||10);g.appendChild(e);j.el.on({scope:j,mouseup:j.onMouseUp,mousedown:j.onMouseDown,mouseover:j.onMouseOver,mouseout:j.onMouseOut,mousemove:j.onMouseMove,mouseenter:j.onMouseEnter,mouseleave:j.onMouseLeave,click:j.onClick})}j.renderAll()},renderAll:function(){this.items.each(this.renderItem,this)},redraw:function(b){b.dirty=true;this.renderItem(b)},renderItem:function(b){if(!this.el){return}if(!b.el){this.createSpriteElement(b)}if(b.dirty){this.applyAttrs(b);if(b.dirtyTransform){this.applyTransformations(b)}}},rotationCompensation:function(g,h,f){var e=Ext.create("Ext.draw.Matrix");e.rotate(-g,0.5,0.5);return{x:e.x(h,f),y:e.y(h,f)}},transform:function(G){var I=this,D=Ext.create("Ext.draw.Matrix"),P=G.transformations,J=P.length,C=0,R=0,X=1,Y=1,S="",V=G.el,y=V.dom,F=y.style,Z=I.zoom,U=G.skew,L,i,N,T,O,Q,E,H,K,M,W;for(;C<J;C++){N=P[C];T=N.type;if(T=="translate"){D.translate(N.x,N.y)}else{if(T=="rotate"){D.rotate(N.degrees,N.x,N.y);R+=N.degrees}else{if(T=="scale"){D.scale(N.x,N.y,N.centerX,N.centerY);X*=N.x;Y*=N.y}}}}if(I.viewBoxShift){D.scale(I.viewBoxShift.scale,I.viewBoxShift.scale,-1,-1);D.add(1,0,0,1,I.viewBoxShift.dx,I.viewBoxShift.dy)}G.matrix=D;if(G.type!="image"&&U){U.matrix=D.toString();U.offset=D.offset()}else{L=D.matrix[0][2];i=D.matrix[1][2];K=Z/X;M=Z/Y;y.coordsize=Math.abs(K)+" "+Math.abs(M);H=R*(X*((Y<0)?-1:1));if(H!=F.rotation&&!(H===0&&!F.rotation)){F.rotation=H}if(R){O=I.rotationCompensation(R,L,i);L=O.x;i=O.y}if(X<0){S+="x"}if(Y<0){S+=" y";Q=-1}if(S!=""&&!y.style.flip){F.flip=S}W=(L*-K)+" "+(i*-M);if(W!=y.coordorigin){y.coordorigin=(L*-K)+" "+(i*-M)}}},createItem:function(b){return Ext.create("Ext.draw.Sprite",b)},getRegion:function(){return this.el.getRegion()},addCls:function(d,c){if(d&&d.el){d.el.addCls(c)}},removeCls:function(d,c){if(d&&d.el){d.el.removeCls(c)}},addGradient:function(g){var f=this.gradientsColl||(this.gradientsColl=Ext.create("Ext.util.MixedCollection")),e=[],h=Ext.create("Ext.util.MixedCollection");h.addAll(g.stops);h.sortByKey("ASC",function(a,b){a=parseInt(a,10);b=parseInt(b,10);return a>b?1:(a<b?-1:0)});h.eachKey(function(a,b){e.push(a+"% "+b.color)});f.add(g.id,{colors:e.join(","),angle:g.angle})},destroy:function(){var b=this;b.callParent(arguments);if(b.el){b.el.remove()}delete b.el}});Ext.define("Docs.controller.InlineExamples",{extend:"Ext.app.Controller",init:function(){this.control({inlineexample:{afterlayout:function(c){if(!c.codeEditor){var d=c.getComponent(0).body;c.codeEditor=CodeMirror(d,{mode:"javascript",indentUnit:4,onChange:function(a){c.updateHeight()}})}}},"inlineexample [cmpName=code]":{activate:function(d){this.activateTab(d,"code");var c=d.up("inlineexample");if(c&&c.codeEditor){c.codeEditor.refresh();c.codeEditor.refresh()}}},"inlineexample [cmpName=preview]":{activate:function(b){this.activateTab(b,"preview")}},"inlineexample toolbar button[iconCls=code]":{click:function(b){b.up("inlineexample").showCode()}},"inlineexample toolbar button[iconCls=preview]":{click:function(b){b.up("inlineexample").showPreview(function(){this.refreshPreview(b.up("inlineexample"))},this)}},"inlineexample toolbar button[iconCls=copy]":{click:function(g){g.up("inlineexample").showCode();var h=g.up("inlineexample").codeEditor;var f=h.lineCount()-1;var e=h.getLine(f).length;h.setSelection({line:0,ch:0},{line:f,ch:e})}},classoverview:{resize:this.createResizer(".class-overview"),afterload:this.replaceExampleDivs},guidecontainer:{resize:this.createResizer(".guide-container"),afterload:this.replaceExampleDivs}})},createResizer:function(b){return function(){Ext.Array.each(Ext.ComponentQuery.query(b+" .inlineexample"),function(a){if(a.codeEditor&&a.isVisible()){a.doLayout();a.codeEditor.refresh()}})}},activateTab:function(d,c){Ext.Array.each(d.up("inlineexample").query("toolbar button"),function(a){a.removeCls("active")});Ext.Array.each(d.up("inlineexample").query("toolbar button[iconCls="+c+"]"),function(a){a.addCls("active")})},replaceExampleDivs:function(){Ext.Array.each(Ext.query(".inline-example"),function(e){var f=Ext.String.htmlDecode(Ext.util.Format.stripTags(e.innerHTML));var g=document.createElement("div");e.parentNode.replaceChild(g,e);var h=Ext.create("Docs.view.examples.Inline",{height:200,renderTo:g,listeners:{afterrender:function(a){this.updateExample(a,f)},scope:this}})},this)},updateExample:function(e,d){e.codeEditor.setValue(d);var f=e.layout.getActiveItem();if(f.cmpName=="preview"){this.refreshPreview(e)}e.updateHeight()},refreshPreview:function(d){var c=document.getElementById(d.getIframeId());c.contentWindow.refreshPage(d.codeEditor.getValue(),"")}});Ext.define("Docs.controller.Tabs",{extend:"Ext.app.Controller",requires:["Docs.History","Docs.Settings"],refs:[{ref:"welcomeIndex",selector:"#welcomeindex"},{ref:"classIndex",selector:"#classindex"},{ref:"guideIndex",selector:"#guideindex"},{ref:"videoIndex",selector:"#videoindex"},{ref:"exampleIndex",selector:"#exampleindex"},{ref:"classTree",selector:"#classtree"},{ref:"guideTree",selector:"#guidetree"},{ref:"exampleTree",selector:"#exampletree"},{ref:"videoTree",selector:"#videotree"},{ref:"doctabs",selector:"#doctabs"}],scrollState:{},init:function(){this.getController("Classes").addListener({showClass:function(b){this.addTabFromTree("#!/api/"+b)},scope:this});this.getController("Guides").addListener({showGuide:function(b){this.addTabFromTree("#!/guide/"+b)},scope:this});this.getController("Examples").addListener({showExample:function(b){this.addTabFromTree(b)},scope:this});this.getController("Videos").addListener({showVideo:function(b){this.addTabFromTree(b)},scope:this});this.control({"container [componentCls=doctabs]":{afterrender:function(b){this.addTabIconListeners(b);this.addTabListeners(b);b.el.on("mouseleave",function(){if(b.shouldResize){b.resizeTabs({animate:true})}})},resize:function(){Ext.getCmp("doctabs").refresh()},scope:this},"#tabOverflowMenu menuitem":{click:function(b){Docs.History.push(b.href,{navigate:true})},scope:this}})},onLaunch:function(){this.getDoctabs().setStaticTabs(Ext.Array.filter([this.getWelcomeIndex().getTab(),this.getClassIndex().getTab(),this.getGuideIndex().getTab(),this.getVideoIndex().getTab(),this.getExampleIndex().getTab()],function(a){return a}));var b=Docs.Settings.get("tabs");if(b){Ext.Array.forEach(b,function(a){this.addTabFromTree(a,{animate:false})},this)}Docs.History.notifyTabsLoaded()},addTabFromTree:function(h,g){g=g||{animate:true,activate:true};var e=this.getTree(h);var f=e.findRecordByUrl(h);if(f&&f.raw){if(!this.scrollState[h]){this.scrollState[h]=0}this.getDoctabs().addTab({href:f.raw.url,text:f.raw.text,iconCls:f.raw.iconCls},g)}},getTree:function(b){if(/#!?\/api/.test(b)){return this.getClassTree()}else{if(/#!?\/guide/.test(b)){return this.getGuideTree()}else{if(/#!?\/video/.test(b)){return this.getVideoTree()}else{if(/#!?\/example/.test(b)){return this.getExampleTree()}else{return this.getClassTree()}}}}},addTabIconListeners:function(b){b.el.addListener("mouseover",function(d,a){Ext.get(a).addCls("ovr")},this,{delegate:".close"});b.el.addListener("mouseout",function(d,a){Ext.get(a).removeCls("ovr")},this,{delegate:".close"});b.el.addListener("click",function(e,f){b.justClosed=true;var a=Ext.get(f).up(".doctab").down(".tabUrl").getAttribute("href");a=Docs.History.cleanUrl(a);delete this.scrollState[a];Ext.getCmp("doctabs").removeTab(a)},this,{delegate:".close",preventDefault:true})},addTabListeners:function(b){b.el.addListener("click",function(e,f){if(b.justClosed){b.justClosed=false;return}var a=Ext.get(f).down(".tabUrl").getAttribute("href");Docs.History.push(a,{navigate:true})},this,{delegate:".doctab"});b.el.addListener("click",Ext.emptyFn,this,{delegate:".tabUrl",preventDefault:true})},setScrollState:function(c,d){this.scrollState[c]=d},getScrollState:function(b){return this.scrollState[b]||0}});Ext.define("Docs.controller.Content",{extend:"Ext.app.Controller",MIDDLE:1,title:"",onLaunch:function(){var b=this.getIndex();if(b.rendered){this.initScrollListener()}else{b.on("afterrender",this.initScrollListener,this)}},initScrollListener:function(){this.getIndex().getEl().addListener("scroll",function(c,d){this.setScrollState(this.baseUrl,d.scrollTop)},this)},loadIndex:function(b){b||Docs.History.push(this.baseUrl);this.getViewport().setPageTitle(this.title);Ext.getCmp("doctabs").activateTab(this.baseUrl);Ext.getCmp("card-panel").layout.setActiveItem(this.getIndex());this.getIndex().getEl().scrollTo("top",this.getScrollState(this.baseUrl))},opensNewWindow:function(b){return b.button===this.MIDDLE||b.shiftKey||b.ctrlKey},getBaseUrl:function(){return document.location.href.replace(/#.*/,"").replace(/index.html/,"")},getScrollState:function(b){return Docs.App.getController("Tabs").getScrollState(b)},setScrollState:function(c,d){Docs.App.getController("Tabs").setScrollState(c,d)}});Ext.define("Docs.view.search.Dropdown",{extend:"Ext.view.View",alias:"widget.searchdropdown",floating:true,autoShow:false,autoRender:true,toFrontOnShow:true,focusOnToFront:false,store:"Search",id:"search-dropdown",overItemCls:"x-view-over",trackOver:true,itemSelector:"div.item",singleSelect:true,pageStart:0,pageSize:10,initComponent:function(){this.addEvents("changePage","footerClick");this.tpl=new Ext.XTemplate('<tpl for=".">','<div class="item {type}">','<div class="title">{member}</div>','<div class="class">{cls}</div>',"</div>","</tpl>",'<div class="footer">','<a href="#" class="prev">&lt;</a>','<span class="total">{[this.getStart()+1]}-{[this.getEnd()]} of {[this.getTotal()]}</span>','<a href="#" class="next">&gt;</a>',"</div>",{getTotal:Ext.bind(this.getTotal,this),getStart:Ext.bind(this.getStart,this),getEnd:Ext.bind(this.getEnd,this)});this.on("afterrender",function(){this.el.addListener("click",function(){this.fireEvent("changePage",this,-1)},this,{preventDefault:true,delegate:".prev"});this.el.addListener("click",function(){this.fireEvent("changePage",this,+1)},this,{preventDefault:true,delegate:".next"});this.el.addListener("click",function(){this.fireEvent("footerClick",this)},this,{delegate:".footer"})},this);this.callParent(arguments)},setTotal:function(b){this.total=b},getTotal:function(){return this.total},setStart:function(b){this.pageStart=b},getStart:function(b){return this.pageStart},getEnd:function(c){var d=this.pageStart+this.pageSize;return d>this.total?this.total:d}});Ext.define("Docs.store.Search",{extend:"Ext.data.Store",fields:["cls","member","type","xtypes"],proxy:{type:"memory",reader:{type:"json"}}});Ext.define("Docs.controller.Welcome",{extend:"Docs.controller.Content",baseUrl:"#",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#welcomeindex"}],loadIndex:function(){Ext.getCmp("treecontainer").hide();this.callParent([true])},showFailure:function(c){var d=new Ext.XTemplate("<h1>Oops...</h1>","<p>{msg}</p>","<p>Maybe it was renamed to something else? Or maybe it has passed away permanently to the 404 land? ","This would be sad. Hopefully it's just a bug in our side. ","Report it to <a href='http://www.sencha.com/forum/showthread.php?135036'>Sencha Forum</a> if you feel so.</p>","<p>Sorry for all this :(</p>");Ext.getCmp("failure").update(d.apply({msg:c}));Ext.getCmp("card-panel").layout.setActiveItem("failure")},isActive:function(){return !!this.getIndex().getTab()}});Ext.define("Docs.controller.Search",{extend:"Ext.app.Controller",views:["search.Dropdown"],stores:["Search"],refs:[{ref:"field",selector:"#search-field"}],pageIndex:0,pageSize:10,init:function(){this.control({"#search-dropdown":{itemclick:function(c,d){this.loadRecord(d)},changePage:function(c,d){this.pageIndex+=d;this.search(this.getField().getValue())},footerClick:function(c,d){clearTimeout(this.hideTimeout);this.getField().focus()}},"#search-field":{keyup:function(m,l){var j=this.getDropdown();m.setHideTrigger(m.getValue().length===0);if(l.keyCode===Ext.EventObject.ESC||!m.value){j.hide();m.setValue("");return}else{j.show()}var h=j.getSelectionModel();var i=h.getLastSelected();var n=j.store.indexOf(i);var k=j.store.getCount()-1;if(l.keyCode===Ext.EventObject.UP){if(n===undefined){h.select(0)}else{h.select(n===0?k:(n-1))}}else{if(l.keyCode===Ext.EventObject.DOWN){if(n===undefined){h.select(0)}else{h.select(n===k?0:n+1)}}else{if(l.keyCode===Ext.EventObject.ENTER){l.preventDefault();i&&this.loadRecord(i)}else{this.pageIndex=0;clearTimeout(this.searchTimeout);this.searchTimeout=Ext.Function.defer(function(){this.search(m.value)},50,this)}}}},focus:function(b){if(b.value&&this.getDropdown().store.getCount()>0){this.getDropdown().show()}},blur:function(){var b=this.getDropdown();this.hideTimeout=Ext.Function.defer(b.hide,500,b)}}})},getDropdown:function(){return this.dropdown||(this.dropdown=Ext.getCmp("search-dropdown"))},loadRecord:function(d){var c=d.get("cls");if(d.get("type")!=="cls"){c+="-"+d.get("type")+"-"+d.get("member")}Docs.App.getController("Classes").loadClass("#!/api/"+c);this.getDropdown().hide()},search:function(h){var e=this.filterMembers(h);if(this.pageIndex<0){this.pageIndex=0}else{if(this.pageIndex>Math.floor(e.length/this.pageSize)){this.pageIndex=Math.floor(e.length/this.pageSize)}}var g=this.pageIndex*this.pageSize;var f=g+this.pageSize;this.getDropdown().setTotal(e.length);this.getDropdown().setStart(g);this.getDropdown().getStore().loadData(e.slice(g,f));this.getDropdown().alignTo("search-field","bl",[-12,-2]);if(e.length===0){this.getDropdown().hide()}else{this.getDropdown().getSelectionModel().select(0)}},filterMembers:function(p){var A=[[],[],[],[],[],[],[],[]];var x=0,s=1,B=2,z=3,t=4,D=5,r=6,C=7;var v=/\./.test(p);var u=Ext.escapeRe(p);var E=new RegExp("^"+u+"$","i");var y=new RegExp("^"+u,"i");var w=new RegExp(u,"i");Ext.Array.forEach(Docs.data.search,function(a){var b=v?a.cls+(a.type==="cls"?"":"."+a.member):a.member;if(a.xtypes&&Ext.Array.some(a.xtypes,function(c){return E.test(c)})){A[x].push(a)}else{if(E.test(b)){A[a.type==="cls"?s:B].push(a)}else{if(a.xtypes&&Ext.Array.some(a.xtypes,function(c){return y.test(c)})){A[z].push(a)}else{if(y.test(b)){A[a.type==="cls"?t:D].push(a)}else{if(w.test(b)){A[a.type==="cls"?r:C].push(a)}}}}}});return Ext.Array.flatten(A)}});Ext.define("Docs.controller.Examples",{extend:"Docs.controller.Content",baseUrl:"#!/example",title:"Examples",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#exampleindex"},{ref:"tree",selector:"#exampletree"},{ref:"page",selector:"#example"}],init:function(){this.addEvents("showExample");this.control({"#exampletree":{urlclick:function(d,c){this.loadExample(d)}},"exampleindex > thumblist":{urlclick:function(b){this.loadExample(b)}}})},loadIndex:function(){Ext.getCmp("treecontainer").showTree("exampletree");this.callParent()},loadExample:function(d,f){var e=this.getExample(d);this.getViewport().setPageTitle(e.text);if(this.activeUrl!==d){this.getPage().clear();this.activateExampleCard();this.getPage().load(e)}else{this.activateExampleCard()}f||Docs.History.push(d);this.fireEvent("showExample",d);this.getTree().selectUrl(d);this.activeUrl=d},activateExampleCard:function(){Ext.getCmp("card-panel").layout.setActiveItem("example");Ext.getCmp("treecontainer").showTree("exampletree")},getExample:function(b){if(!this.map){this.map={};Ext.Array.forEach(Docs.data.examples,function(a){Ext.Array.forEach(a.items,function(d){this.map["#!/example/"+d.url]=d},this)},this)}return this.map[b]}});Ext.define("Docs.controller.Guides",{extend:"Docs.controller.Content",baseUrl:"#!/guide",title:"Guides",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#guideindex"},{ref:"tree",selector:"#guidetree"}],cache:{},init:function(){this.addEvents("showGuide");this.control({"#guidetree":{urlclick:function(d,c){this.handleUrlClick(d,c,this.getTree())}},"guideindex > thumblist":{urlclick:function(b){this.loadGuide(b)}},indexcontainer:{afterrender:function(b){b.el.addListener("click",function(d,a){this.handleUrlClick(a.href,d)},this,{preventDefault:true,delegate:".guide"})}},"#guide":{afterrender:function(b){b.el.addListener("scroll",function(d,a){this.setScrollState(this.activeUrl,a.scrollTop)},this)}}})},handleUrlClick:function(d,f,e){d=d.replace(/.*#!?/,"#!");if(this.opensNewWindow(f)){window.open(d);e&&e.selectUrl(this.activeUrl?this.activeUrl:"")}else{this.loadGuide(d)}},loadIndex:function(){Ext.getCmp("treecontainer").showTree("guidetree");this.callParent()},loadGuide:function(d,f){Ext.getCmp("card-panel").layout.setActiveItem("guide");Ext.getCmp("treecontainer").showTree("guidetree");var e=d.match(/^#!\/guide\/(.*)$/)[1];f||Docs.History.push(d);if(this.cache[e]){this.showGuide(this.cache[e],d,e)}else{this.cache[e]="in-progress";Ext.data.JsonP.request({url:this.getBaseUrl()+"/guides/"+e+"/README.js",callbackName:e,success:function(a){this.cache[e]=a;this.showGuide(a,d,e)},failure:function(b,a){this.getController("Index").showFailure("Guide <b>"+e+"</b> was not found.")},scope:this})}},showGuide:function(f,d,e){if(f==="in-progress"){return}this.getViewport().setPageTitle(f.title);if(this.activeUrl!==d){Ext.getCmp("guide").load({name:e,content:f.guide})}this.activeUrl=d;this.scrollContent();this.fireEvent("showGuide",e);this.getTree().selectUrl(d)},scrollContent:function(){Ext.get("guide").scrollTo("top",this.getScrollState(this.activeUrl))}});Ext.define("Docs.controller.Videos",{extend:"Docs.controller.Content",baseUrl:"#!/video",title:"Videos",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#videoindex"},{ref:"tree",selector:"#videotree"}],init:function(){this.addEvents("showVideo");this.control({"#videotree":{urlclick:function(b){this.loadVideo(b)}},"videoindex > thumblist":{urlclick:function(b){this.loadVideo(b)}}})},loadIndex:function(){Ext.getCmp("treecontainer").showTree("videotree");this.callParent()},loadVideo:function(f,g){Ext.getCmp("card-panel").layout.setActiveItem("video");Ext.getCmp("treecontainer").showTree("videotree");var h=f.match(/[0-9]+$/)[0];var e=this.getVideo(h);this.getViewport().setPageTitle(e.title);if(this.activeUrl!==f){Ext.getCmp("video").load(e)}g||Docs.History.push(f);this.fireEvent("showVideo",f);this.getTree().selectUrl(f);this.activeUrl=f},getVideo:function(b){if(!this.map){this.map={};Ext.Array.forEach(Docs.data.videos,function(a){Ext.Array.forEach(a.items,function(d){this.map[d.id]=d},this)},this)}return this.map[b]}});Ext.define("Docs.store.Settings",{extend:"Ext.data.Store",model:"Docs.model.Setting"});Ext.define("Ext.data.proxy.WebStorage",{extend:"Ext.data.proxy.Client",alternateClassName:"Ext.data.WebStorageProxy",id:undefined,constructor:function(b){this.callParent(arguments);this.cache={};if(this.getStorageObject()===undefined){Ext.Error.raise("Local Storage is not supported in this browser, please use another type of data proxy")}this.id=this.id||(this.store?this.store.storeId:undefined);if(this.id===undefined){Ext.Error.raise("No unique id was provided to the local storage proxy. See Ext.data.proxy.LocalStorage documentation for details")}this.initialize()},create:function(n,k,i){var o=n.records,p=o.length,s=this.getIds(),r,l,m;n.setStarted();for(m=0;m<p;m++){l=o[m];if(l.phantom){l.phantom=false;r=this.getNextId()}else{r=l.getId()}this.setRecord(l,r);s.push(r)}this.setIds(s);n.setCompleted();n.setSuccessful();if(typeof k=="function"){k.call(i||this,n)}},read:function(n,k,i){var o=[],s=this.getIds(),p=s.length,m,r,l;if(n.id){l=this.getRecord(n.id);if(l){o.push(l);n.setSuccessful()}}else{for(m=0;m<p;m++){o.push(this.getRecord(s[m]))}n.setSuccessful()}n.setCompleted();n.resultSet=Ext.create("Ext.data.ResultSet",{records:o,total:o.length,loaded:true});if(typeof k=="function"){k.call(i||this,n)}},update:function(n,k,i){var o=n.records,p=o.length,s=this.getIds(),l,r,m;n.setStarted();for(m=0;m<p;m++){l=o[m];this.setRecord(l);r=l.getId();if(r!==undefined&&Ext.Array.indexOf(s,r)==-1){s.push(r)}}this.setIds(s);n.setCompleted();n.setSuccessful();if(typeof k=="function"){k.call(i||this,n)}},destroy:function(i,k,n){var j=i.records,m=j.length,o=this.getIds(),l=[].concat(o),p;for(p=0;p<m;p++){Ext.Array.remove(l,j[p].getId());this.removeRecord(j[p],false)}this.setIds(l);i.setCompleted();i.setSuccessful();if(typeof k=="function"){k.call(n||this,i)}},getRecord:function(s){if(this.cache[s]===undefined){var u=Ext.decode(this.getStorageObject().getItem(this.getRecordKey(s))),o={},p=this.model,l=p.prototype.fields.items,r=l.length,n,i,t,m;for(n=0;n<r;n++){i=l[n];t=i.name;if(typeof i.decode=="function"){o[t]=i.decode(u[t])}else{o[t]=u[t]}}m=new p(o,s);m.phantom=false;this.cache[s]=m}return this.cache[s]},setRecord:function(s,y){if(y){s.setId(y)}else{y=s.getId()}var p=this,A=s.data,u={},t=p.model,r=t.prototype.fields.items,x=r.length,v=0,o,z,w,i;for(;v<x;v++){o=r[v];z=o.name;if(typeof o.encode=="function"){u[z]=o.encode(A[z],s)}else{u[z]=A[z]}}w=p.getStorageObject();i=p.getRecordKey(y);p.cache[y]=s;w.removeItem(i);w.setItem(i,Ext.encode(u))},removeRecord:function(g,h){var e=this,f;if(g.isModel){g=g.getId()}if(h!==false){f=e.getIds();Ext.Array.remove(f,g);e.setIds(f)}e.getStorageObject().removeItem(e.getRecordKey(g))},getRecordKey:function(b){if(b.isModel){b=b.getId()}return Ext.String.format("{0}-{1}",this.id,b)},getRecordCounterKey:function(){return Ext.String.format("{0}-counter",this.id)},getIds:function(){var d=(this.getStorageObject().getItem(this.id)||"").split(","),f=d.length,e;if(f==1&&d[0]===""){d=[]}else{for(e=0;e<f;e++){d[e]=parseInt(d[e],10)}}return d},setIds:function(e){var d=this.getStorageObject(),f=e.join(",");d.removeItem(this.id);if(!Ext.isEmpty(f)){d.setItem(this.id,f)}},getNextId:function(){var i=this.getStorageObject(),g=this.getRecordCounterKey(),j=i.getItem(g),f,h;if(j===null){f=this.getIds();j=f[f.length-1]||0}h=parseInt(j,10)+1;i.setItem(g,h);return h},initialize:function(){var b=this.getStorageObject();b.setItem(this.id,b.getItem(this.id)||"")},clear:function(){var g=this.getStorageObject(),h=this.getIds(),f=h.length,e;for(e=0;e<f;e++){this.removeRecord(h[e])}g.removeItem(this.getRecordCounterKey());g.removeItem(this.id)},getStorageObject:function(){Ext.Error.raise("The getStorageObject function has not been defined in your Ext.data.proxy.WebStorage subclass")}});Ext.define("Ext.data.proxy.LocalStorage",{extend:"Ext.data.proxy.WebStorage",alias:"proxy.localstorage",alternateClassName:"Ext.data.LocalStorageProxy",getStorageObject:function(){return window.localStorage}});Ext.define("Docs.model.Setting",{fields:["id","key","value"],extend:"Ext.data.Model",proxy:{type:("localStorage" in window&&window.localStorage!==null)?"localstorage":"memory",id:Docs.localStorageDb+"-settings"}});Ext.define("Docs.controller.Classes",{extend:"Docs.controller.Content",baseUrl:"#!/api",title:"API Documentation",requires:["Docs.History","Docs.Syntax"],stores:["Settings"],models:["Setting"],refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#classindex"},{ref:"header",selector:"classheader"},{ref:"overview",selector:"classoverview"},{ref:"tabPanel",selector:"classtabpanel"},{ref:"tree",selector:"#classtree"},{ref:"favoritesGrid",selector:"#favorites-grid"}],cache:{},init:function(){this.addEvents("showClass","showMember");Ext.getBody().addListener("click",function(c,d){this.handleUrlClick(d.href,c)},this,{preventDefault:true,delegate:".docClass"});this.control({classtree:{urlclick:function(d,c){this.handleUrlClick(d,c,this.getTree())},afterrender:function(b){b.el.addListener("click",function(e,g){var a=Ext.get(g),h=Ext.get(Ext.query(".cls-grouping button.selected")[0]);if(h.dom===a.dom){return}h.removeCls("selected");a.addCls("selected");if(a.hasCls("by-package")){this.getTree().setLogic(Docs.view.cls.PackageLogic)}else{this.getTree().setLogic(Docs.view.cls.InheritanceLogic)}},this,{delegate:"button"})}},toolbar:{toggleExpanded:function(b){Ext.Array.forEach(Ext.query(".side.expandable"),function(a){Ext.get(a).parent()[b?"addCls":"removeCls"]("open")})}},classoverview:{afterrender:function(b){b.el.addListener("click",function(i,k){var h=Ext.get(k).up(".member"),l=h.down(".meta .docClass"),j=l.getAttribute("rel"),a=h.getAttribute("id");if(h.hasCls("open")){this.setExpanded(a,false)}else{this.setExpanded(a,true);this.fireEvent("showMember",j,a)}h.toggleCls("open")},this,{preventDefault:true,delegate:".expandable"});b.el.addListener("click",Ext.emptyFn,this,{preventDefault:true,delegate:".not-expandable"});b.body.addListener("scroll",function(d,a){this.setScrollState("#!/api/"+this.currentCls.name,a.scrollTop)},this)}},treecontainer:{afterrender:function(b){b.el.addListener("dblclick",function(){if(b.getWidth()<30){b.setWidth(b.expandedWidth)}else{b.expandedWidth=b.getWidth();b.setWidth(20)}},this,{delegate:".x-resizable-handle"})}}})},setExpanded:function(f,d){var e=this.currentCls;if(!e.expanded){e.expanded={}}if(d){e.expanded[f]=d}else{delete e.expanded[f]}},applyExpanded:function(b){Ext.Object.each(b.expanded||{},function(a){Ext.get(a).addCls("open")},this)},handleUrlClick:function(d,f,e){d=Docs.History.cleanUrl(d);if(this.opensNewWindow(f)){window.open(d);e&&e.selectUrl(this.currentCls?"#!/api/"+this.currentCls.name:"")}else{this.loadClass(d)}},loadIndex:function(b){Ext.getCmp("treecontainer").showTree("classtree");this.callParent(arguments)},loadClass:function(f,i){Ext.getCmp("card-panel").layout.setActiveItem("classcontainer");Ext.getCmp("treecontainer").showTree("classtree");i||Docs.History.push(f);var j=f.match(/^#!\/api\/(.*?)(?:-(.*))?$/);var g=j[1];var h=j[2];if(this.getOverview()){this.getOverview().setLoading(true)}if(this.cache[g]){this.showClass(this.cache[g],h)}else{this.cache[g]="in-progress";Ext.data.JsonP.request({url:this.getBaseUrl()+"/output/"+g+".js",callbackName:g.replace(/\./g,"_"),success:function(b,a){this.cache[g]=b;this.showClass(b,h)},failure:function(b,a){this.getController("Index").showFailure("Class <b>"+g+"</b> was not found.")},scope:this})}},showClass:function(d,c){if(d==="in-progress"){return}this.getOverview().setLoading(false);this.getViewport().setPageTitle(d.name);if(this.currentCls!==d){this.getHeader().load(d);this.getOverview().load(d);this.applyExpanded(d)}this.currentCls=d;if(c){this.getOverview().scrollToEl("#"+c);this.fireEvent("showMember",d.name,c)}else{this.scrollContent()}this.getTree().selectUrl("#!/api/"+d.name);this.fireEvent("showClass",d.name)},scrollContent:function(){if(this.currentCls){var b="#!/api/"+this.currentCls.name;this.getOverview().getEl().down(".x-panel-body").scrollTo("top",this.getScrollState(b))}}});Ext.ns("Docs");Ext.Loader.setConfig({enabled:true,paths:{Docs:"app"}});Ext.require("Docs.view.Viewport");Ext.require("Ext.form.field.Trigger");Ext.require("Ext.tab.Panel");Ext.require("Ext.grid.column.Action");Ext.require("Ext.grid.plugin.DragDrop");Ext.require("Ext.layout.container.Border");Ext.require("Ext.data.TreeStore");Ext.require("Ext.toolbar.Spacer");Ext.require("Docs.Application");Ext.onReady(function(){Ext.create("Docs.Application")});